#![allow(non_snake_case, non_upper_case_globals)]
#![allow(non_camel_case_types)]
use crate::{RORegister, RWRegister, WORegister};
#[cfg(not(feature = "nosync"))]
use core::marker::PhantomData;
pub mod DMA_LISR {
pub mod FEIF0 {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DMEIF0 {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TEIF0 {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod HTIF0 {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TCIF0 {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod FEIF1 {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DMEIF1 {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TEIF1 {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod HTIF1 {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TCIF1 {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod FEIF2 {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DMEIF2 {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TEIF2 {
pub const offset: u32 = 19;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod HTIF2 {
pub const offset: u32 = 20;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TCIF2 {
pub const offset: u32 = 21;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod FEIF3 {
pub const offset: u32 = 22;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DMEIF3 {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TEIF3 {
pub const offset: u32 = 25;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod HTIF3 {
pub const offset: u32 = 26;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TCIF3 {
pub const offset: u32 = 27;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DMA_HISR {
pub mod FEIF4 {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DMEIF4 {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TEIF4 {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod HTIF4 {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TCIF4 {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod FEIF5 {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DMEIF5 {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TEIF5 {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod HTIF5 {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TCIF5 {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod FEIF6 {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DMEIF6 {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TEIF6 {
pub const offset: u32 = 19;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod HTIF6 {
pub const offset: u32 = 20;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TCIF6 {
pub const offset: u32 = 21;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod FEIF7 {
pub const offset: u32 = 22;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DMEIF7 {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TEIF7 {
pub const offset: u32 = 25;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod HTIF7 {
pub const offset: u32 = 26;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TCIF7 {
pub const offset: u32 = 27;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DMA_LIFCR {
pub mod CFEIF0 {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CDMEIF0 {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CTEIF0 {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CHTIF0 {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CTCIF0 {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CFEIF1 {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CDMEIF1 {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CTEIF1 {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CHTIF1 {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CTCIF1 {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CFEIF2 {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CDMEIF2 {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CTEIF2 {
pub const offset: u32 = 19;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CHTIF2 {
pub const offset: u32 = 20;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CTCIF2 {
pub const offset: u32 = 21;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CFEIF3 {
pub const offset: u32 = 22;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CDMEIF3 {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CTEIF3 {
pub const offset: u32 = 25;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CHTIF3 {
pub const offset: u32 = 26;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CTCIF3 {
pub const offset: u32 = 27;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DMA_HIFCR {
pub mod CFEIF4 {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CDMEIF4 {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CTEIF4 {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CHTIF4 {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CTCIF4 {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CFEIF5 {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CDMEIF5 {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CTEIF5 {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CHTIF5 {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CTCIF5 {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CFEIF6 {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CDMEIF6 {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CTEIF6 {
pub const offset: u32 = 19;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CHTIF6 {
pub const offset: u32 = 20;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CTCIF6 {
pub const offset: u32 = 21;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CFEIF7 {
pub const offset: u32 = 22;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CDMEIF7 {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CTEIF7 {
pub const offset: u32 = 25;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CHTIF7 {
pub const offset: u32 = 26;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CTCIF7 {
pub const offset: u32 = 27;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DMA_S0CR {
pub mod EN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DMEIE {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TEIE {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod HTIE {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TCIE {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PFCTRL {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DIR {
pub const offset: u32 = 6;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CIRC {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PINC {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MINC {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PSIZE {
pub const offset: u32 = 11;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MSIZE {
pub const offset: u32 = 13;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PINCOS {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PL {
pub const offset: u32 = 16;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DBM {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CT {
pub const offset: u32 = 19;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PBURST {
pub const offset: u32 = 21;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MBURST {
pub const offset: u32 = 23;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DMA_S0NDTR {
pub mod NDT {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DMA_S0PAR {
pub mod PAR {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DMA_S0M0AR {
pub mod M0A {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DMA_S0M1AR {
pub mod M1A {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DMA_S0FCR {
pub mod FTH {
pub const offset: u32 = 0;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DMDIS {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod FS {
pub const offset: u32 = 3;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod FEIE {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DMA_S1CR {
pub use super::DMA_S0CR::CIRC;
pub use super::DMA_S0CR::CT;
pub use super::DMA_S0CR::DBM;
pub use super::DMA_S0CR::DIR;
pub use super::DMA_S0CR::DMEIE;
pub use super::DMA_S0CR::EN;
pub use super::DMA_S0CR::HTIE;
pub use super::DMA_S0CR::MBURST;
pub use super::DMA_S0CR::MINC;
pub use super::DMA_S0CR::MSIZE;
pub use super::DMA_S0CR::PBURST;
pub use super::DMA_S0CR::PFCTRL;
pub use super::DMA_S0CR::PINC;
pub use super::DMA_S0CR::PINCOS;
pub use super::DMA_S0CR::PL;
pub use super::DMA_S0CR::PSIZE;
pub use super::DMA_S0CR::TCIE;
pub use super::DMA_S0CR::TEIE;
}
pub mod DMA_S1NDTR {
pub use super::DMA_S0NDTR::NDT;
}
pub mod DMA_S1PAR {
pub use super::DMA_S0PAR::PAR;
}
pub mod DMA_S1M0AR {
pub use super::DMA_S0M0AR::M0A;
}
pub mod DMA_S1M1AR {
pub use super::DMA_S0M1AR::M1A;
}
pub mod DMA_S1FCR {
pub use super::DMA_S0FCR::DMDIS;
pub use super::DMA_S0FCR::FEIE;
pub use super::DMA_S0FCR::FS;
pub use super::DMA_S0FCR::FTH;
}
pub mod DMA_S2CR {
pub use super::DMA_S0CR::CIRC;
pub use super::DMA_S0CR::CT;
pub use super::DMA_S0CR::DBM;
pub use super::DMA_S0CR::DIR;
pub use super::DMA_S0CR::DMEIE;
pub use super::DMA_S0CR::EN;
pub use super::DMA_S0CR::HTIE;
pub use super::DMA_S0CR::MBURST;
pub use super::DMA_S0CR::MINC;
pub use super::DMA_S0CR::MSIZE;
pub use super::DMA_S0CR::PBURST;
pub use super::DMA_S0CR::PFCTRL;
pub use super::DMA_S0CR::PINC;
pub use super::DMA_S0CR::PINCOS;
pub use super::DMA_S0CR::PL;
pub use super::DMA_S0CR::PSIZE;
pub use super::DMA_S0CR::TCIE;
pub use super::DMA_S0CR::TEIE;
}
pub mod DMA_S2NDTR {
pub use super::DMA_S0NDTR::NDT;
}
pub mod DMA_S2PAR {
pub use super::DMA_S0PAR::PAR;
}
pub mod DMA_S2M0AR {
pub use super::DMA_S0M0AR::M0A;
}
pub mod DMA_S2M1AR {
pub use super::DMA_S0M1AR::M1A;
}
pub mod DMA_S2FCR {
pub use super::DMA_S0FCR::DMDIS;
pub use super::DMA_S0FCR::FEIE;
pub use super::DMA_S0FCR::FS;
pub use super::DMA_S0FCR::FTH;
}
pub mod DMA_S3CR {
pub use super::DMA_S0CR::CIRC;
pub use super::DMA_S0CR::CT;
pub use super::DMA_S0CR::DBM;
pub use super::DMA_S0CR::DIR;
pub use super::DMA_S0CR::DMEIE;
pub use super::DMA_S0CR::EN;
pub use super::DMA_S0CR::HTIE;
pub use super::DMA_S0CR::MBURST;
pub use super::DMA_S0CR::MINC;
pub use super::DMA_S0CR::MSIZE;
pub use super::DMA_S0CR::PBURST;
pub use super::DMA_S0CR::PFCTRL;
pub use super::DMA_S0CR::PINC;
pub use super::DMA_S0CR::PINCOS;
pub use super::DMA_S0CR::PL;
pub use super::DMA_S0CR::PSIZE;
pub use super::DMA_S0CR::TCIE;
pub use super::DMA_S0CR::TEIE;
}
pub mod DMA_S3NDTR {
pub use super::DMA_S0NDTR::NDT;
}
pub mod DMA_S3PAR {
pub use super::DMA_S0PAR::PAR;
}
pub mod DMA_S3M0AR {
pub use super::DMA_S0M0AR::M0A;
}
pub mod DMA_S3M1AR {
pub use super::DMA_S0M1AR::M1A;
}
pub mod DMA_S3FCR {
pub use super::DMA_S0FCR::DMDIS;
pub use super::DMA_S0FCR::FEIE;
pub use super::DMA_S0FCR::FS;
pub use super::DMA_S0FCR::FTH;
}
pub mod DMA_S4CR {
pub use super::DMA_S0CR::CIRC;
pub use super::DMA_S0CR::CT;
pub use super::DMA_S0CR::DBM;
pub use super::DMA_S0CR::DIR;
pub use super::DMA_S0CR::DMEIE;
pub use super::DMA_S0CR::EN;
pub use super::DMA_S0CR::HTIE;
pub use super::DMA_S0CR::MBURST;
pub use super::DMA_S0CR::MINC;
pub use super::DMA_S0CR::MSIZE;
pub use super::DMA_S0CR::PBURST;
pub use super::DMA_S0CR::PFCTRL;
pub use super::DMA_S0CR::PINC;
pub use super::DMA_S0CR::PINCOS;
pub use super::DMA_S0CR::PL;
pub use super::DMA_S0CR::PSIZE;
pub use super::DMA_S0CR::TCIE;
pub use super::DMA_S0CR::TEIE;
}
pub mod DMA_S4NDTR {
pub use super::DMA_S0NDTR::NDT;
}
pub mod DMA_S4PAR {
pub use super::DMA_S0PAR::PAR;
}
pub mod DMA_S4M0AR {
pub use super::DMA_S0M0AR::M0A;
}
pub mod DMA_S4M1AR {
pub use super::DMA_S0M1AR::M1A;
}
pub mod DMA_S4FCR {
pub use super::DMA_S0FCR::DMDIS;
pub use super::DMA_S0FCR::FEIE;
pub use super::DMA_S0FCR::FS;
pub use super::DMA_S0FCR::FTH;
}
pub mod DMA_S5CR {
pub use super::DMA_S0CR::CIRC;
pub use super::DMA_S0CR::CT;
pub use super::DMA_S0CR::DBM;
pub use super::DMA_S0CR::DIR;
pub use super::DMA_S0CR::DMEIE;
pub use super::DMA_S0CR::EN;
pub use super::DMA_S0CR::HTIE;
pub use super::DMA_S0CR::MBURST;
pub use super::DMA_S0CR::MINC;
pub use super::DMA_S0CR::MSIZE;
pub use super::DMA_S0CR::PBURST;
pub use super::DMA_S0CR::PFCTRL;
pub use super::DMA_S0CR::PINC;
pub use super::DMA_S0CR::PINCOS;
pub use super::DMA_S0CR::PL;
pub use super::DMA_S0CR::PSIZE;
pub use super::DMA_S0CR::TCIE;
pub use super::DMA_S0CR::TEIE;
}
pub mod DMA_S5NDTR {
pub use super::DMA_S0NDTR::NDT;
}
pub mod DMA_S5PAR {
pub use super::DMA_S0PAR::PAR;
}
pub mod DMA_S5M0AR {
pub use super::DMA_S0M0AR::M0A;
}
pub mod DMA_S5M1AR {
pub use super::DMA_S0M1AR::M1A;
}
pub mod DMA_S5FCR {
pub use super::DMA_S0FCR::DMDIS;
pub use super::DMA_S0FCR::FEIE;
pub use super::DMA_S0FCR::FS;
pub use super::DMA_S0FCR::FTH;
}
pub mod DMA_S6CR {
pub use super::DMA_S0CR::CIRC;
pub use super::DMA_S0CR::CT;
pub use super::DMA_S0CR::DBM;
pub use super::DMA_S0CR::DIR;
pub use super::DMA_S0CR::DMEIE;
pub use super::DMA_S0CR::EN;
pub use super::DMA_S0CR::HTIE;
pub use super::DMA_S0CR::MBURST;
pub use super::DMA_S0CR::MINC;
pub use super::DMA_S0CR::MSIZE;
pub use super::DMA_S0CR::PBURST;
pub use super::DMA_S0CR::PFCTRL;
pub use super::DMA_S0CR::PINC;
pub use super::DMA_S0CR::PINCOS;
pub use super::DMA_S0CR::PL;
pub use super::DMA_S0CR::PSIZE;
pub use super::DMA_S0CR::TCIE;
pub use super::DMA_S0CR::TEIE;
}
pub mod DMA_S6NDTR {
pub use super::DMA_S0NDTR::NDT;
}
pub mod DMA_S6PAR {
pub use super::DMA_S0PAR::PAR;
}
pub mod DMA_S6M0AR {
pub use super::DMA_S0M0AR::M0A;
}
pub mod DMA_S6M1AR {
pub use super::DMA_S0M1AR::M1A;
}
pub mod DMA_S6FCR {
pub use super::DMA_S0FCR::DMDIS;
pub use super::DMA_S0FCR::FEIE;
pub use super::DMA_S0FCR::FS;
pub use super::DMA_S0FCR::FTH;
}
pub mod DMA_S7CR {
pub use super::DMA_S0CR::CIRC;
pub use super::DMA_S0CR::CT;
pub use super::DMA_S0CR::DBM;
pub use super::DMA_S0CR::DIR;
pub use super::DMA_S0CR::DMEIE;
pub use super::DMA_S0CR::EN;
pub use super::DMA_S0CR::HTIE;
pub use super::DMA_S0CR::MBURST;
pub use super::DMA_S0CR::MINC;
pub use super::DMA_S0CR::MSIZE;
pub use super::DMA_S0CR::PBURST;
pub use super::DMA_S0CR::PFCTRL;
pub use super::DMA_S0CR::PINC;
pub use super::DMA_S0CR::PINCOS;
pub use super::DMA_S0CR::PL;
pub use super::DMA_S0CR::PSIZE;
pub use super::DMA_S0CR::TCIE;
pub use super::DMA_S0CR::TEIE;
}
pub mod DMA_S7NDTR {
pub use super::DMA_S0NDTR::NDT;
}
pub mod DMA_S7PAR {
pub use super::DMA_S0PAR::PAR;
}
pub mod DMA_S7M0AR {
pub use super::DMA_S0M0AR::M0A;
}
pub mod DMA_S7M1AR {
pub use super::DMA_S0M1AR::M1A;
}
pub mod DMA_S7FCR {
pub use super::DMA_S0FCR::DMDIS;
pub use super::DMA_S0FCR::FEIE;
pub use super::DMA_S0FCR::FS;
pub use super::DMA_S0FCR::FTH;
}
pub mod DMA_HWCFGR2 {
pub mod FIFO_SIZE {
pub const offset: u32 = 0;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WRITE_BUFFERABLE {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CHSEL_WIDTH {
pub const offset: u32 = 8;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DMA_HWCFGR1 {
pub mod DMA_DEF0 {
pub const offset: u32 = 0;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DMA_DEF1 {
pub const offset: u32 = 4;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DMA_DEF2 {
pub const offset: u32 = 8;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DMA_DEF3 {
pub const offset: u32 = 12;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DMA_DEF4 {
pub const offset: u32 = 16;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DMA_DEF5 {
pub const offset: u32 = 20;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DMA_DEF6 {
pub const offset: u32 = 24;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DMA_DEF7 {
pub const offset: u32 = 28;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DMA_VERR {
pub mod MINREV {
pub const offset: u32 = 0;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MAJREV {
pub const offset: u32 = 4;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DMA_IPDR {
pub mod ID {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DMA_SIDR {
pub mod SID {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
#[repr(C)]
pub struct RegisterBlock {
pub DMA_LISR: RORegister<u32>,
pub DMA_HISR: RORegister<u32>,
pub DMA_LIFCR: WORegister<u32>,
pub DMA_HIFCR: WORegister<u32>,
pub DMA_S0CR: RWRegister<u32>,
pub DMA_S0NDTR: RWRegister<u32>,
pub DMA_S0PAR: RWRegister<u32>,
pub DMA_S0M0AR: RWRegister<u32>,
pub DMA_S0M1AR: RWRegister<u32>,
pub DMA_S0FCR: RWRegister<u32>,
pub DMA_S1CR: RWRegister<u32>,
pub DMA_S1NDTR: RWRegister<u32>,
pub DMA_S1PAR: RWRegister<u32>,
pub DMA_S1M0AR: RWRegister<u32>,
pub DMA_S1M1AR: RWRegister<u32>,
pub DMA_S1FCR: RWRegister<u32>,
pub DMA_S2CR: RWRegister<u32>,
pub DMA_S2NDTR: RWRegister<u32>,
pub DMA_S2PAR: RWRegister<u32>,
pub DMA_S2M0AR: RWRegister<u32>,
pub DMA_S2M1AR: RWRegister<u32>,
pub DMA_S2FCR: RWRegister<u32>,
pub DMA_S3CR: RWRegister<u32>,
pub DMA_S3NDTR: RWRegister<u32>,
pub DMA_S3PAR: RWRegister<u32>,
pub DMA_S3M0AR: RWRegister<u32>,
pub DMA_S3M1AR: RWRegister<u32>,
pub DMA_S3FCR: RWRegister<u32>,
pub DMA_S4CR: RWRegister<u32>,
pub DMA_S4NDTR: RWRegister<u32>,
pub DMA_S4PAR: RWRegister<u32>,
pub DMA_S4M0AR: RWRegister<u32>,
pub DMA_S4M1AR: RWRegister<u32>,
pub DMA_S4FCR: RWRegister<u32>,
pub DMA_S5CR: RWRegister<u32>,
pub DMA_S5NDTR: RWRegister<u32>,
pub DMA_S5PAR: RWRegister<u32>,
pub DMA_S5M0AR: RWRegister<u32>,
pub DMA_S5M1AR: RWRegister<u32>,
pub DMA_S5FCR: RWRegister<u32>,
pub DMA_S6CR: RWRegister<u32>,
pub DMA_S6NDTR: RWRegister<u32>,
pub DMA_S6PAR: RWRegister<u32>,
pub DMA_S6M0AR: RWRegister<u32>,
pub DMA_S6M1AR: RWRegister<u32>,
pub DMA_S6FCR: RWRegister<u32>,
pub DMA_S7CR: RWRegister<u32>,
pub DMA_S7NDTR: RWRegister<u32>,
pub DMA_S7PAR: RWRegister<u32>,
pub DMA_S7M0AR: RWRegister<u32>,
pub DMA_S7M1AR: RWRegister<u32>,
pub DMA_S7FCR: RWRegister<u32>,
_reserved1: [u32; 199],
pub DMA_HWCFGR2: RORegister<u32>,
pub DMA_HWCFGR1: RORegister<u32>,
pub DMA_VERR: RORegister<u32>,
pub DMA_IPDR: RORegister<u32>,
pub DMA_SIDR: RORegister<u32>,
}
pub struct ResetValues {
pub DMA_LISR: u32,
pub DMA_HISR: u32,
pub DMA_LIFCR: u32,
pub DMA_HIFCR: u32,
pub DMA_S0CR: u32,
pub DMA_S0NDTR: u32,
pub DMA_S0PAR: u32,
pub DMA_S0M0AR: u32,
pub DMA_S0M1AR: u32,
pub DMA_S0FCR: u32,
pub DMA_S1CR: u32,
pub DMA_S1NDTR: u32,
pub DMA_S1PAR: u32,
pub DMA_S1M0AR: u32,
pub DMA_S1M1AR: u32,
pub DMA_S1FCR: u32,
pub DMA_S2CR: u32,
pub DMA_S2NDTR: u32,
pub DMA_S2PAR: u32,
pub DMA_S2M0AR: u32,
pub DMA_S2M1AR: u32,
pub DMA_S2FCR: u32,
pub DMA_S3CR: u32,
pub DMA_S3NDTR: u32,
pub DMA_S3PAR: u32,
pub DMA_S3M0AR: u32,
pub DMA_S3M1AR: u32,
pub DMA_S3FCR: u32,
pub DMA_S4CR: u32,
pub DMA_S4NDTR: u32,
pub DMA_S4PAR: u32,
pub DMA_S4M0AR: u32,
pub DMA_S4M1AR: u32,
pub DMA_S4FCR: u32,
pub DMA_S5CR: u32,
pub DMA_S5NDTR: u32,
pub DMA_S5PAR: u32,
pub DMA_S5M0AR: u32,
pub DMA_S5M1AR: u32,
pub DMA_S5FCR: u32,
pub DMA_S6CR: u32,
pub DMA_S6NDTR: u32,
pub DMA_S6PAR: u32,
pub DMA_S6M0AR: u32,
pub DMA_S6M1AR: u32,
pub DMA_S6FCR: u32,
pub DMA_S7CR: u32,
pub DMA_S7NDTR: u32,
pub DMA_S7PAR: u32,
pub DMA_S7M0AR: u32,
pub DMA_S7M1AR: u32,
pub DMA_S7FCR: u32,
pub DMA_HWCFGR2: u32,
pub DMA_HWCFGR1: u32,
pub DMA_VERR: u32,
pub DMA_IPDR: u32,
pub DMA_SIDR: u32,
}
#[cfg(not(feature = "nosync"))]
pub struct Instance {
pub(crate) addr: u32,
pub(crate) _marker: PhantomData<*const RegisterBlock>,
}
#[cfg(not(feature = "nosync"))]
impl ::core::ops::Deref for Instance {
type Target = RegisterBlock;
#[inline(always)]
fn deref(&self) -> &RegisterBlock {
unsafe { &*(self.addr as *const _) }
}
}
#[cfg(feature = "rtic")]
unsafe impl Send for Instance {}
pub mod DMA1 {
use super::ResetValues;
#[cfg(not(feature = "nosync"))]
use super::Instance;
#[cfg(not(feature = "nosync"))]
const INSTANCE: Instance = Instance {
addr: 0x48000000,
_marker: ::core::marker::PhantomData,
};
pub const reset: ResetValues = ResetValues {
DMA_LISR: 0x00000000,
DMA_HISR: 0x00000000,
DMA_LIFCR: 0x00000000,
DMA_HIFCR: 0x00000000,
DMA_S0CR: 0x00000000,
DMA_S0NDTR: 0x00000000,
DMA_S0PAR: 0x00000000,
DMA_S0M0AR: 0x00000000,
DMA_S0M1AR: 0x00000000,
DMA_S0FCR: 0x00000021,
DMA_S1CR: 0x00000000,
DMA_S1NDTR: 0x00000000,
DMA_S1PAR: 0x00000000,
DMA_S1M0AR: 0x00000000,
DMA_S1M1AR: 0x00000000,
DMA_S1FCR: 0x00000021,
DMA_S2CR: 0x00000000,
DMA_S2NDTR: 0x00000000,
DMA_S2PAR: 0x00000000,
DMA_S2M0AR: 0x00000000,
DMA_S2M1AR: 0x00000000,
DMA_S2FCR: 0x00000021,
DMA_S3CR: 0x00000000,
DMA_S3NDTR: 0x00000000,
DMA_S3PAR: 0x00000000,
DMA_S3M0AR: 0x00000000,
DMA_S3M1AR: 0x00000000,
DMA_S3FCR: 0x00000021,
DMA_S4CR: 0x00000000,
DMA_S4NDTR: 0x00000000,
DMA_S4PAR: 0x00000000,
DMA_S4M0AR: 0x00000000,
DMA_S4M1AR: 0x00000000,
DMA_S4FCR: 0x00000021,
DMA_S5CR: 0x00000000,
DMA_S5NDTR: 0x00000000,
DMA_S5PAR: 0x00000000,
DMA_S5M0AR: 0x00000000,
DMA_S5M1AR: 0x00000000,
DMA_S5FCR: 0x00000021,
DMA_S6CR: 0x00000000,
DMA_S6NDTR: 0x00000000,
DMA_S6PAR: 0x00000000,
DMA_S6M0AR: 0x00000000,
DMA_S6M1AR: 0x00000000,
DMA_S6FCR: 0x00000021,
DMA_S7CR: 0x00000000,
DMA_S7NDTR: 0x00000000,
DMA_S7PAR: 0x00000000,
DMA_S7M0AR: 0x00000000,
DMA_S7M1AR: 0x00000000,
DMA_S7FCR: 0x00000021,
DMA_HWCFGR2: 0x00000001,
DMA_HWCFGR1: 0x22222222,
DMA_VERR: 0x00000014,
DMA_IPDR: 0x00100002,
DMA_SIDR: 0xA3C5DD01,
};
#[cfg(not(feature = "nosync"))]
#[allow(renamed_and_removed_lints)]
#[allow(private_no_mangle_statics)]
#[no_mangle]
static mut DMA1_TAKEN: bool = false;
#[cfg(not(feature = "nosync"))]
#[inline]
pub fn take() -> Option<Instance> {
external_cortex_m::interrupt::free(|_| unsafe {
if DMA1_TAKEN {
None
} else {
DMA1_TAKEN = true;
Some(INSTANCE)
}
})
}
#[cfg(not(feature = "nosync"))]
#[inline]
pub fn release(inst: Instance) {
external_cortex_m::interrupt::free(|_| unsafe {
if DMA1_TAKEN && inst.addr == INSTANCE.addr {
DMA1_TAKEN = false;
} else {
panic!("Released a peripheral which was not taken");
}
});
}
#[cfg(not(feature = "nosync"))]
#[inline]
pub unsafe fn steal() -> Instance {
DMA1_TAKEN = true;
INSTANCE
}
}
pub const DMA1: *const RegisterBlock = 0x48000000 as *const _;
pub mod DMA2 {
use super::ResetValues;
#[cfg(not(feature = "nosync"))]
use super::Instance;
#[cfg(not(feature = "nosync"))]
const INSTANCE: Instance = Instance {
addr: 0x48001000,
_marker: ::core::marker::PhantomData,
};
pub const reset: ResetValues = ResetValues {
DMA_LISR: 0x00000000,
DMA_HISR: 0x00000000,
DMA_LIFCR: 0x00000000,
DMA_HIFCR: 0x00000000,
DMA_S0CR: 0x00000000,
DMA_S0NDTR: 0x00000000,
DMA_S0PAR: 0x00000000,
DMA_S0M0AR: 0x00000000,
DMA_S0M1AR: 0x00000000,
DMA_S0FCR: 0x00000021,
DMA_S1CR: 0x00000000,
DMA_S1NDTR: 0x00000000,
DMA_S1PAR: 0x00000000,
DMA_S1M0AR: 0x00000000,
DMA_S1M1AR: 0x00000000,
DMA_S1FCR: 0x00000021,
DMA_S2CR: 0x00000000,
DMA_S2NDTR: 0x00000000,
DMA_S2PAR: 0x00000000,
DMA_S2M0AR: 0x00000000,
DMA_S2M1AR: 0x00000000,
DMA_S2FCR: 0x00000021,
DMA_S3CR: 0x00000000,
DMA_S3NDTR: 0x00000000,
DMA_S3PAR: 0x00000000,
DMA_S3M0AR: 0x00000000,
DMA_S3M1AR: 0x00000000,
DMA_S3FCR: 0x00000021,
DMA_S4CR: 0x00000000,
DMA_S4NDTR: 0x00000000,
DMA_S4PAR: 0x00000000,
DMA_S4M0AR: 0x00000000,
DMA_S4M1AR: 0x00000000,
DMA_S4FCR: 0x00000021,
DMA_S5CR: 0x00000000,
DMA_S5NDTR: 0x00000000,
DMA_S5PAR: 0x00000000,
DMA_S5M0AR: 0x00000000,
DMA_S5M1AR: 0x00000000,
DMA_S5FCR: 0x00000021,
DMA_S6CR: 0x00000000,
DMA_S6NDTR: 0x00000000,
DMA_S6PAR: 0x00000000,
DMA_S6M0AR: 0x00000000,
DMA_S6M1AR: 0x00000000,
DMA_S6FCR: 0x00000021,
DMA_S7CR: 0x00000000,
DMA_S7NDTR: 0x00000000,
DMA_S7PAR: 0x00000000,
DMA_S7M0AR: 0x00000000,
DMA_S7M1AR: 0x00000000,
DMA_S7FCR: 0x00000021,
DMA_HWCFGR2: 0x00000001,
DMA_HWCFGR1: 0x22222222,
DMA_VERR: 0x00000014,
DMA_IPDR: 0x00100002,
DMA_SIDR: 0xA3C5DD01,
};
#[cfg(not(feature = "nosync"))]
#[allow(renamed_and_removed_lints)]
#[allow(private_no_mangle_statics)]
#[no_mangle]
static mut DMA2_TAKEN: bool = false;
#[cfg(not(feature = "nosync"))]
#[inline]
pub fn take() -> Option<Instance> {
external_cortex_m::interrupt::free(|_| unsafe {
if DMA2_TAKEN {
None
} else {
DMA2_TAKEN = true;
Some(INSTANCE)
}
})
}
#[cfg(not(feature = "nosync"))]
#[inline]
pub fn release(inst: Instance) {
external_cortex_m::interrupt::free(|_| unsafe {
if DMA2_TAKEN && inst.addr == INSTANCE.addr {
DMA2_TAKEN = false;
} else {
panic!("Released a peripheral which was not taken");
}
});
}
#[cfg(not(feature = "nosync"))]
#[inline]
pub unsafe fn steal() -> Instance {
DMA2_TAKEN = true;
INSTANCE
}
}
pub const DMA2: *const RegisterBlock = 0x48001000 as *const _;