emmc.rs 7.7 KB

123456789101112131415
  1. # [ doc = r"Register block" ] # [ repr ( C ) ] pub struct RegisterBlock { # [ doc = "0x00 - SD 32bits command argument register" ] pub r32_emmc_argument : crate :: Reg < r32_emmc_argument :: R32_EMMC_ARGUMENT_SPEC > , # [ doc = "0x04 - SD 16bits cmd setting register" ] pub r16_emmc_cmd_set : crate :: Reg < r16_emmc_cmd_set :: R16_EMMC_CMD_SET_SPEC > , _reserved2 : [ u8 ; 0x02 ] , # [ doc = "0x08 - SD 128bits response register, \\[31:0\\]
  2. 32bits" ] pub r32_emmc_response0 : crate :: Reg < r32_emmc_response0 :: R32_EMMC_RESPONSE0_SPEC > , # [ doc = "0x0c - SD 128bits response register, \\[63:32\\]
  3. 32bits" ] pub r32_emmc_response1 : crate :: Reg < r32_emmc_response1 :: R32_EMMC_RESPONSE1_SPEC > , # [ doc = "0x10 - SD 128bits response register, \\[95:64\\]
  4. 32bits" ] pub r32_emmc_response2 : crate :: Reg < r32_emmc_response2 :: R32_EMMC_RESPONSE2_SPEC > , _reserved_5_r32_emmc : [ u8 ; 0x04 ] , # [ doc = "0x18 - SD 8bits control register" ] pub r8_emmc_control : crate :: Reg < r8_emmc_control :: R8_EMMC_CONTROL_SPEC > , _reserved7 : [ u8 ; 0x03 ] , # [ doc = "0x1c - SD 8bits data timeout value" ] pub r8_emmc_timeout : crate :: Reg < r8_emmc_timeout :: R8_EMMC_TIMEOUT_SPEC > , _reserved8 : [ u8 ; 0x03 ] , # [ doc = "0x20 - SD status" ] pub r32_emmc_status : crate :: Reg < r32_emmc_status :: R32_EMMC_STATUS_SPEC > , # [ doc = "0x24 - SD 16bits interrupt flag register" ] pub r16_emmc_int_fg : crate :: Reg < r16_emmc_int_fg :: R16_EMMC_INT_FG_SPEC > , _reserved10 : [ u8 ; 0x02 ] , # [ doc = "0x28 - SD 16bits interrupt enable register" ] pub r16_emmc_int_en : crate :: Reg < r16_emmc_int_en :: R16_EMMC_INT_EN_SPEC > , _reserved11 : [ u8 ; 0x02 ] , # [ doc = "0x2c - SD 16bits DMA start address register when to operate" ] pub r32_emmc_dma_beg1 : crate :: Reg < r32_emmc_dma_beg1 :: R32_EMMC_DMA_BEG1_SPEC > , # [ doc = "0x30 - SD 32bits data counter, \\[15:0\\]
  5. number of blocks this time will tran/recv, \\[27:16\\]
  6. block sise(byte number) of every block in this time tran/recv" ] pub r32_emmc_block_cfg : crate :: Reg < r32_emmc_block_cfg :: R32_EMMC_BLOCK_CFG_SPEC > , # [ doc = "0x34 - SD TRANSFER MODE register" ] pub r32_emmc_tran_mode : crate :: Reg < r32_emmc_tran_mode :: R32_EMMC_TRAN_MODE_SPEC > , # [ doc = "0x38 - SD clock divider register" ] pub r16_emmc_clk_div : crate :: Reg < r16_emmc_clk_div :: R16_EMMC_CLK_DIV_SPEC > , _reserved15 : [ u8 ; 0x02 ] , # [ doc = "0x3c - SD 16bits DMA start address register when to operate" ] pub r32_emmc_dma_beg2 : crate :: Reg < r32_emmc_dma_beg2 :: R32_EMMC_DMA_BEG2_SPEC > , } impl RegisterBlock { # [ doc = "0x14 - Multiplexing register of the EMMC_RESPONSE3,\\[127:96\\]
  7. 32bits" ] # [ inline ( always ) ] pub fn r32_emmc_write_cont ( & self ) -> & crate :: Reg < r32_emmc_write_cont :: R32_EMMC_WRITE_CONT_SPEC > { unsafe { & * ( ( ( self as * const Self ) as * const u8 ) . add ( 20usize ) as * const crate :: Reg < r32_emmc_write_cont :: R32_EMMC_WRITE_CONT_SPEC > ) } } # [ doc = "0x14 - SD 128bits response register, \\[127:96\\]
  8. 32bits" ] # [ inline ( always ) ] pub fn r32_emmc_response3 ( & self ) -> & crate :: Reg < r32_emmc_response3 :: R32_EMMC_RESPONSE3_SPEC > { unsafe { & * ( ( ( self as * const Self ) as * const u8 ) . add ( 20usize ) as * const crate :: Reg < r32_emmc_response3 :: R32_EMMC_RESPONSE3_SPEC > ) } } } # [ doc = "R16_EMMC_CLK_DIV register accessor: an alias for `Reg<R16_EMMC_CLK_DIV_SPEC>`" ] pub type R16_EMMC_CLK_DIV = crate :: Reg < r16_emmc_clk_div :: R16_EMMC_CLK_DIV_SPEC > ; # [ doc = "SD clock divider register" ] pub mod r16_emmc_clk_div ; # [ doc = "R32_EMMC_ARGUMENT register accessor: an alias for `Reg<R32_EMMC_ARGUMENT_SPEC>`" ] pub type R32_EMMC_ARGUMENT = crate :: Reg < r32_emmc_argument :: R32_EMMC_ARGUMENT_SPEC > ; # [ doc = "SD 32bits command argument register" ] pub mod r32_emmc_argument ; # [ doc = "R16_EMMC_CMD_SET register accessor: an alias for `Reg<R16_EMMC_CMD_SET_SPEC>`" ] pub type R16_EMMC_CMD_SET = crate :: Reg < r16_emmc_cmd_set :: R16_EMMC_CMD_SET_SPEC > ; # [ doc = "SD 16bits cmd setting register" ] pub mod r16_emmc_cmd_set ; # [ doc = "R32_EMMC_RESPONSE0 register accessor: an alias for `Reg<R32_EMMC_RESPONSE0_SPEC>`" ] pub type R32_EMMC_RESPONSE0 = crate :: Reg < r32_emmc_response0 :: R32_EMMC_RESPONSE0_SPEC > ; # [ doc = "SD 128bits response register, \\[31:0\\]
  9. 32bits" ] pub mod r32_emmc_response0 ; # [ doc = "R32_EMMC_RESPONSE1 register accessor: an alias for `Reg<R32_EMMC_RESPONSE1_SPEC>`" ] pub type R32_EMMC_RESPONSE1 = crate :: Reg < r32_emmc_response1 :: R32_EMMC_RESPONSE1_SPEC > ; # [ doc = "SD 128bits response register, \\[63:32\\]
  10. 32bits" ] pub mod r32_emmc_response1 ; # [ doc = "R32_EMMC_RESPONSE2 register accessor: an alias for `Reg<R32_EMMC_RESPONSE2_SPEC>`" ] pub type R32_EMMC_RESPONSE2 = crate :: Reg < r32_emmc_response2 :: R32_EMMC_RESPONSE2_SPEC > ; # [ doc = "SD 128bits response register, \\[95:64\\]
  11. 32bits" ] pub mod r32_emmc_response2 ; # [ doc = "R32_EMMC_RESPONSE3 register accessor: an alias for `Reg<R32_EMMC_RESPONSE3_SPEC>`" ] pub type R32_EMMC_RESPONSE3 = crate :: Reg < r32_emmc_response3 :: R32_EMMC_RESPONSE3_SPEC > ; # [ doc = "SD 128bits response register, \\[127:96\\]
  12. 32bits" ] pub mod r32_emmc_response3 ; # [ doc = "R32_EMMC_WRITE_CONT register accessor: an alias for `Reg<R32_EMMC_WRITE_CONT_SPEC>`" ] pub type R32_EMMC_WRITE_CONT = crate :: Reg < r32_emmc_write_cont :: R32_EMMC_WRITE_CONT_SPEC > ; # [ doc = "Multiplexing register of the EMMC_RESPONSE3,\\[127:96\\]
  13. 32bits" ] pub mod r32_emmc_write_cont ; # [ doc = "R8_EMMC_CONTROL register accessor: an alias for `Reg<R8_EMMC_CONTROL_SPEC>`" ] pub type R8_EMMC_CONTROL = crate :: Reg < r8_emmc_control :: R8_EMMC_CONTROL_SPEC > ; # [ doc = "SD 8bits control register" ] pub mod r8_emmc_control ; # [ doc = "R8_EMMC_TIMEOUT register accessor: an alias for `Reg<R8_EMMC_TIMEOUT_SPEC>`" ] pub type R8_EMMC_TIMEOUT = crate :: Reg < r8_emmc_timeout :: R8_EMMC_TIMEOUT_SPEC > ; # [ doc = "SD 8bits data timeout value" ] pub mod r8_emmc_timeout ; # [ doc = "R32_EMMC_STATUS register accessor: an alias for `Reg<R32_EMMC_STATUS_SPEC>`" ] pub type R32_EMMC_STATUS = crate :: Reg < r32_emmc_status :: R32_EMMC_STATUS_SPEC > ; # [ doc = "SD status" ] pub mod r32_emmc_status ; # [ doc = "R16_EMMC_INT_FG register accessor: an alias for `Reg<R16_EMMC_INT_FG_SPEC>`" ] pub type R16_EMMC_INT_FG = crate :: Reg < r16_emmc_int_fg :: R16_EMMC_INT_FG_SPEC > ; # [ doc = "SD 16bits interrupt flag register" ] pub mod r16_emmc_int_fg ; # [ doc = "R16_EMMC_INT_EN register accessor: an alias for `Reg<R16_EMMC_INT_EN_SPEC>`" ] pub type R16_EMMC_INT_EN = crate :: Reg < r16_emmc_int_en :: R16_EMMC_INT_EN_SPEC > ; # [ doc = "SD 16bits interrupt enable register" ] pub mod r16_emmc_int_en ; # [ doc = "R32_EMMC_DMA_BEG1 register accessor: an alias for `Reg<R32_EMMC_DMA_BEG1_SPEC>`" ] pub type R32_EMMC_DMA_BEG1 = crate :: Reg < r32_emmc_dma_beg1 :: R32_EMMC_DMA_BEG1_SPEC > ; # [ doc = "SD 16bits DMA start address register when to operate" ] pub mod r32_emmc_dma_beg1 ; # [ doc = "R32_EMMC_BLOCK_CFG register accessor: an alias for `Reg<R32_EMMC_BLOCK_CFG_SPEC>`" ] pub type R32_EMMC_BLOCK_CFG = crate :: Reg < r32_emmc_block_cfg :: R32_EMMC_BLOCK_CFG_SPEC > ; # [ doc = "SD 32bits data counter, \\[15:0\\]
  14. number of blocks this time will tran/recv, \\[27:16\\]
  15. block sise(byte number) of every block in this time tran/recv" ] pub mod r32_emmc_block_cfg ; # [ doc = "R32_EMMC_TRAN_MODE register accessor: an alias for `Reg<R32_EMMC_TRAN_MODE_SPEC>`" ] pub type R32_EMMC_TRAN_MODE = crate :: Reg < r32_emmc_tran_mode :: R32_EMMC_TRAN_MODE_SPEC > ; # [ doc = "SD TRANSFER MODE register" ] pub mod r32_emmc_tran_mode ; # [ doc = "R32_EMMC_DMA_BEG2 register accessor: an alias for `Reg<R32_EMMC_DMA_BEG2_SPEC>`" ] pub type R32_EMMC_DMA_BEG2 = crate :: Reg < r32_emmc_dma_beg2 :: R32_EMMC_DMA_BEG2_SPEC > ; # [ doc = "SD 16bits DMA start address register when to operate" ] pub mod r32_emmc_dma_beg2 ;