2019-05-19 15:07:45 +03:00
# SPDX-License-Identifier: GPL-2.0-only
2011-11-27 21:08:33 +04:00
menu "Distributed Switch Architecture drivers"
2021-03-19 18:46:30 +03:00
depends on NET_DSA
2011-11-27 21:08:33 +04:00
2017-05-16 23:40:08 +03:00
source "drivers/net/dsa/b53/Kconfig"
2011-11-27 21:08:33 +04:00
2014-08-28 04:04:56 +04:00
config NET_DSA_BCM_SF2
tristate "Broadcom Starfighter 2 Ethernet switch support"
2021-03-19 18:46:30 +03:00
depends on HAS_IOMEM
2014-08-28 04:04:56 +04:00
select NET_DSA_TAG_BRCM
2014-12-15 20:57:15 +03:00
select FIXED_PHY
2014-08-28 04:04:56 +04:00
select BCM7XXX_PHY
select MDIO_BCM_UNIMAC
2016-08-26 22:18:33 +03:00
select B53
2020-06-13 19:50:22 +03:00
help
2014-08-28 04:04:56 +04:00
This enables support for the Broadcom Starfighter 2 Ethernet
switch chips.
2017-03-31 04:43:21 +03:00
config NET_DSA_LOOP
tristate "DSA mock-up Ethernet switch chip support"
select FIXED_PHY
2020-06-13 19:50:22 +03:00
help
2017-03-31 04:43:21 +03:00
This enables support for a fake mock-up switch chip which
exercises the DSA APIs.
2020-11-03 10:10:56 +03:00
source "drivers/net/dsa/hirschmann/Kconfig"
2018-09-09 23:20:39 +03:00
config NET_DSA_LANTIQ_GSWIP
tristate "Lantiq / Intel GSWIP"
2021-03-19 18:46:30 +03:00
depends on HAS_IOMEM
2018-09-09 23:20:39 +03:00
select NET_DSA_TAG_GSWIP
2020-06-13 19:50:22 +03:00
help
2018-09-09 23:20:39 +03:00
This enables support for the Lantiq / Intel GSWIP 2.1 found in
the xrx200 / VR9 SoC.
2017-04-07 11:45:09 +03:00
config NET_DSA_MT7530
2020-09-11 16:48:54 +03:00
tristate "MediaTek MT753x and MT7621 Ethernet switch support"
2017-04-07 11:45:09 +03:00
select NET_DSA_TAG_MTK
2020-06-13 19:50:22 +03:00
help
2020-09-11 16:48:54 +03:00
This enables support for the MediaTek MT7530, MT7531, and MT7621
Ethernet switch chips.
2017-04-07 11:45:09 +03:00
2017-05-16 23:40:08 +03:00
config NET_DSA_MV88E6060
tristate "Marvell 88E6060 ethernet switch chip support"
select NET_DSA_TAG_TRAILER
2020-06-13 19:50:22 +03:00
help
2017-05-16 23:40:08 +03:00
This enables support for the Marvell 88E6060 ethernet switch
chip.
2017-05-31 23:19:19 +03:00
source "drivers/net/dsa/microchip/Kconfig"
2017-05-16 23:40:08 +03:00
source "drivers/net/dsa/mv88e6xxx/Kconfig"
net: dsa: ocelot: add driver for Felix switch family
This supports an Ethernet switching core from Vitesse / Microsemi /
Microchip (VSC9959) which is part of the Ocelot family (a brand name),
and whose code name is Felix. The switch can be (and is) integrated on
different SoCs as a PCIe endpoint device.
The functionality is provided by the core of the Ocelot switch driver
(drivers/net/ethernet/mscc). In this regard, the current driver is an
instance of Microsemi's Ocelot core driver, with a DSA front-end. It
inherits its name from VSC9959's code name, to distinguish itself from
the switchdev ocelot driver.
The patch adds the logic for probing a PCI device and defines the
register map for the VSC9959 switch core, since it has some differences
in register addresses and bitfield mappings compared to the other Ocelot
switches (VSC7511, VSC7512, VSC7513, VSC7514).
The Felix driver declares the register map as part of the "instance
table". Currently the VSC9959 inside NXP LS1028A is the only instance,
but presumably it can support other switches in the Ocelot family, when
used in DSA mode (Linux running on the external CPU, and not on the
embedded MIPS).
In a few cases, some h/w operations have to be done differently on
VSC9959 due to missing bitfields. This is the case for the switch core
reset and init. Because for this operation Ocelot uses some bits that
are not present on Felix, the latter has to use a register from the
global registers block (GCB) instead.
Although it is a PCI driver, it relies on DT bindings for compatibility
with DSA (CPU port link, PHY library). It does not have any custom
device tree bindings, since we would like to minimize its dependency on
device tree though.
Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-11-14 18:03:30 +03:00
source "drivers/net/dsa/ocelot/Kconfig"
2019-12-18 11:02:15 +03:00
source "drivers/net/dsa/qca/Kconfig"
2019-05-02 23:23:30 +03:00
source "drivers/net/dsa/sja1105/Kconfig"
2021-01-14 22:57:33 +03:00
source "drivers/net/dsa/xrs700x/Kconfig"
2017-05-16 23:40:08 +03:00
config NET_DSA_QCA8K
tristate "Qualcomm Atheros QCA8K Ethernet switch family support"
select NET_DSA_TAG_QCA
select REGMAP
2020-06-13 19:50:22 +03:00
help
2017-05-16 23:40:08 +03:00
This enables support for the Qualcomm Atheros QCA8K Ethernet
switch chips.
2018-07-14 12:45:55 +03:00
config NET_DSA_REALTEK_SMI
tristate "Realtek SMI Ethernet switch family support"
2020-07-08 15:25:37 +03:00
select NET_DSA_TAG_RTL4_A
2018-07-14 12:45:55 +03:00
select FIXED_PHY
select IRQ_DOMAIN
select REALTEK_PHY
select REGMAP
2020-06-13 19:50:22 +03:00
help
2018-07-14 12:45:55 +03:00
This enables support for the Realtek SMI-based switch
chips, currently only RTL8366RB.
2017-04-18 11:48:26 +03:00
config NET_DSA_SMSC_LAN9303
tristate
select NET_DSA_TAG_LAN9303
2019-10-26 05:21:39 +03:00
select REGMAP
2020-06-13 19:50:22 +03:00
help
2017-04-18 11:48:26 +03:00
This enables support for the SMSC/Microchip LAN9303 3 port ethernet
switch chips.
config NET_DSA_SMSC_LAN9303_I2C
tristate "SMSC/Microchip LAN9303 3-ports 10/100 ethernet switch in I2C managed mode"
2021-03-19 18:46:30 +03:00
depends on I2C
2017-04-18 11:48:26 +03:00
select NET_DSA_SMSC_LAN9303
select REGMAP_I2C
2020-06-13 19:50:22 +03:00
help
2017-04-18 11:48:26 +03:00
Enable access functions if the SMSC/Microchip LAN9303 is configured
for I2C managed mode.
2017-04-18 11:48:27 +03:00
config NET_DSA_SMSC_LAN9303_MDIO
tristate "SMSC/Microchip LAN9303 3-ports 10/100 ethernet switch in MDIO managed mode"
select NET_DSA_SMSC_LAN9303
2020-06-13 19:50:22 +03:00
help
2017-04-18 11:48:27 +03:00
Enable access functions if the SMSC/Microchip LAN9303 is configured
for MDIO managed mode.
2018-06-30 14:17:31 +03:00
config NET_DSA_VITESSE_VSC73XX
2019-07-05 01:29:05 +03:00
tristate
2018-06-30 14:17:31 +03:00
select FIXED_PHY
select VITESSE_PHY
select GPIOLIB
2020-06-13 19:50:22 +03:00
help
2018-06-30 14:17:31 +03:00
This enables support for the Vitesse VSC7385, VSC7388,
VSC7395 and VSC7398 SparX integrated ethernet switches.
2019-07-05 01:29:05 +03:00
config NET_DSA_VITESSE_VSC73XX_SPI
tristate "Vitesse VSC7385/7388/7395/7398 SPI mode support"
depends on SPI
select NET_DSA_VITESSE_VSC73XX
2020-06-13 19:50:22 +03:00
help
2019-07-05 01:29:05 +03:00
This enables support for the Vitesse VSC7385, VSC7388, VSC7395
and VSC7398 SparX integrated ethernet switches in SPI managed mode.
2019-07-05 01:29:06 +03:00
config NET_DSA_VITESSE_VSC73XX_PLATFORM
tristate "Vitesse VSC7385/7388/7395/7398 Platform mode support"
depends on HAS_IOMEM
select NET_DSA_VITESSE_VSC73XX
2020-06-13 19:50:22 +03:00
help
2019-07-05 01:29:06 +03:00
This enables support for the Vitesse VSC7385, VSC7388, VSC7395
and VSC7398 SparX integrated ethernet switches, connected over
a CPU-attached address bus and work in memory-mapped I/O mode.
2011-11-27 21:08:33 +04:00
endmenu