pub struct SPI0 { /* private fields */ }

Implementations§

source§

impl SPI0

source

pub unsafe fn steal() -> SPI0

Unsafely create an instance of this peripheral out of thin air.

Safety

You must ensure that you’re only using one instance of this type at a time.

source

pub const PTR: *const <SPI0 as Deref>::Target = {0x60002000 as *const <esp32c6::SPI0 as core::ops::Deref>::Target}

Pointer to the register block

source

pub const fn ptr() -> *const <SPI0 as Deref>::Target

Return the pointer to the register block

Methods from Deref<Target = RegisterBlock>§

pub fn spi_mem_cmd(&self) -> &Reg<SPI_MEM_CMD_SPEC>

0x00 - SPI0 FSM status register

pub fn spi_mem_ctrl(&self) -> &Reg<SPI_MEM_CTRL_SPEC>

0x08 - SPI0 control register.

pub fn spi_mem_ctrl1(&self) -> &Reg<SPI_MEM_CTRL1_SPEC>

0x0c - SPI0 control1 register.

pub fn spi_mem_ctrl2(&self) -> &Reg<SPI_MEM_CTRL2_SPEC>

0x10 - SPI0 control2 register.

pub fn spi_mem_clock(&self) -> &Reg<SPI_MEM_CLOCK_SPEC>

0x14 - SPI clock division control register.

pub fn spi_mem_user(&self) -> &Reg<SPI_MEM_USER_SPEC>

0x18 - SPI0 user register.

pub fn spi_mem_user1(&self) -> &Reg<SPI_MEM_USER1_SPEC>

0x1c - SPI0 user1 register.

pub fn spi_mem_user2(&self) -> &Reg<SPI_MEM_USER2_SPEC>

0x20 - SPI0 user2 register.

pub fn spi_mem_rd_status(&self) -> &Reg<SPI_MEM_RD_STATUS_SPEC>

0x2c - SPI0 read control register.

pub fn spi_mem_misc(&self) -> &Reg<SPI_MEM_MISC_SPEC>

0x34 - SPI0 misc register

pub fn spi_mem_cache_fctrl(&self) -> &Reg<SPI_MEM_CACHE_FCTRL_SPEC>

0x3c - SPI0 bit mode control register.

pub fn spi_mem_cache_sctrl(&self) -> &Reg<SPI_MEM_CACHE_SCTRL_SPEC>

0x40 - SPI0 external RAM control register

pub fn spi_mem_sram_cmd(&self) -> &Reg<SPI_MEM_SRAM_CMD_SPEC>

0x44 - SPI0 external RAM mode control register

pub fn spi_mem_sram_drd_cmd(&self) -> &Reg<SPI_MEM_SRAM_DRD_CMD_SPEC>

0x48 - SPI0 external RAM DDR read command control register

pub fn spi_mem_sram_dwr_cmd(&self) -> &Reg<SPI_MEM_SRAM_DWR_CMD_SPEC>

0x4c - SPI0 external RAM DDR write command control register

pub fn spi_mem_sram_clk(&self) -> &Reg<SPI_MEM_SRAM_CLK_SPEC>

0x50 - SPI0 external RAM clock control register

pub fn spi_mem_fsm(&self) -> &Reg<SPI_MEM_FSM_SPEC>

0x54 - SPI0 FSM status register

pub fn spi_mem_int_ena(&self) -> &Reg<SPI_MEM_INT_ENA_SPEC>

0xc0 - SPI0 interrupt enable register

pub fn spi_mem_int_clr(&self) -> &Reg<SPI_MEM_INT_CLR_SPEC>

0xc4 - SPI0 interrupt clear register

pub fn spi_mem_int_raw(&self) -> &Reg<SPI_MEM_INT_RAW_SPEC>

0xc8 - SPI0 interrupt raw register

pub fn spi_mem_int_st(&self) -> &Reg<SPI_MEM_INT_ST_SPEC>

0xcc - SPI0 interrupt status register

pub fn spi_mem_ddr(&self) -> &Reg<SPI_MEM_DDR_SPEC>

0xd4 - SPI0 flash DDR mode control register

pub fn spi_smem_ddr(&self) -> &Reg<SPI_SMEM_DDR_SPEC>

0xd8 - SPI0 external RAM DDR mode control register

pub fn spi_fmem_pms_attr(&self, n: usize) -> &Reg<SPI_FMEM_PMS_ATTR_SPEC>

0x100..0x110 - MSPI flash ACE section %s attribute register

pub fn spi_fmem_pms_attr_iter( &self ) -> impl Iterator<Item = &Reg<SPI_FMEM_PMS_ATTR_SPEC>>

Iterator for array of: 0x100..0x110 - MSPI flash ACE section %s attribute register

pub fn spi_fmem_pms0_attr(&self) -> &Reg<SPI_FMEM_PMS_ATTR_SPEC>

0x100 - MSPI flash ACE section 0 attribute register

pub fn spi_fmem_pms1_attr(&self) -> &Reg<SPI_FMEM_PMS_ATTR_SPEC>

0x104 - MSPI flash ACE section 1 attribute register

pub fn spi_fmem_pms2_attr(&self) -> &Reg<SPI_FMEM_PMS_ATTR_SPEC>

0x108 - MSPI flash ACE section 2 attribute register

pub fn spi_fmem_pms3_attr(&self) -> &Reg<SPI_FMEM_PMS_ATTR_SPEC>

0x10c - MSPI flash ACE section 3 attribute register

pub fn spi_fmem_pms_addr(&self, n: usize) -> &Reg<SPI_FMEM_PMS_ADDR_SPEC>

0x110..0x120 - SPI1 flash ACE section %s start address register

pub fn spi_fmem_pms_addr_iter( &self ) -> impl Iterator<Item = &Reg<SPI_FMEM_PMS_ADDR_SPEC>>

Iterator for array of: 0x110..0x120 - SPI1 flash ACE section %s start address register

pub fn spi_fmem_pms0_addr(&self) -> &Reg<SPI_FMEM_PMS_ADDR_SPEC>

0x110 - SPI1 flash ACE section 0 start address register

pub fn spi_fmem_pms1_addr(&self) -> &Reg<SPI_FMEM_PMS_ADDR_SPEC>

0x114 - SPI1 flash ACE section 1 start address register

pub fn spi_fmem_pms2_addr(&self) -> &Reg<SPI_FMEM_PMS_ADDR_SPEC>

0x118 - SPI1 flash ACE section 2 start address register

pub fn spi_fmem_pms3_addr(&self) -> &Reg<SPI_FMEM_PMS_ADDR_SPEC>

0x11c - SPI1 flash ACE section 3 start address register

pub fn spi_fmem_pms_size(&self, n: usize) -> &Reg<SPI_FMEM_PMS_SIZE_SPEC>

0x120..0x130 - SPI1 flash ACE section %s start address register

pub fn spi_fmem_pms_size_iter( &self ) -> impl Iterator<Item = &Reg<SPI_FMEM_PMS_SIZE_SPEC>>

Iterator for array of: 0x120..0x130 - SPI1 flash ACE section %s start address register

pub fn spi_fmem_pms0_size(&self) -> &Reg<SPI_FMEM_PMS_SIZE_SPEC>

0x120 - SPI1 flash ACE section 0 start address register

pub fn spi_fmem_pms1_size(&self) -> &Reg<SPI_FMEM_PMS_SIZE_SPEC>

0x124 - SPI1 flash ACE section 1 start address register

pub fn spi_fmem_pms2_size(&self) -> &Reg<SPI_FMEM_PMS_SIZE_SPEC>

0x128 - SPI1 flash ACE section 2 start address register

pub fn spi_fmem_pms3_size(&self) -> &Reg<SPI_FMEM_PMS_SIZE_SPEC>

0x12c - SPI1 flash ACE section 3 start address register

pub fn spi_smem_pms_attr(&self, n: usize) -> &Reg<SPI_SMEM_PMS_ATTR_SPEC>

0x130..0x140 - SPI1 flash ACE section %s start address register

pub fn spi_smem_pms_attr_iter( &self ) -> impl Iterator<Item = &Reg<SPI_SMEM_PMS_ATTR_SPEC>>

Iterator for array of: 0x130..0x140 - SPI1 flash ACE section %s start address register

pub fn spi_smem_pms0_attr(&self) -> &Reg<SPI_SMEM_PMS_ATTR_SPEC>

0x130 - SPI1 flash ACE section 0 start address register

pub fn spi_smem_pms1_attr(&self) -> &Reg<SPI_SMEM_PMS_ATTR_SPEC>

0x134 - SPI1 flash ACE section 1 start address register

pub fn spi_smem_pms2_attr(&self) -> &Reg<SPI_SMEM_PMS_ATTR_SPEC>

0x138 - SPI1 flash ACE section 2 start address register

pub fn spi_smem_pms3_attr(&self) -> &Reg<SPI_SMEM_PMS_ATTR_SPEC>

0x13c - SPI1 flash ACE section 3 start address register

pub fn spi_smem_pms_addr(&self, n: usize) -> &Reg<SPI_SMEM_PMS_ADDR_SPEC>

0x140..0x150 - SPI1 external RAM ACE section %s start address register

pub fn spi_smem_pms_addr_iter( &self ) -> impl Iterator<Item = &Reg<SPI_SMEM_PMS_ADDR_SPEC>>

Iterator for array of: 0x140..0x150 - SPI1 external RAM ACE section %s start address register

pub fn spi_smem_pms0_addr(&self) -> &Reg<SPI_SMEM_PMS_ADDR_SPEC>

0x140 - SPI1 external RAM ACE section 0 start address register

pub fn spi_smem_pms1_addr(&self) -> &Reg<SPI_SMEM_PMS_ADDR_SPEC>

0x144 - SPI1 external RAM ACE section 1 start address register

pub fn spi_smem_pms2_addr(&self) -> &Reg<SPI_SMEM_PMS_ADDR_SPEC>

0x148 - SPI1 external RAM ACE section 2 start address register

pub fn spi_smem_pms3_addr(&self) -> &Reg<SPI_SMEM_PMS_ADDR_SPEC>

0x14c - SPI1 external RAM ACE section 3 start address register

pub fn spi_smem_pms_size(&self, n: usize) -> &Reg<SPI_SMEM_PMS_SIZE_SPEC>

0x150..0x160 - SPI1 external RAM ACE section %s start address register

pub fn spi_smem_pms_size_iter( &self ) -> impl Iterator<Item = &Reg<SPI_SMEM_PMS_SIZE_SPEC>>

Iterator for array of: 0x150..0x160 - SPI1 external RAM ACE section %s start address register

pub fn spi_smem_pms0_size(&self) -> &Reg<SPI_SMEM_PMS_SIZE_SPEC>

0x150 - SPI1 external RAM ACE section 0 start address register

pub fn spi_smem_pms1_size(&self) -> &Reg<SPI_SMEM_PMS_SIZE_SPEC>

0x154 - SPI1 external RAM ACE section 1 start address register

pub fn spi_smem_pms2_size(&self) -> &Reg<SPI_SMEM_PMS_SIZE_SPEC>

0x158 - SPI1 external RAM ACE section 2 start address register

pub fn spi_smem_pms3_size(&self) -> &Reg<SPI_SMEM_PMS_SIZE_SPEC>

0x15c - SPI1 external RAM ACE section 3 start address register

pub fn spi_mem_pms_reject(&self) -> &Reg<SPI_MEM_PMS_REJECT_SPEC>

0x164 - SPI1 access reject register

pub fn spi_mem_ecc_ctrl(&self) -> &Reg<SPI_MEM_ECC_CTRL_SPEC>

0x168 - MSPI ECC control register

pub fn spi_mem_ecc_err_addr(&self) -> &Reg<SPI_MEM_ECC_ERR_ADDR_SPEC>

0x16c - MSPI ECC error address register

pub fn spi_mem_axi_err_addr(&self) -> &Reg<SPI_MEM_AXI_ERR_ADDR_SPEC>

0x170 - SPI0 AXI request error address.

pub fn spi_smem_ecc_ctrl(&self) -> &Reg<SPI_SMEM_ECC_CTRL_SPEC>

0x174 - MSPI ECC control register

pub fn spi_mem_timing_cali(&self) -> &Reg<SPI_MEM_TIMING_CALI_SPEC>

0x180 - SPI0 flash timing calibration register

pub fn spi_mem_din_mode(&self) -> &Reg<SPI_MEM_DIN_MODE_SPEC>

0x184 - MSPI flash input timing delay mode control register

pub fn spi_mem_din_num(&self) -> &Reg<SPI_MEM_DIN_NUM_SPEC>

0x188 - MSPI flash input timing delay number control register

pub fn spi_mem_dout_mode(&self) -> &Reg<SPI_MEM_DOUT_MODE_SPEC>

0x18c - MSPI flash output timing adjustment control register

pub fn spi_smem_timing_cali(&self) -> &Reg<SPI_SMEM_TIMING_CALI_SPEC>

0x190 - MSPI external RAM timing calibration register

pub fn spi_smem_din_mode(&self) -> &Reg<SPI_SMEM_DIN_MODE_SPEC>

0x194 - MSPI external RAM input timing delay mode control register

pub fn spi_smem_din_num(&self) -> &Reg<SPI_SMEM_DIN_NUM_SPEC>

0x198 - MSPI external RAM input timing delay number control register

pub fn spi_smem_dout_mode(&self) -> &Reg<SPI_SMEM_DOUT_MODE_SPEC>

0x19c - MSPI external RAM output timing adjustment control register

pub fn spi_smem_ac(&self) -> &Reg<SPI_SMEM_AC_SPEC>

0x1a0 - MSPI external RAM ECC and SPI CS timing control register

pub fn spi_mem_clock_gate(&self) -> &Reg<SPI_MEM_CLOCK_GATE_SPEC>

0x200 - SPI0 clock gate register

pub fn spi_mem_xts_plain_base(&self) -> &Reg<SPI_MEM_XTS_PLAIN_BASE_SPEC>

0x300 - The base address of the memory that stores plaintext in Manual Encryption

pub fn spi_mem_xts_linesize(&self) -> &Reg<SPI_MEM_XTS_LINESIZE_SPEC>

0x340 - Manual Encryption Line-Size register

pub fn spi_mem_xts_destination(&self) -> &Reg<SPI_MEM_XTS_DESTINATION_SPEC>

0x344 - Manual Encryption destination register

pub fn spi_mem_xts_physical_address( &self ) -> &Reg<SPI_MEM_XTS_PHYSICAL_ADDRESS_SPEC>

0x348 - Manual Encryption physical address register

pub fn spi_mem_xts_trigger(&self) -> &Reg<SPI_MEM_XTS_TRIGGER_SPEC>

0x34c - Manual Encryption physical address register

pub fn spi_mem_xts_release(&self) -> &Reg<SPI_MEM_XTS_RELEASE_SPEC>

0x350 - Manual Encryption physical address register

pub fn spi_mem_xts_destroy(&self) -> &Reg<SPI_MEM_XTS_DESTROY_SPEC>

0x354 - Manual Encryption physical address register

pub fn spi_mem_xts_state(&self) -> &Reg<SPI_MEM_XTS_STATE_SPEC>

0x358 - Manual Encryption physical address register

pub fn spi_mem_xts_date(&self) -> &Reg<SPI_MEM_XTS_DATE_SPEC>

0x35c - Manual Encryption version register

pub fn spi_mem_mmu_item_content(&self) -> &Reg<SPI_MEM_MMU_ITEM_CONTENT_SPEC>

0x37c - MSPI-MMU item content register

pub fn spi_mem_mmu_item_index(&self) -> &Reg<SPI_MEM_MMU_ITEM_INDEX_SPEC>

0x380 - MSPI-MMU item index register

pub fn spi_mem_mmu_power_ctrl(&self) -> &Reg<SPI_MEM_MMU_POWER_CTRL_SPEC>

0x384 - MSPI MMU power control register

pub fn spi_mem_dpa_ctrl(&self) -> &Reg<SPI_MEM_DPA_CTRL_SPEC>

0x388 - SPI memory cryption DPA register

pub fn spi_mem_registerrnd_eco_high( &self ) -> &Reg<SPI_MEM_REGISTERRND_ECO_HIGH_SPEC>

0x3f0 - MSPI ECO high register

pub fn spi_mem_registerrnd_eco_low( &self ) -> &Reg<SPI_MEM_REGISTERRND_ECO_LOW_SPEC>

0x3f4 - MSPI ECO low register

pub fn spi_mem_date(&self) -> &Reg<SPI_MEM_DATE_SPEC>

0x3fc - SPI0 version control register

Trait Implementations§

source§

impl Debug for SPI0

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl Deref for SPI0

§

type Target = <SPI0 as Deref>::Target

The resulting type after dereferencing.
source§

fn deref(&self) -> &<SPI0 as Deref>::Target

Dereferences the value.
source§

impl DerefMut for SPI0

source§

fn deref_mut(&mut self) -> &mut <SPI0 as Deref>::Target

Mutably dereferences the value.
source§

impl Peripheral for SPI0

§

type P = SPI0

Peripheral singleton type
source§

unsafe fn clone_unchecked(&mut self) -> <SPI0 as Peripheral>::P

Unsafely clone (duplicate) a peripheral singleton. Read more
source§

fn into_ref<'a>(self) -> PeripheralRef<'a, Self::P>
where Self: 'a,

Convert a value into a PeripheralRef. Read more

Auto Trait Implementations§

§

impl RefUnwindSafe for SPI0

§

impl Send for SPI0

§

impl Sync for SPI0

§

impl Unpin for SPI0

§

impl UnwindSafe for SPI0

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.