pub struct DMA { /* private fields */ }
Expand description
DMA (Direct Memory Access) Controller
Implementations§
source§impl DMA
impl DMA
sourcepub const PTR: *const RegisterBlock = {0x6003f000 as *const dma::RegisterBlock}
pub const PTR: *const RegisterBlock = {0x6003f000 as *const dma::RegisterBlock}
Pointer to the register block
sourcepub const fn ptr() -> *const RegisterBlock
pub const fn ptr() -> *const RegisterBlock
Return the pointer to the register block
sourcepub unsafe fn steal() -> Self
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>§
sourcepub fn int_raw_ch(&self, n: usize) -> &INT_RAW_CH
pub fn int_raw_ch(&self, n: usize) -> &INT_RAW_CH
0x00..0x0c - DMA_INT_RAW_CH%s_REG.
sourcepub fn int_raw_ch_iter(&self) -> impl Iterator<Item = &INT_RAW_CH>
pub fn int_raw_ch_iter(&self) -> impl Iterator<Item = &INT_RAW_CH>
Iterator for array of: 0x00..0x0c - DMA_INT_RAW_CH%s_REG.
sourcepub fn int_st_ch0(&self) -> &INT_ST_CH0
pub fn int_st_ch0(&self) -> &INT_ST_CH0
0x04 - DMA_INT_ST_CH0_REG.
sourcepub fn int_ena_ch(&self, n: usize) -> &INT_ENA_CH
pub fn int_ena_ch(&self, n: usize) -> &INT_ENA_CH
0x08..0x14 - DMA_INT_ENA_CH%s_REG.
sourcepub fn int_ena_ch_iter(&self) -> impl Iterator<Item = &INT_ENA_CH>
pub fn int_ena_ch_iter(&self) -> impl Iterator<Item = &INT_ENA_CH>
Iterator for array of: 0x08..0x14 - DMA_INT_ENA_CH%s_REG.
sourcepub fn int_clr_ch(&self, n: usize) -> &INT_CLR_CH
pub fn int_clr_ch(&self, n: usize) -> &INT_CLR_CH
0x0c..0x18 - DMA_INT_CLR_CH%s_REG.
sourcepub fn int_clr_ch_iter(&self) -> impl Iterator<Item = &INT_CLR_CH>
pub fn int_clr_ch_iter(&self) -> impl Iterator<Item = &INT_CLR_CH>
Iterator for array of: 0x0c..0x18 - DMA_INT_CLR_CH%s_REG.
sourcepub fn int_st_ch1(&self) -> &INT_ST_CH1
pub fn int_st_ch1(&self) -> &INT_ST_CH1
0x14 - DMA_INT_ST_CH1_REG.
sourcepub fn int_st_ch2(&self) -> &INT_ST_CH2
pub fn int_st_ch2(&self) -> &INT_ST_CH2
0x24 - DMA_INT_ST_CH2_REG.
sourcepub fn in_conf0_ch(&self, n: usize) -> &IN_CONF0_CH
pub fn in_conf0_ch(&self, n: usize) -> &IN_CONF0_CH
0x70..0x7c - DMA_IN_CONF%s_CH%s_REG.
sourcepub fn in_conf0_ch_iter(&self) -> impl Iterator<Item = &IN_CONF0_CH>
pub fn in_conf0_ch_iter(&self) -> impl Iterator<Item = &IN_CONF0_CH>
Iterator for array of: 0x70..0x7c - DMA_IN_CONF%s_CH%s_REG.
sourcepub fn in_conf1_ch0(&self) -> &IN_CONF1_CH0
pub fn in_conf1_ch0(&self) -> &IN_CONF1_CH0
0x74 - DMA_IN_CONF1_CH0_REG.
sourcepub fn infifo_status_ch0(&self) -> &INFIFO_STATUS_CH0
pub fn infifo_status_ch0(&self) -> &INFIFO_STATUS_CH0
0x78 - DMA_INFIFO_STATUS_CH0_REG.
sourcepub fn in_pop_ch0(&self) -> &IN_POP_CH0
pub fn in_pop_ch0(&self) -> &IN_POP_CH0
0x7c - DMA_IN_POP_CH0_REG.
sourcepub fn in_link_ch(&self, n: usize) -> &IN_LINK_CH
pub fn in_link_ch(&self, n: usize) -> &IN_LINK_CH
0x80..0x8c - DMA_IN_LINK_CH%s_REG.
sourcepub fn in_link_ch_iter(&self) -> impl Iterator<Item = &IN_LINK_CH>
pub fn in_link_ch_iter(&self) -> impl Iterator<Item = &IN_LINK_CH>
Iterator for array of: 0x80..0x8c - DMA_IN_LINK_CH%s_REG.
sourcepub fn in_state_ch0(&self) -> &IN_STATE_CH0
pub fn in_state_ch0(&self) -> &IN_STATE_CH0
0x84 - DMA_IN_STATE_CH0_REG.
sourcepub fn in_suc_eof_des_addr_ch0(&self) -> &IN_SUC_EOF_DES_ADDR_CH0
pub fn in_suc_eof_des_addr_ch0(&self) -> &IN_SUC_EOF_DES_ADDR_CH0
0x88 - DMA_IN_SUC_EOF_DES_ADDR_CH0_REG.
sourcepub fn in_err_eof_des_addr_ch0(&self) -> &IN_ERR_EOF_DES_ADDR_CH0
pub fn in_err_eof_des_addr_ch0(&self) -> &IN_ERR_EOF_DES_ADDR_CH0
0x8c - DMA_IN_ERR_EOF_DES_ADDR_CH0_REG.
sourcepub fn in_dscr_ch0(&self) -> &IN_DSCR_CH0
pub fn in_dscr_ch0(&self) -> &IN_DSCR_CH0
0x90 - DMA_IN_DSCR_CH0_REG.
sourcepub fn in_dscr_bf0_ch(&self, n: usize) -> &IN_DSCR_BF0_CH
pub fn in_dscr_bf0_ch(&self, n: usize) -> &IN_DSCR_BF0_CH
0x94..0xa0 - DMA_IN_DSCR_BF%s_CH%s_REG.
sourcepub fn in_dscr_bf0_ch_iter(&self) -> impl Iterator<Item = &IN_DSCR_BF0_CH>
pub fn in_dscr_bf0_ch_iter(&self) -> impl Iterator<Item = &IN_DSCR_BF0_CH>
Iterator for array of: 0x94..0xa0 - DMA_IN_DSCR_BF%s_CH%s_REG.
sourcepub fn in_dscr_bf1_ch0(&self) -> &IN_DSCR_BF1_CH0
pub fn in_dscr_bf1_ch0(&self) -> &IN_DSCR_BF1_CH0
0x98 - DMA_IN_DSCR_BF1_CH0_REG.
sourcepub fn in_pri_ch_iter(&self) -> impl Iterator<Item = &IN_PRI_CH>
pub fn in_pri_ch_iter(&self) -> impl Iterator<Item = &IN_PRI_CH>
Iterator for array of: 0x9c..0xa8 - DMA_IN_PRI_CH%s_REG.
sourcepub fn in_peri_sel_ch(&self, n: usize) -> &IN_PERI_SEL_CH
pub fn in_peri_sel_ch(&self, n: usize) -> &IN_PERI_SEL_CH
0xa0..0xac - DMA_IN_PERI_SEL_CH%s_REG.
sourcepub fn in_peri_sel_ch_iter(&self) -> impl Iterator<Item = &IN_PERI_SEL_CH>
pub fn in_peri_sel_ch_iter(&self) -> impl Iterator<Item = &IN_PERI_SEL_CH>
Iterator for array of: 0xa0..0xac - DMA_IN_PERI_SEL_CH%s_REG.
sourcepub fn out_conf0_ch(&self, n: usize) -> &OUT_CONF0_CH
pub fn out_conf0_ch(&self, n: usize) -> &OUT_CONF0_CH
0xd0..0xdc - DMA_OUT_CONF%s_CH%s_REG.
sourcepub fn out_conf0_ch_iter(&self) -> impl Iterator<Item = &OUT_CONF0_CH>
pub fn out_conf0_ch_iter(&self) -> impl Iterator<Item = &OUT_CONF0_CH>
Iterator for array of: 0xd0..0xdc - DMA_OUT_CONF%s_CH%s_REG.
sourcepub fn out_conf1_ch(&self, n: usize) -> &OUT_CONF1_CH
pub fn out_conf1_ch(&self, n: usize) -> &OUT_CONF1_CH
0xd4..0xe0 - DMA_OUT_CONF1_CH%s_REG.
sourcepub fn out_conf1_ch_iter(&self) -> impl Iterator<Item = &OUT_CONF1_CH>
pub fn out_conf1_ch_iter(&self) -> impl Iterator<Item = &OUT_CONF1_CH>
Iterator for array of: 0xd4..0xe0 - DMA_OUT_CONF1_CH%s_REG.
sourcepub fn outfifo_status_ch0(&self) -> &OUTFIFO_STATUS_CH0
pub fn outfifo_status_ch0(&self) -> &OUTFIFO_STATUS_CH0
0xd8 - DMA_OUTFIFO_STATUS_CH0_REG.
sourcepub fn out_push_ch0(&self) -> &OUT_PUSH_CH0
pub fn out_push_ch0(&self) -> &OUT_PUSH_CH0
0xdc - DMA_OUT_PUSH_CH0_REG.
sourcepub fn out_link_ch(&self, n: usize) -> &OUT_LINK_CH
pub fn out_link_ch(&self, n: usize) -> &OUT_LINK_CH
0xe0..0xec - DMA_OUT_LINK_CH%s_REG.
sourcepub fn out_link_ch_iter(&self) -> impl Iterator<Item = &OUT_LINK_CH>
pub fn out_link_ch_iter(&self) -> impl Iterator<Item = &OUT_LINK_CH>
Iterator for array of: 0xe0..0xec - DMA_OUT_LINK_CH%s_REG.
sourcepub fn out_state_ch0(&self) -> &OUT_STATE_CH0
pub fn out_state_ch0(&self) -> &OUT_STATE_CH0
0xe4 - DMA_OUT_STATE_CH0_REG.
sourcepub fn out_eof_des_addr_ch(&self, n: usize) -> &OUT_EOF_DES_ADDR_CH
pub fn out_eof_des_addr_ch(&self, n: usize) -> &OUT_EOF_DES_ADDR_CH
0xe8..0xf4 - DMA_OUT_EOF_DES_ADDR_CH%s_REG.
sourcepub fn out_eof_des_addr_ch_iter(
&self
) -> impl Iterator<Item = &OUT_EOF_DES_ADDR_CH>
pub fn out_eof_des_addr_ch_iter( &self ) -> impl Iterator<Item = &OUT_EOF_DES_ADDR_CH>
Iterator for array of: 0xe8..0xf4 - DMA_OUT_EOF_DES_ADDR_CH%s_REG.
sourcepub fn out_eof_bfr_des_addr_ch0(&self) -> &OUT_EOF_BFR_DES_ADDR_CH0
pub fn out_eof_bfr_des_addr_ch0(&self) -> &OUT_EOF_BFR_DES_ADDR_CH0
0xec - DMA_OUT_EOF_BFR_DES_ADDR_CH0_REG.
sourcepub fn out_dscr_ch0(&self) -> &OUT_DSCR_CH0
pub fn out_dscr_ch0(&self) -> &OUT_DSCR_CH0
0xf0 - DMA_OUT_DSCR_CH0_REG.
sourcepub fn out_dscr_bf0_ch0(&self) -> &OUT_DSCR_BF0_CH0
pub fn out_dscr_bf0_ch0(&self) -> &OUT_DSCR_BF0_CH0
0xf4 - DMA_OUT_DSCR_BF0_CH0_REG.
sourcepub fn out_dscr_bf1_ch0(&self) -> &OUT_DSCR_BF1_CH0
pub fn out_dscr_bf1_ch0(&self) -> &OUT_DSCR_BF1_CH0
0xf8 - DMA_OUT_DSCR_BF1_CH0_REG.
sourcepub fn out_pri_ch(&self, n: usize) -> &OUT_PRI_CH
pub fn out_pri_ch(&self, n: usize) -> &OUT_PRI_CH
0xfc..0x108 - DMA_OUT_PRI_CH%s_REG.
sourcepub fn out_pri_ch_iter(&self) -> impl Iterator<Item = &OUT_PRI_CH>
pub fn out_pri_ch_iter(&self) -> impl Iterator<Item = &OUT_PRI_CH>
Iterator for array of: 0xfc..0x108 - DMA_OUT_PRI_CH%s_REG.
sourcepub fn out_peri_sel_ch(&self, n: usize) -> &OUT_PERI_SEL_CH
pub fn out_peri_sel_ch(&self, n: usize) -> &OUT_PERI_SEL_CH
0x100..0x10c - DMA_OUT_PERI_SEL_CH%s_REG.
sourcepub fn out_peri_sel_ch_iter(&self) -> impl Iterator<Item = &OUT_PERI_SEL_CH>
pub fn out_peri_sel_ch_iter(&self) -> impl Iterator<Item = &OUT_PERI_SEL_CH>
Iterator for array of: 0x100..0x10c - DMA_OUT_PERI_SEL_CH%s_REG.
sourcepub fn in_conf1_ch1(&self) -> &IN_CONF1_CH1
pub fn in_conf1_ch1(&self) -> &IN_CONF1_CH1
0x134 - DMA_IN_CONF1_CH1_REG.
sourcepub fn infifo_status_ch1(&self) -> &INFIFO_STATUS_CH1
pub fn infifo_status_ch1(&self) -> &INFIFO_STATUS_CH1
0x138 - DMA_INFIFO_STATUS_CH1_REG.
sourcepub fn in_pop_ch1(&self) -> &IN_POP_CH1
pub fn in_pop_ch1(&self) -> &IN_POP_CH1
0x13c - DMA_IN_POP_CH1_REG.
sourcepub fn in_state_ch1(&self) -> &IN_STATE_CH1
pub fn in_state_ch1(&self) -> &IN_STATE_CH1
0x144 - DMA_IN_STATE_CH1_REG.
sourcepub fn in_suc_eof_des_addr_ch1(&self) -> &IN_SUC_EOF_DES_ADDR_CH1
pub fn in_suc_eof_des_addr_ch1(&self) -> &IN_SUC_EOF_DES_ADDR_CH1
0x148 - DMA_IN_SUC_EOF_DES_ADDR_CH1_REG.
sourcepub fn in_err_eof_des_addr_ch1(&self) -> &IN_ERR_EOF_DES_ADDR_CH1
pub fn in_err_eof_des_addr_ch1(&self) -> &IN_ERR_EOF_DES_ADDR_CH1
0x14c - DMA_IN_ERR_EOF_DES_ADDR_CH1_REG.
sourcepub fn in_dscr_ch1(&self) -> &IN_DSCR_CH1
pub fn in_dscr_ch1(&self) -> &IN_DSCR_CH1
0x150 - DMA_IN_DSCR_CH1_REG.
sourcepub fn in_dscr_bf1_ch1(&self) -> &IN_DSCR_BF1_CH1
pub fn in_dscr_bf1_ch1(&self) -> &IN_DSCR_BF1_CH1
0x158 - DMA_IN_DSCR_BF1_CH1_REG.
sourcepub fn outfifo_status_ch1(&self) -> &OUTFIFO_STATUS_CH1
pub fn outfifo_status_ch1(&self) -> &OUTFIFO_STATUS_CH1
0x198 - DMA_OUTFIFO_STATUS_CH1_REG.
sourcepub fn out_push_ch1(&self) -> &OUT_PUSH_CH1
pub fn out_push_ch1(&self) -> &OUT_PUSH_CH1
0x19c - DMA_OUT_PUSH_CH1_REG.
sourcepub fn out_state_ch1(&self) -> &OUT_STATE_CH1
pub fn out_state_ch1(&self) -> &OUT_STATE_CH1
0x1a4 - DMA_OUT_STATE_CH1_REG.
sourcepub fn out_eof_bfr_des_addr_ch1(&self) -> &OUT_EOF_BFR_DES_ADDR_CH1
pub fn out_eof_bfr_des_addr_ch1(&self) -> &OUT_EOF_BFR_DES_ADDR_CH1
0x1ac - DMA_OUT_EOF_BFR_DES_ADDR_CH1_REG.
sourcepub fn out_dscr_ch1(&self) -> &OUT_DSCR_CH1
pub fn out_dscr_ch1(&self) -> &OUT_DSCR_CH1
0x1b0 - DMA_OUT_DSCR_CH1_REG.
sourcepub fn out_dscr_bf0_ch1(&self) -> &OUT_DSCR_BF0_CH1
pub fn out_dscr_bf0_ch1(&self) -> &OUT_DSCR_BF0_CH1
0x1b4 - DMA_OUT_DSCR_BF0_CH1_REG.
sourcepub fn out_dscr_bf1_ch1(&self) -> &OUT_DSCR_BF1_CH1
pub fn out_dscr_bf1_ch1(&self) -> &OUT_DSCR_BF1_CH1
0x1b8 - DMA_OUT_DSCR_BF1_CH1_REG.
sourcepub fn in_conf1_ch2(&self) -> &IN_CONF1_CH2
pub fn in_conf1_ch2(&self) -> &IN_CONF1_CH2
0x1f4 - DMA_IN_CONF1_CH2_REG.
sourcepub fn infifo_status_ch2(&self) -> &INFIFO_STATUS_CH2
pub fn infifo_status_ch2(&self) -> &INFIFO_STATUS_CH2
0x1f8 - DMA_INFIFO_STATUS_CH2_REG.
sourcepub fn in_pop_ch2(&self) -> &IN_POP_CH2
pub fn in_pop_ch2(&self) -> &IN_POP_CH2
0x1fc - DMA_IN_POP_CH2_REG.
sourcepub fn in_state_ch2(&self) -> &IN_STATE_CH2
pub fn in_state_ch2(&self) -> &IN_STATE_CH2
0x204 - DMA_IN_STATE_CH2_REG.
sourcepub fn in_suc_eof_des_addr_ch2(&self) -> &IN_SUC_EOF_DES_ADDR_CH2
pub fn in_suc_eof_des_addr_ch2(&self) -> &IN_SUC_EOF_DES_ADDR_CH2
0x208 - DMA_IN_SUC_EOF_DES_ADDR_CH2_REG.
sourcepub fn in_err_eof_des_addr_ch2(&self) -> &IN_ERR_EOF_DES_ADDR_CH2
pub fn in_err_eof_des_addr_ch2(&self) -> &IN_ERR_EOF_DES_ADDR_CH2
0x20c - DMA_IN_ERR_EOF_DES_ADDR_CH2_REG.
sourcepub fn in_dscr_ch2(&self) -> &IN_DSCR_CH2
pub fn in_dscr_ch2(&self) -> &IN_DSCR_CH2
0x210 - DMA_IN_DSCR_CH2_REG.
sourcepub fn in_dscr_bf1_ch2(&self) -> &IN_DSCR_BF1_CH2
pub fn in_dscr_bf1_ch2(&self) -> &IN_DSCR_BF1_CH2
0x218 - DMA_IN_DSCR_BF1_CH2_REG.
sourcepub fn outfifo_status_ch2(&self) -> &OUTFIFO_STATUS_CH2
pub fn outfifo_status_ch2(&self) -> &OUTFIFO_STATUS_CH2
0x258 - DMA_OUTFIFO_STATUS_CH2_REG.
sourcepub fn out_push_ch2(&self) -> &OUT_PUSH_CH2
pub fn out_push_ch2(&self) -> &OUT_PUSH_CH2
0x25c - DMA_OUT_PUSH_CH2_REG.
sourcepub fn out_state_ch2(&self) -> &OUT_STATE_CH2
pub fn out_state_ch2(&self) -> &OUT_STATE_CH2
0x264 - DMA_OUT_STATE_CH2_REG.
sourcepub fn out_eof_bfr_des_addr_ch2(&self) -> &OUT_EOF_BFR_DES_ADDR_CH2
pub fn out_eof_bfr_des_addr_ch2(&self) -> &OUT_EOF_BFR_DES_ADDR_CH2
0x26c - DMA_OUT_EOF_BFR_DES_ADDR_CH2_REG.
sourcepub fn out_dscr_ch2(&self) -> &OUT_DSCR_CH2
pub fn out_dscr_ch2(&self) -> &OUT_DSCR_CH2
0x270 - DMA_OUT_DSCR_CH2_REG.
sourcepub fn out_dscr_bf0_ch2(&self) -> &OUT_DSCR_BF0_CH2
pub fn out_dscr_bf0_ch2(&self) -> &OUT_DSCR_BF0_CH2
0x274 - DMA_OUT_DSCR_BF0_CH2_REG.
sourcepub fn out_dscr_bf1_ch2(&self) -> &OUT_DSCR_BF1_CH2
pub fn out_dscr_bf1_ch2(&self) -> &OUT_DSCR_BF1_CH2
0x278 - DMA_OUT_DSCR_BF1_CH2_REG.