Lines Matching +full:3 +full:- +full:c45
1 // SPDX-License-Identifier: GPL-2.0
24 /// C22 and C45 PHY registers.
32 /// // read C45 PMA/PMD control 1 register
33 /// dev.read(C45::new(Mmd::PMAPMD, 0));
38 /// // Checks the link status as reported by registers in the C45 namespace
40 /// dev.genphy_read_status::<phy::C45>();
45 fn read(&self, dev: &mut Device) -> Result<u16>; in read()
48 fn write(&self, dev: &mut Device, val: u16) -> Result; in write()
51 fn read_status(dev: &mut Device) -> Result<u16>; in read_status()
67 /// Auto-negotiation advertisement.
69 /// Auto-negotiation link partner base page ability.
71 /// Auto-negotiation expansion.
73 /// Auto-negotiation next page transmit.
75 /// Auto-negotiation link partner received next page.
77 /// Master-slave control.
79 /// Master-slave status.
93 pub const fn vendor_specific<const N: u8>() -> Self { in vendor_specific()
96 "Vendor-specific register address must be between 16 and 31" in vendor_specific()
105 fn read(&self, dev: &mut Device) -> Result<u16> { in read()
117 fn write(&self, dev: &mut Device, val: u16) -> Result { in write()
127 fn read_status(dev: &mut Device) -> Result<u16> { in read_status()
160 /// Separated PMA (3).
178 /// Clause 45 uses a 5-bit device address to access a specific MMD within
179 /// a port, then a 16-bit register address to access a location within
180 /// that device. `C45` represents this by storing a [`Mmd`] and
182 pub struct C45 { struct
187 impl C45 { argument
188 /// Creates a new instance of `C45`.
189 pub fn new(devad: Mmd, regnum: u16) -> Self { in new()
194 impl private::Sealed for C45 {} implementation
196 impl Register for C45 { implementation
197 fn read(&self, dev: &mut Device) -> Result<u16> { in read()
207 fn write(&self, dev: &mut Device, val: u16) -> Result { in write()
216 fn read_status(dev: &mut Device) -> Result<u16> { in read_status()