#![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 EIR {
pub mod TS_TIMER {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TS_AVAIL {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WAKEUP {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLR {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod UN {
pub const offset: u32 = 19;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RL {
pub const offset: u32 = 20;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod LC {
pub const offset: u32 = 21;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod EBERR {
pub const offset: u32 = 22;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MII {
pub const offset: u32 = 23;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RXB {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RXF {
pub const offset: u32 = 25;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TXB {
pub const offset: u32 = 26;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TXF {
pub const offset: u32 = 27;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod GRA {
pub const offset: u32 = 28;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BABT {
pub const offset: u32 = 29;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BABR {
pub const offset: u32 = 30;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod EIMR {
pub mod TS_TIMER {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TS_AVAIL {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WAKEUP {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLR {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod UN {
pub const offset: u32 = 19;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RL {
pub const offset: u32 = 20;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod LC {
pub const offset: u32 = 21;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod EBERR {
pub const offset: u32 = 22;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MII {
pub const offset: u32 = 23;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RXB {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RXF {
pub const offset: u32 = 25;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TXB {
pub const offset: u32 = 26;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TXB_0: u32 = 0b0;
pub const TXB_1: u32 = 0b1;
}
}
pub mod TXF {
pub const offset: u32 = 27;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TXF_0: u32 = 0b0;
pub const TXF_1: u32 = 0b1;
}
}
pub mod GRA {
pub const offset: u32 = 28;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const GRA_0: u32 = 0b0;
pub const GRA_1: u32 = 0b1;
}
}
pub mod BABT {
pub const offset: u32 = 29;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const BABT_0: u32 = 0b0;
pub const BABT_1: u32 = 0b1;
}
}
pub mod BABR {
pub const offset: u32 = 30;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const BABR_0: u32 = 0b0;
pub const BABR_1: u32 = 0b1;
}
}
}
pub mod RDAR {
pub mod RDAR {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TDAR {
pub mod TDAR {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod ECR {
pub mod RESET {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ETHEREN {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const ETHEREN_0: u32 = 0b0;
pub const ETHEREN_1: u32 = 0b1;
}
}
pub mod MAGICEN {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const MAGICEN_0: u32 = 0b0;
pub const MAGICEN_1: u32 = 0b1;
}
}
pub mod SLEEP {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SLEEP_0: u32 = 0b0;
pub const SLEEP_1: u32 = 0b1;
}
}
pub mod EN1588 {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const EN1588_0: u32 = 0b0;
pub const EN1588_1: u32 = 0b1;
}
}
pub mod DBGEN {
pub const offset: u32 = 6;
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 DBSWP {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const DBSWP_0: u32 = 0b0;
pub const DBSWP_1: u32 = 0b1;
}
}
}
pub mod MMFR {
pub mod DATA {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TA {
pub const offset: u32 = 16;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RA {
pub const offset: u32 = 18;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PA {
pub const offset: u32 = 23;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OP {
pub const offset: u32 = 28;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ST {
pub const offset: u32 = 30;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod MSCR {
pub mod MII_SPEED {
pub const offset: u32 = 1;
pub const mask: u32 = 0x3f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DIS_PRE {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const DIS_PRE_0: u32 = 0b0;
pub const DIS_PRE_1: u32 = 0b1;
}
}
pub mod HOLDTIME {
pub const offset: u32 = 8;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const HOLDTIME_0: u32 = 0b000;
pub const HOLDTIME_1: u32 = 0b001;
pub const HOLDTIME_2: u32 = 0b010;
pub const HOLDTIME_7: u32 = 0b111;
}
}
}
pub mod MIBC {
pub mod MIB_CLEAR {
pub const offset: u32 = 29;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const MIB_CLEAR_0: u32 = 0b0;
pub const MIB_CLEAR_1: u32 = 0b1;
}
}
pub mod MIB_IDLE {
pub const offset: u32 = 30;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const MIB_IDLE_0: u32 = 0b0;
pub const MIB_IDLE_1: u32 = 0b1;
}
}
pub mod MIB_DIS {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const MIB_DIS_0: u32 = 0b0;
pub const MIB_DIS_1: u32 = 0b1;
}
}
}
pub mod RCR {
pub mod LOOP {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const LOOP_0: u32 = 0b0;
pub const LOOP_1: u32 = 0b1;
}
}
pub mod DRT {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const DRT_0: u32 = 0b0;
pub const DRT_1: u32 = 0b1;
}
}
pub mod MII_MODE {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const MII_MODE_1: u32 = 0b1;
}
}
pub mod PROM {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PROM_0: u32 = 0b0;
pub const PROM_1: u32 = 0b1;
}
}
pub mod BC_REJ {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod FCE {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RMII_MODE {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RMII_MODE_0: u32 = 0b0;
pub const RMII_MODE_1: u32 = 0b1;
}
}
pub mod RMII_10T {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RMII_10T_0: u32 = 0b0;
pub const RMII_10T_1: u32 = 0b1;
}
}
pub mod PADEN {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PADEN_0: u32 = 0b0;
pub const PADEN_1: u32 = 0b1;
}
}
pub mod PAUFWD {
pub const offset: u32 = 13;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PAUFWD_0: u32 = 0b0;
pub const PAUFWD_1: u32 = 0b1;
}
}
pub mod CRCFWD {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const CRCFWD_0: u32 = 0b0;
pub const CRCFWD_1: u32 = 0b1;
}
}
pub mod CFEN {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const CFEN_0: u32 = 0b0;
pub const CFEN_1: u32 = 0b1;
}
}
pub mod MAX_FL {
pub const offset: u32 = 16;
pub const mask: u32 = 0x3fff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod NLC {
pub const offset: u32 = 30;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const NLC_0: u32 = 0b0;
pub const NLC_1: u32 = 0b1;
}
}
pub mod GRS {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TCR {
pub mod GTS {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod FDEN {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TFC_PAUSE {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TFC_PAUSE_0: u32 = 0b0;
pub const TFC_PAUSE_1: u32 = 0b1;
}
}
pub mod RFC_PAUSE {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ADDSEL {
pub const offset: u32 = 5;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const ADDSEL_0: u32 = 0b000;
}
}
pub mod ADDINS {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const ADDINS_0: u32 = 0b0;
pub const ADDINS_1: u32 = 0b1;
}
}
pub mod CRCFWD {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const CRCFWD_0: u32 = 0b0;
pub const CRCFWD_1: u32 = 0b1;
}
}
}
pub mod PALR {
pub mod PADDR1 {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod PAUR {
pub mod TYPE {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PADDR2 {
pub const offset: u32 = 16;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod OPD {
pub mod PAUSE_DUR {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OPCODE {
pub const offset: u32 = 16;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TXIC {
pub mod ICTT {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ICFT {
pub const offset: u32 = 20;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ICCS {
pub const offset: u32 = 30;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const ICCS_0: u32 = 0b0;
pub const ICCS_1: u32 = 0b1;
}
}
pub mod ICEN {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const ICEN_0: u32 = 0b0;
pub const ICEN_1: u32 = 0b1;
}
}
}
pub mod RXIC {
pub use super::TXIC::ICCS;
pub use super::TXIC::ICEN;
pub use super::TXIC::ICFT;
pub use super::TXIC::ICTT;
}
pub mod IAUR {
pub mod IADDR1 {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod IALR {
pub mod IADDR2 {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod GAUR {
pub mod GADDR1 {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod GALR {
pub mod GADDR2 {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TFWR {
pub mod TFWR {
pub const offset: u32 = 0;
pub const mask: u32 = 0x3f << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TFWR_0: u32 = 0b000000;
pub const TFWR_1: u32 = 0b000001;
pub const TFWR_2: u32 = 0b000010;
pub const TFWR_3: u32 = 0b000011;
pub const TFWR_31: u32 = 0b011111;
}
}
pub mod STRFWD {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const STRFWD_0: u32 = 0b0;
pub const STRFWD_1: u32 = 0b1;
}
}
}
pub mod RDSR {
pub mod R_DES_START {
pub const offset: u32 = 3;
pub const mask: u32 = 0x1fffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TDSR {
pub mod X_DES_START {
pub const offset: u32 = 3;
pub const mask: u32 = 0x1fffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod MRBR {
pub mod R_BUF_SIZE {
pub const offset: u32 = 4;
pub const mask: u32 = 0x3ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod RSFL {
pub mod RX_SECTION_FULL {
pub const offset: u32 = 0;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod RSEM {
pub mod RX_SECTION_EMPTY {
pub const offset: u32 = 0;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod STAT_SECTION_EMPTY {
pub const offset: u32 = 16;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod RAEM {
pub mod RX_ALMOST_EMPTY {
pub const offset: u32 = 0;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod RAFL {
pub mod RX_ALMOST_FULL {
pub const offset: u32 = 0;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TSEM {
pub mod TX_SECTION_EMPTY {
pub const offset: u32 = 0;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TAEM {
pub mod TX_ALMOST_EMPTY {
pub const offset: u32 = 0;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TAFL {
pub mod TX_ALMOST_FULL {
pub const offset: u32 = 0;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TIPG {
pub mod IPG {
pub const offset: u32 = 0;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod FTRL {
pub mod TRUNC_FL {
pub const offset: u32 = 0;
pub const mask: u32 = 0x3fff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TACC {
pub mod SHIFT16 {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SHIFT16_0: u32 = 0b0;
pub const SHIFT16_1: u32 = 0b1;
}
}
pub mod IPCHK {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const IPCHK_0: u32 = 0b0;
pub const IPCHK_1: u32 = 0b1;
}
}
pub mod PROCHK {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PROCHK_0: u32 = 0b0;
pub const PROCHK_1: u32 = 0b1;
}
}
}
pub mod RACC {
pub mod PADREM {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PADREM_0: u32 = 0b0;
pub const PADREM_1: u32 = 0b1;
}
}
pub mod IPDIS {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const IPDIS_0: u32 = 0b0;
pub const IPDIS_1: u32 = 0b1;
}
}
pub mod PRODIS {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PRODIS_0: u32 = 0b0;
pub const PRODIS_1: u32 = 0b1;
}
}
pub mod LINEDIS {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const LINEDIS_0: u32 = 0b0;
pub const LINEDIS_1: u32 = 0b1;
}
}
pub mod SHIFT16 {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SHIFT16_0: u32 = 0b0;
pub const SHIFT16_1: u32 = 0b1;
}
}
}
pub mod RMON_T_DROP {}
pub mod RMON_T_PACKETS {
pub mod TXPKTS {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod RMON_T_BC_PKT {
pub use super::RMON_T_PACKETS::TXPKTS;
}
pub mod RMON_T_MC_PKT {
pub use super::RMON_T_PACKETS::TXPKTS;
}
pub mod RMON_T_CRC_ALIGN {
pub use super::RMON_T_PACKETS::TXPKTS;
}
pub mod RMON_T_UNDERSIZE {
pub use super::RMON_T_PACKETS::TXPKTS;
}
pub mod RMON_T_OVERSIZE {
pub use super::RMON_T_PACKETS::TXPKTS;
}
pub mod RMON_T_FRAG {
pub use super::RMON_T_PACKETS::TXPKTS;
}
pub mod RMON_T_JAB {
pub use super::RMON_T_PACKETS::TXPKTS;
}
pub mod RMON_T_COL {
pub use super::RMON_T_PACKETS::TXPKTS;
}
pub mod RMON_T_P64 {
pub use super::RMON_T_PACKETS::TXPKTS;
}
pub mod RMON_T_P65TO127 {
pub use super::RMON_T_PACKETS::TXPKTS;
}
pub mod RMON_T_P128TO255 {
pub use super::RMON_T_PACKETS::TXPKTS;
}
pub mod RMON_T_P256TO511 {
pub use super::RMON_T_PACKETS::TXPKTS;
}
pub mod RMON_T_P512TO1023 {
pub use super::RMON_T_PACKETS::TXPKTS;
}
pub mod RMON_T_P1024TO2047 {
pub use super::RMON_T_PACKETS::TXPKTS;
}
pub mod RMON_T_P_GTE2048 {
pub use super::RMON_T_PACKETS::TXPKTS;
}
pub mod RMON_T_OCTETS {
pub mod TXOCTS {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod IEEE_T_DROP {}
pub mod IEEE_T_FRAME_OK {
pub mod COUNT {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod IEEE_T_1COL {
pub use super::IEEE_T_FRAME_OK::COUNT;
}
pub mod IEEE_T_MCOL {
pub use super::IEEE_T_FRAME_OK::COUNT;
}
pub mod IEEE_T_DEF {
pub use super::IEEE_T_FRAME_OK::COUNT;
}
pub mod IEEE_T_LCOL {
pub use super::IEEE_T_FRAME_OK::COUNT;
}
pub mod IEEE_T_EXCOL {
pub use super::IEEE_T_FRAME_OK::COUNT;
}
pub mod IEEE_T_MACERR {
pub use super::IEEE_T_FRAME_OK::COUNT;
}
pub mod IEEE_T_CSERR {
pub use super::IEEE_T_FRAME_OK::COUNT;
}
pub mod IEEE_T_SQE {
pub use super::IEEE_T_FRAME_OK::COUNT;
}
pub mod IEEE_T_FDXFC {
pub use super::IEEE_T_FRAME_OK::COUNT;
}
pub mod IEEE_T_OCTETS_OK {
pub mod COUNT {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod RMON_R_PACKETS {
pub use super::IEEE_T_FRAME_OK::COUNT;
}
pub mod RMON_R_BC_PKT {
pub use super::IEEE_T_FRAME_OK::COUNT;
}
pub mod RMON_R_MC_PKT {
pub use super::IEEE_T_FRAME_OK::COUNT;
}
pub mod RMON_R_CRC_ALIGN {
pub use super::IEEE_T_FRAME_OK::COUNT;
}
pub mod RMON_R_UNDERSIZE {
pub use super::IEEE_T_FRAME_OK::COUNT;
}
pub mod RMON_R_OVERSIZE {
pub use super::IEEE_T_FRAME_OK::COUNT;
}
pub mod RMON_R_FRAG {
pub use super::IEEE_T_FRAME_OK::COUNT;
}
pub mod RMON_R_JAB {
pub use super::IEEE_T_FRAME_OK::COUNT;
}
pub mod RMON_R_RESVD_0 {}
pub mod RMON_R_P64 {
pub use super::IEEE_T_FRAME_OK::COUNT;
}
pub mod RMON_R_P65TO127 {
pub use super::IEEE_T_FRAME_OK::COUNT;
}
pub mod RMON_R_P128TO255 {
pub use super::IEEE_T_FRAME_OK::COUNT;
}
pub mod RMON_R_P256TO511 {
pub use super::IEEE_T_FRAME_OK::COUNT;
}
pub mod RMON_R_P512TO1023 {
pub use super::IEEE_T_FRAME_OK::COUNT;
}
pub mod RMON_R_P1024TO2047 {
pub use super::IEEE_T_FRAME_OK::COUNT;
}
pub mod RMON_R_P_GTE2048 {
pub use super::IEEE_T_FRAME_OK::COUNT;
}
pub mod RMON_R_OCTETS {
pub use super::IEEE_T_OCTETS_OK::COUNT;
}
pub mod IEEE_R_DROP {
pub use super::IEEE_T_FRAME_OK::COUNT;
}
pub mod IEEE_R_FRAME_OK {
pub use super::IEEE_T_FRAME_OK::COUNT;
}
pub mod IEEE_R_CRC {
pub use super::IEEE_T_FRAME_OK::COUNT;
}
pub mod IEEE_R_ALIGN {
pub use super::IEEE_T_FRAME_OK::COUNT;
}
pub mod IEEE_R_MACERR {
pub use super::IEEE_T_FRAME_OK::COUNT;
}
pub mod IEEE_R_FDXFC {
pub use super::IEEE_T_FRAME_OK::COUNT;
}
pub mod IEEE_R_OCTETS_OK {
pub use super::IEEE_T_OCTETS_OK::COUNT;
}
pub mod ATCR {
pub mod EN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const EN_0: u32 = 0b0;
pub const EN_1: u32 = 0b1;
}
}
pub mod OFFEN {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const OFFEN_0: u32 = 0b0;
pub const OFFEN_1: u32 = 0b1;
}
}
pub mod OFFRST {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const OFFRST_0: u32 = 0b0;
pub const OFFRST_1: u32 = 0b1;
}
}
pub mod PEREN {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PEREN_0: u32 = 0b0;
pub const PEREN_1: u32 = 0b1;
}
}
pub mod PINPER {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PINPER_0: u32 = 0b0;
pub const PINPER_1: u32 = 0b1;
}
}
pub mod RESTART {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CAPTURE {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const CAPTURE_0: u32 = 0b0;
pub const CAPTURE_1: u32 = 0b1;
}
}
pub mod SLAVE {
pub const offset: u32 = 13;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SLAVE_0: u32 = 0b0;
pub const SLAVE_1: u32 = 0b1;
}
}
}
pub mod ATVR {
pub mod ATIME {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod ATOFF {
pub mod OFFSET {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod ATPER {
pub mod PERIOD {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod ATCOR {
pub mod COR {
pub const offset: u32 = 0;
pub const mask: u32 = 0x7fffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod ATINC {
pub mod INC {
pub const offset: u32 = 0;
pub const mask: u32 = 0x7f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod INC_CORR {
pub const offset: u32 = 8;
pub const mask: u32 = 0x7f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod ATSTMP {
pub mod TIMESTAMP {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TGSR {
pub mod TF0 {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TF0_0: u32 = 0b0;
pub const TF0_1: u32 = 0b1;
}
}
pub mod TF1 {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TF1_0: u32 = 0b0;
pub const TF1_1: u32 = 0b1;
}
}
pub mod TF2 {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TF2_0: u32 = 0b0;
pub const TF2_1: u32 = 0b1;
}
}
pub mod TF3 {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TF3_0: u32 = 0b0;
pub const TF3_1: u32 = 0b1;
}
}
}
pub mod TCSR0 {
pub mod TDRE {
pub const offset: u32 = 0;
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 TMODE {
pub const offset: u32 = 2;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TMODE_0: u32 = 0b0000;
pub const TMODE_1: u32 = 0b0001;
pub const TMODE_2: u32 = 0b0010;
pub const TMODE_3: u32 = 0b0011;
pub const TMODE_4: u32 = 0b0100;
pub const TMODE_5: u32 = 0b0101;
pub const TMODE_6: u32 = 0b0110;
pub const TMODE_7: u32 = 0b0111;
pub const TMODE_9: u32 = 0b0000;
pub const TMODE_10: u32 = 0b1010;
pub const TMODE_14: u32 = 0b1110;
pub const TMODE_15: u32 = 0b1111;
}
}
pub mod TIE {
pub const offset: u32 = 6;
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 TF {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TF_0: u32 = 0b0;
pub const TF_1: u32 = 0b1;
}
}
pub mod TPWC {
pub const offset: u32 = 11;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TPWC_0: u32 = 0b00000;
pub const TPWC_1: u32 = 0b00001;
pub const TPWC_2: u32 = 0b00010;
pub const TPWC_3: u32 = 0b00011;
pub const TPWC_31: u32 = 0b11111;
}
}
}
pub mod TCSR1 {
pub use super::TCSR0::TDRE;
pub use super::TCSR0::TF;
pub use super::TCSR0::TIE;
pub use super::TCSR0::TMODE;
pub use super::TCSR0::TPWC;
}
pub mod TCSR2 {
pub use super::TCSR0::TDRE;
pub use super::TCSR0::TF;
pub use super::TCSR0::TIE;
pub use super::TCSR0::TMODE;
pub use super::TCSR0::TPWC;
}
pub mod TCSR3 {
pub use super::TCSR0::TDRE;
pub use super::TCSR0::TF;
pub use super::TCSR0::TIE;
pub use super::TCSR0::TMODE;
pub use super::TCSR0::TPWC;
}
pub mod TCCR0 {
pub mod TCC {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod TCCR1 {
pub use super::TCCR0::TCC;
}
pub mod TCCR2 {
pub use super::TCCR0::TCC;
}
pub mod TCCR3 {
pub use super::TCCR0::TCC;
}
#[repr(C)]
pub struct RegisterBlock {
_reserved1: [u32; 1],
pub EIR: RWRegister<u32>,
pub EIMR: RWRegister<u32>,
_reserved2: [u32; 1],
pub RDAR: RWRegister<u32>,
pub TDAR: RWRegister<u32>,
_reserved3: [u32; 3],
pub ECR: RWRegister<u32>,
_reserved4: [u32; 6],
pub MMFR: RWRegister<u32>,
pub MSCR: RWRegister<u32>,
_reserved5: [u32; 7],
pub MIBC: RWRegister<u32>,
_reserved6: [u32; 7],
pub RCR: RWRegister<u32>,
_reserved7: [u32; 15],
pub TCR: RWRegister<u32>,
_reserved8: [u32; 7],
pub PALR: RWRegister<u32>,
pub PAUR: RWRegister<u32>,
pub OPD: RWRegister<u32>,
pub TXIC: RWRegister<u32>,
_reserved9: [u32; 3],
pub RXIC: RWRegister<u32>,
_reserved10: [u32; 5],
pub IAUR: RWRegister<u32>,
pub IALR: RWRegister<u32>,
pub GAUR: RWRegister<u32>,
pub GALR: RWRegister<u32>,
_reserved11: [u32; 7],
pub TFWR: RWRegister<u32>,
_reserved12: [u32; 14],
pub RDSR: RWRegister<u32>,
pub TDSR: RWRegister<u32>,
pub MRBR: RWRegister<u32>,
_reserved13: [u32; 1],
pub RSFL: RWRegister<u32>,
pub RSEM: RWRegister<u32>,
pub RAEM: RWRegister<u32>,
pub RAFL: RWRegister<u32>,
pub TSEM: RWRegister<u32>,
pub TAEM: RWRegister<u32>,
pub TAFL: RWRegister<u32>,
pub TIPG: RWRegister<u32>,
pub FTRL: RWRegister<u32>,
_reserved14: [u32; 3],
pub TACC: RWRegister<u32>,
pub RACC: RWRegister<u32>,
_reserved15: [u32; 14],
pub RMON_T_DROP: RORegister<u32>,
pub RMON_T_PACKETS: RORegister<u32>,
pub RMON_T_BC_PKT: RORegister<u32>,
pub RMON_T_MC_PKT: RORegister<u32>,
pub RMON_T_CRC_ALIGN: RORegister<u32>,
pub RMON_T_UNDERSIZE: RORegister<u32>,
pub RMON_T_OVERSIZE: RORegister<u32>,
pub RMON_T_FRAG: RORegister<u32>,
pub RMON_T_JAB: RORegister<u32>,
pub RMON_T_COL: RORegister<u32>,
pub RMON_T_P64: RORegister<u32>,
pub RMON_T_P65TO127: RORegister<u32>,
pub RMON_T_P128TO255: RORegister<u32>,
pub RMON_T_P256TO511: RORegister<u32>,
pub RMON_T_P512TO1023: RORegister<u32>,
pub RMON_T_P1024TO2047: RORegister<u32>,
pub RMON_T_P_GTE2048: RORegister<u32>,
pub RMON_T_OCTETS: RORegister<u32>,
pub IEEE_T_DROP: RORegister<u32>,
pub IEEE_T_FRAME_OK: RORegister<u32>,
pub IEEE_T_1COL: RORegister<u32>,
pub IEEE_T_MCOL: RORegister<u32>,
pub IEEE_T_DEF: RORegister<u32>,
pub IEEE_T_LCOL: RORegister<u32>,
pub IEEE_T_EXCOL: RORegister<u32>,
pub IEEE_T_MACERR: RORegister<u32>,
pub IEEE_T_CSERR: RORegister<u32>,
pub IEEE_T_SQE: RORegister<u32>,
pub IEEE_T_FDXFC: RORegister<u32>,
pub IEEE_T_OCTETS_OK: RORegister<u32>,
_reserved16: [u32; 3],
pub RMON_R_PACKETS: RORegister<u32>,
pub RMON_R_BC_PKT: RORegister<u32>,
pub RMON_R_MC_PKT: RORegister<u32>,
pub RMON_R_CRC_ALIGN: RORegister<u32>,
pub RMON_R_UNDERSIZE: RORegister<u32>,
pub RMON_R_OVERSIZE: RORegister<u32>,
pub RMON_R_FRAG: RORegister<u32>,
pub RMON_R_JAB: RORegister<u32>,
pub RMON_R_RESVD_0: RORegister<u32>,
pub RMON_R_P64: RORegister<u32>,
pub RMON_R_P65TO127: RORegister<u32>,
pub RMON_R_P128TO255: RORegister<u32>,
pub RMON_R_P256TO511: RORegister<u32>,
pub RMON_R_P512TO1023: RORegister<u32>,
pub RMON_R_P1024TO2047: RORegister<u32>,
pub RMON_R_P_GTE2048: RORegister<u32>,
pub RMON_R_OCTETS: RORegister<u32>,
pub IEEE_R_DROP: RORegister<u32>,
pub IEEE_R_FRAME_OK: RORegister<u32>,
pub IEEE_R_CRC: RORegister<u32>,
pub IEEE_R_ALIGN: RORegister<u32>,
pub IEEE_R_MACERR: RORegister<u32>,
pub IEEE_R_FDXFC: RORegister<u32>,
pub IEEE_R_OCTETS_OK: RORegister<u32>,
_reserved17: [u32; 71],
pub ATCR: RWRegister<u32>,
pub ATVR: RWRegister<u32>,
pub ATOFF: RWRegister<u32>,
pub ATPER: RWRegister<u32>,
pub ATCOR: RWRegister<u32>,
pub ATINC: RWRegister<u32>,
pub ATSTMP: RORegister<u32>,
_reserved18: [u32; 122],
pub TGSR: RWRegister<u32>,
pub TCSR0: RWRegister<u32>,
pub TCCR0: RWRegister<u32>,
pub TCSR1: RWRegister<u32>,
pub TCCR1: RWRegister<u32>,
pub TCSR2: RWRegister<u32>,
pub TCCR2: RWRegister<u32>,
pub TCSR3: RWRegister<u32>,
pub TCCR3: RWRegister<u32>,
}
pub struct ResetValues {
pub EIR: u32,
pub EIMR: u32,
pub RDAR: u32,
pub TDAR: u32,
pub ECR: u32,
pub MMFR: u32,
pub MSCR: u32,
pub MIBC: u32,
pub RCR: u32,
pub TCR: u32,
pub PALR: u32,
pub PAUR: u32,
pub OPD: u32,
pub TXIC: u32,
pub RXIC: u32,
pub IAUR: u32,
pub IALR: u32,
pub GAUR: u32,
pub GALR: u32,
pub TFWR: u32,
pub RDSR: u32,
pub TDSR: u32,
pub MRBR: u32,
pub RSFL: u32,
pub RSEM: u32,
pub RAEM: u32,
pub RAFL: u32,
pub TSEM: u32,
pub TAEM: u32,
pub TAFL: u32,
pub TIPG: u32,
pub FTRL: u32,
pub TACC: u32,
pub RACC: u32,
pub RMON_T_DROP: u32,
pub RMON_T_PACKETS: u32,
pub RMON_T_BC_PKT: u32,
pub RMON_T_MC_PKT: u32,
pub RMON_T_CRC_ALIGN: u32,
pub RMON_T_UNDERSIZE: u32,
pub RMON_T_OVERSIZE: u32,
pub RMON_T_FRAG: u32,
pub RMON_T_JAB: u32,
pub RMON_T_COL: u32,
pub RMON_T_P64: u32,
pub RMON_T_P65TO127: u32,
pub RMON_T_P128TO255: u32,
pub RMON_T_P256TO511: u32,
pub RMON_T_P512TO1023: u32,
pub RMON_T_P1024TO2047: u32,
pub RMON_T_P_GTE2048: u32,
pub RMON_T_OCTETS: u32,
pub IEEE_T_DROP: u32,
pub IEEE_T_FRAME_OK: u32,
pub IEEE_T_1COL: u32,
pub IEEE_T_MCOL: u32,
pub IEEE_T_DEF: u32,
pub IEEE_T_LCOL: u32,
pub IEEE_T_EXCOL: u32,
pub IEEE_T_MACERR: u32,
pub IEEE_T_CSERR: u32,
pub IEEE_T_SQE: u32,
pub IEEE_T_FDXFC: u32,
pub IEEE_T_OCTETS_OK: u32,
pub RMON_R_PACKETS: u32,
pub RMON_R_BC_PKT: u32,
pub RMON_R_MC_PKT: u32,
pub RMON_R_CRC_ALIGN: u32,
pub RMON_R_UNDERSIZE: u32,
pub RMON_R_OVERSIZE: u32,
pub RMON_R_FRAG: u32,
pub RMON_R_JAB: u32,
pub RMON_R_RESVD_0: u32,
pub RMON_R_P64: u32,
pub RMON_R_P65TO127: u32,
pub RMON_R_P128TO255: u32,
pub RMON_R_P256TO511: u32,
pub RMON_R_P512TO1023: u32,
pub RMON_R_P1024TO2047: u32,
pub RMON_R_P_GTE2048: u32,
pub RMON_R_OCTETS: u32,
pub IEEE_R_DROP: u32,
pub IEEE_R_FRAME_OK: u32,
pub IEEE_R_CRC: u32,
pub IEEE_R_ALIGN: u32,
pub IEEE_R_MACERR: u32,
pub IEEE_R_FDXFC: u32,
pub IEEE_R_OCTETS_OK: u32,
pub ATCR: u32,
pub ATVR: u32,
pub ATOFF: u32,
pub ATPER: u32,
pub ATCOR: u32,
pub ATINC: u32,
pub ATSTMP: u32,
pub TGSR: u32,
pub TCSR0: u32,
pub TCCR0: u32,
pub TCSR1: u32,
pub TCCR1: u32,
pub TCSR2: u32,
pub TCCR2: u32,
pub TCSR3: u32,
pub TCCR3: 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 {}