]> git.baikalelectronics.ru Git - kernel.git/commit
of_mdio: add new DT property 'managed' to specify the PHY management type
authorStas Sergeev <stsp@list.ru>
Tue, 21 Jul 2015 00:49:57 +0000 (17:49 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 21 Jul 2015 23:12:55 +0000 (16:12 -0700)
commit042899e64409bb08a8cf6d56ee5208b68cd7ddf3
tree87a68d814b5947eff3451760e8b81dd45b2b846a
parent3e3c77fefd18adef60037881700f1b58b920ec23
of_mdio: add new DT property 'managed' to specify the PHY management type

Currently the PHY management type is selected by the MAC driver arbitrary.
The decision is based on the presence of the "fixed-link" node and on a
will of the driver's authors.
This caused a regression recently, when mvneta driver suddenly started
to use the in-band status for auto-negotiation on fixed links.
It appears the auto-negotiation may not work when expected by the MAC driver.
Sebastien Rannou explains:
<< Yes, I confirm that my HW does not generate an in-band status. AFAIK, it's
a PHY that aggregates 4xSGMIIs to 1xQSGMII ; the MAC side of the PHY (with
inband status) is connected to the switch through QSGMII, and in this context
we are on the media side of the PHY. >>
https://lkml.org/lkml/2015/7/10/206

This patch introduces the new string property 'managed' that allows
the user to set the management type explicitly.
The supported values are:
"auto" - default. Uses either MDIO or nothing, depending on the presence
of the fixed-link node
"in-band-status" - use in-band status

Signed-off-by: Stas Sergeev <stsp@users.sourceforge.net>
CC: Rob Herring <robh+dt@kernel.org>
CC: Pawel Moll <pawel.moll@arm.com>
CC: Mark Rutland <mark.rutland@arm.com>
CC: Ian Campbell <ijc+devicetree@hellion.org.uk>
CC: Kumar Gala <galak@codeaurora.org>
CC: Florian Fainelli <f.fainelli@gmail.com>
CC: Grant Likely <grant.likely@linaro.org>
CC: devicetree@vger.kernel.org
CC: linux-kernel@vger.kernel.org
CC: netdev@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
Documentation/devicetree/bindings/net/ethernet.txt
drivers/of/of_mdio.c