📄 mbox_reg.h
字号:
#define LOCAL_COUNT_VALUE_LSB 0#define LOCAL_COUNT_VALUE_MASK 0x000000ff#define LOCAL_COUNT_VALUE_GET(x) (((x) & LOCAL_COUNT_VALUE_MASK) >> LOCAL_COUNT_VALUE_LSB)#define LOCAL_COUNT_VALUE_SET(x) (((x) << LOCAL_COUNT_VALUE_LSB) & LOCAL_COUNT_VALUE_MASK)#define COUNT_INC_ADDRESS 0x0c0140a0#define COUNT_INC_OFFSET 0x000000a0#define COUNT_INC_VALUE_MSB 7#define COUNT_INC_VALUE_LSB 0#define COUNT_INC_VALUE_MASK 0x000000ff#define COUNT_INC_VALUE_GET(x) (((x) & COUNT_INC_VALUE_MASK) >> COUNT_INC_VALUE_LSB)#define COUNT_INC_VALUE_SET(x) (((x) << COUNT_INC_VALUE_LSB) & COUNT_INC_VALUE_MASK)#define LOCAL_SCRATCH_ADDRESS 0x0c0140c0#define LOCAL_SCRATCH_OFFSET 0x000000c0#define LOCAL_SCRATCH_VALUE_MSB 7#define LOCAL_SCRATCH_VALUE_LSB 0#define LOCAL_SCRATCH_VALUE_MASK 0x000000ff#define LOCAL_SCRATCH_VALUE_GET(x) (((x) & LOCAL_SCRATCH_VALUE_MASK) >> LOCAL_SCRATCH_VALUE_LSB)#define LOCAL_SCRATCH_VALUE_SET(x) (((x) << LOCAL_SCRATCH_VALUE_LSB) & LOCAL_SCRATCH_VALUE_MASK)#define USE_LOCAL_BUS_ADDRESS 0x0c0140e0#define USE_LOCAL_BUS_OFFSET 0x000000e0#define USE_LOCAL_BUS_PIN_INIT_MSB 0#define USE_LOCAL_BUS_PIN_INIT_LSB 0#define USE_LOCAL_BUS_PIN_INIT_MASK 0x00000001#define USE_LOCAL_BUS_PIN_INIT_GET(x) (((x) & USE_LOCAL_BUS_PIN_INIT_MASK) >> USE_LOCAL_BUS_PIN_INIT_LSB)#define USE_LOCAL_BUS_PIN_INIT_SET(x) (((x) << USE_LOCAL_BUS_PIN_INIT_LSB) & USE_LOCAL_BUS_PIN_INIT_MASK)#define SDIO_CONFIG_ADDRESS 0x0c0140e4#define SDIO_CONFIG_OFFSET 0x000000e4#define SDIO_CONFIG_CCCR_IOR1_MSB 0#define SDIO_CONFIG_CCCR_IOR1_LSB 0#define SDIO_CONFIG_CCCR_IOR1_MASK 0x00000001#define SDIO_CONFIG_CCCR_IOR1_GET(x) (((x) & SDIO_CONFIG_CCCR_IOR1_MASK) >> SDIO_CONFIG_CCCR_IOR1_LSB)#define SDIO_CONFIG_CCCR_IOR1_SET(x) (((x) << SDIO_CONFIG_CCCR_IOR1_LSB) & SDIO_CONFIG_CCCR_IOR1_MASK)#define MBOX_DEBUG_ADDRESS 0x0c0140e8#define MBOX_DEBUG_OFFSET 0x000000e8#define MBOX_DEBUG_SEL_MSB 2#define MBOX_DEBUG_SEL_LSB 0#define MBOX_DEBUG_SEL_MASK 0x00000007#define MBOX_DEBUG_SEL_GET(x) (((x) & MBOX_DEBUG_SEL_MASK) >> MBOX_DEBUG_SEL_LSB)#define MBOX_DEBUG_SEL_SET(x) (((x) << MBOX_DEBUG_SEL_LSB) & MBOX_DEBUG_SEL_MASK)#define MBOX_FIFO_RESET_ADDRESS 0x0c0140ec#define MBOX_FIFO_RESET_OFFSET 0x000000ec#define MBOX_FIFO_RESET_INIT_MSB 0#define MBOX_FIFO_RESET_INIT_LSB 0#define MBOX_FIFO_RESET_INIT_MASK 0x00000001#define MBOX_FIFO_RESET_INIT_GET(x) (((x) & MBOX_FIFO_RESET_INIT_MASK) >> MBOX_FIFO_RESET_INIT_LSB)#define MBOX_FIFO_RESET_INIT_SET(x) (((x) << MBOX_FIFO_RESET_INIT_LSB) & MBOX_FIFO_RESET_INIT_MASK)#define STEREO_CONFIG_ADDRESS 0x0c0140f0#define STEREO_CONFIG_OFFSET 0x000000f0#define STEREO_CONFIG_ENABLE_MSB 24#define STEREO_CONFIG_ENABLE_LSB 24#define STEREO_CONFIG_ENABLE_MASK 0x01000000#define STEREO_CONFIG_ENABLE_GET(x) (((x) & STEREO_CONFIG_ENABLE_MASK) >> STEREO_CONFIG_ENABLE_LSB)#define STEREO_CONFIG_ENABLE_SET(x) (((x) << STEREO_CONFIG_ENABLE_LSB) & STEREO_CONFIG_ENABLE_MASK)#define STEREO_CONFIG_RESET_MSB 23#define STEREO_CONFIG_RESET_LSB 23#define STEREO_CONFIG_RESET_MASK 0x00800000#define STEREO_CONFIG_RESET_GET(x) (((x) & STEREO_CONFIG_RESET_MASK) >> STEREO_CONFIG_RESET_LSB)#define STEREO_CONFIG_RESET_SET(x) (((x) << STEREO_CONFIG_RESET_LSB) & STEREO_CONFIG_RESET_MASK)#define STEREO_CONFIG_I2S_DELAY_MSB 22#define STEREO_CONFIG_I2S_DELAY_LSB 22#define STEREO_CONFIG_I2S_DELAY_MASK 0x00400000#define STEREO_CONFIG_I2S_DELAY_GET(x) (((x) & STEREO_CONFIG_I2S_DELAY_MASK) >> STEREO_CONFIG_I2S_DELAY_LSB)#define STEREO_CONFIG_I2S_DELAY_SET(x) (((x) << STEREO_CONFIG_I2S_DELAY_LSB) & STEREO_CONFIG_I2S_DELAY_MASK)#define STEREO_CONFIG_MIC_MASTER_MSB 21#define STEREO_CONFIG_MIC_MASTER_LSB 21#define STEREO_CONFIG_MIC_MASTER_MASK 0x00200000#define STEREO_CONFIG_MIC_MASTER_GET(x) (((x) & STEREO_CONFIG_MIC_MASTER_MASK) >> STEREO_CONFIG_MIC_MASTER_LSB)#define STEREO_CONFIG_MIC_MASTER_SET(x) (((x) << STEREO_CONFIG_MIC_MASTER_LSB) & STEREO_CONFIG_MIC_MASTER_MASK)#define STEREO_CONFIG_MIC_WORD_SIZE_MSB 20#define STEREO_CONFIG_MIC_WORD_SIZE_LSB 20#define STEREO_CONFIG_MIC_WORD_SIZE_MASK 0x00100000#define STEREO_CONFIG_MIC_WORD_SIZE_GET(x) (((x) & STEREO_CONFIG_MIC_WORD_SIZE_MASK) >> STEREO_CONFIG_MIC_WORD_SIZE_LSB)#define STEREO_CONFIG_MIC_WORD_SIZE_SET(x) (((x) << STEREO_CONFIG_MIC_WORD_SIZE_LSB) & STEREO_CONFIG_MIC_WORD_SIZE_MASK)#define STEREO_CONFIG_STEREO_MONO_MSB 19#define STEREO_CONFIG_STEREO_MONO_LSB 18#define STEREO_CONFIG_STEREO_MONO_MASK 0x000c0000#define STEREO_CONFIG_STEREO_MONO_GET(x) (((x) & STEREO_CONFIG_STEREO_MONO_MASK) >> STEREO_CONFIG_STEREO_MONO_LSB)#define STEREO_CONFIG_STEREO_MONO_SET(x) (((x) << STEREO_CONFIG_STEREO_MONO_LSB) & STEREO_CONFIG_STEREO_MONO_MASK)#define STEREO_CONFIG_DATA_WORD_SIZE_MSB 17#define STEREO_CONFIG_DATA_WORD_SIZE_LSB 16#define STEREO_CONFIG_DATA_WORD_SIZE_MASK 0x00030000#define STEREO_CONFIG_DATA_WORD_SIZE_GET(x) (((x) & STEREO_CONFIG_DATA_WORD_SIZE_MASK) >> STEREO_CONFIG_DATA_WORD_SIZE_LSB)#define STEREO_CONFIG_DATA_WORD_SIZE_SET(x) (((x) << STEREO_CONFIG_DATA_WORD_SIZE_LSB) & STEREO_CONFIG_DATA_WORD_SIZE_MASK)#define STEREO_CONFIG_I2S_WORD_SIZE_MSB 15#define STEREO_CONFIG_I2S_WORD_SIZE_LSB 15#define STEREO_CONFIG_I2S_WORD_SIZE_MASK 0x00008000#define STEREO_CONFIG_I2S_WORD_SIZE_GET(x) (((x) & STEREO_CONFIG_I2S_WORD_SIZE_MASK) >> STEREO_CONFIG_I2S_WORD_SIZE_LSB)#define STEREO_CONFIG_I2S_WORD_SIZE_SET(x) (((x) << STEREO_CONFIG_I2S_WORD_SIZE_LSB) & STEREO_CONFIG_I2S_WORD_SIZE_MASK)#define STEREO_CONFIG_MCK_SEL_MSB 14#define STEREO_CONFIG_MCK_SEL_LSB 14#define STEREO_CONFIG_MCK_SEL_MASK 0x00004000#define STEREO_CONFIG_MCK_SEL_GET(x) (((x) & STEREO_CONFIG_MCK_SEL_MASK) >> STEREO_CONFIG_MCK_SEL_LSB)#define STEREO_CONFIG_MCK_SEL_SET(x) (((x) << STEREO_CONFIG_MCK_SEL_LSB) & STEREO_CONFIG_MCK_SEL_MASK)#define STEREO_CONFIG_MCK_CNT_MSB 13#define STEREO_CONFIG_MCK_CNT_LSB 10#define STEREO_CONFIG_MCK_CNT_MASK 0x00003c00#define STEREO_CONFIG_MCK_CNT_GET(x) (((x) & STEREO_CONFIG_MCK_CNT_MASK) >> STEREO_CONFIG_MCK_CNT_LSB)#define STEREO_CONFIG_MCK_CNT_SET(x) (((x) << STEREO_CONFIG_MCK_CNT_LSB) & STEREO_CONFIG_MCK_CNT_MASK)#define STEREO_CONFIG_MCK_RAW_MSB 9#define STEREO_CONFIG_MCK_RAW_LSB 9#define STEREO_CONFIG_MCK_RAW_MASK 0x00000200#define STEREO_CONFIG_MCK_RAW_GET(x) (((x) & STEREO_CONFIG_MCK_RAW_MASK) >> STEREO_CONFIG_MCK_RAW_LSB)#define STEREO_CONFIG_MCK_RAW_SET(x) (((x) << STEREO_CONFIG_MCK_RAW_LSB) & STEREO_CONFIG_MCK_RAW_MASK)#define STEREO_CONFIG_MASTER_MSB 8#define STEREO_CONFIG_MASTER_LSB 8#define STEREO_CONFIG_MASTER_MASK 0x00000100#define STEREO_CONFIG_MASTER_GET(x) (((x) & STEREO_CONFIG_MASTER_MASK) >> STEREO_CONFIG_MASTER_LSB)#define STEREO_CONFIG_MASTER_SET(x) (((x) << STEREO_CONFIG_MASTER_LSB) & STEREO_CONFIG_MASTER_MASK)#define STEREO_CONFIG_POSEDGE_MSB 7#define STEREO_CONFIG_POSEDGE_LSB 0#define STEREO_CONFIG_POSEDGE_MASK 0x000000ff#define STEREO_CONFIG_POSEDGE_GET(x) (((x) & STEREO_CONFIG_POSEDGE_MASK) >> STEREO_CONFIG_POSEDGE_LSB)#define STEREO_CONFIG_POSEDGE_SET(x) (((x) << STEREO_CONFIG_POSEDGE_LSB) & STEREO_CONFIG_POSEDGE_MASK)#define STEREO_VOLUME_ADDRESS 0x0c0140f4#define STEREO_VOLUME_OFFSET 0x000000f4#define STEREO_VOLUME_CHANNEL1_MSB 12#define STEREO_VOLUME_CHANNEL1_LSB 8#define STEREO_VOLUME_CHANNEL1_MASK 0x00001f00#define STEREO_VOLUME_CHANNEL1_GET(x) (((x) & STEREO_VOLUME_CHANNEL1_MASK) >> STEREO_VOLUME_CHANNEL1_LSB)#define STEREO_VOLUME_CHANNEL1_SET(x) (((x) << STEREO_VOLUME_CHANNEL1_LSB) & STEREO_VOLUME_CHANNEL1_MASK)#define STEREO_VOLUME_CHANNEL0_MSB 4#define STEREO_VOLUME_CHANNEL0_LSB 0#define STEREO_VOLUME_CHANNEL0_MASK 0x0000001f#define STEREO_VOLUME_CHANNEL0_GET(x) (((x) & STEREO_VOLUME_CHANNEL0_MASK) >> STEREO_VOLUME_CHANNEL0_LSB)#define STEREO_VOLUME_CHANNEL0_SET(x) (((x) << STEREO_VOLUME_CHANNEL0_LSB) & STEREO_VOLUME_CHANNEL0_MASK)#define HOST_IF_WINDOW_ADDRESS 0x0c016000#define HOST_IF_WINDOW_OFFSET 0x00002000#define HOST_IF_WINDOW_DATA_MSB 7#define HOST_IF_WINDOW_DATA_LSB 0#define HOST_IF_WINDOW_DATA_MASK 0x000000ff#define HOST_IF_WINDOW_DATA_GET(x) (((x) & HOST_IF_WINDOW_DATA_MASK) >> HOST_IF_WINDOW_DATA_LSB)#define HOST_IF_WINDOW_DATA_SET(x) (((x) << HOST_IF_WINDOW_DATA_LSB) & HOST_IF_WINDOW_DATA_MASK)#ifndef __ASSEMBLER__typedef struct mbox_reg_s { volatile unsigned int mbox_fifo[4]; volatile unsigned int mbox_fifo_status; volatile unsigned int mbox_dma_policy; volatile unsigned int mbox0_dma_rx_descriptor_base; volatile unsigned int mbox0_dma_rx_control; volatile unsigned int mbox0_dma_tx_descriptor_base; volatile unsigned int mbox0_dma_tx_control; volatile unsigned int mbox1_dma_rx_descriptor_base; volatile unsigned int mbox1_dma_rx_control; volatile unsigned int mbox1_dma_tx_descriptor_base; volatile unsigned int mbox1_dma_tx_control; volatile unsigned int mbox2_dma_rx_descriptor_base; volatile unsigned int mbox2_dma_rx_control; volatile unsigned int mbox2_dma_tx_descriptor_base; volatile unsigned int mbox2_dma_tx_control; volatile unsigned int mbox3_dma_rx_descriptor_base; volatile unsigned int mbox3_dma_rx_control; volatile unsigned int mbox3_dma_tx_descriptor_base; volatile unsigned int mbox3_dma_tx_control; volatile unsigned int mbox_int_status; volatile unsigned int mbox_int_enable; volatile unsigned int int_host; unsigned char pad0[28]; /* pad to 0x80 */ volatile unsigned int local_count[8]; volatile unsigned int count_inc[8]; volatile unsigned int local_scratch[8]; volatile unsigned int use_local_bus; volatile unsigned int sdio_config; volatile unsigned int mbox_debug; volatile unsigned int mbox_fifo_reset; volatile unsigned int stereo_config; volatile unsigned int stereo_volume; unsigned char pad1[7944]; /* pad to 0x2000 */ volatile unsigned int host_if_window[2048];} mbox_reg_t;#endif /* __ASSEMBLER__ */#endif /* _MBOX_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -