pub struct SPI0 { /* private fields */ }
Expand description
SPI (Serial Peripheral Interface) Controller 0
Implementations§
source§impl SPI0
impl SPI0
sourcepub const PTR: *const RegisterBlock = {0x60002000 as *const spi0::RegisterBlock}
pub const PTR: *const RegisterBlock = {0x60002000 as *const spi0::RegisterBlock}
Pointer to the register block
sourcepub const fn ptr() -> *const RegisterBlock
pub const fn ptr() -> *const RegisterBlock
Return the pointer to the register block
sourcepub unsafe fn steal() -> Self
pub unsafe fn steal() -> Self
Steal an instance of this peripheral
Safety
Ensure that the new instance of the peripheral cannot be used in a way that may race with any existing instances, for example by only accessing read-only or write-only registers, or by consuming the original peripheral and using critical sections to coordinate access between multiple new instances.
Additionally, other software such as HALs may rely on only one peripheral instance existing to ensure memory safety; ensure no stolen instances are passed to such software.
Methods from Deref<Target = RegisterBlock>§
sourcepub fn spi_mem_cmd(&self) -> &SPI_MEM_CMD
pub fn spi_mem_cmd(&self) -> &SPI_MEM_CMD
0x00 - SPI0 FSM status register
sourcepub fn spi_mem_ctrl(&self) -> &SPI_MEM_CTRL
pub fn spi_mem_ctrl(&self) -> &SPI_MEM_CTRL
0x08 - SPI0 control register.
sourcepub fn spi_mem_ctrl1(&self) -> &SPI_MEM_CTRL1
pub fn spi_mem_ctrl1(&self) -> &SPI_MEM_CTRL1
0x0c - SPI0 control1 register.
sourcepub fn spi_mem_ctrl2(&self) -> &SPI_MEM_CTRL2
pub fn spi_mem_ctrl2(&self) -> &SPI_MEM_CTRL2
0x10 - SPI0 control2 register.
sourcepub fn spi_mem_clock(&self) -> &SPI_MEM_CLOCK
pub fn spi_mem_clock(&self) -> &SPI_MEM_CLOCK
0x14 - SPI clock division control register.
sourcepub fn spi_mem_user(&self) -> &SPI_MEM_USER
pub fn spi_mem_user(&self) -> &SPI_MEM_USER
0x18 - SPI0 user register.
sourcepub fn spi_mem_user1(&self) -> &SPI_MEM_USER1
pub fn spi_mem_user1(&self) -> &SPI_MEM_USER1
0x1c - SPI0 user1 register.
sourcepub fn spi_mem_user2(&self) -> &SPI_MEM_USER2
pub fn spi_mem_user2(&self) -> &SPI_MEM_USER2
0x20 - SPI0 user2 register.
sourcepub fn spi_mem_rd_status(&self) -> &SPI_MEM_RD_STATUS
pub fn spi_mem_rd_status(&self) -> &SPI_MEM_RD_STATUS
0x2c - SPI0 read control register.
sourcepub fn spi_mem_misc(&self) -> &SPI_MEM_MISC
pub fn spi_mem_misc(&self) -> &SPI_MEM_MISC
0x34 - SPI0 misc register
sourcepub fn spi_mem_cache_fctrl(&self) -> &SPI_MEM_CACHE_FCTRL
pub fn spi_mem_cache_fctrl(&self) -> &SPI_MEM_CACHE_FCTRL
0x3c - SPI0 bit mode control register.
sourcepub fn spi_mem_cache_sctrl(&self) -> &SPI_MEM_CACHE_SCTRL
pub fn spi_mem_cache_sctrl(&self) -> &SPI_MEM_CACHE_SCTRL
0x40 - SPI0 external RAM control register
sourcepub fn spi_mem_sram_cmd(&self) -> &SPI_MEM_SRAM_CMD
pub fn spi_mem_sram_cmd(&self) -> &SPI_MEM_SRAM_CMD
0x44 - SPI0 external RAM mode control register
sourcepub fn spi_mem_sram_drd_cmd(&self) -> &SPI_MEM_SRAM_DRD_CMD
pub fn spi_mem_sram_drd_cmd(&self) -> &SPI_MEM_SRAM_DRD_CMD
0x48 - SPI0 external RAM DDR read command control register
sourcepub fn spi_mem_sram_dwr_cmd(&self) -> &SPI_MEM_SRAM_DWR_CMD
pub fn spi_mem_sram_dwr_cmd(&self) -> &SPI_MEM_SRAM_DWR_CMD
0x4c - SPI0 external RAM DDR write command control register
sourcepub fn spi_mem_sram_clk(&self) -> &SPI_MEM_SRAM_CLK
pub fn spi_mem_sram_clk(&self) -> &SPI_MEM_SRAM_CLK
0x50 - SPI0 external RAM clock control register
sourcepub fn spi_mem_fsm(&self) -> &SPI_MEM_FSM
pub fn spi_mem_fsm(&self) -> &SPI_MEM_FSM
0x54 - SPI0 FSM status register
sourcepub fn spi_mem_int_ena(&self) -> &SPI_MEM_INT_ENA
pub fn spi_mem_int_ena(&self) -> &SPI_MEM_INT_ENA
0xc0 - SPI0 interrupt enable register
sourcepub fn spi_mem_int_clr(&self) -> &SPI_MEM_INT_CLR
pub fn spi_mem_int_clr(&self) -> &SPI_MEM_INT_CLR
0xc4 - SPI0 interrupt clear register
sourcepub fn spi_mem_int_raw(&self) -> &SPI_MEM_INT_RAW
pub fn spi_mem_int_raw(&self) -> &SPI_MEM_INT_RAW
0xc8 - SPI0 interrupt raw register
sourcepub fn spi_mem_int_st(&self) -> &SPI_MEM_INT_ST
pub fn spi_mem_int_st(&self) -> &SPI_MEM_INT_ST
0xcc - SPI0 interrupt status register
sourcepub fn spi_mem_ddr(&self) -> &SPI_MEM_DDR
pub fn spi_mem_ddr(&self) -> &SPI_MEM_DDR
0xd4 - SPI0 flash DDR mode control register
sourcepub fn spi_smem_ddr(&self) -> &SPI_SMEM_DDR
pub fn spi_smem_ddr(&self) -> &SPI_SMEM_DDR
0xd8 - SPI0 external RAM DDR mode control register
sourcepub fn spi_fmem_pms_attr(&self, n: usize) -> &SPI_FMEM_PMS_ATTR
pub fn spi_fmem_pms_attr(&self, n: usize) -> &SPI_FMEM_PMS_ATTR
0x100..0x110 - MSPI flash ACE section %s attribute register
sourcepub fn spi_fmem_pms_attr_iter(&self) -> impl Iterator<Item = &SPI_FMEM_PMS_ATTR>
pub fn spi_fmem_pms_attr_iter(&self) -> impl Iterator<Item = &SPI_FMEM_PMS_ATTR>
Iterator for array of: 0x100..0x110 - MSPI flash ACE section %s attribute register
sourcepub fn spi_fmem_pms0_attr(&self) -> &SPI_FMEM_PMS_ATTR
pub fn spi_fmem_pms0_attr(&self) -> &SPI_FMEM_PMS_ATTR
0x100 - MSPI flash ACE section 0 attribute register
sourcepub fn spi_fmem_pms1_attr(&self) -> &SPI_FMEM_PMS_ATTR
pub fn spi_fmem_pms1_attr(&self) -> &SPI_FMEM_PMS_ATTR
0x104 - MSPI flash ACE section 1 attribute register
sourcepub fn spi_fmem_pms2_attr(&self) -> &SPI_FMEM_PMS_ATTR
pub fn spi_fmem_pms2_attr(&self) -> &SPI_FMEM_PMS_ATTR
0x108 - MSPI flash ACE section 2 attribute register
sourcepub fn spi_fmem_pms3_attr(&self) -> &SPI_FMEM_PMS_ATTR
pub fn spi_fmem_pms3_attr(&self) -> &SPI_FMEM_PMS_ATTR
0x10c - MSPI flash ACE section 3 attribute register
sourcepub fn spi_fmem_pms_addr(&self, n: usize) -> &SPI_FMEM_PMS_ADDR
pub fn spi_fmem_pms_addr(&self, n: usize) -> &SPI_FMEM_PMS_ADDR
0x110..0x120 - SPI1 flash ACE section %s start address register
sourcepub fn spi_fmem_pms_addr_iter(&self) -> impl Iterator<Item = &SPI_FMEM_PMS_ADDR>
pub fn spi_fmem_pms_addr_iter(&self) -> impl Iterator<Item = &SPI_FMEM_PMS_ADDR>
Iterator for array of: 0x110..0x120 - SPI1 flash ACE section %s start address register
sourcepub fn spi_fmem_pms0_addr(&self) -> &SPI_FMEM_PMS_ADDR
pub fn spi_fmem_pms0_addr(&self) -> &SPI_FMEM_PMS_ADDR
0x110 - SPI1 flash ACE section 0 start address register
sourcepub fn spi_fmem_pms1_addr(&self) -> &SPI_FMEM_PMS_ADDR
pub fn spi_fmem_pms1_addr(&self) -> &SPI_FMEM_PMS_ADDR
0x114 - SPI1 flash ACE section 1 start address register
sourcepub fn spi_fmem_pms2_addr(&self) -> &SPI_FMEM_PMS_ADDR
pub fn spi_fmem_pms2_addr(&self) -> &SPI_FMEM_PMS_ADDR
0x118 - SPI1 flash ACE section 2 start address register
sourcepub fn spi_fmem_pms3_addr(&self) -> &SPI_FMEM_PMS_ADDR
pub fn spi_fmem_pms3_addr(&self) -> &SPI_FMEM_PMS_ADDR
0x11c - SPI1 flash ACE section 3 start address register
sourcepub fn spi_fmem_pms_size(&self, n: usize) -> &SPI_FMEM_PMS_SIZE
pub fn spi_fmem_pms_size(&self, n: usize) -> &SPI_FMEM_PMS_SIZE
0x120..0x130 - SPI1 flash ACE section %s start address register
sourcepub fn spi_fmem_pms_size_iter(&self) -> impl Iterator<Item = &SPI_FMEM_PMS_SIZE>
pub fn spi_fmem_pms_size_iter(&self) -> impl Iterator<Item = &SPI_FMEM_PMS_SIZE>
Iterator for array of: 0x120..0x130 - SPI1 flash ACE section %s start address register
sourcepub fn spi_fmem_pms0_size(&self) -> &SPI_FMEM_PMS_SIZE
pub fn spi_fmem_pms0_size(&self) -> &SPI_FMEM_PMS_SIZE
0x120 - SPI1 flash ACE section 0 start address register
sourcepub fn spi_fmem_pms1_size(&self) -> &SPI_FMEM_PMS_SIZE
pub fn spi_fmem_pms1_size(&self) -> &SPI_FMEM_PMS_SIZE
0x124 - SPI1 flash ACE section 1 start address register
sourcepub fn spi_fmem_pms2_size(&self) -> &SPI_FMEM_PMS_SIZE
pub fn spi_fmem_pms2_size(&self) -> &SPI_FMEM_PMS_SIZE
0x128 - SPI1 flash ACE section 2 start address register
sourcepub fn spi_fmem_pms3_size(&self) -> &SPI_FMEM_PMS_SIZE
pub fn spi_fmem_pms3_size(&self) -> &SPI_FMEM_PMS_SIZE
0x12c - SPI1 flash ACE section 3 start address register
sourcepub fn spi_smem_pms_attr(&self, n: usize) -> &SPI_SMEM_PMS_ATTR
pub fn spi_smem_pms_attr(&self, n: usize) -> &SPI_SMEM_PMS_ATTR
0x130..0x140 - SPI1 flash ACE section %s start address register
sourcepub fn spi_smem_pms_attr_iter(&self) -> impl Iterator<Item = &SPI_SMEM_PMS_ATTR>
pub fn spi_smem_pms_attr_iter(&self) -> impl Iterator<Item = &SPI_SMEM_PMS_ATTR>
Iterator for array of: 0x130..0x140 - SPI1 flash ACE section %s start address register
sourcepub fn spi_smem_pms0_attr(&self) -> &SPI_SMEM_PMS_ATTR
pub fn spi_smem_pms0_attr(&self) -> &SPI_SMEM_PMS_ATTR
0x130 - SPI1 flash ACE section 0 start address register
sourcepub fn spi_smem_pms1_attr(&self) -> &SPI_SMEM_PMS_ATTR
pub fn spi_smem_pms1_attr(&self) -> &SPI_SMEM_PMS_ATTR
0x134 - SPI1 flash ACE section 1 start address register
sourcepub fn spi_smem_pms2_attr(&self) -> &SPI_SMEM_PMS_ATTR
pub fn spi_smem_pms2_attr(&self) -> &SPI_SMEM_PMS_ATTR
0x138 - SPI1 flash ACE section 2 start address register
sourcepub fn spi_smem_pms3_attr(&self) -> &SPI_SMEM_PMS_ATTR
pub fn spi_smem_pms3_attr(&self) -> &SPI_SMEM_PMS_ATTR
0x13c - SPI1 flash ACE section 3 start address register
sourcepub fn spi_smem_pms_addr(&self, n: usize) -> &SPI_SMEM_PMS_ADDR
pub fn spi_smem_pms_addr(&self, n: usize) -> &SPI_SMEM_PMS_ADDR
0x140..0x150 - SPI1 external RAM ACE section %s start address register
sourcepub fn spi_smem_pms_addr_iter(&self) -> impl Iterator<Item = &SPI_SMEM_PMS_ADDR>
pub fn spi_smem_pms_addr_iter(&self) -> impl Iterator<Item = &SPI_SMEM_PMS_ADDR>
Iterator for array of: 0x140..0x150 - SPI1 external RAM ACE section %s start address register
sourcepub fn spi_smem_pms0_addr(&self) -> &SPI_SMEM_PMS_ADDR
pub fn spi_smem_pms0_addr(&self) -> &SPI_SMEM_PMS_ADDR
0x140 - SPI1 external RAM ACE section 0 start address register
sourcepub fn spi_smem_pms1_addr(&self) -> &SPI_SMEM_PMS_ADDR
pub fn spi_smem_pms1_addr(&self) -> &SPI_SMEM_PMS_ADDR
0x144 - SPI1 external RAM ACE section 1 start address register
sourcepub fn spi_smem_pms2_addr(&self) -> &SPI_SMEM_PMS_ADDR
pub fn spi_smem_pms2_addr(&self) -> &SPI_SMEM_PMS_ADDR
0x148 - SPI1 external RAM ACE section 2 start address register
sourcepub fn spi_smem_pms3_addr(&self) -> &SPI_SMEM_PMS_ADDR
pub fn spi_smem_pms3_addr(&self) -> &SPI_SMEM_PMS_ADDR
0x14c - SPI1 external RAM ACE section 3 start address register
sourcepub fn spi_smem_pms_size(&self, n: usize) -> &SPI_SMEM_PMS_SIZE
pub fn spi_smem_pms_size(&self, n: usize) -> &SPI_SMEM_PMS_SIZE
0x150..0x160 - SPI1 external RAM ACE section %s start address register
sourcepub fn spi_smem_pms_size_iter(&self) -> impl Iterator<Item = &SPI_SMEM_PMS_SIZE>
pub fn spi_smem_pms_size_iter(&self) -> impl Iterator<Item = &SPI_SMEM_PMS_SIZE>
Iterator for array of: 0x150..0x160 - SPI1 external RAM ACE section %s start address register
sourcepub fn spi_smem_pms0_size(&self) -> &SPI_SMEM_PMS_SIZE
pub fn spi_smem_pms0_size(&self) -> &SPI_SMEM_PMS_SIZE
0x150 - SPI1 external RAM ACE section 0 start address register
sourcepub fn spi_smem_pms1_size(&self) -> &SPI_SMEM_PMS_SIZE
pub fn spi_smem_pms1_size(&self) -> &SPI_SMEM_PMS_SIZE
0x154 - SPI1 external RAM ACE section 1 start address register
sourcepub fn spi_smem_pms2_size(&self) -> &SPI_SMEM_PMS_SIZE
pub fn spi_smem_pms2_size(&self) -> &SPI_SMEM_PMS_SIZE
0x158 - SPI1 external RAM ACE section 2 start address register
sourcepub fn spi_smem_pms3_size(&self) -> &SPI_SMEM_PMS_SIZE
pub fn spi_smem_pms3_size(&self) -> &SPI_SMEM_PMS_SIZE
0x15c - SPI1 external RAM ACE section 3 start address register
sourcepub fn spi_mem_pms_reject(&self) -> &SPI_MEM_PMS_REJECT
pub fn spi_mem_pms_reject(&self) -> &SPI_MEM_PMS_REJECT
0x164 - SPI1 access reject register
sourcepub fn spi_mem_ecc_ctrl(&self) -> &SPI_MEM_ECC_CTRL
pub fn spi_mem_ecc_ctrl(&self) -> &SPI_MEM_ECC_CTRL
0x168 - MSPI ECC control register
sourcepub fn spi_mem_ecc_err_addr(&self) -> &SPI_MEM_ECC_ERR_ADDR
pub fn spi_mem_ecc_err_addr(&self) -> &SPI_MEM_ECC_ERR_ADDR
0x16c - MSPI ECC error address register
sourcepub fn spi_mem_axi_err_addr(&self) -> &SPI_MEM_AXI_ERR_ADDR
pub fn spi_mem_axi_err_addr(&self) -> &SPI_MEM_AXI_ERR_ADDR
0x170 - SPI0 AXI request error address.
sourcepub fn spi_smem_ecc_ctrl(&self) -> &SPI_SMEM_ECC_CTRL
pub fn spi_smem_ecc_ctrl(&self) -> &SPI_SMEM_ECC_CTRL
0x174 - MSPI ECC control register
sourcepub fn spi_mem_timing_cali(&self) -> &SPI_MEM_TIMING_CALI
pub fn spi_mem_timing_cali(&self) -> &SPI_MEM_TIMING_CALI
0x180 - SPI0 flash timing calibration register
sourcepub fn spi_mem_din_mode(&self) -> &SPI_MEM_DIN_MODE
pub fn spi_mem_din_mode(&self) -> &SPI_MEM_DIN_MODE
0x184 - MSPI flash input timing delay mode control register
sourcepub fn spi_mem_din_num(&self) -> &SPI_MEM_DIN_NUM
pub fn spi_mem_din_num(&self) -> &SPI_MEM_DIN_NUM
0x188 - MSPI flash input timing delay number control register
sourcepub fn spi_mem_dout_mode(&self) -> &SPI_MEM_DOUT_MODE
pub fn spi_mem_dout_mode(&self) -> &SPI_MEM_DOUT_MODE
0x18c - MSPI flash output timing adjustment control register
sourcepub fn spi_smem_timing_cali(&self) -> &SPI_SMEM_TIMING_CALI
pub fn spi_smem_timing_cali(&self) -> &SPI_SMEM_TIMING_CALI
0x190 - MSPI external RAM timing calibration register
sourcepub fn spi_smem_din_mode(&self) -> &SPI_SMEM_DIN_MODE
pub fn spi_smem_din_mode(&self) -> &SPI_SMEM_DIN_MODE
0x194 - MSPI external RAM input timing delay mode control register
sourcepub fn spi_smem_din_num(&self) -> &SPI_SMEM_DIN_NUM
pub fn spi_smem_din_num(&self) -> &SPI_SMEM_DIN_NUM
0x198 - MSPI external RAM input timing delay number control register
sourcepub fn spi_smem_dout_mode(&self) -> &SPI_SMEM_DOUT_MODE
pub fn spi_smem_dout_mode(&self) -> &SPI_SMEM_DOUT_MODE
0x19c - MSPI external RAM output timing adjustment control register
sourcepub fn spi_smem_ac(&self) -> &SPI_SMEM_AC
pub fn spi_smem_ac(&self) -> &SPI_SMEM_AC
0x1a0 - MSPI external RAM ECC and SPI CS timing control register
sourcepub fn spi_mem_clock_gate(&self) -> &SPI_MEM_CLOCK_GATE
pub fn spi_mem_clock_gate(&self) -> &SPI_MEM_CLOCK_GATE
0x200 - SPI0 clock gate register
sourcepub fn spi_mem_xts_plain_base(&self) -> &SPI_MEM_XTS_PLAIN_BASE
pub fn spi_mem_xts_plain_base(&self) -> &SPI_MEM_XTS_PLAIN_BASE
0x300 - The base address of the memory that stores plaintext in Manual Encryption
sourcepub fn spi_mem_xts_linesize(&self) -> &SPI_MEM_XTS_LINESIZE
pub fn spi_mem_xts_linesize(&self) -> &SPI_MEM_XTS_LINESIZE
0x340 - Manual Encryption Line-Size register
sourcepub fn spi_mem_xts_destination(&self) -> &SPI_MEM_XTS_DESTINATION
pub fn spi_mem_xts_destination(&self) -> &SPI_MEM_XTS_DESTINATION
0x344 - Manual Encryption destination register
sourcepub fn spi_mem_xts_physical_address(&self) -> &SPI_MEM_XTS_PHYSICAL_ADDRESS
pub fn spi_mem_xts_physical_address(&self) -> &SPI_MEM_XTS_PHYSICAL_ADDRESS
0x348 - Manual Encryption physical address register
sourcepub fn spi_mem_xts_trigger(&self) -> &SPI_MEM_XTS_TRIGGER
pub fn spi_mem_xts_trigger(&self) -> &SPI_MEM_XTS_TRIGGER
0x34c - Manual Encryption physical address register
sourcepub fn spi_mem_xts_release(&self) -> &SPI_MEM_XTS_RELEASE
pub fn spi_mem_xts_release(&self) -> &SPI_MEM_XTS_RELEASE
0x350 - Manual Encryption physical address register
sourcepub fn spi_mem_xts_destroy(&self) -> &SPI_MEM_XTS_DESTROY
pub fn spi_mem_xts_destroy(&self) -> &SPI_MEM_XTS_DESTROY
0x354 - Manual Encryption physical address register
sourcepub fn spi_mem_xts_state(&self) -> &SPI_MEM_XTS_STATE
pub fn spi_mem_xts_state(&self) -> &SPI_MEM_XTS_STATE
0x358 - Manual Encryption physical address register
sourcepub fn spi_mem_xts_date(&self) -> &SPI_MEM_XTS_DATE
pub fn spi_mem_xts_date(&self) -> &SPI_MEM_XTS_DATE
0x35c - Manual Encryption version register
sourcepub fn spi_mem_mmu_item_content(&self) -> &SPI_MEM_MMU_ITEM_CONTENT
pub fn spi_mem_mmu_item_content(&self) -> &SPI_MEM_MMU_ITEM_CONTENT
0x37c - MSPI-MMU item content register
sourcepub fn spi_mem_mmu_item_index(&self) -> &SPI_MEM_MMU_ITEM_INDEX
pub fn spi_mem_mmu_item_index(&self) -> &SPI_MEM_MMU_ITEM_INDEX
0x380 - MSPI-MMU item index register
sourcepub fn spi_mem_mmu_power_ctrl(&self) -> &SPI_MEM_MMU_POWER_CTRL
pub fn spi_mem_mmu_power_ctrl(&self) -> &SPI_MEM_MMU_POWER_CTRL
0x384 - MSPI MMU power control register
sourcepub fn spi_mem_dpa_ctrl(&self) -> &SPI_MEM_DPA_CTRL
pub fn spi_mem_dpa_ctrl(&self) -> &SPI_MEM_DPA_CTRL
0x388 - SPI memory cryption DPA register
sourcepub fn spi_mem_registerrnd_eco_high(&self) -> &SPI_MEM_REGISTERRND_ECO_HIGH
pub fn spi_mem_registerrnd_eco_high(&self) -> &SPI_MEM_REGISTERRND_ECO_HIGH
0x3f0 - MSPI ECO high register
sourcepub fn spi_mem_registerrnd_eco_low(&self) -> &SPI_MEM_REGISTERRND_ECO_LOW
pub fn spi_mem_registerrnd_eco_low(&self) -> &SPI_MEM_REGISTERRND_ECO_LOW
0x3f4 - MSPI ECO low register
sourcepub fn spi_mem_date(&self) -> &SPI_MEM_DATE
pub fn spi_mem_date(&self) -> &SPI_MEM_DATE
0x3fc - SPI0 version control register