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 cache_fctrl(&self) -> &CACHE_FCTRL
pub fn cache_fctrl(&self) -> &CACHE_FCTRL
0x3c - SPI0 bit mode control register.
sourcepub fn cache_sctrl(&self) -> &CACHE_SCTRL
pub fn cache_sctrl(&self) -> &CACHE_SCTRL
0x40 - SPI0 external RAM control register
sourcepub fn sram_drd_cmd(&self) -> &SRAM_DRD_CMD
pub fn sram_drd_cmd(&self) -> &SRAM_DRD_CMD
0x48 - SPI0 external RAM DDR read command control register
sourcepub fn sram_dwr_cmd(&self) -> &SRAM_DWR_CMD
pub fn sram_dwr_cmd(&self) -> &SRAM_DWR_CMD
0x4c - SPI0 external RAM DDR write command 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 pms_reject(&self) -> &PMS_REJECT
pub fn pms_reject(&self) -> &PMS_REJECT
0x164 - SPI1 access reject register
sourcepub fn ecc_err_addr(&self) -> &ECC_ERR_ADDR
pub fn ecc_err_addr(&self) -> &ECC_ERR_ADDR
0x16c - MSPI ECC error address register
sourcepub fn axi_err_addr(&self) -> &AXI_ERR_ADDR
pub fn axi_err_addr(&self) -> &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 timing_cali(&self) -> &TIMING_CALI
pub fn timing_cali(&self) -> &TIMING_CALI
0x180 - SPI0 flash timing calibration register
sourcepub fn din_mode(&self) -> &DIN_MODE
pub fn din_mode(&self) -> &DIN_MODE
0x184 - MSPI flash input timing delay mode control register
sourcepub fn din_num(&self) -> &DIN_NUM
pub fn din_num(&self) -> &DIN_NUM
0x188 - MSPI flash input timing delay number control register
sourcepub fn dout_mode(&self) -> &DOUT_MODE
pub fn dout_mode(&self) -> &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 clock_gate(&self) -> &CLOCK_GATE
pub fn clock_gate(&self) -> &CLOCK_GATE
0x200 - SPI0 clock gate register
sourcepub fn xts_plain_base(&self) -> &XTS_PLAIN_BASE
pub fn xts_plain_base(&self) -> &XTS_PLAIN_BASE
0x300 - The base address of the memory that stores plaintext in Manual Encryption
sourcepub fn xts_linesize(&self) -> &XTS_LINESIZE
pub fn xts_linesize(&self) -> &XTS_LINESIZE
0x340 - Manual Encryption Line-Size register
sourcepub fn xts_destination(&self) -> &XTS_DESTINATION
pub fn xts_destination(&self) -> &XTS_DESTINATION
0x344 - Manual Encryption destination register
sourcepub fn xts_physical_address(&self) -> &XTS_PHYSICAL_ADDRESS
pub fn xts_physical_address(&self) -> &XTS_PHYSICAL_ADDRESS
0x348 - Manual Encryption physical address register
sourcepub fn xts_trigger(&self) -> &XTS_TRIGGER
pub fn xts_trigger(&self) -> &XTS_TRIGGER
0x34c - Manual Encryption physical address register
sourcepub fn xts_release(&self) -> &XTS_RELEASE
pub fn xts_release(&self) -> &XTS_RELEASE
0x350 - Manual Encryption physical address register
sourcepub fn xts_destroy(&self) -> &XTS_DESTROY
pub fn xts_destroy(&self) -> &XTS_DESTROY
0x354 - Manual Encryption physical address register
sourcepub fn mmu_item_content(&self) -> &MMU_ITEM_CONTENT
pub fn mmu_item_content(&self) -> &MMU_ITEM_CONTENT
0x37c - MSPI-MMU item content register
sourcepub fn mmu_item_index(&self) -> &MMU_ITEM_INDEX
pub fn mmu_item_index(&self) -> &MMU_ITEM_INDEX
0x380 - MSPI-MMU item index register
sourcepub fn mmu_power_ctrl(&self) -> &MMU_POWER_CTRL
pub fn mmu_power_ctrl(&self) -> &MMU_POWER_CTRL
0x384 - MSPI MMU power control register
sourcepub fn registerrnd_eco_high(&self) -> ®ISTERRND_ECO_HIGH
pub fn registerrnd_eco_high(&self) -> ®ISTERRND_ECO_HIGH
0x3f0 - MSPI ECO high register
sourcepub fn registerrnd_eco_low(&self) -> ®ISTERRND_ECO_LOW
pub fn registerrnd_eco_low(&self) -> ®ISTERRND_ECO_LOW
0x3f4 - MSPI ECO low register