xref: /aosp_15_r20/external/coreboot/src/include/device/mdio.h (revision b9411a12aaaa7e1e6a6fb7c5e057f44ee179a49c)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef __DEVICE_MDIO_H__
4 #define __DEVICE_MDIO_H__
5 
6 #include <device/device.h>
7 #include <types.h>
8 
9 struct mdio_bus_operations {
10 	uint16_t (*read)(struct device *dev, uint8_t phy_adr, uint8_t reg_adr);
11 	void (*write)(struct device *dev, uint8_t phy_adr, uint8_t reg_adr, uint16_t data);
12 };
13 
14 /* Helper for getting mdio operations from a device */
15 const struct mdio_bus_operations *dev_get_mdio_ops(struct device *dev);
16 
17 uint16_t mdio_read(struct device *dev, uint8_t offset);
18 void mdio_write(struct device *dev, uint8_t offset, uint16_t val);
19 
20 #endif	/* __DEVICE_MDIO_H__ */
21