#![allow(non_snake_case, non_upper_case_globals)]
#![allow(non_camel_case_types)]
#[cfg(not(feature = "nosync"))]
pub use crate::imxrt105::peripherals::enet::Instance;
pub use crate::imxrt105::peripherals::enet::{RegisterBlock, ResetValues};
pub use crate::imxrt105::peripherals::enet::{
ATCOR, ATCR, ATINC, ATOFF, ATPER, ATSTMP, ATVR, ECR, EIMR, EIR, FTRL, GALR, GAUR, IALR, IAUR,
IEEE_R_ALIGN, IEEE_R_CRC, IEEE_R_DROP, IEEE_R_FDXFC, IEEE_R_FRAME_OK, IEEE_R_MACERR,
IEEE_R_OCTETS_OK, IEEE_T_1COL, IEEE_T_CSERR, IEEE_T_DEF, IEEE_T_DROP, IEEE_T_EXCOL,
IEEE_T_FDXFC, IEEE_T_FRAME_OK, IEEE_T_LCOL, IEEE_T_MACERR, IEEE_T_MCOL, IEEE_T_OCTETS_OK,
IEEE_T_SQE, MIBC, MMFR, MRBR, MSCR, OPD, PALR, PAUR, RACC, RAEM, RAFL, RCR, RDAR, RDSR,
RMON_R_BC_PKT, RMON_R_CRC_ALIGN, RMON_R_FRAG, RMON_R_JAB, RMON_R_MC_PKT, RMON_R_OCTETS,
RMON_R_OVERSIZE, RMON_R_P1024TO2047, RMON_R_P128TO255, RMON_R_P256TO511, RMON_R_P512TO1023,
RMON_R_P64, RMON_R_P65TO127, RMON_R_PACKETS, RMON_R_P_GTE2048, RMON_R_RESVD_0,
RMON_R_UNDERSIZE, RMON_T_BC_PKT, RMON_T_COL, RMON_T_CRC_ALIGN, RMON_T_DROP, RMON_T_FRAG,
RMON_T_JAB, RMON_T_MC_PKT, RMON_T_OCTETS, RMON_T_OVERSIZE, RMON_T_P1024TO2047,
RMON_T_P128TO255, RMON_T_P256TO511, RMON_T_P512TO1023, RMON_T_P64, RMON_T_P65TO127,
RMON_T_PACKETS, RMON_T_P_GTE2048, RMON_T_UNDERSIZE, RSEM, RSFL, RXIC, TACC, TAEM, TAFL, TCCR0,
TCCR1, TCCR2, TCCR3, TCR, TCSR0, TCSR1, TCSR2, TCSR3, TDAR, TDSR, TFWR, TGSR, TIPG, TSEM, TXIC,
};
pub mod ENET {
use super::ResetValues;
#[cfg(not(feature = "nosync"))]
use super::Instance;
#[cfg(not(feature = "nosync"))]
const INSTANCE: Instance = Instance {
addr: 0x402d8000,
_marker: ::core::marker::PhantomData,
};
pub const reset: ResetValues = ResetValues {
EIR: 0x00000000,
EIMR: 0x00000000,
RDAR: 0x00000000,
TDAR: 0x00000000,
ECR: 0x70000000,
MMFR: 0x00000000,
MSCR: 0x00000000,
MIBC: 0xC0000000,
RCR: 0x05EE0001,
TCR: 0x00000000,
PALR: 0x00000000,
PAUR: 0x00008808,
OPD: 0x00010000,
TXIC: 0x00000000,
RXIC: 0x00000000,
IAUR: 0x00000000,
IALR: 0x00000000,
GAUR: 0x00000000,
GALR: 0x00000000,
TFWR: 0x00000000,
RDSR: 0x00000000,
TDSR: 0x00000000,
MRBR: 0x00000000,
RSFL: 0x00000000,
RSEM: 0x00000000,
RAEM: 0x00000004,
RAFL: 0x00000004,
TSEM: 0x00000000,
TAEM: 0x00000004,
TAFL: 0x00000008,
TIPG: 0x0000000C,
FTRL: 0x000007FF,
TACC: 0x00000000,
RACC: 0x00000000,
RMON_T_DROP: 0x00000000,
RMON_T_PACKETS: 0x00000000,
RMON_T_BC_PKT: 0x00000000,
RMON_T_MC_PKT: 0x00000000,
RMON_T_CRC_ALIGN: 0x00000000,
RMON_T_UNDERSIZE: 0x00000000,
RMON_T_OVERSIZE: 0x00000000,
RMON_T_FRAG: 0x00000000,
RMON_T_JAB: 0x00000000,
RMON_T_COL: 0x00000000,
RMON_T_P64: 0x00000000,
RMON_T_P65TO127: 0x00000000,
RMON_T_P128TO255: 0x00000000,
RMON_T_P256TO511: 0x00000000,
RMON_T_P512TO1023: 0x00000000,
RMON_T_P1024TO2047: 0x00000000,
RMON_T_P_GTE2048: 0x00000000,
RMON_T_OCTETS: 0x00000000,
IEEE_T_DROP: 0x00000000,
IEEE_T_FRAME_OK: 0x00000000,
IEEE_T_1COL: 0x00000000,
IEEE_T_MCOL: 0x00000000,
IEEE_T_DEF: 0x00000000,
IEEE_T_LCOL: 0x00000000,
IEEE_T_EXCOL: 0x00000000,
IEEE_T_MACERR: 0x00000000,
IEEE_T_CSERR: 0x00000000,
IEEE_T_SQE: 0x00000000,
IEEE_T_FDXFC: 0x00000000,
IEEE_T_OCTETS_OK: 0x00000000,
RMON_R_PACKETS: 0x00000000,
RMON_R_BC_PKT: 0x00000000,
RMON_R_MC_PKT: 0x00000000,
RMON_R_CRC_ALIGN: 0x00000000,
RMON_R_UNDERSIZE: 0x00000000,
RMON_R_OVERSIZE: 0x00000000,
RMON_R_FRAG: 0x00000000,
RMON_R_JAB: 0x00000000,
RMON_R_RESVD_0: 0x00000000,
RMON_R_P64: 0x00000000,
RMON_R_P65TO127: 0x00000000,
RMON_R_P128TO255: 0x00000000,
RMON_R_P256TO511: 0x00000000,
RMON_R_P512TO1023: 0x00000000,
RMON_R_P1024TO2047: 0x00000000,
RMON_R_P_GTE2048: 0x00000000,
RMON_R_OCTETS: 0x00000000,
IEEE_R_DROP: 0x00000000,
IEEE_R_FRAME_OK: 0x00000000,
IEEE_R_CRC: 0x00000000,
IEEE_R_ALIGN: 0x00000000,
IEEE_R_MACERR: 0x00000000,
IEEE_R_FDXFC: 0x00000000,
IEEE_R_OCTETS_OK: 0x00000000,
ATCR: 0x00000000,
ATVR: 0x00000000,
ATOFF: 0x00000000,
ATPER: 0x3B9ACA00,
ATCOR: 0x00000000,
ATINC: 0x00000000,
ATSTMP: 0x00000000,
TGSR: 0x00000000,
TCSR0: 0x00000000,
TCSR1: 0x00000000,
TCSR2: 0x00000000,
TCSR3: 0x00000000,
TCCR0: 0x00000000,
TCCR1: 0x00000000,
TCCR2: 0x00000000,
TCCR3: 0x00000000,
};
#[cfg(not(feature = "nosync"))]
#[allow(renamed_and_removed_lints)]
#[allow(private_no_mangle_statics)]
#[no_mangle]
static mut ENET_TAKEN: bool = false;
#[cfg(not(feature = "nosync"))]
#[inline]
pub fn take() -> Option<Instance> {
external_cortex_m::interrupt::free(|_| unsafe {
if ENET_TAKEN {
None
} else {
ENET_TAKEN = true;
Some(INSTANCE)
}
})
}
#[cfg(not(feature = "nosync"))]
#[inline]
pub fn release(inst: Instance) {
external_cortex_m::interrupt::free(|_| unsafe {
if ENET_TAKEN && inst.addr == INSTANCE.addr {
ENET_TAKEN = false;
} else {
panic!("Released a peripheral which was not taken");
}
});
}
#[cfg(not(feature = "nosync"))]
#[inline]
pub unsafe fn steal() -> Instance {
ENET_TAKEN = true;
INSTANCE
}
}
pub const ENET: *const RegisterBlock = 0x402d8000 as *const _;