pub trait EthernetPinBundle: Sealed {
const MAX_SPEED: Speed;
// Required methods
fn apply(self);
fn apply_speed(speed: Speed);
}Expand description
RMII or MII pad wiring for Ethernet::new.
Required Associated Constants§
Required Methods§
Sourcefn apply(self)
fn apply(self)
Applies the required configuration. Intended to be called by the Ethernet driver internally.
Sourcefn apply_speed(speed: Speed)
fn apply_speed(speed: Speed)
Retunes the interface clocking for a newly negotiated link speed.
Called by the driver from Ethernet::set_speed, after the pins have
been consumed by apply, so it takes no self.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementors§
Source§impl<'d, C, Rxd0, Rxd1, RxDv, Txd0, Txd1, TxEn, Mdc, Mdio> EthernetPinBundle for RmiiPinBundle<C, Rxd0, Rxd1, RxDv, Txd0, Txd1, TxEn, Mdc, Mdio>where
C: RmiiClockConfig,
Rxd0: RmiiRxd0 + 'd,
Rxd1: RmiiRxd1 + 'd,
RxDv: RmiiCrsDv + 'd,
Txd0: RmiiTxd0 + 'd,
Txd1: RmiiTxd1 + 'd,
TxEn: RmiiTxEn + 'd,
Mdc: PeripheralOutput<'d>,
Mdio: PeripheralInput<'d> + PeripheralOutput<'d>,
Available on crate feature unstable only.
impl<'d, C, Rxd0, Rxd1, RxDv, Txd0, Txd1, TxEn, Mdc, Mdio> EthernetPinBundle for RmiiPinBundle<C, Rxd0, Rxd1, RxDv, Txd0, Txd1, TxEn, Mdc, Mdio>where
C: RmiiClockConfig,
Rxd0: RmiiRxd0 + 'd,
Rxd1: RmiiRxd1 + 'd,
RxDv: RmiiCrsDv + 'd,
Txd0: RmiiTxd0 + 'd,
Txd1: RmiiTxd1 + 'd,
TxEn: RmiiTxEn + 'd,
Mdc: PeripheralOutput<'d>,
Mdio: PeripheralInput<'d> + PeripheralOutput<'d>,
Available on crate feature
unstable only.Source§impl<'d, RxClk, TxClk, RxCtl, TxCtl, Rxd0, Rxd1, Rxd2, Rxd3, Txd0, Txd1, Txd2, Txd3, Mdc, Mdio> EthernetPinBundle for RgmiiPinBundle<RxClk, TxClk, RxCtl, TxCtl, Rxd0, Rxd1, Rxd2, Rxd3, Txd0, Txd1, Txd2, Txd3, Mdc, Mdio>where
RxClk: RgmiiRxClk + 'd,
TxClk: RmiiClkOut + 'd,
RxCtl: RmiiCrsDv + 'd,
TxCtl: RmiiTxEn + 'd,
Rxd0: RmiiRxd0 + 'd,
Rxd1: RmiiRxd1 + 'd,
Rxd2: RgmiiRxd2 + 'd,
Rxd3: RgmiiRxd3 + 'd,
Txd0: RmiiTxd0 + 'd,
Txd1: RmiiTxd1 + 'd,
Txd2: RgmiiTxd2 + 'd,
Txd3: RgmiiTxd3 + 'd,
Mdc: PeripheralOutput<'d>,
Mdio: PeripheralInput<'d> + PeripheralOutput<'d>,
Available on crate feature unstable only.
impl<'d, RxClk, TxClk, RxCtl, TxCtl, Rxd0, Rxd1, Rxd2, Rxd3, Txd0, Txd1, Txd2, Txd3, Mdc, Mdio> EthernetPinBundle for RgmiiPinBundle<RxClk, TxClk, RxCtl, TxCtl, Rxd0, Rxd1, Rxd2, Rxd3, Txd0, Txd1, Txd2, Txd3, Mdc, Mdio>where
RxClk: RgmiiRxClk + 'd,
TxClk: RmiiClkOut + 'd,
RxCtl: RmiiCrsDv + 'd,
TxCtl: RmiiTxEn + 'd,
Rxd0: RmiiRxd0 + 'd,
Rxd1: RmiiRxd1 + 'd,
Rxd2: RgmiiRxd2 + 'd,
Rxd3: RgmiiRxd3 + 'd,
Txd0: RmiiTxd0 + 'd,
Txd1: RmiiTxd1 + 'd,
Txd2: RgmiiTxd2 + 'd,
Txd3: RgmiiTxd3 + 'd,
Mdc: PeripheralOutput<'d>,
Mdio: PeripheralInput<'d> + PeripheralOutput<'d>,
Available on crate feature
unstable only.Source§impl<'d, Rxd0, Rxd1, RxDv, Txd0, Txd1, TxEn, Rxd2, Rxd3, Txd2, Txd3, TxClk, RxClk, Crs, Col, Mdc, Mdio> EthernetPinBundle for MiiPinBundle<Rxd0, Rxd1, RxDv, Txd0, Txd1, TxEn, Rxd2, Rxd3, Txd2, Txd3, TxClk, RxClk, Crs, Col, Mdc, Mdio>where
Rxd0: MiiRxd0 + 'd,
Rxd1: MiiRxd1 + 'd,
RxDv: MiiRxDv + 'd,
Txd0: MiiTxd0 + 'd,
Txd1: MiiTxd1 + 'd,
TxEn: MiiTxEn + 'd,
Rxd2: MiiRxd2 + 'd,
Rxd3: MiiRxd3 + 'd,
Txd2: MiiTxd2 + 'd,
Txd3: MiiTxd3 + 'd,
TxClk: MiiTxClk + 'd,
RxClk: MiiRxClk + 'd,
Crs: PeripheralInput<'d>,
Col: PeripheralInput<'d>,
Mdc: PeripheralOutput<'d>,
Mdio: PeripheralInput<'d> + PeripheralOutput<'d>,
Available on crate feature unstable only.
impl<'d, Rxd0, Rxd1, RxDv, Txd0, Txd1, TxEn, Rxd2, Rxd3, Txd2, Txd3, TxClk, RxClk, Crs, Col, Mdc, Mdio> EthernetPinBundle for MiiPinBundle<Rxd0, Rxd1, RxDv, Txd0, Txd1, TxEn, Rxd2, Rxd3, Txd2, Txd3, TxClk, RxClk, Crs, Col, Mdc, Mdio>where
Rxd0: MiiRxd0 + 'd,
Rxd1: MiiRxd1 + 'd,
RxDv: MiiRxDv + 'd,
Txd0: MiiTxd0 + 'd,
Txd1: MiiTxd1 + 'd,
TxEn: MiiTxEn + 'd,
Rxd2: MiiRxd2 + 'd,
Rxd3: MiiRxd3 + 'd,
Txd2: MiiTxd2 + 'd,
Txd3: MiiTxd3 + 'd,
TxClk: MiiTxClk + 'd,
RxClk: MiiRxClk + 'd,
Crs: PeripheralInput<'d>,
Col: PeripheralInput<'d>,
Mdc: PeripheralOutput<'d>,
Mdio: PeripheralInput<'d> + PeripheralOutput<'d>,
Available on crate feature
unstable only.