20#ifndef LIBBSP_ARM_RASPBERRYPI_VC_H
21#define LIBBSP_ARM_RASPBERRYPI_VC_H
38int bcm2835_mailbox_get_display_size(
42 bcm2835_mailbox_pixel_order_bgr = 0,
43 bcm2835_mailbox_pixel_order_rgb = 1
47 bcm2835_mailbox_alpha_mode_0_opaque = 0,
48 bcm2835_mailbox_alpha_mode_0_transparent = 1,
49 bcm2835_mailbox_alpha_mode_ignored = 2
58 bcm2835_pixel_order pixel_order;
59 bcm2835_alpha_mode alpha_mode;
62 uint32_t overscan_left;
63 uint32_t overscan_right;
64 uint32_t overscan_top;
65 uint32_t overscan_bottom;
71int bcm2835_mailbox_init_frame_buffer(
87 bcm2835_mailbox_power_udid_sd_card = 0x00000000u,
88 bcm2835_mailbox_power_udid_uart0 = 0x00000001u,
89 bcm2835_mailbox_power_udid_uart1 = 0x00000002u,
90 bcm2835_mailbox_power_udid_usb_hcd = 0x00000003u,
91 bcm2835_mailbox_power_udid_i2c0 = 0x00000004u,
92 bcm2835_mailbox_power_udid_i2c1 = 0x00000005u,
93 bcm2835_mailbox_power_udid_i2c2 = 0x00000006u,
94 bcm2835_mailbox_power_udid_spi = 0x00000007u,
95 bcm2835_mailbox_power_udid_ccp2tx = 0x00000008u,
96} bcm2835_power_device_id;
99 bcm2835_power_device_id dev_id;
103#define BCM2835_MAILBOX_SET_POWER_STATE_REQ_ON ( 1 << 0 )
104#define BCM2835_MAILBOX_SET_POWER_STATE_REQ_WAIT ( 1 << 1 )
105#define BCM2835_MAILBOX_POWER_STATE_ON ( 1 << 0 )
106#define BCM2835_MAILBOX_POWER_STATE_NODEV ( 1 << 1 )
129int bcm2835_mailbox_get_firmware_revision(
138int bcm2835_mailbox_get_board_revision(
145#define BCM2835_REVISION_IS_NEW_STYLE(revision) ((revision & (1 << 23)) != 0)
146#define BCM2835_REVISION_MEMORY_SIZE(revision) ((revision >> 20) & 0x7)
147#define BCM2835_REVISION_MANUFACTURER(revision) ((revision >> 16) & 0xf)
148#define BCM2835_REVISION_PROCESSOR(revision) ((revision >> 12) & 0xf)
149#define BCM2835_REVISION_TYPE(revision) ((revision >> 4) & 0xff)
150#define BCM2835_REVISION_REVISION(revision) ((revision >> 0) & 0xf)
153 uint64_t board_serial;
156int bcm2835_mailbox_get_board_serial(
164int bcm2835_mailbox_get_clock_rate(