From: Florian Fainelli <f.fainelli@gmail.com>
To: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>,
netdev@vger.kernel.org, Andrew Lunn <andrew@lunn.ch>
Subject: Re: PHY hardware reset
Date: Sun, 6 Mar 2016 16:54:47 -0800 [thread overview]
Message-ID: <56DCD157.80007@gmail.com> (raw)
In-Reply-To: <56DB5924.3020206@cogentembedded.com>
Le 05/03/2016 14:09, Sergei Shtylyov a écrit :
> Hello.
>
> I have a need to de-assert the active-low PHY hardware reset signal
> (mapped to a GPIO) before the MDIO bus scansince it's left asserted by
> the bootloader (U-Boot). I have a device tree probed MAX driver (ravb)
> and I'm somewhat at a loss about where and how to do this. The existing
> example (Freescale FEC) has DT props controlling the PHY reset GPIO in
> the MAC device node but it doesn't seem correct at all since this signal
> has nothing to do with the MAC, only with PHY!
Agreed, it is a property of the PHY, but it should however be utilized
by the MAC (and optionaly the MDIO bus driver) so as to make good
choices when it comes to conserving power.
I therefore would like
> this "phy-reset-gpios" property to be defined under the PHY node but
> this way I'll have to add the handling of this prop to the phylib (it
> would be too late if I did that in a a PHY driver method since that).
> I'm also seeing the mii_bus::reset() method and it seems a good place
> but I'm not sure if my PHY's reset signal can be treated as the reset
> signal for the whole bus; if it would, the DT prop should be placed
> under the MAC node anyway...
The MDIO bus reset callback did not really have a very good definition
for its use, but it seems like an appropriate place to release the PHY
from reset to ensure you will be able to scan and attach its driver to
it. In general the MDIO bus reset callback should be seen as an
opportunity for drivers to implement pre-scanning operations that will
ensure a successful PHY probing/binding.
Whether we would want PHYLIB to be taught about phy-reset-gpios is a
little more debatable, on one hand, anything that could put the PHY into
low power is done there, and it would be consistent to release/put the
PHY into reset, on the other hand, the Ethernet MAC driver is the place
where things like Wake-on-LAN are coordinated, but we can still call
into a phy_set_wol() function to avoid putting the PHY in reset or not.
If there is something sensibly generic to be put in PHYLIB wrt.
phy-reset-gpios, please propose a patch doing so and we can see how much
FEC and RAVB need to be changed.
Thanks!
--
Florian
prev parent reply other threads:[~2016-03-07 0:54 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-05 22:09 PHY hardware reset Sergei Shtylyov
2016-03-06 0:22 ` Andrew Lunn
2016-03-07 0:54 ` Florian Fainelli [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56DCD157.80007@gmail.com \
--to=f.fainelli@gmail.com \
--cc=andrew@lunn.ch \
--cc=netdev@vger.kernel.org \
--cc=sergei.shtylyov@cogentembedded.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).