#![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 VERID {
pub mod FEATURE {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const FEATURE_2: u32 = 0b0000000000000010;
pub const FEATURE_3: u32 = 0b0000000000000011;
}
}
pub mod MINOR {
pub const offset: u32 = 16;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MAJOR {
pub const offset: u32 = 24;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod PARAM {
pub mod MTXFIFO {
pub const offset: u32 = 0;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MRXFIFO {
pub const offset: u32 = 8;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod MCR {
pub mod MEN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const MEN_0: u32 = 0b0;
pub const MEN_1: u32 = 0b1;
}
}
pub mod RST {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RST_0: u32 = 0b0;
pub const RST_1: u32 = 0b1;
}
}
pub mod DOZEN {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const DOZEN_0: u32 = 0b0;
pub const DOZEN_1: u32 = 0b1;
}
}
pub mod DBGEN {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const DBGEN_0: u32 = 0b0;
pub const DBGEN_1: u32 = 0b1;
}
}
pub mod RTF {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RTF_0: u32 = 0b0;
pub const RTF_1: u32 = 0b1;
}
}
pub mod RRF {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RRF_0: u32 = 0b0;
pub const RRF_1: u32 = 0b1;
}
}
}
pub mod MSR {
pub mod TDF {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TDF_0: u32 = 0b0;
pub const TDF_1: u32 = 0b1;
}
}
pub mod RDF {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RDF_0: u32 = 0b0;
pub const RDF_1: u32 = 0b1;
}
}
pub mod EPF {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const EPF_0: u32 = 0b0;
pub const EPF_1: u32 = 0b1;
}
}
pub mod SDF {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SDF_0: u32 = 0b0;
pub const SDF_1: u32 = 0b1;
}
}
pub mod NDF {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const NDF_0: u32 = 0b0;
pub const NDF_1: u32 = 0b1;
}
}
pub mod ALF {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const ALF_0: u32 = 0b0;
pub const ALF_1: u32 = 0b1;
}
}
pub mod FEF {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const FEF_0: u32 = 0b0;
pub const FEF_1: u32 = 0b1;
}
}
pub mod PLTF {
pub const offset: u32 = 13;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PLTF_0: u32 = 0b0;
pub const PLTF_1: u32 = 0b1;
}
}
pub mod DMF {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const DMF_0: u32 = 0b0;
pub const DMF_1: u32 = 0b1;
}
}
pub mod MBF {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const MBF_0: u32 = 0b0;
pub const MBF_1: u32 = 0b1;
}
}
pub mod BBF {
pub const offset: u32 = 25;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const BBF_0: u32 = 0b0;
pub const BBF_1: u32 = 0b1;
}
}
}
pub mod MIER {
pub mod TDIE {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TDIE_0: u32 = 0b0;
pub const TDIE_1: u32 = 0b1;
}
}
pub mod RDIE {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RDIE_0: u32 = 0b0;
pub const RDIE_1: u32 = 0b1;
}
}
pub mod EPIE {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const EPIE_0: u32 = 0b0;
pub const EPIE_1: u32 = 0b1;
}
}
pub mod SDIE {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SDIE_0: u32 = 0b0;
pub const SDIE_1: u32 = 0b1;
}
}
pub mod NDIE {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const NDIE_0: u32 = 0b0;
pub const NDIE_1: u32 = 0b1;
}
}
pub mod ALIE {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const ALIE_0: u32 = 0b0;
pub const ALIE_1: u32 = 0b1;
}
}
pub mod FEIE {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const FEIE_0: u32 = 0b0;
pub const FEIE_1: u32 = 0b1;
}
}
pub mod PLTIE {
pub const offset: u32 = 13;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PLTIE_0: u32 = 0b0;
pub const PLTIE_1: u32 = 0b1;
}
}
pub mod DMIE {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const DMIE_0: u32 = 0b0;
pub const DMIE_1: u32 = 0b1;
}
}
}
pub mod MDER {
pub mod TDDE {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TDDE_0: u32 = 0b0;
pub const TDDE_1: u32 = 0b1;
}
}
pub mod RDDE {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RDDE_0: u32 = 0b0;
pub const RDDE_1: u32 = 0b1;
}
}
}
pub mod MCFGR0 {
pub mod HREN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const HREN_0: u32 = 0b0;
pub const HREN_1: u32 = 0b1;
}
}
pub mod HRPOL {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const HRPOL_0: u32 = 0b0;
pub const HRPOL_1: u32 = 0b1;
}
}
pub mod HRSEL {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const HRSEL_0: u32 = 0b0;
pub const HRSEL_1: u32 = 0b1;
}
}
pub mod CIRFIFO {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const CIRFIFO_0: u32 = 0b0;
pub const CIRFIFO_1: u32 = 0b1;
}
}
pub mod RDMO {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RDMO_0: u32 = 0b0;
pub const RDMO_1: u32 = 0b1;
}
}
}
pub mod MCFGR1 {
pub mod PRESCALE {
pub const offset: u32 = 0;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PRESCALE_0: u32 = 0b000;
pub const PRESCALE_1: u32 = 0b001;
pub const PRESCALE_2: u32 = 0b010;
pub const PRESCALE_3: u32 = 0b011;
pub const PRESCALE_4: u32 = 0b100;
pub const PRESCALE_5: u32 = 0b101;
pub const PRESCALE_6: u32 = 0b110;
pub const PRESCALE_7: u32 = 0b111;
}
}
pub mod AUTOSTOP {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const AUTOSTOP_0: u32 = 0b0;
pub const AUTOSTOP_1: u32 = 0b1;
}
}
pub mod IGNACK {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const IGNACK_0: u32 = 0b0;
pub const IGNACK_1: u32 = 0b1;
}
}
pub mod TIMECFG {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TIMECFG_0: u32 = 0b0;
pub const TIMECFG_1: u32 = 0b1;
}
}
pub mod MATCFG {
pub const offset: u32 = 16;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const MATCFG_0: u32 = 0b000;
pub const MATCFG_2: u32 = 0b010;
pub const MATCFG_3: u32 = 0b011;
pub const MATCFG_4: u32 = 0b100;
pub const MATCFG_5: u32 = 0b101;
pub const MATCFG_6: u32 = 0b110;
pub const MATCFG_7: u32 = 0b111;
}
}
pub mod PINCFG {
pub const offset: u32 = 24;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PINCFG_0: u32 = 0b000;
pub const PINCFG_1: u32 = 0b001;
pub const PINCFG_2: u32 = 0b010;
pub const PINCFG_3: u32 = 0b011;
pub const PINCFG_4: u32 = 0b100;
pub const PINCFG_5: u32 = 0b101;
pub const PINCFG_6: u32 = 0b110;
pub const PINCFG_7: u32 = 0b111;
}
}
}
pub mod MCFGR2 {
pub mod BUSIDLE {
pub const offset: u32 = 0;
pub const mask: u32 = 0xfff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod FILTSCL {
pub const offset: u32 = 16;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod FILTSDA {
pub const offset: u32 = 24;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod MCFGR3 {
pub mod PINLOW {
pub const offset: u32 = 8;
pub const mask: u32 = 0xfff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod MDMR {
pub mod MATCH0 {
pub const offset: u32 = 0;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MATCH1 {
pub const offset: u32 = 16;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod MCCR0 {
pub mod CLKLO {
pub const offset: u32 = 0;
pub const mask: u32 = 0x3f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CLKHI {
pub const offset: u32 = 8;
pub const mask: u32 = 0x3f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SETHOLD {
pub const offset: u32 = 16;
pub const mask: u32 = 0x3f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DATAVD {
pub const offset: u32 = 24;
pub const mask: u32 = 0x3f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod MCCR1 {
pub use super::MCCR0::CLKHI;
pub use super::MCCR0::CLKLO;
pub use super::MCCR0::DATAVD;
pub use super::MCCR0::SETHOLD;
}
pub mod MFCR {
pub mod TXWATER {
pub const offset: u32 = 0;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RXWATER {
pub const offset: u32 = 16;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod MFSR {
pub mod TXCOUNT {
pub const offset: u32 = 0;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RXCOUNT {
pub const offset: u32 = 16;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod MTDR {
pub mod DATA {
pub const offset: u32 = 0;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CMD {
pub const offset: u32 = 8;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const CMD_0: u32 = 0b000;
pub const CMD_1: u32 = 0b001;
pub const CMD_2: u32 = 0b010;
pub const CMD_3: u32 = 0b011;
pub const CMD_4: u32 = 0b100;
pub const CMD_5: u32 = 0b101;
pub const CMD_6: u32 = 0b110;
pub const CMD_7: u32 = 0b111;
}
}
}
pub mod MRDR {
pub mod DATA {
pub const offset: u32 = 0;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RXEMPTY {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RXEMPTY_0: u32 = 0b0;
pub const RXEMPTY_1: u32 = 0b1;
}
}
}
pub mod SCR {
pub mod SEN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SEN_0: u32 = 0b0;
pub const SEN_1: u32 = 0b1;
}
}
pub mod RST {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RST_0: u32 = 0b0;
pub const RST_1: u32 = 0b1;
}
}
pub mod FILTEN {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const FILTEN_0: u32 = 0b0;
pub const FILTEN_1: u32 = 0b1;
}
}
pub mod FILTDZ {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const FILTDZ_0: u32 = 0b0;
pub const FILTDZ_1: u32 = 0b1;
}
}
pub mod RTF {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RTF_0: u32 = 0b0;
pub const RTF_1: u32 = 0b1;
}
}
pub mod RRF {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RRF_0: u32 = 0b0;
pub const RRF_1: u32 = 0b1;
}
}
}
pub mod SSR {
pub mod TDF {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TDF_0: u32 = 0b0;
pub const TDF_1: u32 = 0b1;
}
}
pub mod RDF {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RDF_0: u32 = 0b0;
pub const RDF_1: u32 = 0b1;
}
}
pub mod AVF {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const AVF_0: u32 = 0b0;
pub const AVF_1: u32 = 0b1;
}
}
pub mod TAF {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TAF_0: u32 = 0b0;
pub const TAF_1: u32 = 0b1;
}
}
pub mod RSF {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RSF_0: u32 = 0b0;
pub const RSF_1: u32 = 0b1;
}
}
pub mod SDF {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SDF_0: u32 = 0b0;
pub const SDF_1: u32 = 0b1;
}
}
pub mod BEF {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const BEF_0: u32 = 0b0;
pub const BEF_1: u32 = 0b1;
}
}
pub mod FEF {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const FEF_0: u32 = 0b0;
pub const FEF_1: u32 = 0b1;
}
}
pub mod AM0F {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const AM0F_0: u32 = 0b0;
pub const AM0F_1: u32 = 0b1;
}
}
pub mod AM1F {
pub const offset: u32 = 13;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const AM1F_0: u32 = 0b0;
pub const AM1F_1: u32 = 0b1;
}
}
pub mod GCF {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const GCF_0: u32 = 0b0;
pub const GCF_1: u32 = 0b1;
}
}
pub mod SARF {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SARF_0: u32 = 0b0;
pub const SARF_1: u32 = 0b1;
}
}
pub mod SBF {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SBF_0: u32 = 0b0;
pub const SBF_1: u32 = 0b1;
}
}
pub mod BBF {
pub const offset: u32 = 25;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const BBF_0: u32 = 0b0;
pub const BBF_1: u32 = 0b1;
}
}
}
pub mod SIER {
pub mod TDIE {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TDIE_0: u32 = 0b0;
pub const TDIE_1: u32 = 0b1;
}
}
pub mod RDIE {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RDIE_0: u32 = 0b0;
pub const RDIE_1: u32 = 0b1;
}
}
pub mod AVIE {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const AVIE_0: u32 = 0b0;
pub const AVIE_1: u32 = 0b1;
}
}
pub mod TAIE {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TAIE_0: u32 = 0b0;
pub const TAIE_1: u32 = 0b1;
}
}
pub mod RSIE {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RSIE_0: u32 = 0b0;
pub const RSIE_1: u32 = 0b1;
}
}
pub mod SDIE {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SDIE_0: u32 = 0b0;
pub const SDIE_1: u32 = 0b1;
}
}
pub mod BEIE {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const BEIE_0: u32 = 0b0;
pub const BEIE_1: u32 = 0b1;
}
}
pub mod FEIE {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const FEIE_0: u32 = 0b0;
pub const FEIE_1: u32 = 0b1;
}
}
pub mod AM0IE {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const AM0IE_0: u32 = 0b0;
pub const AM0IE_1: u32 = 0b1;
}
}
pub mod AM1F {
pub const offset: u32 = 13;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const AM1F_0: u32 = 0b0;
pub const AM1F_1: u32 = 0b1;
}
}
pub mod GCIE {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const GCIE_0: u32 = 0b0;
pub const GCIE_1: u32 = 0b1;
}
}
pub mod SARIE {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SARIE_0: u32 = 0b0;
pub const SARIE_1: u32 = 0b1;
}
}
}
pub mod SDER {
pub mod TDDE {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TDDE_0: u32 = 0b0;
pub const TDDE_1: u32 = 0b1;
}
}
pub mod RDDE {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RDDE_0: u32 = 0b0;
pub const RDDE_1: u32 = 0b1;
}
}
pub mod AVDE {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const AVDE_0: u32 = 0b0;
pub const AVDE_1: u32 = 0b1;
}
}
}
pub mod SCFGR1 {
pub mod ADRSTALL {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const ADRSTALL_0: u32 = 0b0;
pub const ADRSTALL_1: u32 = 0b1;
}
}
pub mod RXSTALL {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RXSTALL_0: u32 = 0b0;
pub const RXSTALL_1: u32 = 0b1;
}
}
pub mod TXDSTALL {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TXDSTALL_0: u32 = 0b0;
pub const TXDSTALL_1: u32 = 0b1;
}
}
pub mod ACKSTALL {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const ACKSTALL_0: u32 = 0b0;
pub const ACKSTALL_1: u32 = 0b1;
}
}
pub mod GCEN {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const GCEN_0: u32 = 0b0;
pub const GCEN_1: u32 = 0b1;
}
}
pub mod SAEN {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SAEN_0: u32 = 0b0;
pub const SAEN_1: u32 = 0b1;
}
}
pub mod TXCFG {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TXCFG_0: u32 = 0b0;
pub const TXCFG_1: u32 = 0b1;
}
}
pub mod RXCFG {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RXCFG_0: u32 = 0b0;
pub const RXCFG_1: u32 = 0b1;
}
}
pub mod IGNACK {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const IGNACK_0: u32 = 0b0;
pub const IGNACK_1: u32 = 0b1;
}
}
pub mod HSMEN {
pub const offset: u32 = 13;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const HSMEN_0: u32 = 0b0;
pub const HSMEN_1: u32 = 0b1;
}
}
pub mod ADDRCFG {
pub const offset: u32 = 16;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const ADDRCFG_0: u32 = 0b000;
pub const ADDRCFG_1: u32 = 0b001;
pub const ADDRCFG_2: u32 = 0b010;
pub const ADDRCFG_3: u32 = 0b011;
pub const ADDRCFG_4: u32 = 0b100;
pub const ADDRCFG_5: u32 = 0b101;
pub const ADDRCFG_6: u32 = 0b110;
pub const ADDRCFG_7: u32 = 0b111;
}
}
}
pub mod SCFGR2 {
pub mod CLKHOLD {
pub const offset: u32 = 0;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DATAVD {
pub const offset: u32 = 8;
pub const mask: u32 = 0x3f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod FILTSCL {
pub const offset: u32 = 16;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod FILTSDA {
pub const offset: u32 = 24;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SAMR {
pub mod ADDR0 {
pub const offset: u32 = 1;
pub const mask: u32 = 0x3ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ADDR1 {
pub const offset: u32 = 17;
pub const mask: u32 = 0x3ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SASR {
pub mod RADDR {
pub const offset: u32 = 0;
pub const mask: u32 = 0x7ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ANV {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const ANV_0: u32 = 0b0;
pub const ANV_1: u32 = 0b1;
}
}
}
pub mod STAR {
pub mod TXNACK {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TXNACK_0: u32 = 0b0;
pub const TXNACK_1: u32 = 0b1;
}
}
}
pub mod STDR {
pub mod DATA {
pub const offset: u32 = 0;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod SRDR {
pub mod DATA {
pub const offset: u32 = 0;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RXEMPTY {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RXEMPTY_0: u32 = 0b0;
pub const RXEMPTY_1: u32 = 0b1;
}
}
pub mod SOF {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SOF_0: u32 = 0b0;
pub const SOF_1: u32 = 0b1;
}
}
}
#[repr(C)]
pub struct RegisterBlock {
pub VERID: RORegister<u32>,
pub PARAM: RORegister<u32>,
_reserved1: [u32; 2],
pub MCR: RWRegister<u32>,
pub MSR: RWRegister<u32>,
pub MIER: RWRegister<u32>,
pub MDER: RWRegister<u32>,
pub MCFGR0: RWRegister<u32>,
pub MCFGR1: RWRegister<u32>,
pub MCFGR2: RWRegister<u32>,
pub MCFGR3: RWRegister<u32>,
_reserved2: [u32; 4],
pub MDMR: RWRegister<u32>,
_reserved3: [u32; 1],
pub MCCR0: RWRegister<u32>,
_reserved4: [u32; 1],
pub MCCR1: RWRegister<u32>,
_reserved5: [u32; 1],
pub MFCR: RWRegister<u32>,
pub MFSR: RORegister<u32>,
pub MTDR: RWRegister<u32>,
_reserved6: [u32; 3],
pub MRDR: RORegister<u32>,
_reserved7: [u32; 39],
pub SCR: RWRegister<u32>,
pub SSR: RWRegister<u32>,
pub SIER: RWRegister<u32>,
pub SDER: RWRegister<u32>,
_reserved8: [u32; 1],
pub SCFGR1: RWRegister<u32>,
pub SCFGR2: RWRegister<u32>,
_reserved9: [u32; 5],
pub SAMR: RWRegister<u32>,
_reserved10: [u32; 3],
pub SASR: RORegister<u32>,
pub STAR: RWRegister<u32>,
_reserved11: [u32; 2],
pub STDR: RWRegister<u32>,
_reserved12: [u32; 3],
pub SRDR: RORegister<u32>,
}
pub struct ResetValues {
pub VERID: u32,
pub PARAM: u32,
pub MCR: u32,
pub MSR: u32,
pub MIER: u32,
pub MDER: u32,
pub MCFGR0: u32,
pub MCFGR1: u32,
pub MCFGR2: u32,
pub MCFGR3: u32,
pub MDMR: u32,
pub MCCR0: u32,
pub MCCR1: u32,
pub MFCR: u32,
pub MFSR: u32,
pub MTDR: u32,
pub MRDR: u32,
pub SCR: u32,
pub SSR: u32,
pub SIER: u32,
pub SDER: u32,
pub SCFGR1: u32,
pub SCFGR2: u32,
pub SAMR: u32,
pub SASR: u32,
pub STAR: u32,
pub STDR: u32,
pub SRDR: 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 = "rtfm")]
unsafe impl Send for Instance {}