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