|
@@ -1665,7 +1665,7 @@ static void of_set_phy_supported(struct phy_device *phydev)
|
|
|
static void of_set_phy_eee_broken(struct phy_device *phydev)
|
|
|
{
|
|
|
struct device_node *node = phydev->mdio.dev.of_node;
|
|
|
- u32 broken;
|
|
|
+ u32 broken = 0;
|
|
|
|
|
|
if (!IS_ENABLED(CONFIG_OF_MDIO))
|
|
|
return;
|
|
@@ -1673,8 +1673,20 @@ static void of_set_phy_eee_broken(struct phy_device *phydev)
|
|
|
if (!node)
|
|
|
return;
|
|
|
|
|
|
- if (!of_property_read_u32(node, "eee-broken-modes", &broken))
|
|
|
- phydev->eee_broken_modes = broken;
|
|
|
+ if (of_property_read_bool(node, "eee-broken-100tx"))
|
|
|
+ broken |= MDIO_EEE_100TX;
|
|
|
+ if (of_property_read_bool(node, "eee-broken-1000t"))
|
|
|
+ broken |= MDIO_EEE_1000T;
|
|
|
+ if (of_property_read_bool(node, "eee-broken-10gt"))
|
|
|
+ broken |= MDIO_EEE_10GT;
|
|
|
+ if (of_property_read_bool(node, "eee-broken-1000kx"))
|
|
|
+ broken |= MDIO_EEE_1000KX;
|
|
|
+ if (of_property_read_bool(node, "eee-broken-10gkx4"))
|
|
|
+ broken |= MDIO_EEE_10GKX4;
|
|
|
+ if (of_property_read_bool(node, "eee-broken-10gkr"))
|
|
|
+ broken |= MDIO_EEE_10GKR;
|
|
|
+
|
|
|
+ phydev->eee_broken_modes = broken;
|
|
|
}
|
|
|
|
|
|
/**
|