#![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_1: u32 = 0b0000000000000001;
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 TXFIFO {
pub const offset: u32 = 0;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RXFIFO {
pub const offset: u32 = 8;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod GLOBAL {
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 PINCFG {
pub mod TRGSEL {
pub const offset: u32 = 0;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TRGSEL_0: u32 = 0b00;
pub const TRGSEL_1: u32 = 0b01;
pub const TRGSEL_2: u32 = 0b10;
pub const TRGSEL_3: u32 = 0b11;
}
}
}
pub mod BAUD {
pub mod SBR {
pub const offset: u32 = 0;
pub const mask: u32 = 0x1fff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SBNS {
pub const offset: u32 = 13;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SBNS_0: u32 = 0b0;
pub const SBNS_1: u32 = 0b1;
}
}
pub mod RXEDGIE {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RXEDGIE_0: u32 = 0b0;
pub const RXEDGIE_1: u32 = 0b1;
}
}
pub mod LBKDIE {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const LBKDIE_0: u32 = 0b0;
pub const LBKDIE_1: u32 = 0b1;
}
}
pub mod RESYNCDIS {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RESYNCDIS_0: u32 = 0b0;
pub const RESYNCDIS_1: u32 = 0b1;
}
}
pub mod BOTHEDGE {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const BOTHEDGE_0: u32 = 0b0;
pub const BOTHEDGE_1: u32 = 0b1;
}
}
pub mod MATCFG {
pub const offset: u32 = 18;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const MATCFG_0: u32 = 0b00;
pub const MATCFG_1: u32 = 0b01;
pub const MATCFG_2: u32 = 0b10;
pub const MATCFG_3: u32 = 0b11;
}
}
pub mod RIDMAE {
pub const offset: u32 = 20;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RIDMAE_0: u32 = 0b0;
pub const RIDMAE_1: u32 = 0b1;
}
}
pub mod RDMAE {
pub const offset: u32 = 21;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RDMAE_0: u32 = 0b0;
pub const RDMAE_1: u32 = 0b1;
}
}
pub mod TDMAE {
pub const offset: u32 = 23;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TDMAE_0: u32 = 0b0;
pub const TDMAE_1: u32 = 0b1;
}
}
pub mod OSR {
pub const offset: u32 = 24;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const OSR_0: u32 = 0b00000;
pub const OSR_3: u32 = 0b00011;
pub const OSR_4: u32 = 0b00100;
pub const OSR_5: u32 = 0b00101;
pub const OSR_6: u32 = 0b00110;
pub const OSR_7: u32 = 0b00111;
pub const OSR_8: u32 = 0b01000;
pub const OSR_9: u32 = 0b01001;
pub const OSR_10: u32 = 0b01010;
pub const OSR_11: u32 = 0b01011;
pub const OSR_12: u32 = 0b01100;
pub const OSR_13: u32 = 0b01101;
pub const OSR_14: u32 = 0b01110;
pub const OSR_15: u32 = 0b01111;
pub const OSR_16: u32 = 0b10000;
pub const OSR_17: u32 = 0b10001;
pub const OSR_18: u32 = 0b10010;
pub const OSR_19: u32 = 0b10011;
pub const OSR_20: u32 = 0b10100;
pub const OSR_21: u32 = 0b10101;
pub const OSR_22: u32 = 0b10110;
pub const OSR_23: u32 = 0b10111;
pub const OSR_24: u32 = 0b11000;
pub const OSR_25: u32 = 0b11001;
pub const OSR_26: u32 = 0b11010;
pub const OSR_27: u32 = 0b11011;
pub const OSR_28: u32 = 0b11100;
pub const OSR_29: u32 = 0b11101;
pub const OSR_30: u32 = 0b11110;
pub const OSR_31: u32 = 0b11111;
}
}
pub mod M10 {
pub const offset: u32 = 29;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const M10_0: u32 = 0b0;
pub const M10_1: u32 = 0b1;
}
}
pub mod MAEN2 {
pub const offset: u32 = 30;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const MAEN2_0: u32 = 0b0;
pub const MAEN2_1: u32 = 0b1;
}
}
pub mod MAEN1 {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const MAEN1_0: u32 = 0b0;
pub const MAEN1_1: u32 = 0b1;
}
}
}
pub mod STAT {
pub mod MA2F {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const MA2F_0: u32 = 0b0;
pub const MA2F_1: u32 = 0b1;
}
}
pub mod MA1F {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const MA1F_0: u32 = 0b0;
pub const MA1F_1: u32 = 0b1;
}
}
pub mod PF {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PF_0: u32 = 0b0;
pub const PF_1: u32 = 0b1;
}
}
pub mod FE {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const FE_0: u32 = 0b0;
pub const FE_1: u32 = 0b1;
}
}
pub mod NF {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const NF_0: u32 = 0b0;
pub const NF_1: u32 = 0b1;
}
}
pub mod OR {
pub const offset: u32 = 19;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const OR_0: u32 = 0b0;
pub const OR_1: u32 = 0b1;
}
}
pub mod IDLE {
pub const offset: u32 = 20;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const IDLE_0: u32 = 0b0;
pub const IDLE_1: u32 = 0b1;
}
}
pub mod RDRF {
pub const offset: u32 = 21;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RDRF_0: u32 = 0b0;
pub const RDRF_1: u32 = 0b1;
}
}
pub mod TC {
pub const offset: u32 = 22;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TC_0: u32 = 0b0;
pub const TC_1: u32 = 0b1;
}
}
pub mod TDRE {
pub const offset: u32 = 23;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TDRE_0: u32 = 0b0;
pub const TDRE_1: u32 = 0b1;
}
}
pub mod RAF {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RAF_0: u32 = 0b0;
pub const RAF_1: u32 = 0b1;
}
}
pub mod LBKDE {
pub const offset: u32 = 25;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const LBKDE_0: u32 = 0b0;
pub const LBKDE_1: u32 = 0b1;
}
}
pub mod BRK13 {
pub const offset: u32 = 26;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const BRK13_0: u32 = 0b0;
pub const BRK13_1: u32 = 0b1;
}
}
pub mod RWUID {
pub const offset: u32 = 27;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RWUID_0: u32 = 0b0;
pub const RWUID_1: u32 = 0b1;
}
}
pub mod RXINV {
pub const offset: u32 = 28;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RXINV_0: u32 = 0b0;
pub const RXINV_1: u32 = 0b1;
}
}
pub mod MSBF {
pub const offset: u32 = 29;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const MSBF_0: u32 = 0b0;
pub const MSBF_1: u32 = 0b1;
}
}
pub mod RXEDGIF {
pub const offset: u32 = 30;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RXEDGIF_0: u32 = 0b0;
pub const RXEDGIF_1: u32 = 0b1;
}
}
pub mod LBKDIF {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const LBKDIF_0: u32 = 0b0;
pub const LBKDIF_1: u32 = 0b1;
}
}
}
pub mod CTRL {
pub mod PT {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PT_0: u32 = 0b0;
pub const PT_1: u32 = 0b1;
}
}
pub mod PE {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PE_0: u32 = 0b0;
pub const PE_1: u32 = 0b1;
}
}
pub mod ILT {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const ILT_0: u32 = 0b0;
pub const ILT_1: u32 = 0b1;
}
}
pub mod WAKE {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const WAKE_0: u32 = 0b0;
pub const WAKE_1: u32 = 0b1;
}
}
pub mod M {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const M_0: u32 = 0b0;
pub const M_1: u32 = 0b1;
}
}
pub mod RSRC {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RSRC_0: u32 = 0b0;
pub const RSRC_1: u32 = 0b1;
}
}
pub mod DOZEEN {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const DOZEEN_0: u32 = 0b0;
pub const DOZEEN_1: u32 = 0b1;
}
}
pub mod LOOPS {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const LOOPS_0: u32 = 0b0;
pub const LOOPS_1: u32 = 0b1;
}
}
pub mod IDLECFG {
pub const offset: u32 = 8;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const IDLECFG_0: u32 = 0b000;
pub const IDLECFG_1: u32 = 0b001;
pub const IDLECFG_2: u32 = 0b010;
pub const IDLECFG_3: u32 = 0b011;
pub const IDLECFG_4: u32 = 0b100;
pub const IDLECFG_5: u32 = 0b101;
pub const IDLECFG_6: u32 = 0b110;
pub const IDLECFG_7: u32 = 0b111;
}
}
pub mod M7 {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const M7_0: u32 = 0b0;
pub const M7_1: u32 = 0b1;
}
}
pub mod MA2IE {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const MA2IE_0: u32 = 0b0;
pub const MA2IE_1: u32 = 0b1;
}
}
pub mod MA1IE {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const MA1IE_0: u32 = 0b0;
pub const MA1IE_1: u32 = 0b1;
}
}
pub mod SBK {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SBK_0: u32 = 0b0;
pub const SBK_1: u32 = 0b1;
}
}
pub mod RWU {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RWU_0: u32 = 0b0;
pub const RWU_1: u32 = 0b1;
}
}
pub mod RE {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RE_0: u32 = 0b0;
pub const RE_1: u32 = 0b1;
}
}
pub mod TE {
pub const offset: u32 = 19;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TE_0: u32 = 0b0;
pub const TE_1: u32 = 0b1;
}
}
pub mod ILIE {
pub const offset: u32 = 20;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const ILIE_0: u32 = 0b0;
pub const ILIE_1: u32 = 0b1;
}
}
pub mod RIE {
pub const offset: u32 = 21;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RIE_0: u32 = 0b0;
pub const RIE_1: u32 = 0b1;
}
}
pub mod TCIE {
pub const offset: u32 = 22;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TCIE_0: u32 = 0b0;
pub const TCIE_1: u32 = 0b1;
}
}
pub mod TIE {
pub const offset: u32 = 23;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TIE_0: u32 = 0b0;
pub const TIE_1: u32 = 0b1;
}
}
pub mod PEIE {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PEIE_0: u32 = 0b0;
pub const PEIE_1: u32 = 0b1;
}
}
pub mod FEIE {
pub const offset: u32 = 25;
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 NEIE {
pub const offset: u32 = 26;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const NEIE_0: u32 = 0b0;
pub const NEIE_1: u32 = 0b1;
}
}
pub mod ORIE {
pub const offset: u32 = 27;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const ORIE_0: u32 = 0b0;
pub const ORIE_1: u32 = 0b1;
}
}
pub mod TXINV {
pub const offset: u32 = 28;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TXINV_0: u32 = 0b0;
pub const TXINV_1: u32 = 0b1;
}
}
pub mod TXDIR {
pub const offset: u32 = 29;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TXDIR_0: u32 = 0b0;
pub const TXDIR_1: u32 = 0b1;
}
}
pub mod R9T8 {
pub const offset: u32 = 30;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod R8T9 {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DATA {
pub mod R0T0 {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod R1T1 {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod R2T2 {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod R3T3 {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod R4T4 {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod R5T5 {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod R6T6 {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod R7T7 {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod R8T8 {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod R9T9 {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod IDLINE {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const IDLINE_0: u32 = 0b0;
pub const IDLINE_1: u32 = 0b1;
}
}
pub mod RXEMPT {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RXEMPT_0: u32 = 0b0;
pub const RXEMPT_1: u32 = 0b1;
}
}
pub mod FRETSC {
pub const offset: u32 = 13;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const FRETSC_0: u32 = 0b0;
pub const FRETSC_1: u32 = 0b1;
}
}
pub mod PARITYE {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PARITYE_0: u32 = 0b0;
pub const PARITYE_1: u32 = 0b1;
}
}
pub mod NOISY {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const NOISY_0: u32 = 0b0;
pub const NOISY_1: u32 = 0b1;
}
}
}
pub mod MATCH {
pub mod MA1 {
pub const offset: u32 = 0;
pub const mask: u32 = 0x3ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MA2 {
pub const offset: u32 = 16;
pub const mask: u32 = 0x3ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod MODIR {
pub mod TXCTSE {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TXCTSE_0: u32 = 0b0;
pub const TXCTSE_1: u32 = 0b1;
}
}
pub mod TXRTSE {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TXRTSE_0: u32 = 0b0;
pub const TXRTSE_1: u32 = 0b1;
}
}
pub mod TXRTSPOL {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TXRTSPOL_0: u32 = 0b0;
pub const TXRTSPOL_1: u32 = 0b1;
}
}
pub mod RXRTSE {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RXRTSE_0: u32 = 0b0;
pub const RXRTSE_1: u32 = 0b1;
}
}
pub mod TXCTSC {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TXCTSC_0: u32 = 0b0;
pub const TXCTSC_1: u32 = 0b1;
}
}
pub mod TXCTSSRC {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TXCTSSRC_0: u32 = 0b0;
pub const TXCTSSRC_1: u32 = 0b1;
}
}
pub mod RTSWATER {
pub const offset: u32 = 8;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TNP {
pub const offset: u32 = 16;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TNP_0: u32 = 0b00;
pub const TNP_1: u32 = 0b01;
pub const TNP_2: u32 = 0b10;
pub const TNP_3: u32 = 0b11;
}
}
pub mod IREN {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const IREN_0: u32 = 0b0;
pub const IREN_1: u32 = 0b1;
}
}
}
pub mod FIFO {
pub mod RXFIFOSIZE {
pub const offset: u32 = 0;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RXFIFOSIZE_0: u32 = 0b000;
pub const RXFIFOSIZE_1: u32 = 0b001;
pub const RXFIFOSIZE_2: u32 = 0b010;
pub const RXFIFOSIZE_3: u32 = 0b011;
pub const RXFIFOSIZE_4: u32 = 0b100;
pub const RXFIFOSIZE_5: u32 = 0b101;
pub const RXFIFOSIZE_6: u32 = 0b110;
pub const RXFIFOSIZE_7: u32 = 0b111;
}
}
pub mod RXFE {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RXFE_0: u32 = 0b0;
pub const RXFE_1: u32 = 0b1;
}
}
pub mod TXFIFOSIZE {
pub const offset: u32 = 4;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TXFIFOSIZE_0: u32 = 0b000;
pub const TXFIFOSIZE_1: u32 = 0b001;
pub const TXFIFOSIZE_2: u32 = 0b010;
pub const TXFIFOSIZE_3: u32 = 0b011;
pub const TXFIFOSIZE_4: u32 = 0b100;
pub const TXFIFOSIZE_5: u32 = 0b101;
pub const TXFIFOSIZE_6: u32 = 0b110;
pub const TXFIFOSIZE_7: u32 = 0b111;
}
}
pub mod TXFE {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TXFE_0: u32 = 0b0;
pub const TXFE_1: u32 = 0b1;
}
}
pub mod RXUFE {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RXUFE_0: u32 = 0b0;
pub const RXUFE_1: u32 = 0b1;
}
}
pub mod TXOFE {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TXOFE_0: u32 = 0b0;
pub const TXOFE_1: u32 = 0b1;
}
}
pub mod RXIDEN {
pub const offset: u32 = 10;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RXIDEN_0: u32 = 0b000;
pub const RXIDEN_1: u32 = 0b001;
pub const RXIDEN_2: u32 = 0b010;
pub const RXIDEN_3: u32 = 0b011;
pub const RXIDEN_4: u32 = 0b100;
pub const RXIDEN_5: u32 = 0b101;
pub const RXIDEN_6: u32 = 0b110;
pub const RXIDEN_7: u32 = 0b111;
}
}
pub mod RXFLUSH {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RXFLUSH_0: u32 = 0b0;
pub const RXFLUSH_1: u32 = 0b1;
}
}
pub mod TXFLUSH {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TXFLUSH_0: u32 = 0b0;
pub const TXFLUSH_1: u32 = 0b1;
}
}
pub mod RXUF {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RXUF_0: u32 = 0b0;
pub const RXUF_1: u32 = 0b1;
}
}
pub mod TXOF {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TXOF_0: u32 = 0b0;
pub const TXOF_1: u32 = 0b1;
}
}
pub mod RXEMPT {
pub const offset: u32 = 22;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RXEMPT_0: u32 = 0b0;
pub const RXEMPT_1: u32 = 0b1;
}
}
pub mod TXEMPT {
pub const offset: u32 = 23;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TXEMPT_0: u32 = 0b0;
pub const TXEMPT_1: u32 = 0b1;
}
}
}
pub mod WATER {
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 TXCOUNT {
pub const offset: u32 = 8;
pub const mask: u32 = 0b111 << 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 RXCOUNT {
pub const offset: u32 = 24;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
#[repr(C)]
pub struct RegisterBlock {
pub VERID: RORegister<u32>,
pub PARAM: RORegister<u32>,
pub GLOBAL: RWRegister<u32>,
pub PINCFG: RWRegister<u32>,
pub BAUD: RWRegister<u32>,
pub STAT: RWRegister<u32>,
pub CTRL: RWRegister<u32>,
pub DATA: RWRegister<u32>,
pub MATCH: RWRegister<u32>,
pub MODIR: RWRegister<u32>,
pub FIFO: RWRegister<u32>,
pub WATER: RWRegister<u32>,
}
pub struct ResetValues {
pub VERID: u32,
pub PARAM: u32,
pub GLOBAL: u32,
pub PINCFG: u32,
pub BAUD: u32,
pub STAT: u32,
pub CTRL: u32,
pub DATA: u32,
pub MATCH: u32,
pub MODIR: u32,
pub FIFO: u32,
pub WATER: 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 {}
pub mod LPUART1 {
use super::ResetValues;
#[cfg(not(feature = "nosync"))]
use super::Instance;
#[cfg(not(feature = "nosync"))]
const INSTANCE: Instance = Instance {
addr: 0x40184000,
_marker: ::core::marker::PhantomData,
};
pub const reset: ResetValues = ResetValues {
VERID: 0x04010003,
PARAM: 0x00000202,
GLOBAL: 0x00000000,
PINCFG: 0x00000000,
BAUD: 0x0F000004,
STAT: 0x00C00000,
CTRL: 0x00000000,
DATA: 0x00001000,
MATCH: 0x00000000,
MODIR: 0x00000000,
FIFO: 0x00C00011,
WATER: 0x00000000,
};
#[cfg(not(feature = "nosync"))]
#[allow(renamed_and_removed_lints)]
#[allow(private_no_mangle_statics)]
#[no_mangle]
static mut LPUART1_TAKEN: bool = false;
#[cfg(not(feature = "nosync"))]
#[inline]
pub fn take() -> Option<Instance> {
external_cortex_m::interrupt::free(|_| unsafe {
if LPUART1_TAKEN {
None
} else {
LPUART1_TAKEN = true;
Some(INSTANCE)
}
})
}
#[cfg(not(feature = "nosync"))]
#[inline]
pub fn release(inst: Instance) {
external_cortex_m::interrupt::free(|_| unsafe {
if LPUART1_TAKEN && inst.addr == INSTANCE.addr {
LPUART1_TAKEN = false;
} else {
panic!("Released a peripheral which was not taken");
}
});
}
#[cfg(not(feature = "nosync"))]
#[inline]
pub unsafe fn steal() -> Instance {
LPUART1_TAKEN = true;
INSTANCE
}
}
pub const LPUART1: *const RegisterBlock = 0x40184000 as *const _;
pub mod LPUART2 {
use super::ResetValues;
#[cfg(not(feature = "nosync"))]
use super::Instance;
#[cfg(not(feature = "nosync"))]
const INSTANCE: Instance = Instance {
addr: 0x40188000,
_marker: ::core::marker::PhantomData,
};
pub const reset: ResetValues = ResetValues {
VERID: 0x04010003,
PARAM: 0x00000202,
GLOBAL: 0x00000000,
PINCFG: 0x00000000,
BAUD: 0x0F000004,
STAT: 0x00C00000,
CTRL: 0x00000000,
DATA: 0x00001000,
MATCH: 0x00000000,
MODIR: 0x00000000,
FIFO: 0x00C00011,
WATER: 0x00000000,
};
#[cfg(not(feature = "nosync"))]
#[allow(renamed_and_removed_lints)]
#[allow(private_no_mangle_statics)]
#[no_mangle]
static mut LPUART2_TAKEN: bool = false;
#[cfg(not(feature = "nosync"))]
#[inline]
pub fn take() -> Option<Instance> {
external_cortex_m::interrupt::free(|_| unsafe {
if LPUART2_TAKEN {
None
} else {
LPUART2_TAKEN = true;
Some(INSTANCE)
}
})
}
#[cfg(not(feature = "nosync"))]
#[inline]
pub fn release(inst: Instance) {
external_cortex_m::interrupt::free(|_| unsafe {
if LPUART2_TAKEN && inst.addr == INSTANCE.addr {
LPUART2_TAKEN = false;
} else {
panic!("Released a peripheral which was not taken");
}
});
}
#[cfg(not(feature = "nosync"))]
#[inline]
pub unsafe fn steal() -> Instance {
LPUART2_TAKEN = true;
INSTANCE
}
}
pub const LPUART2: *const RegisterBlock = 0x40188000 as *const _;
pub mod LPUART3 {
use super::ResetValues;
#[cfg(not(feature = "nosync"))]
use super::Instance;
#[cfg(not(feature = "nosync"))]
const INSTANCE: Instance = Instance {
addr: 0x4018c000,
_marker: ::core::marker::PhantomData,
};
pub const reset: ResetValues = ResetValues {
VERID: 0x04010003,
PARAM: 0x00000202,
GLOBAL: 0x00000000,
PINCFG: 0x00000000,
BAUD: 0x0F000004,
STAT: 0x00C00000,
CTRL: 0x00000000,
DATA: 0x00001000,
MATCH: 0x00000000,
MODIR: 0x00000000,
FIFO: 0x00C00011,
WATER: 0x00000000,
};
#[cfg(not(feature = "nosync"))]
#[allow(renamed_and_removed_lints)]
#[allow(private_no_mangle_statics)]
#[no_mangle]
static mut LPUART3_TAKEN: bool = false;
#[cfg(not(feature = "nosync"))]
#[inline]
pub fn take() -> Option<Instance> {
external_cortex_m::interrupt::free(|_| unsafe {
if LPUART3_TAKEN {
None
} else {
LPUART3_TAKEN = true;
Some(INSTANCE)
}
})
}
#[cfg(not(feature = "nosync"))]
#[inline]
pub fn release(inst: Instance) {
external_cortex_m::interrupt::free(|_| unsafe {
if LPUART3_TAKEN && inst.addr == INSTANCE.addr {
LPUART3_TAKEN = false;
} else {
panic!("Released a peripheral which was not taken");
}
});
}
#[cfg(not(feature = "nosync"))]
#[inline]
pub unsafe fn steal() -> Instance {
LPUART3_TAKEN = true;
INSTANCE
}
}
pub const LPUART3: *const RegisterBlock = 0x4018c000 as *const _;
pub mod LPUART4 {
use super::ResetValues;
#[cfg(not(feature = "nosync"))]
use super::Instance;
#[cfg(not(feature = "nosync"))]
const INSTANCE: Instance = Instance {
addr: 0x40190000,
_marker: ::core::marker::PhantomData,
};
pub const reset: ResetValues = ResetValues {
VERID: 0x04010003,
PARAM: 0x00000202,
GLOBAL: 0x00000000,
PINCFG: 0x00000000,
BAUD: 0x0F000004,
STAT: 0x00C00000,
CTRL: 0x00000000,
DATA: 0x00001000,
MATCH: 0x00000000,
MODIR: 0x00000000,
FIFO: 0x00C00011,
WATER: 0x00000000,
};
#[cfg(not(feature = "nosync"))]
#[allow(renamed_and_removed_lints)]
#[allow(private_no_mangle_statics)]
#[no_mangle]
static mut LPUART4_TAKEN: bool = false;
#[cfg(not(feature = "nosync"))]
#[inline]
pub fn take() -> Option<Instance> {
external_cortex_m::interrupt::free(|_| unsafe {
if LPUART4_TAKEN {
None
} else {
LPUART4_TAKEN = true;
Some(INSTANCE)
}
})
}
#[cfg(not(feature = "nosync"))]
#[inline]
pub fn release(inst: Instance) {
external_cortex_m::interrupt::free(|_| unsafe {
if LPUART4_TAKEN && inst.addr == INSTANCE.addr {
LPUART4_TAKEN = false;
} else {
panic!("Released a peripheral which was not taken");
}
});
}
#[cfg(not(feature = "nosync"))]
#[inline]
pub unsafe fn steal() -> Instance {
LPUART4_TAKEN = true;
INSTANCE
}
}
pub const LPUART4: *const RegisterBlock = 0x40190000 as *const _;