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
impl TenbasetPhy
pub const unsafe fn from_ptr(ptr: *mut ()) -> Self
pub const fn as_ptr(&self) -> *mut ()
Sourcepub const fn phyctrl(self) -> Reg<Phyctrl, RW>
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).
Sourcepub const fn phystat(self) -> Reg<Phystat, R>
pub const fn phystat(self) -> Reg<Phystat, R>
PHY status. LJAB and RJAB are clear-on-read; reads are destructive.
Sourcepub const fn pmapmdctrl(self) -> Reg<Pmapmdctrl, R>
pub const fn pmapmdctrl(self) -> Reg<Pmapmdctrl, R>
PMA/PMD Control.
Sourcepub const fn smictrl(self) -> Reg<Smictrl, RW>
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.
Sourcepub const fn intencapt1(self) -> Reg<Intencapt1, RW>
pub const fn intencapt1(self) -> Reg<Intencapt1, RW>
Interrupt Capture1. Captured interrupt flags are write-one-to-clear; write only intended acknowledgement bits.
Sourcepub const fn intenset1(self) -> Reg<Intenset1, RW>
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.
Sourcepub const fn intenclr1(self) -> Reg<Intenclr1, RW>
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.
Sourcepub const fn intencapt2(self) -> Reg<Intencapt2, RW>
pub const fn intencapt2(self) -> Reg<Intencapt2, RW>
Interrupt Capture2. Captured interrupt flags are write-one-to-clear; write only intended acknowledgement bits.
Sourcepub const fn intenset2(self) -> Reg<Intenset2, RW>
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.
Sourcepub const fn intenclr2(self) -> Reg<Intenclr2, RW>
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.
Sourcepub const fn plcadiag1(self) -> Reg<Plcadiag1, RW>
pub const fn plcadiag1(self) -> Reg<Plcadiag1, RW>
PLCA TC14 Adv diagnostics. Diagnostic flags are write-one-to-clear.
Sourcepub const fn plcadiag2(self) -> Reg<Plcadiag2, RW>
pub const fn plcadiag2(self) -> Reg<Plcadiag2, RW>
PLCA NXP prop diagnostics. Diagnostic flags are write-one-to-clear.
Sourcepub const fn plcadiag3(self) -> Reg<Plcadiag3, RW>
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.
Sourcepub const fn plcadiag4(self) -> Reg<Plcadiag4, RW>
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.
Sourcepub const fn txcdiag(self) -> Reg<Txcdiag, RW>
pub const fn txcdiag(self) -> Reg<Txcdiag, RW>
Transceiver Diagnostics. Diagnostic flags are write-one-to-clear; live flags can change after reset release.
Sourcepub const fn mskplcadiag1(self) -> Reg<Mskplcadiag1, RW>
pub const fn mskplcadiag1(self) -> Reg<Mskplcadiag1, RW>
Mask Control PLCADIAG1 Flag.
Sourcepub const fn mskplcadiag2(self) -> Reg<Mskplcadiag2, RW>
pub const fn mskplcadiag2(self) -> Reg<Mskplcadiag2, RW>
Mask Control PLCADIAG2 Flags.
Sourcepub const fn msktxcdiag(self) -> Reg<Msktxcdiag, RW>
pub const fn msktxcdiag(self) -> Reg<Msktxcdiag, RW>
Mask Control TXCDIAG Flag.
Sourcepub const fn accessctrl(self) -> Reg<Accessctrl, RW>
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.
Trait Implementations§
Source§impl Clone for TenbasetPhy
impl Clone for TenbasetPhy
Source§fn clone(&self) -> TenbasetPhy
fn clone(&self) -> TenbasetPhy
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more