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