u-boot/drivers/net/phy
Janine Hagemann be71a74c59 net: phy: ti: Recover from "port mirroring" N/A MODE4
The DP83867 when not properly bootstrapped - especially with LED_0 pin -
can enter N/A MODE4 for "port mirroring" feature.

To provide normal operation of the PHY, one needs not only to explicitly
disable the port mirroring feature, but as well stop some IC internal
testing (which disables RGMII communication).

To do that the STRAP_STS1 (0x006E) register must be read and RESERVED bit
11 examined. When it is set, the another RESERVED bit (11) at PHYCR
(0x0010) register must be clear to disable testing mode and enable RGMII
communication.

Thorough explanation of the problem can be found at following e2e thread:
"DP83867IR: Problem with RESERVED bits in PHY Control Register (PHYCR) -
Linux driver"

https://e2e.ti.com/support/interface/ethernet/f/903/p/571313/2096954#2096954

Based on commit ac6e058b75be ("net: phy: dp83867: Recover from "port mirroring"
N/A MODE4") of mainline linux kernel.

Signed-off-by: Janine Hagemann <j.hagemann@phytec.de>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Lukasz Majewski <lukma@denx.de>
2018-10-10 12:28:54 -05:00
..
aquantia.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
atheros.c net: phy: Clean up includes of common.h 2018-07-26 14:08:22 -05:00
b53.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
broadcom.c net: phy: Clean up includes of common.h 2018-07-26 14:08:22 -05:00
cortina.c net/phy/cortina: Add support for CS4223 PHY 2018-06-13 13:54:15 -05:00
davicom.c net: phy: Clean up includes of common.h 2018-07-26 14:08:22 -05:00
et1011c.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
fixed.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
generic_10g.c net: phy: Clean up includes of common.h 2018-07-26 14:08:22 -05:00
Kconfig net: phy: Don't limit phy addresses by default 2018-04-13 15:56:47 -05:00
lxt.c net: phy: Clean up includes of common.h 2018-07-26 14:08:22 -05:00
Makefile SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
marvell.c net: phy: Clean up includes of common.h 2018-07-26 14:08:22 -05:00
meson-gxl.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
micrel_ksz8xxx.c net: phy: Clean up includes of common.h 2018-07-26 14:08:22 -05:00
micrel_ksz90x1.c net: phy: Clean up includes of common.h 2018-07-26 14:08:22 -05:00
miiphybb.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
mscc.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
mv88e61xx.c net: phy: mv88e61xx: Force CPU port link up 2018-06-13 13:54:17 -05:00
mv88e6352.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
natsemi.c net: phy: Clean up includes of common.h 2018-07-26 14:08:22 -05:00
phy.c net: phy: add ofnode node to struct phy_device 2018-07-26 14:08:22 -05:00
realtek.c net: phy: Clean up includes of common.h 2018-07-26 14:08:22 -05:00
smsc.c net: phy: Clean up includes of common.h 2018-07-26 14:08:22 -05:00
teranetics.c net: phy: Clean up includes of common.h 2018-07-26 14:08:22 -05:00
ti.c net: phy: ti: Recover from "port mirroring" N/A MODE4 2018-10-10 12:28:54 -05:00
vitesse.c net: phy: Clean up includes of common.h 2018-07-26 14:08:22 -05:00
xilinx_phy.c net: phy: xilinx: switch to use phy_get_ofnode() 2018-07-26 14:08:22 -05:00