pub struct Dma { /* private fields */ }
Expand description
DMA with separate read and write masters
Implementations§
source§impl Dma
impl Dma
pub const unsafe fn from_ptr(ptr: *mut ()) -> Self
pub const fn as_ptr(&self) -> *mut ()
pub const fn ch(self, n: usize) -> Channel
sourcepub const fn timer(self, n: usize) -> Reg<Timer, RW>
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.
sourcepub const fn multi_chan_trigger(self) -> Reg<MultiChanTrigger, RW>
pub const fn multi_chan_trigger(self) -> Reg<MultiChanTrigger, RW>
Trigger one or more channels simultaneously
sourcepub const fn sniff_ctrl(self) -> Reg<SniffCtrl, RW>
pub const fn sniff_ctrl(self) -> Reg<SniffCtrl, RW>
Sniffer Control
sourcepub const fn sniff_data(self) -> Reg<u32, RW>
pub const fn sniff_data(self) -> Reg<u32, RW>
Data accumulator for sniff hardware
sourcepub const fn fifo_levels(self) -> Reg<FifoLevels, RW>
pub const fn fifo_levels(self) -> Reg<FifoLevels, RW>
Debug RAF, WAF, TDF levels
sourcepub const fn chan_abort(self) -> Reg<ChanAbort, RW>
pub const fn chan_abort(self) -> Reg<ChanAbort, RW>
Abort an in-progress transfer sequence on one or more channels
sourcepub const fn n_channels(self) -> Reg<Nchannels, RW>
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.
sourcepub const fn seccfg_ch(self, n: usize) -> Reg<SeccfgCh, RW>
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.
sourcepub const fn seccfg_irq(self, n: usize) -> Reg<SeccfgIrq, RW>
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.
sourcepub const fn seccfg_misc(self) -> Reg<SeccfgMisc, RW>
pub const fn seccfg_misc(self) -> Reg<SeccfgMisc, RW>
Miscellaneous security configuration
sourcepub const fn mpu_ctrl(self) -> Reg<MpuCtrl, RW>
pub const fn mpu_ctrl(self) -> Reg<MpuCtrl, RW>
Control register for DMA MPU. Accessible only from a Privileged context.
Trait Implementations§
impl Copy for Dma
impl Eq for Dma
impl Send for Dma
impl StructuralPartialEq for Dma
impl Sync for Dma
Auto Trait Implementations§
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)