I3c

Struct I3c 

Source
pub struct I3c { /* private fields */ }
Expand description

I3C

Implementations§

Source§

impl I3c

Source

pub const PTR: *const RegisterBlock = {0x40036000 as *const i3c::RegisterBlock}

Pointer to the register block

Source

pub const fn ptr() -> *const RegisterBlock

Return the pointer to the register block

Source

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>§

Source

pub fn mconfig(&self) -> &Mconfig

0x00 - Master Configuration Register

Source

pub fn sconfig(&self) -> &Sconfig

0x04 - Slave Configuration Register

Source

pub fn sstatus(&self) -> &Sstatus

0x08 - Slave Status Register

Source

pub fn sctrl(&self) -> &Sctrl

0x0c - Slave Control Register

Source

pub fn sintset(&self) -> &Sintset

0x10 - Slave Interrupt Set Register

Source

pub fn sintclr(&self) -> &Sintclr

0x14 - Slave Interrupt Clear Register

Source

pub fn sintmasked(&self) -> &Sintmasked

0x18 - Slave Interrupt Mask Register

Source

pub fn serrwarn(&self) -> &Serrwarn

0x1c - Slave Errors and Warnings Register

Source

pub fn sdmactrl(&self) -> &Sdmactrl

0x20 - Slave DMA Control Register

Source

pub fn sdatactrl(&self) -> &Sdatactrl

0x2c - Slave Data Control Register

Source

pub fn swdatab(&self) -> &Swdatab

0x30 - Slave Write Data Byte Register

Source

pub fn swdatabe(&self) -> &Swdatabe

0x34 - Slave Write Data Byte End

Source

pub fn swdatah(&self) -> &Swdatah

0x38 - Slave Write Data Half-word Register

Source

pub fn swdatahe(&self) -> &Swdatahe

0x3c - Slave Write Data Half-word End Register

Source

pub fn srdatab(&self) -> &Srdatab

0x40 - Slave Read Data Byte Register

Source

pub fn srdatah(&self) -> &Srdatah

0x48 - Slave Read Data Half-word Register

Source

pub fn scapabilities(&self) -> &Scapabilities

0x60 - Slave Capabilities Register

Source

pub fn sdynaddr(&self) -> &Sdynaddr

0x64 - Slave Dynamic Address Register

Source

pub fn smaxlimits(&self) -> &Smaxlimits

0x68 - Slave Maximum Limits Register

Source

pub fn sidpartno(&self) -> &Sidpartno

0x6c - Slave ID Part Number Register

Source

pub fn sidext(&self) -> &Sidext

0x70 - Slave ID Extension Register

Source

pub fn svendorid(&self) -> &Svendorid

0x74 - Slave Vendor ID Register

Source

pub fn stcclock(&self) -> &Stcclock

0x78 - Slave Time Control Clock Register

Source

pub fn smsgmapaddr(&self) -> &Smsgmapaddr

0x7c - Slave Message-Mapped Address Register

Source

pub fn mctrl(&self) -> &Mctrl

0x84 - Master Main Control Register

Source

pub fn mstatus(&self) -> &Mstatus

0x88 - Master Status Register

Source

pub fn mibirules(&self) -> &Mibirules

0x8c - Master In-band Interrupt Registry and Rules Register

Source

pub fn mintset(&self) -> &Mintset

0x90 - Master Interrupt Set Register

Source

pub fn mintclr(&self) -> &Mintclr

0x94 - Master Interrupt Clear Register

Source

pub fn mintmasked(&self) -> &Mintmasked

0x98 - Master Interrupt Mask Register

Source

pub fn merrwarn(&self) -> &Merrwarn

0x9c - Master Errors and Warnings Register

Source

pub fn mdmactrl(&self) -> &Mdmactrl

0xa0 - Master DMA Control Register

Source

pub fn mdatactrl(&self) -> &Mdatactrl

0xac - Master Data Control Register

Source

pub fn mwdatab(&self) -> &Mwdatab

0xb0 - Master Write Data Byte Register

Source

pub fn mwdatabe(&self) -> &Mwdatabe

0xb4 - Master Write Data Byte End Register

Source

pub fn mwdatah(&self) -> &Mwdatah

0xb8 - Master Write Data Half-word Register

Source

pub fn mwdatahe(&self) -> &Mwdatahe

0xbc - Master Write Data Byte End Register

Source

pub fn mrdatab(&self) -> &Mrdatab

0xc0 - Master Read Data Byte Register

Source

pub fn mrdatah(&self) -> &Mrdatah

0xc8 - Master Read Data Half-word Register

Source

pub fn mwmsg_sdr_data(&self) -> &MwmsgSdrData

0xd0 - Master Write Message Data in SDR mode

Source

pub fn mwmsg_sdr_control(&self) -> &MwmsgSdrControl

0xd0 - Master Write Message in SDR mode

Source

pub fn mrmsg_sdr(&self) -> &MrmsgSdr

0xd4 - Master Read Message in SDR mode

Source

pub fn mwmsg_ddr_data(&self) -> &MwmsgDdrData

0xd8 - Master Write Message Data in DDR mode

Source

pub fn mwmsg_ddr_control(&self) -> &MwmsgDdrControl

0xd8 - Master Write Message in DDR mode

Source

pub fn mrmsg_ddr(&self) -> &MrmsgDdr

0xdc - Master Read Message in DDR mode

Source

pub fn mdynaddr(&self) -> &Mdynaddr

0xe4 - Master Dynamic Address Register

Source

pub fn sid(&self) -> &Sid

0xffc - Slave Module ID Register

Trait Implementations§

Source§

impl Debug for I3c

Source§

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

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

impl Deref for I3c

Source§

type Target = RegisterBlock

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl Send for I3c

Auto Trait Implementations§

§

impl Freeze for I3c

§

impl RefUnwindSafe for I3c

§

impl !Sync for I3c

§

impl Unpin for I3c

§

impl UnwindSafe for I3c

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<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

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

Source§

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>,

Source§

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.