nxp-pac

Crates

git

Versions

mcxa577

Flavors

TenbasetPhy

Struct TenbasetPhy 

Source
pub struct TenbasetPhy { /* private fields */ }
Expand description

MCX-A5 10BASE-T1S digital PHY at 0x4002d000 (XML T1S0; metadata _10BASE_T1S0). All registers and fieldset storage are 16-bit. No analog PMD, driver or protocol state machine is implemented here. Fixed 10 Mbit/s half duplex. Read-only subfields are documented, not enforced within writable fieldsets. PHYSTAT is clear-on-read; interrupt capture and diagnostic flags are write-one-to-clear. PLCADIAG3/4 counters clear by writing all zeros, not ones. Interrupt enable set/clear registers are aliases. PCSDIAG1/2 and PLCARECST are ordinary read-only values: chapter 54 does not specify read-clear behavior. Numeric fields are raw to preserve legal ranges and reserved holes; do not treat multibit values as booleans. reset_value supplies software Default from the manual reset tables, not observed hardware; live flags can change after reset release.

Implementations§

Source§

impl TenbasetPhy

Source

pub const unsafe fn from_ptr(ptr: *mut ()) -> Self

Source

pub const fn as_ptr(&self) -> *mut ()

Source

pub const fn phyctrl(self) -> Reg<Phyctrl, RW>

PHY control. RESET is the soft-reset command (the manual says write clears bits). SPD1/SPD0 and DUPLX are fixed read-only indicators (10 Mbit/s, half duplex).

Source

pub const fn phystat(self) -> Reg<Phystat, R>

PHY status. LJAB and RJAB are clear-on-read; reads are destructive.

Source

pub const fn phyid0(self) -> Reg<Phyid0, R>

PHY Identifier0.

Source

pub const fn phyid1(self) -> Reg<Phyid1, R>

PHY Identifier1.

Source

pub const fn base1ext(self) -> Reg<Base1Ext, R>

PHY BASE-T1 Extended.

Source

pub const fn pmapmdctrl(self) -> Reg<Pmapmdctrl, R>

PMA/PMD Control.

Source

pub const fn pmactrl(self) -> Reg<Pmactrl, RW>

PMA CTRL.

Source

pub const fn pmastat(self) -> Reg<Pmastat, R>

PMA Status.

Source

pub const fn pmatm(self) -> Reg<Pmatm, RW>

PMA Test Mode.

Source

pub const fn pcsctrl(self) -> Reg<Pcsctrl, RW>

PCS Control.

Source

pub const fn pcsstat(self) -> Reg<Pcsstat, R>

PCS Status.

Source

pub const fn pcsdiag1(self) -> Reg<Pcsdiag1, R>

PCS Remote Jabber Counter.

Source

pub const fn pcsdiag2(self) -> Reg<Pcsdiag2, R>

PCS Physical Collisions Counter.

Source

pub const fn plcaidver(self) -> Reg<Plcaidver, R>

PLCA Identification and Version.

Source

pub const fn plcactrl0(self) -> Reg<Plcactrl0, RW>

PLCA Control0.

Source

pub const fn plcactrl1(self) -> Reg<Plcactrl1, RW>

PLCA Control1.

Source

pub const fn plcastat(self) -> Reg<Plcastat, R>

PLCA Status.

Source

pub const fn plcatotmr(self) -> Reg<Plcatotmr, RW>

PLCA Transmit Opportunity Timer.

Source

pub const fn plcaburst(self) -> Reg<Plcaburst, RW>

PLCA Burst Mode Configuration.

Source

pub const fn plcarecst(self) -> Reg<Plcarecst, R>

PLCA Status.

Source

pub const fn modectrl(self) -> Reg<Modectrl, RW>

MODE Control.

Source

pub const fn modecfg(self) -> Reg<Modecfg, RW>

Mode Configuration.

Source

pub const fn modestat(self) -> Reg<Modestat, R>

Mode Status.

Source

pub const fn wkctrl(self) -> Reg<Wkctrl, RW>

Wake Control.

Source

pub const fn wkcfg(self) -> Reg<Wkcfg, RW>

Wake Configuration.

Source

pub const fn wupctrl(self) -> Reg<Wupctrl, RW>

Wake Control.

Source

pub const fn wupcfg(self) -> Reg<Wupcfg, RW>

Wakeup Configuration.

Source

pub const fn wupstat(self) -> Reg<Wupstat, R>

Wakeup Status.

Source

pub const fn smidata(self) -> Reg<Smidata, RW>

SMI Frame DATA.

Source

pub const fn smictrl(self) -> Reg<Smictrl, RW>

SMI Control. In TXCCFG mode, every write to SMICTRL triggers an SMI transaction. Check SMISTAT[READY] before starting an access. For write transactions, stage SMIDATA first. Prepare the complete control word (ST, OP, PA, RA and TA) before issuing one register write; separate field writes can trigger unintended intermediate transactions. See section 54.4.2, manual lines 171146-171160.

Source

pub const fn smicfg(self) -> Reg<Smicfg, RW>

SMI Configuration.

Source

pub const fn smistat(self) -> Reg<Smistat, R>

SMI Status.

Source

pub const fn intencapt1(self) -> Reg<Intencapt1, RW>

Interrupt Capture1. Captured interrupt flags are write-one-to-clear; write only intended acknowledgement bits.

Source

pub const fn intenset1(self) -> Reg<Intenset1, RW>

Interrupt Enable Set1. Set alias for interrupt enable state: writing one enables the corresponding interrupt; zero has no effect.

Source

pub const fn intenclr1(self) -> Reg<Intenclr1, RW>

Interrupt Enable Clear1. Clear alias for interrupt enable state: writing one disables the corresponding interrupt; zero has no effect.

Source

pub const fn intstat1(self) -> Reg<Intstat1, R>

Interrupt Status1.

Source

pub const fn intencapt2(self) -> Reg<Intencapt2, RW>

Interrupt Capture2. Captured interrupt flags are write-one-to-clear; write only intended acknowledgement bits.

Source

pub const fn intenset2(self) -> Reg<Intenset2, RW>

Interrupt Enable Set1. Set alias for interrupt enable state: writing one enables the corresponding interrupt; zero has no effect.

Source

pub const fn intenclr2(self) -> Reg<Intenclr2, RW>

Interrupt Enable Clear2. Clear alias for interrupt enable state: writing one disables the corresponding interrupt; zero has no effect.

Source

pub const fn intstat2(self) -> Reg<Intstat2, R>

Interrupt Status2.

Source

pub const fn plcadiag1(self) -> Reg<Plcadiag1, RW>

PLCA TC14 Adv diagnostics. Diagnostic flags are write-one-to-clear.

Source

pub const fn plcadiag2(self) -> Reg<Plcadiag2, RW>

PLCA NXP prop diagnostics. Diagnostic flags are write-one-to-clear.

Source

pub const fn plcadiag3(self) -> Reg<Plcadiag3, RW>

PLCA Beacon Counter Diagnostics. Write all zeros to clear the receive-beacon counter; this is not write-one-to-clear.

Source

pub const fn plcadiag4(self) -> Reg<Plcadiag4, RW>

PLCA TO Counter Diagnostics. Write all zeros to clear the transmit-opportunity counter; this is not write-one-to-clear.

Source

pub const fn txcdiag(self) -> Reg<Txcdiag, RW>

Transceiver Diagnostics. Diagnostic flags are write-one-to-clear; live flags can change after reset release.

Source

pub const fn mskplcadiag1(self) -> Reg<Mskplcadiag1, RW>

Mask Control PLCADIAG1 Flag.

Source

pub const fn mskplcadiag2(self) -> Reg<Mskplcadiag2, RW>

Mask Control PLCADIAG2 Flags.

Source

pub const fn msktxcdiag(self) -> Reg<Msktxcdiag, RW>

Mask Control TXCDIAG Flag.

Source

pub const fn accessctrl(self) -> Reg<Accessctrl, RW>

Global Access Control. ACCESS gates APB writes to the static registers listed in section 54.5.1; this is a PHY configuration gate, not security provisioning.

Source

pub const fn dbgctrl(self) -> Reg<Dbgctrl, RW>

Debug Control.

Source

pub const fn version(self) -> Reg<Version, R>

Version Information.

Trait Implementations§

Source§

impl Clone for TenbasetPhy

Source§

fn clone(&self) -> TenbasetPhy

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl PartialEq for TenbasetPhy

Source§

fn eq(&self, other: &TenbasetPhy) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for TenbasetPhy

Source§

impl Eq for TenbasetPhy

Source§

impl Send for TenbasetPhy

Source§

impl StructuralPartialEq for TenbasetPhy

Source§

impl Sync for TenbasetPhy

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.