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

From: Sergei Shtylyov
Date: Sat May 14 2016 - 15:36:49 EST


Hello.

On 05/14/2016 02:44 AM, 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 see it as a necessary evil. However, in the more common case of a single PHY, this method simply doesn't scale -- you'd have to teach each and every individual MAC/ MDIO driver to do the GPIO reset trick.

Andrew

MBR, Sergei