13#ifndef ZEPHYR_INCLUDE_DRIVERS_MDIO_H_
14#define ZEPHYR_INCLUDE_DRIVERS_MDIO_H_
36__subsystem
struct mdio_driver_api {
38 void (*bus_enable)(
const struct device *dev);
41 void (*bus_disable)(
const struct device *dev);
71static inline void z_impl_mdio_bus_enable(
const struct device *dev)
86static inline void z_impl_mdio_bus_disable(
const struct device *dev)
112static inline int z_impl_mdio_read(
const struct device *dev,
uint8_t prtad,
142static inline int z_impl_mdio_write(
const struct device *dev,
uint8_t prtad,
172static inline int z_impl_mdio_read_c45(
const struct device *dev,
uint8_t prtad,
203static inline int z_impl_mdio_write_c45(
const struct device *dev,
uint8_t prtad,
222#include <zephyr/syscalls/mdio.h>
#define DEVICE_API_GET(_class, _dev)
Expands to the pointer of a device's API for a given class.
Definition device.h:1350
int mdio_write(const struct device *dev, uint8_t prtad, uint8_t regad, uint16_t data)
Write to MDIO bus.
void mdio_bus_enable(const struct device *dev)
Enable MDIO bus.
int mdio_read_c45(const struct device *dev, uint8_t prtad, uint8_t devad, uint16_t regad, uint16_t *data)
Read from MDIO Bus using Clause 45 access.
void mdio_bus_disable(const struct device *dev)
Disable MDIO bus and tri-state drivers.
int mdio_write_c45(const struct device *dev, uint8_t prtad, uint8_t devad, uint16_t regad, uint16_t data)
Write to MDIO bus using Clause 45 access.
int mdio_read(const struct device *dev, uint8_t prtad, uint8_t regad, uint16_t *data)
Read from MDIO Bus.
#define ENOSYS
Function not implemented.
Definition errno.h:82
#define NULL
Definition iar_missing_defs.h:20
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
__UINT16_TYPE__ uint16_t
Definition stdint.h:89
Runtime device structure (in ROM) per driver instance.
Definition device.h:510
void * data
Address of the device instance private data.
Definition device.h:520