Thread (5 messages) flat view 5 messages, 3 authors, 2020-10-29

Re: [PATCH] RFC: net: phy: of phys probe/reset issue

From: Florian Fainelli <f.fainelli@gmail.com>
Date: 2020-10-29 01:53:17
Also in: lkml


On 10/28/2020 12:32 PM, Grygorii Strashko wrote:
hi Andrew,

On 23/10/2020 23:10, Andrew Lunn wrote:
quoted
quoted
Yes there is: have your Ethernet PHY compatible string be of the form
"ethernetAAAA.BBBB" and then there is no need for such hacking.
of_get_phy_id() will parse that compatible and that will trigger
of_mdiobus_register_phy() to take the phy_device_create() path.
Yep. That does seem like the cleanest way to do this. Let the PHY
driver deal with the resources it needs.
Thanks you for your comments.

huh. I gave it try and some thinking. it works as W/A, but what does it
mean in the long term?
I believe this was made clearer before: this is the only forward that
works across all subsystems, independently of the PHY and MDIO layers.
Neither Linux documentation, neither DT bindings suggest such solution
in any way
(and there is *Zero* users of ""ethernet-phy-id%4x.%4x" in the current
LKML).
And the main reason for this RFC is really bad customer experience while
migrating to the new kernels, as
mdio reset does not support multi-phys and phy resets are not working.
It is documented in the binding, but the binding is a document about a
contract, not about how Linux implements things, so I suppose you are
right that we are missing additional documentation to describe how it is
useful:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/net/ethernet-phy.yaml#n30
Following your comments, my understanding for the long term (to avoid
user's confusions) is:
"for OF case the usage of 'ethernet-phy-id%4x.%4x' compatibly is became
mandatory for PHYs
to avoid PHY resets dependencies from board design and bootloader".

Which in turn means - update all reference boards by adding
""ethernet-phy-id%4x.%4x" and add
new DT board files for boards which are differ by only PHY version.
Well, you can have the boot loader absorb some of those board specific
details, after all, the entire point of moving ARM towards Device Tree
was to do just that. The appended DTB was offered as an interim solution.
-- 
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