Re: [PATCH RFT 1/2] phylib: add device reset GPIO support

From: Sergei Shtylyov
Date: Sat May 14 2016 - 17:46:38 EST


Hello.

On 05/14/2016 10:50 PM, Andrew Lunn wrote:

Another issue is that on some boards we have one reset line tied to
multiple PHYs.How do we prevent multiple resets being taking place when each of
the PHYs are registered?

My patch just doesn't address this case -- it's about the
individual resets only.

This actually needs to be addresses a layer above. What you have is a
bus reset, not a device reset.

No.
There's simply no such thing as a bus reset for the xMII/MDIO
busses, there's simply no reset signaling on them. Every device has
its own reset signal and its own timing requirements.

Except in the case above, where two phys are sharing the same reset
signal. So although it is not part of the mdio standard to have a bus
reset, this is in effect what the gpio line is doing, resetting all
devices on the bus. If you don't model that as a bus reset, how do you
model it?

I'm not suggesting that the shared reset should be handled by my
patch. Contrariwise, I suggested to use the mii_bus::reset() method

I think we miss understood each other somewhere.

Your code is great for one gpio reset line for one phy.

I think there could be similar code one layer above to handle one gpio
line for multiple phys.

Ah, you want me to recognize some MAC/MDIO bound prop (e.g. "mdio-reset-gpios") in of_mdiobus_register()? I'll think about it now that my patch needs fixing anyway...

Andrew

MBR, Sergei