RTEMS  5.1
Files | Data Structures | Macros | Enumerations | Functions
Register Definitions

Register Definitions. More...

Files

file  vc.h
 video core support.
 
file  vc.c
 video core support.
 
file  vc_defines.h
 video core support.
 

Data Structures

struct  bcm2835_get_display_size_entries
 
struct  bcm2835_init_frame_buffer_entries
 
struct  bcm2835_get_pitch_entries
 
struct  bcm2835_get_cmdline_entries
 
struct  bcm2835_set_power_state_entries
 
struct  bcm2835_get_arm_memory_entries
 
struct  bcm2835_get_vc_memory_entries
 
struct  bcm2835_mailbox_get_fw_rev_entries
 
struct  bcm2835_get_board_spec_entries
 
struct  bcm2835_get_board_serial_entries
 
struct  bcm2835_get_clock_rate_entries
 
struct  bcm2835_mbox_buf_hdr
 Buffer Header. More...
 
struct  bcm2835_mbox_tag_hdr
 Tag Header. More...
 
struct  bcm2835_mbox_tag_get_fw_rev
 
struct  bcm2835_mbox_tag_get_board_spec
 
struct  bcm2835_mbox_tag_get_board_serial
 
struct  bcm2835_mbox_tag_get_arm_memory
 
struct  bcm2835_mbox_tag_get_vc_memory
 
struct  bcm2835_mbox_tag_get_clock_rate
 
struct  bcm2835_mbox_tag_get_cmd_line
 
struct  bcm2835_mbox_tag_get_power_state
 
struct  bcm2835_mbox_tag_power_state
 
struct  bcm2835_mbox_tag_allocate_buffer
 
struct  bcm2835_mbox_tag_display_size
 
struct  bcm2835_mbox_tag_virtual_size
 
struct  bcm2835_mbox_tag_depth
 
struct  bcm2835_mbox_tag_pixel_order
 
struct  bcm2835_mbox_tag_alpha_mode
 
struct  bcm2835_mbox_tag_get_pitch
 
struct  bcm2835_mbox_tag_virtual_offset
 
struct  bcm2835_mbox_tag_overscan
 

Macros

#define BCM2835_MAILBOX_SET_POWER_STATE_REQ_ON   ( 1 << 0 )
 
#define BCM2835_MAILBOX_SET_POWER_STATE_REQ_WAIT   ( 1 << 1 )
 
#define BCM2835_MAILBOX_POWER_STATE_ON   ( 1 << 0 )
 
#define BCM2835_MAILBOX_POWER_STATE_NODEV   ( 1 << 1 )
 
#define BCM2835_REVISION_IS_NEW_STYLE(revision)   ((revision & (1 << 23)) != 0)
 
#define BCM2835_REVISION_MEMORY_SIZE(revision)   ((revision >> 20) & 0x7)
 
#define BCM2835_REVISION_MANUFACTURER(revision)   ((revision >> 16) & 0xf)
 
#define BCM2835_REVISION_PROCESSOR(revision)   ((revision >> 12) & 0xf)
 
#define BCM2835_REVISION_TYPE(revision)   ((revision >> 4) & 0xff)
 
#define BCM2835_REVISION_REVISION(revision)   ((revision >> 0) & 0xf)
 

Enumerations

enum  bcm2835_pixel_order { bcm2835_mailbox_pixel_order_bgr = 0, bcm2835_mailbox_pixel_order_rgb = 1 }
 
enum  bcm2835_alpha_mode { bcm2835_mailbox_alpha_mode_0_opaque = 0, bcm2835_mailbox_alpha_mode_0_transparent = 1, bcm2835_mailbox_alpha_mode_ignored = 2 }
 
enum  bcm2835_power_device_id {
  bcm2835_mailbox_power_udid_sd_card = 0x00000000u, bcm2835_mailbox_power_udid_uart0 = 0x00000001u, bcm2835_mailbox_power_udid_uart1 = 0x00000002u, bcm2835_mailbox_power_udid_usb_hcd = 0x00000003u,
  bcm2835_mailbox_power_udid_i2c0 = 0x00000004u, bcm2835_mailbox_power_udid_i2c1 = 0x00000005u, bcm2835_mailbox_power_udid_i2c2 = 0x00000006u, bcm2835_mailbox_power_udid_spi = 0x00000007u,
  bcm2835_mailbox_power_udid_ccp2tx = 0x00000008u
}
 

Functions

int bcm2835_mailbox_get_display_size (bcm2835_get_display_size_entries *_entries)
 
int bcm2835_mailbox_init_frame_buffer (bcm2835_init_frame_buffer_entries *_entries)
 
int bcm2835_mailbox_get_pitch (bcm2835_get_pitch_entries *_entries)
 
int bcm2835_mailbox_get_cmdline (bcm2835_get_cmdline_entries *_entries)
 
int bcm2835_mailbox_set_power_state (bcm2835_set_power_state_entries *_entries)
 
int bcm2835_mailbox_get_power_state (bcm2835_set_power_state_entries *_entries)
 
int bcm2835_mailbox_get_arm_memory (bcm2835_get_arm_memory_entries *_entries)
 
int bcm2835_mailbox_get_vc_memory (bcm2835_get_vc_memory_entries *_entries)
 
int bcm2835_mailbox_get_firmware_revision (bcm2835_mailbox_get_fw_rev_entries *_entries)
 
int bcm2835_mailbox_get_board_model (bcm2835_get_board_spec_entries *_entries)
 
int bcm2835_mailbox_get_board_revision (bcm2835_get_board_spec_entries *_entries)
 
int bcm2835_mailbox_get_board_serial (bcm2835_get_board_serial_entries *_entries)
 
int bcm2835_mailbox_get_clock_rate (bcm2835_get_clock_rate_entries *_entries)
 

Mailbox Property tags (ARM <-> VC)

#define BCM2835_MBOX_BUF_CODE_PROCESS_REQUEST   0x00000000
 
#define BCM2835_MBOX_BUF_CODE_REQUEST_SUCCEED   0x80000000
 
#define BCM2835_MBOX_BUF_CODE_REQUEST_PARSING_ERROR   0x80000001
 
#define BCM2835_MBOX_TAG_VAL_LEN_REQUEST   0x00000000
 
#define BCM2835_MBOX_TAG_VAL_LEN_RESPONSE   0x80000000
 
#define BCM2835_MBOX_TAG_REPLY_IS_SET(_t_)   ( ( _t_ )->tag_hdr.val_len & 0x80000000 )
 
#define BCM2835_MBOX_INIT_BUF(_m_)
 
#define BCM2835_MBOX_INIT_TAG(_t_, _id_)
 
#define BCM2835_MBOX_INIT_TAG_NO_REQ(_t_, _id_)
 
#define BCM2835_MBOX_BUF_ALIGN_ATTRIBUTE   __attribute__( ( aligned( 64 ) ) )
 
#define BCM2835_MAILBOX_TAG_FIRMWARE_REVISION   0x00000001
 
#define BCM2835_MAILBOX_TAG_GET_BOARD_MODEL   0x00010001
 
#define BCM2835_MAILBOX_TAG_GET_BOARD_VERSION   0x00010002
 
#define BCM2835_MAILBOX_BOARD_V_B_I2C0_2   0x2
 
#define BCM2835_MAILBOX_BOARD_V_B_I2C0_3   0x3
 
#define BCM2835_MAILBOX_BOARD_V_B_I2C1_4   0x4
 
#define BCM2835_MAILBOX_BOARD_V_B_I2C1_5   0x5
 
#define BCM2835_MAILBOX_BOARD_V_B_I2C1_6   0x6
 
#define BCM2835_MAILBOX_BOARD_V_A_7   0x7
 
#define BCM2835_MAILBOX_BOARD_V_A_8   0x8
 
#define BCM2835_MAILBOX_BOARD_V_A_9   0x9
 
#define BCM2835_MAILBOX_BOARD_V_B_REV2_d   0xd
 
#define BCM2835_MAILBOX_BOARD_V_B_REV2_e   0xe
 
#define BCM2835_MAILBOX_BOARD_V_B_REV2_f   0xf
 
#define BCM2835_MAILBOX_BOARD_V_B_PLUS   0x10
 
#define BCM2835_MAILBOX_BOARD_V_CM   0x11
 
#define BCM2835_MAILBOX_BOARD_V_A_PLUS   0x12
 
#define BCM2835_MAILBOX_TAG_GET_BOARD_MAC   0x00010003
 
#define BCM2835_MAILBOX_TAG_GET_BOARD_SERIAL   0x00010004
 
#define BCM2835_MAILBOX_TAG_GET_ARM_MEMORY   0x00010005
 
#define BCM2835_MAILBOX_TAG_GET_VC_MEMORY   0x00010006
 
#define BCM2835_MAILBOX_TAG_GET_CLOCKS   0x00010007
 
#define BCM2835_MAILBOX_TAG_GET_CMD_LINE   0x00050001
 
#define BCM2835_MAILBOX_TAG_GET_DMA_CHANNELS   0x00060001
 
#define BCM2835_MAILBOX_POWER_UDID_SD_Card   0x00000000
 
#define BCM2835_MAILBOX_POWER_UDID_UART0   0x00000001
 
#define BCM2835_MAILBOX_POWER_UDID_UART1   0x00000002
 
#define BCM2835_MAILBOX_POWER_UDID_USB_HCD   0x00000003
 
#define BCM2835_MAILBOX_POWER_UDID_I2C0   0x00000004
 
#define BCM2835_MAILBOX_POWER_UDID_I2C1   0x00000005
 
#define BCM2835_MAILBOX_POWER_UDID_I2C2   0x00000006
 
#define BCM2835_MAILBOX_POWER_UDID_SPI   0x00000007
 
#define BCM2835_MAILBOX_POWER_UDID_CCP2TX   0x00000008
 
#define BCM2835_MAILBOX_TAG_GET_POWER_STATE   0x00020001
 
#define BCM2835_MAILBOX_POWER_STATE_RESP_ON   (1 << 0)
 
#define BCM2835_MAILBOX_POWER_STATE_RESP_NODEV   (1 << 1)
 
#define BCM2835_MAILBOX_TAG_GET_TIMING   0x00020002
 
#define BCM2835_MAILBOX_TAG_SET_POWER_STATE   0x00028001
 
#define BCM2835_MAILBOX_SET_POWER_STATE_REQ_ON   (1 << 0)
 
#define BCM2835_MAILBOX_SET_POWER_STATE_REQ_WAIT   (1 << 1)
 
#define BCM2835_MAILBOX_UCID_CLOCK_RESERVED   0x000000000
 
#define BCM2835_MAILBOX_UCID_CLOCK_EMMC   0x000000001
 
#define BCM2835_MAILBOX_UCID_CLOCK_UART   0x000000002
 
#define BCM2835_MAILBOX_UCID_CLOCK_ARM   0x000000003
 
#define BCM2835_MAILBOX_UCID_CLOCK_CORE   0x000000004
 
#define BCM2835_MAILBOX_UCID_CLOCK_V3D   0x000000005
 
#define BCM2835_MAILBOX_UCID_CLOCK_H264   0x000000006
 
#define BCM2835_MAILBOX_UCID_CLOCK_ISP   0x000000007
 
#define BCM2835_MAILBOX_UCID_CLOCK_SDRAM   0x000000008
 
#define BCM2835_MAILBOX_UCID_CLOCK_PIXEL   0x000000009
 
#define BCM2835_MAILBOX_UCID_CLOCK_PWM   0x00000000a
 
#define BCM2835_MAILBOX_TAG_GET_CLOCK_STATE   0x00030001
 
#define BCM2835_MAILBOX_TAG_SET_CLOCK_STATE   0x00038001
 
#define BCM2835_MAILBOX_TAG_GET_CLOCK_RATE   0x00030002
 
#define BCM2835_MAILBOX_TAG_SET_CLOCK_RATE   0x00038002
 
#define BCM2835_MAILBOX_TAG_GET_MAX_CLOCK_RATE   0x00030004
 
#define BCM2835_MAILBOX_TAG_GET_MIN_CLOCK_RATE   0x00030007
 
#define BCM2835_MAILBOX_TAG_GET_TRUBO   0x00030009
 
#define BCM2835_MAILBOX_TAG_SET_TURBO   0x00038009
 
#define BCM2835_MAILBOX_TAG_GET_DOMAIN_STATE   0x00030030
 
#define BCM2835_MAILBOX_TAG_SET_DOMAIN_STATE   0x00038030
 
#define BCM2835_MAILBOX_VOLTAGE_RESERVED_UVID   0x000000000
 
#define BCM2835_MAILBOX_VOLTAGE_CORE_UVID   0x000000001
 
#define BCM2835_MAILBOX_VOLTAGE_SDRAM_C_UVID   0x000000002
 
#define BCM2835_MAILBOX_VOLTAGE_SDRAM_P_UVID   0x000000003
 
#define BCM2835_MAILBOX_VOLTAGE_SDRAM_I_UVID   0x000000004
 
#define BCM2835_MAILBOX_TAG_GET_VOLTAGE   0x00030003
 
#define BCM2835_MAILBOX_TAG_SET_VOLTAGE   0x00038003
 
#define BCM2835_MAILBOX_TAG_GET_MAX_VOLTAGE   0x00030005
 
#define BCM2835_MAILBOX_TAG_GET_MIN_VOLTAGE   0x00030008
 
#define BCM2835_MAILBOX_TAG_GET_TEMPERATURE   0x00030006
 
#define BCM2835_MAILBOX_TAG_GET_MAX_TEMPERATURE   0x0003000a
 
#define BCM2835_MAILBOX_TAG_ALLOCATE_MEMORY   0x0003000c
 
#define BCM2835_MAILBOX_TAG_LOCK_MEMORY   0x0003000d
 
#define BCM2835_MAILBOX_TAG_UNLOCK_MEMORY   0x0003000e
 
#define BCM2835_MAILBOX_TAG_RELEASE_MEMORY   0x0003000f
 
#define BCM2835_MAILBOX_TAG_EXECUTE_CODE   0x00030010
 
#define BCM2835_MAILBOX_TAG_GET_DISPMANX_RESOURCE_MEM_HANDLE   0x00030014
 
#define BCM2835_MAILBOX_TAG_GET_EDID_BLOCK   0x00030020
 
#define BCM2835_MAILBOX_TAG_ALLOCATE_BUFFER   0x00040001
 
#define BCM2835_MAILBOX_TAG_RELEASE_BUFFER   0x00048001
 
#define BCM2835_MAILBOX_TAG_BLANK_SCREEN   0x00040002
 
#define BCM2835_MAILBOX_TAG_GET_DISPLAY_SIZE   0x00040003
 
#define BCM2835_MAILBOX_TAG_TEST_DISPLAY_SIZE   0x00044003
 
#define BCM2835_MAILBOX_TAG_SET_DISPLAY_SIZE   0x00048003
 
#define BCM2835_MAILBOX_TAG_GET_VIRTUAL_SIZE   0x00040004
 
#define BCM2835_MAILBOX_TAG_TEST_VIRTUAL_SIZE   0x00044004
 
#define BCM2835_MAILBOX_TAG_SET_VIRTUAL_SIZE   0x00048004
 
#define BCM2835_MAILBOX_TAG_GET_DEPTH   0x00040005
 
#define BCM2835_MAILBOX_TAG_TEST_DEPTH   0x00044005
 
#define BCM2835_MAILBOX_TAG_SET_DEPTH   0x00048005
 
#define BCM2835_MAILBOX_TAG_GET_PIXEL_ORDER   0x00040006
 
#define BCM2835_MAILBOX_TAG_TEST_PIXEL_ORDER   0x00044006
 
#define BCM2835_MAILBOX_TAG_SET_PIXEL_ORDER   0x00048006
 
#define BCM2835_MAILBOX_PIXEL_ORDER_BGR   0
 
#define BCM2835_MAILBOX_PIXEL_ORDER_RGB   1
 
#define BCM2835_MAILBOX_TAG_GET_ALPHA_MODE   0x00040007
 
#define BCM2835_MAILBOX_TAG_TEST_ALPHA_MODE   0x00044007
 
#define BCM2835_MAILBOX_TAG_SET_ALPHA_MODE   0x00048007
 
#define BCM2835_MAILBOX_ALPHA_MODE_0_OPAQUE   0
 
#define BCM2835_MAILBOX_ALPHA_MODE_0_TRANSPARENT   1
 
#define BCM2835_MAILBOX_ALPHA_MODE_IGNORED   2
 
#define BCM2835_MAILBOX_TAG_GET_PITCH   0x00040008
 
#define BCM2835_MAILBOX_TAG_GET_VIRTUAL_OFFSET   0x00040009
 
#define BCM2835_MAILBOX_TAG_TEST_VIRTUAL_OFFSET   0x00044009
 
#define BCM2835_MAILBOX_TAG_SET_VIRTUAL_OFFSET   0x00048009
 
#define BCM2835_MAILBOX_TAG_GET_OVERSCAN   0x0004000a
 
#define BCM2835_MAILBOX_TAG_TEST_OVERSCAN   0x0004400a
 
#define BCM2835_MAILBOX_TAG_SET_OVERSCAN   0x0004800a
 
#define BCM2835_MAILBOX_TAG_GET_PALETTE   0x0004000b
 
#define BCM2835_MAILBOX_TAG_TEST_PALETTE   0x0004400b
 
#define BCM2835_MAILBOX_TAG_SET_PALETTE   0x0004800b
 
#define BCM2835_MAILBOX_TAG_SET_CURSOR_INFO   0x00008011
 
#define BCM2835_MAILBOX_TAG_SET_CURSOR_STATE   0x00008010
 

Detailed Description

Register Definitions.

Macro Definition Documentation

◆ BCM2835_MBOX_INIT_BUF

#define BCM2835_MBOX_INIT_BUF (   _m_)
Value:
{ \
memset( ( _m_ ), 0, sizeof( *( _m_ ) ) ); \
( _m_ )->hdr.buf_size = (void *)&(( _m_ )->end_tag) + 4 - (void *)( _m_ ); \
( _m_ )->hdr.buf_code = BCM2835_MBOX_BUF_CODE_PROCESS_REQUEST; \
( _m_ )->end_tag = 0; \
}

◆ BCM2835_MBOX_INIT_TAG

#define BCM2835_MBOX_INIT_TAG (   _t_,
  _id_ 
)
Value:
{ \
( _t_ )->tag_hdr.tag = _id_; \
( _t_ )->tag_hdr.val_buf_size = sizeof( ( _t_ )->body ); \
( _t_ )->tag_hdr.val_len = sizeof( ( _t_ )->body.req ); \
}

◆ BCM2835_MBOX_INIT_TAG_NO_REQ

#define BCM2835_MBOX_INIT_TAG_NO_REQ (   _t_,
  _id_ 
)
Value:
{ \
( _t_ )->tag_hdr.tag = _id_; \
( _t_ )->tag_hdr.val_buf_size = sizeof( ( _t_ )->body ); \
( _t_ )->tag_hdr.val_len = 0; \
}