Struct EMAC_DMA

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

Ethernet DMA configuration and control registers

Implementations§

Source§

impl EMAC_DMA

Source

pub const PTR: *const RegisterBlock = {0x3ff69000 as *const emac_dma::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 dmabusmode(&self) -> &DMABUSMODE

0x00 - Bus mode configuration

Source

pub fn dmatxpolldemand(&self) -> &DMATXPOLLDEMAND

0x04 - When these bits are written with any value the DMA reads the current descriptor to which the Register (Current Host Transmit Descriptor Register) is pointing. If that descriptor is not available (owned by the Host) the transmission returns to the suspend state and Bit[2] (TU) of Status Register is asserted. If the descriptor is available the transmission resumes.

Source

pub fn dmarxpolldemand(&self) -> &DMARXPOLLDEMAND

0x08 - When these bits are written with any value the DMA reads the current descriptor to which the Current Host Receive Descriptor Register is pointing. If that descriptor is not available (owned by the Host) the reception returns to the Suspended state and Bit[7] (RU) of Status Register is asserted. If the descriptor is available the Rx DMA returns to the active state.

Source

pub fn dmarxbaseaddr(&self) -> &DMARXBASEADDR

0x0c - This field contains the base address of the first descriptor in the Receive Descriptor list. The LSB Bits[1:0] are ignored and internally taken as all-zero by the DMA. Therefore these LSB bits are read-only.

Source

pub fn dmatxbaseaddr(&self) -> &DMATXBASEADDR

0x10 - This field contains the base address of the first descriptor in the Transmit Descriptor list. The LSB Bits[1:0] are ignored and are internally taken as all-zero by the DMA.Therefore these LSB bits are read-only.

Source

pub fn dmastatus(&self) -> &DMASTATUS

0x14 - State of interrupts, errors and other events

Source

pub fn dmaoperation_mode(&self) -> &DMAOPERATION_MODE

0x18 - Receive and Transmit operating modes and command

Source

pub fn dmain_en(&self) -> &DMAIN_EN

0x1c -

Source

pub fn dmamissedfr(&self) -> &DMAMISSEDFR

0x20 - Missed Frame and Buffer Overflow Counter Register

Source

pub fn dmarintwdtimer(&self) -> &DMARINTWDTIMER

0x24 - Watchdog timer count on receive

Source

pub fn dmatxcurrdesc(&self) -> &DMATXCURRDESC

0x48 - The address of the current receive descriptor list. Cleared on Reset.Pointer updated by the DMA during operation.

Source

pub fn dmarxcurrdesc(&self) -> &DMARXCURRDESC

0x4c - The address of the current receive descriptor list. Cleared on Reset.Pointer updated by the DMA during operation.

Source

pub fn dmatxcurraddr_buf(&self) -> &DMATXCURRADDR_BUF

0x50 - The address of the current receive descriptor list. Cleared on Reset.Pointer updated by the DMA during operation.

Source

pub fn dmarxcurraddr_buf(&self) -> &DMARXCURRADDR_BUF

0x54 - The address of the current receive descriptor list. Cleared on Reset.Pointer updated by the DMA during operation.

Trait Implementations§

Source§

impl Debug for EMAC_DMA

Source§

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

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

impl Deref for EMAC_DMA

Source§

type Target = RegisterBlock

The resulting type after dereferencing.
Source§

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

Dereferences the value.
Source§

impl Send for EMAC_DMA

Auto Trait Implementations§

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.