rp-pac

Crates

git

Versions

rp235x

Flavors

Struct rp_pac::dma::Dma

source ·
pub struct Dma { /* private fields */ }
Expand description

DMA with separate read and write masters

Implementations§

source§

impl Dma

source

pub const unsafe fn from_ptr(ptr: *mut ()) -> Self

source

pub const fn as_ptr(&self) -> *mut ()

source

pub const fn ch(self, n: usize) -> Channel

source

pub const fn intr(self, n: usize) -> Reg<u32, RW>

Interrupt Status (raw)

source

pub const fn inte(self, n: usize) -> Reg<u32, RW>

Interrupt Enables for IRQ 0

source

pub const fn intf(self, n: usize) -> Reg<u32, RW>

Force Interrupts

source

pub const fn ints(self, n: usize) -> Reg<u32, RW>

Interrupt Status for IRQ 0

source

pub const fn timer(self, n: usize) -> Reg<Timer, RW>

Pacing (X/Y) fractional timer The pacing timer produces TREQ assertions at a rate set by ((X/Y) * sys_clk). This equation is evaluated every sys_clk cycles and therefore can only generate TREQs at a rate of 1 per sys_clk (i.e. permanent TREQ) or less.

source

pub const fn multi_chan_trigger(self) -> Reg<MultiChanTrigger, RW>

Trigger one or more channels simultaneously

source

pub const fn sniff_ctrl(self) -> Reg<SniffCtrl, RW>

Sniffer Control

source

pub const fn sniff_data(self) -> Reg<u32, RW>

Data accumulator for sniff hardware

source

pub const fn fifo_levels(self) -> Reg<FifoLevels, RW>

Debug RAF, WAF, TDF levels

source

pub const fn chan_abort(self) -> Reg<ChanAbort, RW>

Abort an in-progress transfer sequence on one or more channels

source

pub const fn n_channels(self) -> Reg<Nchannels, RW>

The number of channels this DMA instance is equipped with. This DMA supports up to 16 hardware channels, but can be configured with as few as one, to minimise silicon area.

source

pub const fn seccfg_ch(self, n: usize) -> Reg<SeccfgCh, RW>

Security configuration for channel 0. Control whether this channel performs Secure/Non-secure and Privileged/Unprivileged bus accesses. If this channel generates bus accesses of some security level, an access of at least that level (in the order S+P > S+U > NS+P > NS+U) is required to program, trigger, abort, check the status of, interrupt on or acknowledge the interrupt of this channel. This register automatically locks down (becomes read-only) once software starts to configure the channel. This register is world-readable, but is writable only from a Secure, Privileged context.

source

pub const fn seccfg_irq(self, n: usize) -> Reg<SeccfgIrq, RW>

Security configuration for IRQ 0. Control whether the IRQ permits configuration by Non-secure/Unprivileged contexts, and whether it can observe Secure/Privileged channel interrupt flags.

source

pub const fn seccfg_misc(self) -> Reg<SeccfgMisc, RW>

Miscellaneous security configuration

source

pub const fn mpu_ctrl(self) -> Reg<MpuCtrl, RW>

Control register for DMA MPU. Accessible only from a Privileged context.

source

pub const fn mpu_bar(self, n: usize) -> Reg<u32, RW>

Base address register for MPU region 0. Writable only from a Secure, Privileged context.

source

pub const fn mpu_lar(self, n: usize) -> Reg<u32, RW>

Limit address register for MPU region 0. Writable only from a Secure, Privileged context, with the exception of the P bit.

Trait Implementations§

source§

impl Clone for Dma

source§

fn clone(&self) -> Dma

Returns a copy 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 PartialEq for Dma

source§

fn eq(&self, other: &Dma) -> 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 Dma

source§

impl Eq for Dma

source§

impl Send for Dma

source§

impl StructuralPartialEq for Dma

source§

impl Sync for Dma

Auto Trait Implementations§

§

impl Freeze for Dma

§

impl RefUnwindSafe for Dma

§

impl Unpin for Dma

§

impl UnwindSafe for Dma

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, dst: *mut T)

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