linux/drivers/net/phy
Kavya Sree Kotagiri e4f9ba642f net: phy: mscc: add support for VSC8514 PHY.
The VSC8514 PHY is a 4-ports PHY that is 10/100/1000BASE-T, 100BASE-FX,
1000BASE-X, can communicate with the MAC via QSGMII.
The MAC interface protocol for each port within QSGMII can
be either 1000BASE-X or SGMII, if the QSGMII MAC that the VSC8514 is
connecting to supports this functionality.
VSC8514 also supports SGMII MAC-side autonegotiation on each individual
port, downshifting, can set the blinking pattern of each of its 4 LEDs,
SyncE, 1000BASE-T Ring Resiliency as well as HP Auto-MDIX detection.

This adds support for 10BASE-T, 100BASE-TX, and 1000BASE-T,
QSGMII link with the MAC, downshifting, HP Auto-MDIX detection
and blinking pattern for its 4 LEDs.

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.

If the PHYs haven't been reset before booting the Linux kernel and were
configured to use interrupts for e.g. link status updates, it is
required to clear the interrupts mask register of all PHYs before being
able to use interrupts with any PHY. The first PHY of the package that
will be init will take care of clearing all PHYs interrupts mask
registers. Thus, we need to keep track of the init sequence in the
package, if it's already been done or if it's to be done.

Most of the init sequence of a PHY of the package is common to all PHYs
in the package, thus we use the SMI broadcast feature which enables us
to propagate a write in one register of one PHY to all PHYs in the same
package.

Signed-off-by: Kavya Sree Kotagiri <kavyasree.kotagiri@microchip.com>
Signed-off-by: Quentin Schulz <quentin.schulz@bootlin.com>
Co-developed-by: Quentin Schulz <quentin.schulz@bootlin.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-04-23 10:47:58 -07:00
..
amd.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
aquantia_hwmon.c net: phy: aquantia: add hwmon support 2019-02-25 14:16:22 -08:00
aquantia_main.c net: phy: remove unnecessary callback settings in C45 drivers 2019-04-09 13:07:07 -07:00
aquantia.h net: phy: aquantia: add hwmon support 2019-02-25 14:16:22 -08:00
asix.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
at803x.c net: mdio: rename mdio_device reset to reset_gpio 2019-04-18 17:42:54 -07:00
bcm7xxx.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
bcm63xx.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
bcm87xx.c net: phy: Add SDPX tag based on COPYING file 2019-01-22 20:59:18 -08:00
bcm-cygnus.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
bcm-phy-lib.c net: phy: Prepare for moving Omega out of bcm7xxx 2019-03-21 13:41:26 -07:00
bcm-phy-lib.h net: phy: Prepare for moving Omega out of bcm7xxx 2019-03-21 13:41:26 -07:00
broadcom.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
cicada.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
cortina.c net: phy: remove gen10g_no_soft_reset 2019-03-03 21:47:57 -08:00
davicom.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
dp83tc811.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
dp83640_reg.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dp83640.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
dp83822.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
dp83848.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
dp83867.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
et1011c.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
fixed_phy.c net: phy: fix reading fixed phy status 2019-02-24 22:29:14 -08:00
icplus.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
intel-xway.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
Kconfig net: phy: mscc: add support for VSC8514 PHY. 2019-04-23 10:47:58 -07:00
lxt.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
Makefile net: phy: add amlogic g12a mdio mux support 2019-04-06 18:16:58 -07:00
marvell10g.c net: phy: remove unnecessary callback settings in C45 drivers 2019-04-09 13:07:07 -07:00
marvell.c net: phy: marvell: add new default led configure for m88e151x 2019-04-23 10:40:32 -07:00
mdio_bus.c net: mdio: rename mdio_device reset to reset_gpio 2019-04-18 17:42:54 -07:00
mdio_device.c net: mdio: rename mdio_device reset to reset_gpio 2019-04-18 17:42:54 -07:00
mdio-bcm-iproc.c net: phy: Remove redundent License text when SPDX header is present 2019-01-22 20:53:08 -08:00
mdio-bcm-unimac.c net: phy: mdio-bcm-unimac: remove redundant !timeout check 2019-03-27 14:27:30 -07:00
mdio-bitbang.c net: phy: Fixup GPLv2 SPDX tags based on license text 2019-01-22 20:58:40 -08:00
mdio-boardinfo.c net: phy: Convert some PHY and MDIO driver files to SPDX headers 2019-01-22 20:53:08 -08:00
mdio-boardinfo.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mdio-cavium.c net: phy: Add SDPX tag based on COPYING file 2019-01-22 20:59:18 -08:00
mdio-cavium.h net: phy: Add SDPX tag based on COPYING file 2019-01-22 20:59:18 -08:00
mdio-gpio.c net: phy: Fixup GPLv2 SPDX tags based on license text 2019-01-22 20:58:40 -08:00
mdio-hisi-femac.c net: phy: Fixup GPLv2+ SPDX tags based on license text 2019-01-22 20:57:03 -08:00
mdio-i2c.c net: phy: Convert some PHY and MDIO driver files to SPDX headers 2019-01-22 20:53:08 -08:00
mdio-i2c.h net: phy: Convert some PHY and MDIO driver files to SPDX headers 2019-01-22 20:53:08 -08:00
mdio-moxart.c net: phy: Fixup GPLv2 SPDX tags based on license text 2019-01-22 20:58:40 -08:00
mdio-mscc-miim.c drivers: net: Remove device_node checks with of_mdiobus_register() 2018-05-16 14:20:36 -04:00
mdio-mux-bcm-iproc.c net: phy: Convert some PHY and MDIO driver files to SPDX headers 2019-01-22 20:53:08 -08:00
mdio-mux-gpio.c net: phy: Add SDPX tag based on COPYING file 2019-01-22 20:59:18 -08:00
mdio-mux-meson-g12a.c net: phy: add amlogic g12a mdio mux support 2019-04-06 18:16:58 -07:00
mdio-mux-mmioreg.c net: phy: Convert some PHY and MDIO driver files to SPDX headers 2019-01-22 20:53:08 -08:00
mdio-mux-multiplexer.c drivers: net: phy: mdio-mux: Add support for Generic Mux controls 2019-02-27 12:52:20 -08:00
mdio-mux.c net: phy: Add SDPX tag based on COPYING file 2019-01-22 20:59:18 -08:00
mdio-octeon.c net: phy: Add SDPX tag based on COPYING file 2019-01-22 20:59:18 -08:00
mdio-sun4i.c net: phy: Fixup GPLv2 SPDX tags based on license text 2019-01-22 20:58:40 -08:00
mdio-thunder.c net: phy: Add SDPX tag based on COPYING file 2019-01-22 20:59:18 -08:00
mdio-xgene.c net: phy: Convert some PHY and MDIO driver files to SPDX headers 2019-01-22 20:53:08 -08:00
mdio-xgene.h net: phy: Convert some PHY and MDIO driver files to SPDX headers 2019-01-22 20:53:08 -08:00
meson-gxl.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
micrel.c net: phy: micrel: add Asym Pause workaround 2019-04-16 21:36:40 -07:00
microchip_t1.c net: phy: remove flag PHY_HAS_INTERRUPT from driver configs 2018-11-11 09:36:56 -08:00
microchip.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
mscc.c net: phy: mscc: add support for VSC8514 PHY. 2019-04-23 10:47:58 -07:00
national.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
phy_device.c net: phy: don't set autoneg if it's not supported 2019-04-18 16:10:27 -07:00
phy_led_triggers.c net: phy: Convert some PHY and MDIO driver files to SPDX headers 2019-01-22 20:53:08 -08:00
phy-c45.c net: phy: replace genphy_10g_driver with genphy_c45_driver 2019-04-08 16:24:05 -07:00
phy-core.c phy: warn if phylib and ethtool PHY mode definitions are out of sync 2019-04-14 13:37:06 -07:00
phy.c net: phy: remove dead code from phy_sanitize_settings 2019-04-18 16:30:55 -07:00
phylink.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-03-02 12:54:35 -08:00
qsemi.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
realtek.c net: phy: realtek: remove setting callback get_features and use phylib fallback 2019-04-04 17:55:37 -07:00
rockchip.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
sfp-bus.c net: sfp: do not probe SFP module before we're attached 2019-02-08 15:11:25 -08:00
sfp.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-02-15 12:38:38 -08:00
sfp.h net: sfp: do not probe SFP module before we're attached 2019-02-08 15:11:25 -08:00
smsc.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
spi_ks8995.c net: phy: Convert some PHY and MDIO driver files to SPDX headers 2019-01-22 20:53:08 -08:00
ste10Xp.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
swphy.c net: phy: improve auto-neg emulation in swphy 2019-02-24 22:28:15 -08:00
swphy.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
teranetics.c net: phy: remove gen10g_no_soft_reset 2019-03-03 21:47:57 -08:00
uPD60620.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
vitesse.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
xilinx_gmii2rgmii.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-02-20 00:34:07 -08:00