/* SPDX-License-Identifier: GPL-2.0-only */ #ifndef __DEVICE_MDIO_H__ #define __DEVICE_MDIO_H__ #include <device/device.h> #include <types.h> struct mdio_bus_operations { uint16_t (*read)(struct device *dev, uint8_t phy_adr, uint8_t reg_adr); void (*write)(struct device *dev, uint8_t phy_adr, uint8_t reg_adr, uint16_t data); }; /* Helper for getting mdio operations from a device */ const struct mdio_bus_operations *dev_get_mdio_ops(struct device *dev); uint16_t mdio_read(struct device *dev, uint8_t offset); void mdio_write(struct device *dev, uint8_t offset, uint16_t val); #endif /* __DEVICE_MDIO_H__ */