u-boot/drivers/net/phy
Quentin Schulz 04087fc494 net: phy: mscc: add support for VSC8584 PHY
The VSC8584 PHY is a 4-port PHY that is 10/100/1000BASE-T, 100BASE-FX,
1000BASE-X and triple-speed copper SFP capable, can communicate with the
MAC via SGMII, QSGMII or 1000BASE-X, supports downshifting and can set
the blinking pattern of each of its 4 LEDs, supports hardware offloading
of MACsec and supports SyncE as well as HP Auto-MDIX detection.

This adds support for 10/100/1000BASE-T and SGMII/QSGMII link with the
MAC.

The VSC8584 has also an internal Intel 8051 microcontroller whose
firmware needs to be patched when the PHY is reset. If the 8051's
firmware has the expected CRC, its patching can be skipped. The
microcontroller can be accessed from any port of the PHY, though the CRC
function can only be done through the PHY that is the base PHY of the
package (internal address 0) due to a limitation of the firmware.

The GPIO register bank is a set of registers that are common to all PHYs
in the package. So any modification in any register of this bank affects
all PHYs of the package.

The revA of the VSC8584 PHY (which is not and will not be publicly
released) should NOT patch the firmware of the microcontroller or it'll
make things worse, the easiest way is just to not support it.

Signed-off-by: Quentin Schulz <quentin.schulz@bootlin.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
2018-11-05 10:41:58 -06:00
..
aquantia.c net: phy: aquantia: autodetect if firmware needs to be loaded 2018-10-24 14:45:37 -05: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: aquantia: add firmware loading support 2018-10-24 14:45:37 -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 net: phy: mscc: add support for VSC8584 PHY 2018-11-05 10:41:58 -06: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: Add binding for the CLK_OUT pin muxing 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