u-boot/drivers/net
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
..
fm powerpc: t1040: Correct RCW EC2 settings 2018-10-29 13:19:43 -07:00
fsl-mc driver: net: fsl-mc: initialize dpmac irrespective of phy 2018-10-10 12:45:23 -05:00
ldpaa_eth ldpaa_eth.c: Fix warning when PHYLIB is not enabled 2018-10-12 07:41:24 -04:00
pfe_eth drivers: cosmetic: Convert SPDX license tags to Linux Kernel style 2018-10-28 09:26:39 -04:00
phy net: phy: mscc: add support for VSC8584 PHY 2018-11-05 10:41:58 -06:00
8390.h drivers/net : move net drivers to drivers/net 2007-11-25 18:35:17 +01:00
ag7xxx.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
altera_tse.c fdt: Rename a few functions in fdt_support 2017-06-01 07:03:11 -06:00
altera_tse.h net: altera_tse: add mSG-DMA support 2015-11-12 08:26:59 +08:00
armada100_fec.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
armada100_fec.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
at91_emac.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ax88180.c Remove some merge markers 2016-10-23 18:33:18 -04:00
ax88180.h AX88180: use standard I/O accessors 2010-07-12 00:14:29 -07:00
ax88796.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ax88796.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
bcm-sf2-eth-gmac.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
bcm-sf2-eth-gmac.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
bcm-sf2-eth.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
bcm-sf2-eth.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
calxedaxgmac.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
cpsw-common.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
cpsw.c drivers: net: cpsw: add support to update phy address 2018-09-25 21:49:18 -04:00
cs8900.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
cs8900.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
davinci_emac.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
davinci_emac.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
dc2114x.c net.h: Include linux/if_ether.h to avoid duplication 2018-10-10 12:28:52 -05:00
designware.c net: designware: Add reset ctrl to driver 2018-07-09 15:28:28 -04:00
designware.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
dm9000x.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
dm9000x.h dm9000 remove dead external phy support, gpio fix 2008-08-26 23:08:19 -07:00
dnet.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
dnet.h dnet: driver for Dave DNET ethernet controller 2009-02-10 00:16:27 +01:00
dwc_eth_qos.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
dwmac_socfpga.c net: designware: socfpga: Add Arria10 extras 2018-08-13 22:35:42 +02:00
e1000.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
e1000.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
e1000_spi.c Convert CONFIG_SPI to Kconfig 2018-04-27 14:54:11 -04:00
eepro100.c net.h: Include linux/if_ether.h to avoid duplication 2018-10-10 12:28:52 -05:00
ep93xx_eth.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ep93xx_eth.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ethoc.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
fec_mxc.c net: fec_mxc: add support for i.MX8X 2018-10-24 14:45:38 -05:00
fec_mxc.h net: fec_mxc: add support for i.MX8X 2018-10-24 14:45:38 -05:00
fsl_mcdmafec.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
fsl_mdio.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ftgmac100.c net: ftgmac100: Add support for the Aspeed SoC 2018-11-05 10:41:58 -06:00
ftgmac100.h net: ftgmac100: use the aligned() macro 2018-11-05 10:41:56 -06:00
ftmac100.c net: ftmac100: Fix compiler warning 2018-05-29 14:45:03 +08:00
ftmac100.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ftmac110.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ftmac110.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
gmac_rockchip.c net: gmac_rockchip: Add handling for RGMII_ID/RXID/TXID 2018-10-04 21:15:46 +02:00
Kconfig net: ftgmac100: convert to driver model 2018-11-05 10:41:56 -06:00
keystone_net.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ks8851_mll.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ks8851_mll.h net: ks8851_mll: add ethernet support 2013-06-24 19:11:14 -05:00
lan91c96.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
lan91c96.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
lpc32xx_eth.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
macb.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
macb.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
Makefile net: Add MT7628 ethernet driver 2018-11-05 10:41:56 -06:00
mcffec.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
mcfmii.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
mpc8xx_fec.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
mt7628-eth.c net: Add MT7628 ethernet driver 2018-11-05 10:41:56 -06:00
mvgbe.c net: mvgbe: convert to DM 2018-07-26 14:08:21 -05:00
mvgbe.h net: mvgbe: convert to DM 2018-07-26 14:08:21 -05:00
mvneta.c linux/compat.h: Add netdev_### log macros 2018-10-09 14:18:17 -05:00
mvpp2.c net: mvpp2: increase PHY reset pulse 2018-10-24 14:45:38 -05:00
natsemi.c net.h: Include linux/if_ether.h to avoid duplication 2018-10-10 12:28:52 -05:00
ne2000.c net: Use ARRAY_SIZE at appropriate places 2013-08-19 12:34:18 -05:00
ne2000.h NE2000: Fix regresssion introduced by e710185aae on non AX88796 2008-04-28 22:26:36 -07:00
ne2000_base.c net: Move enetaddr env access code to env config instead of net config 2018-04-08 23:00:58 -04:00
ne2000_base.h Consolidate bool type 2013-04-01 16:33:52 -04:00
netconsole.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ns8382x.c net.h: Include linux/if_ether.h to avoid duplication 2018-10-10 12:28:52 -05:00
pch_gbe.c net: pch_gbe: Make probe/remove static 2018-10-09 14:18:21 -05:00
pch_gbe.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
pcnet.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
pic32_eth.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
pic32_eth.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
pic32_mdio.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ravb.c net: ravb: Support reset GPIO both in mac and phy node 2018-06-19 06:15:55 +02:00
rtl8139.c net.h: Include linux/if_ether.h to avoid duplication 2018-10-10 12:28:52 -05:00
rtl8169.c net.h: Include linux/if_ether.h to avoid duplication 2018-10-10 12:28:52 -05:00
sandbox-raw-bus.c sandbox: eth-raw: Add a SIMPLE_BUS to enumerate host interfaces 2018-07-26 14:08:19 -05:00
sandbox-raw.c sandbox: eth-raw: Make random MAC addresses available to eth-raw 2018-07-26 14:08:18 -05:00
sandbox.c test: eth: Add a test for the target being pinged 2018-10-10 12:29:00 -05:00
sh_eth.c net: sh_eth: Support reset GPIO both in mac and phy node 2018-06-19 06:15:55 +02:00
sh_eth.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
smc911x.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
smc911x.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
smc91111.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
smc91111.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
sni_ave.c net: add Socionext AVE ethernet driver support 2018-06-13 13:54:17 -05:00
sun8i_emac.c net: sun8i-emac: support R40 GMAC 2018-07-16 12:27:27 +05:30
sunxi_emac.c net: sunxi: Correct MAC address register order 2018-06-13 13:54:15 -05:00
tsec.c tsec: Fix reading phy registers from DT 2018-06-13 13:54:15 -05:00
uli526x.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
vsc7385.c treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
vsc9953.c drivers/net/vsc9953: Initialize action RAM in VCAP complex 2018-06-13 13:54:16 -05:00
xilinx_axi_emac.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
xilinx_emaclite.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
zynq_gem.c net: gem: Do not setup any clock for Xilinx SoC Versal 2018-10-16 16:53:24 +02:00