linux/drivers/of
Stas Sergeev 71a386c7a6 of_mdio: add new DT property 'managed' to specify the PHY management type
[ Upstream commit 4cba5c2103 ]

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>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
History 2015-10-27 09:33:12 -04:00
..
testcase-data of: Fix overflow bug in string property parsing functions 2014-11-04 10:19:48 +00:00
address.c of/address: use atomic allocation in pci_register_io_range() 2015-07-05 10:12:48 -04:00
base.c of: return NUMA_NO_NODE from fallback of_node_to_nid() 2015-08-04 14:39:26 -04:00
device.c of: rename of_aliases_mutex to just of_mutex 2014-07-07 13:42:52 +01:00
dynamic.c of: Spelling s/stucture/structure/ 2014-11-18 11:33:10 -06:00
fdt.c of/fdt: memblock_reserve /memreserve/ regions in the case of partial overlap 2014-11-26 12:35:52 +00:00
fdt_address.c of/fdt: add FDT address translation support 2014-05-20 15:19:25 -05:00
irq.c of/irq: Fix of_irq_parse_one() returned error codes 2015-04-16 20:11:42 -04:00
Kconfig of/selftest: Use the resolver to fixup phandles 2014-10-04 21:24:35 +01:00
Makefile of: Introduce Device Tree resolve support. 2014-10-04 21:24:26 +01:00
of_mdio.c of_mdio: add new DT property 'managed' to specify the PHY management type 2015-10-27 09:33:12 -04:00
of_mtd.c of_mtd: Add helpers to get ECC strength and ECC step size 2014-03-10 22:42:28 -07:00
of_net.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2014-04-02 20:53:45 -07:00
of_pci.c of/pci: Free resources on failure in of_pci_get_host_bridge_resources() 2015-03-23 21:02:52 -04:00
of_pci_irq.c of_pci_irq: kill useless variable in of_irq_parse_pci() 2014-05-27 12:13:34 +01:00
of_private.h of: Transactional DT support. 2014-07-23 17:29:15 -06:00
of_reserved_mem.c drivers: of: add return value to of_reserved_mem_device_init() 2014-10-29 16:33:14 -07:00
pdt.c of: device_node kobject lifecycle fixes 2014-03-19 14:58:40 +00:00
platform.c of: amba: use of_dma_configure for AMBA devices 2014-09-22 11:26:59 +01:00
resolver.c of: Introduce Device Tree resolve support. 2014-10-04 21:24:26 +01:00
selftest.c of/selftest: Fix testing when /aliases is missing 2014-11-20 15:32:49 +00:00