of: mdio: Add a "broken-turn-around" property
Some Ethernet PHY devices/switches may not properly release the MDIO bus during turn-around time, and fail to drive it low, which can be seen by some controllers as a read failure, while the data clocked in is still correct. Add a boolean property "broken-turn-around" which is parsed by the generic MDIO bus probing code and will set the corresponding bit in the MDIO bus phy_ignore_ta_mask bitmask for MDIO bus drivers to utilize that information. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
922f2dd1b6
commit
ab6016e0c1
|
@ -30,6 +30,9 @@ Optional Properties:
|
|||
|
||||
- max-speed: Maximum PHY supported speed (10, 100, 1000...)
|
||||
|
||||
- broken-turn-around: If set, indicates the PHY device does not correctly
|
||||
release the turn around line low at the end of a MDIO transaction.
|
||||
|
||||
Example:
|
||||
|
||||
ethernet-phy@0 {
|
||||
|
|
|
@ -68,6 +68,9 @@ static int of_mdiobus_register_phy(struct mii_bus *mdio, struct device_node *chi
|
|||
phy->irq = mdio->irq[addr];
|
||||
}
|
||||
|
||||
if (of_property_read_bool(child, "broken-turn-around"))
|
||||
mdio->phy_ignore_ta_mask |= 1 << addr;
|
||||
|
||||
/* Associate the OF node with the device structure so it
|
||||
* can be looked up later */
|
||||
of_node_get(child);
|
||||
|
|
Loading…
Reference in New Issue