1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * phylib-internal header
4  */
5 
6 #ifndef __PHYLIB_INTERNAL_H
7 #define __PHYLIB_INTERNAL_H
8 
9 struct phy_device;
10 
11 /*
12  * phy_supported_speeds - return all speeds currently supported by a PHY device
13  */
14 unsigned int phy_supported_speeds(struct phy_device *phy,
15 				  unsigned int *speeds,
16 				  unsigned int size);
17 void of_set_phy_supported(struct phy_device *phydev);
18 void of_set_phy_eee_broken(struct phy_device *phydev);
19 void of_set_phy_timing_role(struct phy_device *phydev);
20 int phy_speed_down_core(struct phy_device *phydev);
21 void phy_check_downshift(struct phy_device *phydev);
22 
23 int phy_package_address(struct phy_device *phydev, unsigned int addr_offset);
24 
25 int genphy_c45_read_eee_adv(struct phy_device *phydev, unsigned long *adv);
26 
27 #endif /* __PHYLIB_INTERNAL_H */
28