MDIO¶
Overview¶
MDIO is a bus that is commonly used to communicate with ethernet PHY devices. Many ethernet MAC controllers also provide hardware to communicate over MDIO bus with a peripheral device.
This API is intended to be used primarily by PHY drivers but can also be used by user firmware.
API Reference¶
- group mdio_interface
MDIO Interface.
Functions
-
void mdio_bus_enable(const struct device *dev)¶
Enable MDIO bus.
- Parameters
[in] dev
: Pointer to the device structure for the controller
-
void mdio_bus_disable(const struct device *dev)¶
Disable MDIO bus and tri-state drivers.
- Parameters
[in] dev
: Pointer to the device structure for the controller
-
int mdio_read(const struct device *dev, uint8_t prtad, uint8_t devad, uint16_t *data)¶
Read from MDIO Bus.
This routine provides a generic interface to perform a read on the MDIO bus.
- Parameters
[in] dev
: Pointer to the device structure for the controller[in] prtad
: Port address[in] devad
: Device addressdata
: Pointer to receive read data
- Return Value
0
: If successful.-EIO
: General input / output error.-ETIMEDOUT
: If transaction timedout on the bus
-
int mdio_write(const struct device *dev, uint8_t prtad, uint8_t devad, uint16_t data)¶
Write to MDIO bus.
This routine provides a generic interface to perform a write on the MDIO bus.
- Parameters
[in] dev
: Pointer to the device structure for the controller[in] prtad
: Port address[in] devad
: Device address[in] data
: Data to write
- Return Value
0
: If successful.-EIO
: General input / output error.-ETIMEDOUT
: If transaction timedout on the bus
-
void mdio_bus_enable(const struct device *dev)¶