162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_cimenu "Distributed Switch Architecture drivers"
362306a36Sopenharmony_ci	depends on NET_DSA
462306a36Sopenharmony_ci
562306a36Sopenharmony_cisource "drivers/net/dsa/b53/Kconfig"
662306a36Sopenharmony_ci
762306a36Sopenharmony_ciconfig NET_DSA_BCM_SF2
862306a36Sopenharmony_ci	tristate "Broadcom Starfighter 2 Ethernet switch support"
962306a36Sopenharmony_ci	depends on HAS_IOMEM
1062306a36Sopenharmony_ci	select NET_DSA_TAG_BRCM
1162306a36Sopenharmony_ci	select FIXED_PHY
1262306a36Sopenharmony_ci	select BCM7XXX_PHY
1362306a36Sopenharmony_ci	select MDIO_BCM_UNIMAC
1462306a36Sopenharmony_ci	select B53
1562306a36Sopenharmony_ci	help
1662306a36Sopenharmony_ci	  This enables support for the Broadcom Starfighter 2 Ethernet
1762306a36Sopenharmony_ci	  switch chips.
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ciconfig NET_DSA_LOOP
2062306a36Sopenharmony_ci	tristate "DSA mock-up Ethernet switch chip support"
2162306a36Sopenharmony_ci	select NET_DSA_TAG_NONE
2262306a36Sopenharmony_ci	select FIXED_PHY
2362306a36Sopenharmony_ci	help
2462306a36Sopenharmony_ci	  This enables support for a fake mock-up switch chip which
2562306a36Sopenharmony_ci	  exercises the DSA APIs.
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_cisource "drivers/net/dsa/hirschmann/Kconfig"
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ciconfig NET_DSA_LANTIQ_GSWIP
3062306a36Sopenharmony_ci	tristate "Lantiq / Intel GSWIP"
3162306a36Sopenharmony_ci	depends on HAS_IOMEM
3262306a36Sopenharmony_ci	select NET_DSA_TAG_GSWIP
3362306a36Sopenharmony_ci	help
3462306a36Sopenharmony_ci	  This enables support for the Lantiq / Intel GSWIP 2.1 found in
3562306a36Sopenharmony_ci	  the xrx200 / VR9 SoC.
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ciconfig NET_DSA_MT7530
3862306a36Sopenharmony_ci	tristate "MediaTek MT7530 and MT7531 Ethernet switch support"
3962306a36Sopenharmony_ci	select NET_DSA_TAG_MTK
4062306a36Sopenharmony_ci	imply NET_DSA_MT7530_MDIO
4162306a36Sopenharmony_ci	imply NET_DSA_MT7530_MMIO
4262306a36Sopenharmony_ci	help
4362306a36Sopenharmony_ci	  This enables support for the MediaTek MT7530 and MT7531 Ethernet
4462306a36Sopenharmony_ci	  switch chips. Multi-chip module MT7530 in MT7621AT, MT7621DAT,
4562306a36Sopenharmony_ci	  MT7621ST and MT7623AI SoCs, and built-in switch in MT7988 SoC are
4662306a36Sopenharmony_ci	  supported as well.
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ciconfig NET_DSA_MT7530_MDIO
4962306a36Sopenharmony_ci	tristate "MediaTek MT7530 MDIO interface driver"
5062306a36Sopenharmony_ci	depends on NET_DSA_MT7530
5162306a36Sopenharmony_ci	imply MEDIATEK_GE_PHY
5262306a36Sopenharmony_ci	select PCS_MTK_LYNXI
5362306a36Sopenharmony_ci	help
5462306a36Sopenharmony_ci	  This enables support for the MediaTek MT7530 and MT7531 switch
5562306a36Sopenharmony_ci	  chips which are connected via MDIO, as well as multi-chip
5662306a36Sopenharmony_ci	  module MT7530 which can be found in the MT7621AT, MT7621DAT,
5762306a36Sopenharmony_ci	  MT7621ST and MT7623AI SoCs.
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ciconfig NET_DSA_MT7530_MMIO
6062306a36Sopenharmony_ci	tristate "MediaTek MT7530 MMIO interface driver"
6162306a36Sopenharmony_ci	depends on NET_DSA_MT7530
6262306a36Sopenharmony_ci	depends on HAS_IOMEM
6362306a36Sopenharmony_ci	imply MEDIATEK_GE_SOC_PHY
6462306a36Sopenharmony_ci	help
6562306a36Sopenharmony_ci	  This enables support for the built-in Ethernet switch found
6662306a36Sopenharmony_ci	  in the MediaTek MT7988 SoC.
6762306a36Sopenharmony_ci	  The switch is a similar design as MT7531, but the switch registers
6862306a36Sopenharmony_ci	  are directly mapped into the SoCs register space rather than being
6962306a36Sopenharmony_ci	  accessible via MDIO.
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ciconfig NET_DSA_MV88E6060
7262306a36Sopenharmony_ci	tristate "Marvell 88E6060 ethernet switch chip support"
7362306a36Sopenharmony_ci	select NET_DSA_TAG_TRAILER
7462306a36Sopenharmony_ci	help
7562306a36Sopenharmony_ci	  This enables support for the Marvell 88E6060 ethernet switch
7662306a36Sopenharmony_ci	  chip.
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_cisource "drivers/net/dsa/microchip/Kconfig"
7962306a36Sopenharmony_ci
8062306a36Sopenharmony_cisource "drivers/net/dsa/mv88e6xxx/Kconfig"
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_cisource "drivers/net/dsa/ocelot/Kconfig"
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_cisource "drivers/net/dsa/qca/Kconfig"
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_cisource "drivers/net/dsa/sja1105/Kconfig"
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_cisource "drivers/net/dsa/xrs700x/Kconfig"
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_cisource "drivers/net/dsa/realtek/Kconfig"
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_ciconfig NET_DSA_RZN1_A5PSW
9362306a36Sopenharmony_ci	tristate "Renesas RZ/N1 A5PSW Ethernet switch support"
9462306a36Sopenharmony_ci	depends on OF && ARCH_RZN1
9562306a36Sopenharmony_ci	select NET_DSA_TAG_RZN1_A5PSW
9662306a36Sopenharmony_ci	select PCS_RZN1_MIIC
9762306a36Sopenharmony_ci	help
9862306a36Sopenharmony_ci	  This driver supports the A5PSW switch, which is embedded in Renesas
9962306a36Sopenharmony_ci	  RZ/N1 SoC.
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ciconfig NET_DSA_SMSC_LAN9303
10262306a36Sopenharmony_ci	tristate
10362306a36Sopenharmony_ci	select NET_DSA_TAG_LAN9303
10462306a36Sopenharmony_ci	select REGMAP
10562306a36Sopenharmony_ci	help
10662306a36Sopenharmony_ci	  This enables support for the Microchip LAN9303/LAN9354 3 port ethernet
10762306a36Sopenharmony_ci	  switch chips.
10862306a36Sopenharmony_ci
10962306a36Sopenharmony_ciconfig NET_DSA_SMSC_LAN9303_I2C
11062306a36Sopenharmony_ci	tristate "SMSC/Microchip LAN9303 3-ports 10/100 ethernet switch in I2C managed mode"
11162306a36Sopenharmony_ci	depends on I2C
11262306a36Sopenharmony_ci	depends on VLAN_8021Q || VLAN_8021Q=n
11362306a36Sopenharmony_ci	select NET_DSA_SMSC_LAN9303
11462306a36Sopenharmony_ci	select REGMAP_I2C
11562306a36Sopenharmony_ci	help
11662306a36Sopenharmony_ci	  Enable access functions if the SMSC/Microchip LAN9303 is configured
11762306a36Sopenharmony_ci	  for I2C managed mode.
11862306a36Sopenharmony_ci
11962306a36Sopenharmony_ciconfig NET_DSA_SMSC_LAN9303_MDIO
12062306a36Sopenharmony_ci	tristate "Microchip LAN9303/LAN9354 3-ports 10/100 ethernet switch in MDIO managed mode"
12162306a36Sopenharmony_ci	select NET_DSA_SMSC_LAN9303
12262306a36Sopenharmony_ci	depends on VLAN_8021Q || VLAN_8021Q=n
12362306a36Sopenharmony_ci	help
12462306a36Sopenharmony_ci	  Enable access functions if the Microchip LAN9303/LAN9354 is configured
12562306a36Sopenharmony_ci	  for MDIO managed mode.
12662306a36Sopenharmony_ci
12762306a36Sopenharmony_ciconfig NET_DSA_VITESSE_VSC73XX
12862306a36Sopenharmony_ci	tristate
12962306a36Sopenharmony_ci	select NET_DSA_TAG_NONE
13062306a36Sopenharmony_ci	select FIXED_PHY
13162306a36Sopenharmony_ci	select VITESSE_PHY
13262306a36Sopenharmony_ci	select GPIOLIB
13362306a36Sopenharmony_ci	help
13462306a36Sopenharmony_ci	  This enables support for the Vitesse VSC7385, VSC7388,
13562306a36Sopenharmony_ci	  VSC7395 and VSC7398 SparX integrated ethernet switches.
13662306a36Sopenharmony_ci
13762306a36Sopenharmony_ciconfig NET_DSA_VITESSE_VSC73XX_SPI
13862306a36Sopenharmony_ci	tristate "Vitesse VSC7385/7388/7395/7398 SPI mode support"
13962306a36Sopenharmony_ci	depends on SPI
14062306a36Sopenharmony_ci	select NET_DSA_VITESSE_VSC73XX
14162306a36Sopenharmony_ci	help
14262306a36Sopenharmony_ci	  This enables support for the Vitesse VSC7385, VSC7388, VSC7395
14362306a36Sopenharmony_ci	  and VSC7398 SparX integrated ethernet switches in SPI managed mode.
14462306a36Sopenharmony_ci
14562306a36Sopenharmony_ciconfig NET_DSA_VITESSE_VSC73XX_PLATFORM
14662306a36Sopenharmony_ci	tristate "Vitesse VSC7385/7388/7395/7398 Platform mode support"
14762306a36Sopenharmony_ci	depends on HAS_IOMEM
14862306a36Sopenharmony_ci	select NET_DSA_VITESSE_VSC73XX
14962306a36Sopenharmony_ci	help
15062306a36Sopenharmony_ci	  This enables support for the Vitesse VSC7385, VSC7388, VSC7395
15162306a36Sopenharmony_ci	  and VSC7398 SparX integrated ethernet switches, connected over
15262306a36Sopenharmony_ci	  a CPU-attached address bus and work in memory-mapped I/O mode.
15362306a36Sopenharmony_ciendmenu
154