nxp-pac

Crates

git

Versions

mcxa537

Flavors

DmaCh0TxControl

Struct DmaCh0TxControl 

Source
#[repr(transparent)]
pub struct DmaCh0TxControl(pub u32);
Expand description

F70RM Rev. 1 section 51.7.5.3; manual text line 155809.

Tuple Fields§

§0: u32

Implementations§

Source§

impl DmaCh0TxControl

Source

pub const fn st(&self) -> bool

Start or Stop Transmission Command. - 1: Transmission is placed in the running state. The DMA checks the Tx list at the current position for a packet to be transmitted. The DMA tries to acquire descriptor from either of the following positions: - The current position in the list This is the base address of the Transmit list set by the DMA_CH0_TxDesc_List_Address register. - The position at which the transmission was previously stopped If the DMA does not own the current descriptor, the transmission enters the Suspended state and the TBU bit of the DMA_CH0_Status register is set. The Start Transmission command is effective only when the transmission is stopped. If the command is issued before setting the DMA_CH0_TxDesc_List_Address register, the DMA behavior is unpredictable. When this bit is reset, the transmission process is placed in the Stopped state after completing the transmission of the current packet. The Next Descriptor position in the Transmit list is saved, and it becomes the current position when the transmission is restarted. To change the list address, you need to program DMA_CH0_TxDesc_List_Address register with a new value when this bit is reset. The new value is considered when this bit is set again. The stop transmission command is effective only when the transmission of the current packet is complete or the transmission is in the Suspended state. NOTE This field is not testable by an automated register test. 0b - Stop Transmission Command 1b - Start Transmission Command

Source

pub const fn set_st(&mut self, val: bool)

Start or Stop Transmission Command. - 1: Transmission is placed in the running state. The DMA checks the Tx list at the current position for a packet to be transmitted. The DMA tries to acquire descriptor from either of the following positions: - The current position in the list This is the base address of the Transmit list set by the DMA_CH0_TxDesc_List_Address register. - The position at which the transmission was previously stopped If the DMA does not own the current descriptor, the transmission enters the Suspended state and the TBU bit of the DMA_CH0_Status register is set. The Start Transmission command is effective only when the transmission is stopped. If the command is issued before setting the DMA_CH0_TxDesc_List_Address register, the DMA behavior is unpredictable. When this bit is reset, the transmission process is placed in the Stopped state after completing the transmission of the current packet. The Next Descriptor position in the Transmit list is saved, and it becomes the current position when the transmission is restarted. To change the list address, you need to program DMA_CH0_TxDesc_List_Address register with a new value when this bit is reset. The new value is considered when this bit is set again. The stop transmission command is effective only when the transmission of the current packet is complete or the transmission is in the Suspended state. NOTE This field is not testable by an automated register test. 0b - Stop Transmission Command 1b - Start Transmission Command

Source

pub const fn osf(&self) -> bool

Operate on Second Packet. - 1: Instructs the DMA to process the second packet of the Tx data even before the status for the first packet is obtained. 0b - Operate on Second Packet disabled 1b - Operate on Second Packet enabled

Source

pub const fn set_osf(&mut self, val: bool)

Operate on Second Packet. - 1: Instructs the DMA to process the second packet of the Tx data even before the status for the first packet is obtained. 0b - Operate on Second Packet disabled 1b - Operate on Second Packet enabled

Source

pub const fn txpbl(&self) -> u8

Transmit Programmable Burst Length. These bits indicate the maximum number of beats to be transferred in one DMA block data transfer. The DMA always attempts max burst as specified in PBL each time it starts a burst transfer on the application bus. You can program PBL with any of the following values: 1, 2, 4, 8, 16, or 32. Any other value results in undefined behavior. To transfer more than 32 beats, perform the following steps: 1. Set the 8xPBL mode in DMA_CH0_Control register. 2. Set the TxPBL. Note: The maximum value of TxPBL must be less than or equal to half the Tx Queue size (TQS field of MTL_TxQ0_Operation_Mode register) in terms of beats. This is required so that the Tx Queue has space to store at least another Tx PBL worth of data while the MTL Tx Queue Controller is transferring data to MAC. For example, in 32-bit data width configurations the total locations in Tx Queue of size 512 bytes is 128, TxPBL and 8xPBL needs to be programmed to less than or equal to 64.

Source

pub const fn set_txpbl(&mut self, val: u8)

Transmit Programmable Burst Length. These bits indicate the maximum number of beats to be transferred in one DMA block data transfer. The DMA always attempts max burst as specified in PBL each time it starts a burst transfer on the application bus. You can program PBL with any of the following values: 1, 2, 4, 8, 16, or 32. Any other value results in undefined behavior. To transfer more than 32 beats, perform the following steps: 1. Set the 8xPBL mode in DMA_CH0_Control register. 2. Set the TxPBL. Note: The maximum value of TxPBL must be less than or equal to half the Tx Queue size (TQS field of MTL_TxQ0_Operation_Mode register) in terms of beats. This is required so that the Tx Queue has space to store at least another Tx PBL worth of data while the MTL Tx Queue Controller is transferring data to MAC. For example, in 32-bit data width configurations the total locations in Tx Queue of size 512 bytes is 128, TxPBL and 8xPBL needs to be programmed to less than or equal to 64.

Source

pub const fn etic(&self) -> bool

Early Transmit Interrupt Control. - 1: Early Transmit Interrupt (ETI) status = 1 after completion of transfer of data from buffers of a transmit descriptor in which IOC bit (TDES2[31]) = 1. - 0: Early Transmit Interrupt (ETI) status = 1 only after a complete packet is transferred to the MTL Tx FIFO memory. 0b - Early Transmit Interrupt is disabled 1b - Early Transmit Interrupt is enabled

Source

pub const fn set_etic(&mut self, val: bool)

Early Transmit Interrupt Control. - 1: Early Transmit Interrupt (ETI) status = 1 after completion of transfer of data from buffers of a transmit descriptor in which IOC bit (TDES2[31]) = 1. - 0: Early Transmit Interrupt (ETI) status = 1 only after a complete packet is transferred to the MTL Tx FIFO memory. 0b - Early Transmit Interrupt is disabled 1b - Early Transmit Interrupt is enabled

Trait Implementations§

Source§

impl Clone for DmaCh0TxControl

Source§

fn clone(&self) -> DmaCh0TxControl

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for DmaCh0TxControl

Source§

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

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

impl Default for DmaCh0TxControl

Source§

fn default() -> DmaCh0TxControl

Returns the “default value” for a type. Read more
Source§

impl PartialEq for DmaCh0TxControl

Source§

fn eq(&self, other: &DmaCh0TxControl) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for DmaCh0TxControl

Source§

impl Eq for DmaCh0TxControl

Source§

impl StructuralPartialEq for DmaCh0TxControl

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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>,

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.