linux/drivers/of
Stas Sergeev ebfd3e10bf of_mdio: add new DT property 'managed' to specify the PHY management type
[ Upstream commit 4cba5c2103 in net-next tree,
  will be pushed to Linus very soon. ]

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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2015-10-03 13:49:17 +02:00
..
unittest-data of/unittest: replace 'selftest' with 'unittest' 2015-03-25 00:53:29 -05:00
address.c of/address: Don't loop forever in of_find_matching_node_by_address(). 2015-09-21 10:05:43 -07:00
base.c of: return NUMA_NO_NODE from fallback of_node_to_nid() 2015-08-03 09:29:16 -07:00
device.c of: Calculate device DMA masks based on DT dma-range size 2015-03-12 11:43:09 -05:00
dynamic.c of/dynamic: Fix test for PPC_PSERIES 2015-06-05 10:39:28 +09:00
fdt.c of/fdt: make memblock maximum physical address arch configurable 2015-09-29 19:25:59 +02: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-03-19 08:39:14 -05:00
Kconfig Devicetree updates for 4.1: 2015-04-24 08:46:18 -07:00
Makefile dt: OF_UNITTEST make dependency broken 2015-03-25 00:43:44 -05:00
of_mdio.c of_mdio: add new DT property 'managed' to specify the PHY management type 2015-10-03 13:49:17 +02: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 of_net: factor out repetitive code from of_get_mac_address() 2015-03-29 08:56:17 +01:00
of_pci.c of/pci: Add of_pci_dma_configure() to update DMA configuration 2015-03-03 14:42:57 -06: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: Refactor __of_node_alloc() into __of_node_dup() 2014-11-24 22:24:41 +00:00
of_reserved_mem.c drivers: of: Export of_reserved_mem_device_{init,release} 2015-01-13 13:56:58 -06:00
overlay.c of/overlay: Remove unused variable 2015-03-10 10:34:33 -05:00
pdt.c of: Eliminate of_allnodes list 2014-11-04 13:29:38 +00:00
platform.c of: Move of_dma_configure() to device.c to help re-use 2015-03-03 14:42:56 -06:00
resolver.c of/resolver: Switch to new local fixups format. 2014-11-24 22:24:50 +00:00
unittest.c Devicetree updates for 4.1: 2015-04-24 08:46:18 -07:00