Thread (9 messages) flat view 9 messages, 3 authors, 2021-02-17

Re: [PATCH] of: of_mdio: Handle properties for non-phy mdio devices

From: Florian Fainelli <f.fainelli@gmail.com>
Date: 2021-02-16 17:51:31


On 2/16/2021 5:06 AM, Andrew Lunn wrote:
On Mon, Feb 15, 2021 at 07:02:18AM +0000, Nathan Rossi wrote:
quoted
From: Nathan Rossi <redacted>

The documentation for MDIO bindings describes the "broken-turn-around",
"reset-assert-us", and "reset-deassert-us" properties such that any MDIO
device can define them. Other MDIO devices may require these properties
in order to correctly function on the MDIO bus.

Enable the parsing and configuration associated with these properties by
moving the associated OF parsing to a common function
of_mdiobus_child_parse and use it to apply these properties for both
PHYs and other MDIO devices.
Hi Nathan

What device are you using this with?

The Marvell Switch driver does its own GPIO reset handling. It has a
better idea when a hardware reset should be applied than what the
phylib core has. It will also poll the EEPROM busy bit after a
reset. How long a pause you need after the reset depends on how full
the EEPROM is.

And i've never had problems with broken-turn-around with Marvell
switches.
The patch does make sense though, Broadcom 53125 switches have a broken
turn around and are mdio_device instances, the broken behavior may not
show up with all MDIO controllers used to interface though. For the
reset, I would agree with you this is better delegated to the switch
driver, given that unlike PHY devices, we have no need to know the
mdio_device ID prior to binding the device and the driver together.
Given the complexity of an Ethernet switch, it is probably better if
it handles its own reset.

     Andrew
-- 
Florian
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help