#![allow(non_snake_case, non_upper_case_globals)]
#![allow(non_camel_case_types)]
use crate::{RORegister, RWRegister};
#[cfg(not(feature = "nosync"))]
use core::marker::PhantomData;
pub mod DCFG {
pub mod DSPD {
pub const offset: u32 = 0;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod NZLSOHSK {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DAD {
pub const offset: u32 = 4;
pub const mask: u32 = 0x7f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PFIVL {
pub const offset: u32 = 11;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DCTL {
pub mod RWUSIG {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SDIS {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod GINSTS {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod GONSTS {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TCTL {
pub const offset: u32 = 4;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SGINAK {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CGINAK {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SGONAK {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CGONAK {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod POPRGDNE {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DSTS {
pub mod SUSPSTS {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ENUMSPD {
pub const offset: u32 = 1;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod EERR {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod FNSOF {
pub const offset: u32 = 8;
pub const mask: u32 = 0x3fff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DIEPMSK {
pub mod XFRCM {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod EPDM {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TOM {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ITTXFEMSK {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod INEPNMM {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod INEPNEM {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DOEPMSK {
pub mod XFRCM {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod EPDM {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod STUPM {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OTEPDM {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DAINT {
pub mod IEPINT {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OEPINT {
pub const offset: u32 = 16;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DAINTMSK {
pub mod IEPM {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OEPINT {
pub const offset: u32 = 16;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DVBUSDIS {
pub mod VBUSDT {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DVBUSPULSE {
pub mod DVBUSP {
pub const offset: u32 = 0;
pub const mask: u32 = 0xfff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DIEPEMPMSK {
pub mod INEPTXFEM {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DIEPCTL0 {
pub mod MPSIZ {
pub const offset: u32 = 0;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod USBAEP {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod NAKSTS {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod EPTYP {
pub const offset: u32 = 18;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod STALL {
pub const offset: u32 = 21;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TXFNUM {
pub const offset: u32 = 22;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CNAK {
pub const offset: u32 = 26;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SNAK {
pub const offset: u32 = 27;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod EPDIS {
pub const offset: u32 = 30;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod EPENA {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DIEPCTL1 {
pub mod EPENA {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod EPDIS {
pub const offset: u32 = 30;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SODDFRM_SD1PID {
pub const offset: u32 = 29;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SD0PID_SEVNFRM {
pub const offset: u32 = 28;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SNAK {
pub const offset: u32 = 27;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CNAK {
pub const offset: u32 = 26;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TXFNUM {
pub const offset: u32 = 22;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod Stall {
pub const offset: u32 = 21;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod EPTYP {
pub const offset: u32 = 18;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod NAKSTS {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod EONUM_DPID {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod USBAEP {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MPSIZ {
pub const offset: u32 = 0;
pub const mask: u32 = 0x7ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DIEPCTL2 {
pub mod EPENA {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod EPDIS {
pub const offset: u32 = 30;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SODDFRM {
pub const offset: u32 = 29;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SD0PID_SEVNFRM {
pub const offset: u32 = 28;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SNAK {
pub const offset: u32 = 27;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CNAK {
pub const offset: u32 = 26;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TXFNUM {
pub const offset: u32 = 22;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod Stall {
pub const offset: u32 = 21;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod EPTYP {
pub const offset: u32 = 18;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod NAKSTS {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod EONUM_DPID {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod USBAEP {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MPSIZ {
pub const offset: u32 = 0;
pub const mask: u32 = 0x7ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DIEPCTL3 {
pub use super::DIEPCTL2::Stall;
pub use super::DIEPCTL2::CNAK;
pub use super::DIEPCTL2::EONUM_DPID;
pub use super::DIEPCTL2::EPDIS;
pub use super::DIEPCTL2::EPENA;
pub use super::DIEPCTL2::EPTYP;
pub use super::DIEPCTL2::MPSIZ;
pub use super::DIEPCTL2::NAKSTS;
pub use super::DIEPCTL2::SD0PID_SEVNFRM;
pub use super::DIEPCTL2::SNAK;
pub use super::DIEPCTL2::SODDFRM;
pub use super::DIEPCTL2::TXFNUM;
pub use super::DIEPCTL2::USBAEP;
}
pub mod DOEPCTL0 {
pub mod EPENA {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod EPDIS {
pub const offset: u32 = 30;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SNAK {
pub const offset: u32 = 27;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CNAK {
pub const offset: u32 = 26;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod Stall {
pub const offset: u32 = 21;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SNPM {
pub const offset: u32 = 20;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod EPTYP {
pub const offset: u32 = 18;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod NAKSTS {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod USBAEP {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MPSIZ {
pub const offset: u32 = 0;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DOEPCTL1 {
pub mod EPENA {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod EPDIS {
pub const offset: u32 = 30;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SODDFRM {
pub const offset: u32 = 29;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SD0PID_SEVNFRM {
pub const offset: u32 = 28;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SNAK {
pub const offset: u32 = 27;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CNAK {
pub const offset: u32 = 26;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod Stall {
pub const offset: u32 = 21;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SNPM {
pub const offset: u32 = 20;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod EPTYP {
pub const offset: u32 = 18;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod NAKSTS {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod EONUM_DPID {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod USBAEP {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MPSIZ {
pub const offset: u32 = 0;
pub const mask: u32 = 0x7ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DOEPCTL2 {
pub use super::DOEPCTL1::Stall;
pub use super::DOEPCTL1::CNAK;
pub use super::DOEPCTL1::EONUM_DPID;
pub use super::DOEPCTL1::EPDIS;
pub use super::DOEPCTL1::EPENA;
pub use super::DOEPCTL1::EPTYP;
pub use super::DOEPCTL1::MPSIZ;
pub use super::DOEPCTL1::NAKSTS;
pub use super::DOEPCTL1::SD0PID_SEVNFRM;
pub use super::DOEPCTL1::SNAK;
pub use super::DOEPCTL1::SNPM;
pub use super::DOEPCTL1::SODDFRM;
pub use super::DOEPCTL1::USBAEP;
}
pub mod DOEPCTL3 {
pub use super::DOEPCTL1::Stall;
pub use super::DOEPCTL1::CNAK;
pub use super::DOEPCTL1::EONUM_DPID;
pub use super::DOEPCTL1::EPDIS;
pub use super::DOEPCTL1::EPENA;
pub use super::DOEPCTL1::EPTYP;
pub use super::DOEPCTL1::MPSIZ;
pub use super::DOEPCTL1::NAKSTS;
pub use super::DOEPCTL1::SD0PID_SEVNFRM;
pub use super::DOEPCTL1::SNAK;
pub use super::DOEPCTL1::SNPM;
pub use super::DOEPCTL1::SODDFRM;
pub use super::DOEPCTL1::USBAEP;
}
pub mod DIEPINT0 {
pub mod TXFE {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod INEPNE {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ITTXFE {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TOC {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod EPDISD {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod XFRC {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DIEPINT1 {
pub use super::DIEPINT0::EPDISD;
pub use super::DIEPINT0::INEPNE;
pub use super::DIEPINT0::ITTXFE;
pub use super::DIEPINT0::TOC;
pub use super::DIEPINT0::TXFE;
pub use super::DIEPINT0::XFRC;
}
pub mod DIEPINT2 {
pub use super::DIEPINT0::EPDISD;
pub use super::DIEPINT0::INEPNE;
pub use super::DIEPINT0::ITTXFE;
pub use super::DIEPINT0::TOC;
pub use super::DIEPINT0::TXFE;
pub use super::DIEPINT0::XFRC;
}
pub mod DIEPINT3 {
pub use super::DIEPINT0::EPDISD;
pub use super::DIEPINT0::INEPNE;
pub use super::DIEPINT0::ITTXFE;
pub use super::DIEPINT0::TOC;
pub use super::DIEPINT0::TXFE;
pub use super::DIEPINT0::XFRC;
}
pub mod DOEPINT0 {
pub mod B2BSTUP {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OTEPDIS {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod STUP {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod EPDISD {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod XFRC {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DOEPINT1 {
pub use super::DOEPINT0::B2BSTUP;
pub use super::DOEPINT0::EPDISD;
pub use super::DOEPINT0::OTEPDIS;
pub use super::DOEPINT0::STUP;
pub use super::DOEPINT0::XFRC;
}
pub mod DOEPINT2 {
pub use super::DOEPINT0::B2BSTUP;
pub use super::DOEPINT0::EPDISD;
pub use super::DOEPINT0::OTEPDIS;
pub use super::DOEPINT0::STUP;
pub use super::DOEPINT0::XFRC;
}
pub mod DOEPINT3 {
pub use super::DOEPINT0::B2BSTUP;
pub use super::DOEPINT0::EPDISD;
pub use super::DOEPINT0::OTEPDIS;
pub use super::DOEPINT0::STUP;
pub use super::DOEPINT0::XFRC;
}
pub mod DIEPTSIZ0 {
pub mod PKTCNT {
pub const offset: u32 = 19;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod XFRSIZ {
pub const offset: u32 = 0;
pub const mask: u32 = 0x7f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DOEPTSIZ0 {
pub mod STUPCNT {
pub const offset: u32 = 29;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PKTCNT {
pub const offset: u32 = 19;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod XFRSIZ {
pub const offset: u32 = 0;
pub const mask: u32 = 0x7f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DIEPTSIZ1 {
pub mod MCNT {
pub const offset: u32 = 29;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PKTCNT {
pub const offset: u32 = 19;
pub const mask: u32 = 0x3ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod XFRSIZ {
pub const offset: u32 = 0;
pub const mask: u32 = 0x7ffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DIEPTSIZ2 {
pub use super::DIEPTSIZ1::MCNT;
pub use super::DIEPTSIZ1::PKTCNT;
pub use super::DIEPTSIZ1::XFRSIZ;
}
pub mod DIEPTSIZ3 {
pub use super::DIEPTSIZ1::MCNT;
pub use super::DIEPTSIZ1::PKTCNT;
pub use super::DIEPTSIZ1::XFRSIZ;
}
pub mod DTXFSTS0 {
pub mod INEPTFSAV {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DTXFSTS1 {
pub use super::DTXFSTS0::INEPTFSAV;
}
pub mod DTXFSTS2 {
pub use super::DTXFSTS0::INEPTFSAV;
}
pub mod DTXFSTS3 {
pub use super::DTXFSTS0::INEPTFSAV;
}
pub mod DOEPTSIZ1 {
pub mod RXDPID_STUPCNT {
pub const offset: u32 = 29;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PKTCNT {
pub const offset: u32 = 19;
pub const mask: u32 = 0x3ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod XFRSIZ {
pub const offset: u32 = 0;
pub const mask: u32 = 0x7ffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DOEPTSIZ2 {
pub use super::DOEPTSIZ1::PKTCNT;
pub use super::DOEPTSIZ1::RXDPID_STUPCNT;
pub use super::DOEPTSIZ1::XFRSIZ;
}
pub mod DOEPTSIZ3 {
pub use super::DOEPTSIZ1::PKTCNT;
pub use super::DOEPTSIZ1::RXDPID_STUPCNT;
pub use super::DOEPTSIZ1::XFRSIZ;
}
#[repr(C)]
pub struct RegisterBlock {
pub DCFG: RWRegister<u32>,
pub DCTL: RWRegister<u32>,
pub DSTS: RORegister<u32>,
_reserved1: [u32; 1],
pub DIEPMSK: RWRegister<u32>,
pub DOEPMSK: RWRegister<u32>,
pub DAINT: RORegister<u32>,
pub DAINTMSK: RWRegister<u32>,
_reserved2: [u32; 2],
pub DVBUSDIS: RWRegister<u32>,
pub DVBUSPULSE: RWRegister<u32>,
_reserved3: [u32; 1],
pub DIEPEMPMSK: RWRegister<u32>,
_reserved4: [u32; 50],
pub DIEPCTL0: RWRegister<u32>,
_reserved5: [u32; 1],
pub DIEPINT0: RWRegister<u32>,
_reserved6: [u32; 1],
pub DIEPTSIZ0: RWRegister<u32>,
_reserved7: [u32; 1],
pub DTXFSTS0: RORegister<u32>,
_reserved8: [u32; 1],
pub DIEPCTL1: RWRegister<u32>,
_reserved9: [u32; 1],
pub DIEPINT1: RWRegister<u32>,
_reserved10: [u32; 1],
pub DIEPTSIZ1: RWRegister<u32>,
_reserved11: [u32; 1],
pub DTXFSTS1: RORegister<u32>,
_reserved12: [u32; 1],
pub DIEPCTL2: RWRegister<u32>,
_reserved13: [u32; 1],
pub DIEPINT2: RWRegister<u32>,
_reserved14: [u32; 1],
pub DIEPTSIZ2: RWRegister<u32>,
_reserved15: [u32; 1],
pub DTXFSTS2: RORegister<u32>,
_reserved16: [u32; 1],
pub DIEPCTL3: RWRegister<u32>,
_reserved17: [u32; 1],
pub DIEPINT3: RWRegister<u32>,
_reserved18: [u32; 1],
pub DIEPTSIZ3: RWRegister<u32>,
_reserved19: [u32; 1],
pub DTXFSTS3: RORegister<u32>,
_reserved20: [u32; 97],
pub DOEPCTL0: RWRegister<u32>,
_reserved21: [u32; 1],
pub DOEPINT0: RWRegister<u32>,
_reserved22: [u32; 1],
pub DOEPTSIZ0: RWRegister<u32>,
_reserved23: [u32; 3],
pub DOEPCTL1: RWRegister<u32>,
_reserved24: [u32; 1],
pub DOEPINT1: RWRegister<u32>,
_reserved25: [u32; 1],
pub DOEPTSIZ1: RWRegister<u32>,
_reserved26: [u32; 3],
pub DOEPCTL2: RWRegister<u32>,
_reserved27: [u32; 1],
pub DOEPINT2: RWRegister<u32>,
_reserved28: [u32; 1],
pub DOEPTSIZ2: RWRegister<u32>,
_reserved29: [u32; 3],
pub DOEPCTL3: RWRegister<u32>,
_reserved30: [u32; 1],
pub DOEPINT3: RWRegister<u32>,
_reserved31: [u32; 1],
pub DOEPTSIZ3: RWRegister<u32>,
}
pub struct ResetValues {
pub DCFG: u32,
pub DCTL: u32,
pub DSTS: u32,
pub DIEPMSK: u32,
pub DOEPMSK: u32,
pub DAINT: u32,
pub DAINTMSK: u32,
pub DVBUSDIS: u32,
pub DVBUSPULSE: u32,
pub DIEPEMPMSK: u32,
pub DIEPCTL0: u32,
pub DIEPINT0: u32,
pub DIEPTSIZ0: u32,
pub DTXFSTS0: u32,
pub DIEPCTL1: u32,
pub DIEPINT1: u32,
pub DIEPTSIZ1: u32,
pub DTXFSTS1: u32,
pub DIEPCTL2: u32,
pub DIEPINT2: u32,
pub DIEPTSIZ2: u32,
pub DTXFSTS2: u32,
pub DIEPCTL3: u32,
pub DIEPINT3: u32,
pub DIEPTSIZ3: u32,
pub DTXFSTS3: u32,
pub DOEPCTL0: u32,
pub DOEPINT0: u32,
pub DOEPTSIZ0: u32,
pub DOEPCTL1: u32,
pub DOEPINT1: u32,
pub DOEPTSIZ1: u32,
pub DOEPCTL2: u32,
pub DOEPINT2: u32,
pub DOEPTSIZ2: u32,
pub DOEPCTL3: u32,
pub DOEPINT3: u32,
pub DOEPTSIZ3: 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 {}