linux_dsm_epyc7002/drivers/net/dsa
Maxim Kochetkov 84705fc165 net: dsa: felix: introduce support for Seville VSC9953 switch
This is another switch from Vitesse / Microsemi / Microchip, that has
10 ports (8 external, 2 internal) and is integrated into the Freescale /
NXP T1040 PowerPC SoC. It is very similar to Felix from NXP LS1028A,
except that this is a platform device and Felix is a PCI device, and it
doesn't support IEEE 1588 and TSN.

Like Felix, this driver configures its own PCS on the internal MDIO bus
using a phy_device abstraction for it (yes, it will be refactored to use
a raw mdio_device, like other phylink drivers do, but let's keep it like
that for now). But unlike Felix, the MDIO bus and the PCS are not from
the same vendor. The PCS is the same QorIQ/Layerscape PCS as found in
Felix/ENETC/DPAA*, but the internal MDIO bus that is used to access it
is actually an instantiation of drivers/net/phy/mdio-mscc-miim.c. But it
would be difficult to reuse that driver (it doesn't even use regmap, and
it's less than 200 lines of code), so we hand-roll here some internal
MDIO bus accessors within seville_vsc9953.c, which serves the purpose of
driving the PCS absolutely fine.

Also, same as Felix, the PCS doesn't support dynamic reconfiguration of
SerDes protocol, so we need to do pre-validation of PHY mode from device
tree and not let phylink change it.

Signed-off-by: Maxim Kochetkov <fido_max@inbox.ru>
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-07-13 17:40:02 -07:00
..
b53 net: dsa: b53: Fixup endianness warnings 2020-07-05 15:45:38 -07:00
microchip Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-07-11 00:46:00 -07:00
mv88e6xxx net: dsa: mv88e6xxx: Implement MTU change 2020-07-12 15:22:14 -07:00
ocelot net: dsa: felix: introduce support for Seville VSC9953 switch 2020-07-13 17:40:02 -07:00
qca net: dsa/ar9331: convert to mac_link_up() 2020-06-25 16:01:15 -07:00
sja1105 net:qos: police action offloading parameter 'burst' change to the original value 2020-06-29 17:33:42 -07:00
bcm_sf2_cfp.c net: dsa: bcm_sf2: Pass GENMASK() signed bits 2020-07-05 15:45:38 -07:00
bcm_sf2_regs.h
bcm_sf2.c net: dsa/bcm_sf2: move pause mode setting into mac_link_up() 2020-06-30 13:05:10 -07:00
bcm_sf2.h
dsa_loop_bdinfo.c
dsa_loop.c net: dsa: loop: Print when registration is successful 2020-07-08 10:14:00 -07:00
dsa_loop.h
Kconfig net: dsa: rtl8366rb: Support the CPU DSA tag 2020-07-08 15:36:19 -07:00
lan9303_i2c.c
lan9303_mdio.c
lan9303-core.c net: dsa: lan9303: fix variable 'res' set but not used 2020-07-05 15:48:19 -07:00
lan9303.h
lantiq_gswip.c net: dsa: lantiq_gswip: fix and improve the unsupported interface error 2020-06-07 17:09:46 -07:00
lantiq_pce.h
Makefile
mt7530.c
mt7530.h
mv88e6060.c
mv88e6060.h
qca8k.c net: dsa: qca8k: Minor comment spelling fix 2020-06-22 15:54:34 -07:00
qca8k.h net: dsa: qca8k: Improve SGMII interface handling 2020-06-22 15:54:34 -07:00
realtek-smi-core.c
realtek-smi-core.h
rtl8366.c net: dsa: rtl8366: Pass GENMASK() signed bits 2020-07-05 15:47:28 -07:00
rtl8366rb.c net: dsa: rtl8366rb: Support the CPU DSA tag 2020-07-08 15:36:19 -07:00
vitesse-vsc73xx-core.c
vitesse-vsc73xx-platform.c net: dsa: vitesse-vsc73xx: Convert to plain comments to avoid kerneldoc warnings 2020-07-05 15:49:03 -07:00
vitesse-vsc73xx-spi.c net: dsa: vitesse-vsc73xx: Convert to plain comments to avoid kerneldoc warnings 2020-07-05 15:49:03 -07:00
vitesse-vsc73xx.h