On some systems, the PHY can be internal, in the same package as the Ethernet MAC, and still be responding to a specific address on the MDIO bus, in that case, the Ethernet MAC might need to know about it to properly configure a port multiplexer to switch to an internal or external PHY. Add a new PHY interface mode for this and update the Device Tree of_get_phy_mode() function to look for it. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> --- Changes since v1: - rebased against lastest net-next master branch include/linux/phy.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/include/linux/phy.h b/include/linux/phy.h index 42f1bc7..743c90e 100644 --- a/include/linux/phy.h +++ b/include/linux/phy.h @@ -74,6 +74,7 @@ typedef enum { PHY_INTERFACE_MODE_RTBI, PHY_INTERFACE_MODE_SMII, PHY_INTERFACE_MODE_XGMII, + PHY_INTERFACE_MODE_INTERNAL, PHY_INTERFACE_MODE_MAX, } phy_interface_t; @@ -113,6 +114,8 @@ static inline const char *phy_modes(phy_interface_t interface) return "smii"; case PHY_INTERFACE_MODE_XGMII: return "xgmii"; + case PHY_INTERFACE_MODE_INTERNAL: + return "internal"; default: return "unknown"; } @@ -599,7 +602,8 @@ static inline bool phy_interrupt_is_valid(struct phy_device *phydev) */ static inline bool phy_is_internal(struct phy_device *phydev) { - return phydev->is_internal; + return phydev->is_internal || + phydev->interface == PHY_INTERFACE_MODE_INTERNAL; } /** -- 1.8.3.2 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html