RTEMS 6.3
Loading...
Searching...
No Matches
Register Definitions

Register Definitions. More...

Files

file  bsps/arm/raspberrypi/include/bsp/vc.h
 video core support.
file  bsps/arm/raspberrypi/start/vc.c
 video core support.
file  bsps/arm/raspberrypi/start/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_fw_rev::[struct].body.req
struct  bcm2835_mbox_tag_get_fw_rev::[struct].body.resp
union  bcm2835_mbox_tag_get_fw_rev::[union].body
struct  bcm2835_mbox_tag_display_size
struct  bcm2835_mbox_tag_display_size::[struct].body.req
union  bcm2835_mbox_tag_display_size::[union].body
struct  bcm2835_mbox_tag_display_size::[struct].body.resp
struct  bcm2835_mbox_tag_get_cmd_line
struct  bcm2835_mbox_tag_get_cmd_line::[struct].body.req
union  bcm2835_mbox_tag_get_cmd_line::[union].body
struct  bcm2835_mbox_tag_get_cmd_line::[struct].body.resp
struct  bcm2835_mbox_tag_get_clock_rate
struct  bcm2835_mbox_tag_get_clock_rate::[struct].body.resp
union  bcm2835_mbox_tag_get_clock_rate::[union].body
struct  bcm2835_mbox_tag_get_clock_rate::[struct].body.req
struct  bcm2835_mbox_tag_get_pitch
struct  bcm2835_mbox_tag_get_pitch::[struct].body.resp
struct  bcm2835_mbox_tag_get_pitch::[struct].body.req
union  bcm2835_mbox_tag_get_pitch::[union].body
struct  bcm2835_mbox_tag_get_power_state
union  bcm2835_mbox_tag_get_power_state::[union].body
struct  bcm2835_mbox_tag_get_power_state::[struct].body.req
struct  bcm2835_mbox_tag_get_power_state::[struct].body.resp
struct  bcm2835_mbox_tag_alpha_mode
union  bcm2835_mbox_tag_alpha_mode::[union].body
struct  bcm2835_mbox_tag_alpha_mode::[struct].body.req
struct  bcm2835_mbox_tag_alpha_mode::[struct].body.resp
struct  bcm2835_mbox_tag_pixel_order
struct  bcm2835_mbox_tag_pixel_order::[struct].body.req
union  bcm2835_mbox_tag_pixel_order::[union].body
struct  bcm2835_mbox_tag_pixel_order::[struct].body.resp
struct  bcm2835_mbox_tag_get_vc_memory
union  bcm2835_mbox_tag_get_vc_memory::[union].body
struct  bcm2835_mbox_tag_get_vc_memory::[struct].body.req
struct  bcm2835_mbox_tag_get_vc_memory::[struct].body.resp
struct  bcm2835_mbox_tag_virtual_offset
struct  bcm2835_mbox_tag_virtual_offset::[struct].body.resp
struct  bcm2835_mbox_tag_virtual_offset::[struct].body.req
union  bcm2835_mbox_tag_virtual_offset::[union].body
struct  bcm2835_mbox_tag_virtual_size
struct  bcm2835_mbox_tag_virtual_size::[struct].body.resp
struct  bcm2835_mbox_tag_virtual_size::[struct].body.req
union  bcm2835_mbox_tag_virtual_size::[union].body
struct  bcm2835_mbox_tag_get_board_serial
struct  bcm2835_mbox_tag_get_board_serial::[struct].body.resp
union  bcm2835_mbox_tag_get_board_serial::[union].body
struct  bcm2835_mbox_tag_get_board_serial::[struct].body.req
struct  bcm2835_mbox_tag_allocate_buffer
struct  bcm2835_mbox_tag_allocate_buffer::[struct].body.resp
struct  bcm2835_mbox_tag_allocate_buffer::[struct].body.req
union  bcm2835_mbox_tag_allocate_buffer::[union].body
struct  bcm2835_mbox_tag_power_state
union  bcm2835_mbox_tag_power_state::[union].body
struct  bcm2835_mbox_tag_power_state::[struct].body.req
struct  bcm2835_mbox_tag_power_state::[struct].body.resp
struct  bcm2835_mbox_tag_depth
struct  bcm2835_mbox_tag_depth::[struct].body.req
union  bcm2835_mbox_tag_depth::[union].body
struct  bcm2835_mbox_tag_depth::[struct].body.resp
struct  bcm2835_mbox_tag_overscan
union  bcm2835_mbox_tag_overscan::[union].body
struct  bcm2835_mbox_tag_overscan::[struct].body.req
struct  bcm2835_mbox_tag_overscan::[struct].body.resp
struct  bcm2835_mbox_tag_get_board_spec
struct  bcm2835_mbox_tag_get_board_spec::[struct].body.resp
union  bcm2835_mbox_tag_get_board_spec::[union].body
struct  bcm2835_mbox_tag_get_board_spec::[struct].body.req
struct  bcm2835_mbox_tag_get_arm_memory
union  bcm2835_mbox_tag_get_arm_memory::[union].body
struct  bcm2835_mbox_tag_get_arm_memory::[struct].body.resp
struct  bcm2835_mbox_tag_get_arm_memory::[struct].body.req

Macros

#define BCM2835_MAILBOX_POWER_STATE_ON   ( 1 << 0 )
#define BCM2835_MAILBOX_POWER_STATE_NODEV   ( 1 << 1 )
#define BCM2835_REVISION_IS_NEW_STYLE(revision)
#define BCM2835_REVISION_MEMORY_SIZE(revision)
#define BCM2835_REVISION_MANUFACTURER(revision)
#define BCM2835_REVISION_PROCESSOR(revision)
#define BCM2835_REVISION_TYPE(revision)
#define BCM2835_REVISION_REVISION(revision)

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_MAILBOX_SET_POWER_STATE_REQ_ON   ( 1 << 0 )
#define BCM2835_MAILBOX_SET_POWER_STATE_REQ_WAIT   ( 1 << 1 )
#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_)
#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; \
}

◆ BCM2835_MBOX_TAG_REPLY_IS_SET

#define BCM2835_MBOX_TAG_REPLY_IS_SET ( _t_)
Value:
( ( _t_ )->tag_hdr.val_len & 0x80000000 )

◆ BCM2835_REVISION_IS_NEW_STYLE

#define BCM2835_REVISION_IS_NEW_STYLE ( revision)
Value:
((revision & (1 << 23)) != 0)

◆ BCM2835_REVISION_MANUFACTURER

#define BCM2835_REVISION_MANUFACTURER ( revision)
Value:
((revision >> 16) & 0xf)

◆ BCM2835_REVISION_MEMORY_SIZE

#define BCM2835_REVISION_MEMORY_SIZE ( revision)
Value:
((revision >> 20) & 0x7)

◆ BCM2835_REVISION_PROCESSOR

#define BCM2835_REVISION_PROCESSOR ( revision)
Value:
((revision >> 12) & 0xf)

◆ BCM2835_REVISION_REVISION

#define BCM2835_REVISION_REVISION ( revision)
Value:
((revision >> 0) & 0xf)

◆ BCM2835_REVISION_TYPE

#define BCM2835_REVISION_TYPE ( revision)
Value:
((revision >> 4) & 0xff)