# SPDX-License-Identifier: GPL-2.0-only
menu "Distributed Switch Architecture drivers"
	depends on HAVE_NET_DSA

source "drivers/net/dsa/b53/Kconfig"

config NET_DSA_BCM_SF2
	tristate "Broadcom Starfighter 2 Ethernet switch support"
	depends on HAS_IOMEM && NET_DSA
	select NET_DSA_TAG_BRCM
	select FIXED_PHY
	select BCM7XXX_PHY
	select MDIO_BCM_UNIMAC
	select B53
	---help---
	  This enables support for the Broadcom Starfighter 2 Ethernet
	  switch chips.

config NET_DSA_LOOP
	tristate "DSA mock-up Ethernet switch chip support"
	depends on NET_DSA
	select FIXED_PHY
	---help---
	  This enables support for a fake mock-up switch chip which
	  exercises the DSA APIs.

config NET_DSA_LANTIQ_GSWIP
	tristate "Lantiq / Intel GSWIP"
	depends on HAS_IOMEM && NET_DSA
	select NET_DSA_TAG_GSWIP
	---help---
	  This enables support for the Lantiq / Intel GSWIP 2.1 found in
	  the xrx200 / VR9 SoC.

config NET_DSA_MT7530
	tristate "Mediatek MT7530 Ethernet switch support"
	depends on NET_DSA
	select NET_DSA_TAG_MTK
	---help---
	  This enables support for the Mediatek MT7530 Ethernet switch
	  chip.

config NET_DSA_MV88E6060
	tristate "Marvell 88E6060 ethernet switch chip support"
	depends on NET_DSA
	select NET_DSA_TAG_TRAILER
	---help---
	  This enables support for the Marvell 88E6060 ethernet switch
	  chip.

source "drivers/net/dsa/microchip/Kconfig"

source "drivers/net/dsa/mv88e6xxx/Kconfig"

source "drivers/net/dsa/ocelot/Kconfig"

source "drivers/net/dsa/qca/Kconfig"

source "drivers/net/dsa/sja1105/Kconfig"

config NET_DSA_QCA8K
	tristate "Qualcomm Atheros QCA8K Ethernet switch family support"
	depends on NET_DSA
	select NET_DSA_TAG_QCA
	select REGMAP
	---help---
	  This enables support for the Qualcomm Atheros QCA8K Ethernet
	  switch chips.

config NET_DSA_REALTEK_SMI
	tristate "Realtek SMI Ethernet switch family support"
	depends on NET_DSA
	select FIXED_PHY
	select IRQ_DOMAIN
	select REALTEK_PHY
	select REGMAP
	---help---
	  This enables support for the Realtek SMI-based switch
	  chips, currently only RTL8366RB.

config NET_DSA_SMSC_LAN9303
	tristate
	select NET_DSA_TAG_LAN9303
	select REGMAP
	---help---
	  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"
	depends on NET_DSA && I2C
	select NET_DSA_SMSC_LAN9303
	select REGMAP_I2C
	---help---
	  Enable access functions if the SMSC/Microchip LAN9303 is configured
	  for I2C managed mode.

config NET_DSA_SMSC_LAN9303_MDIO
	tristate "SMSC/Microchip LAN9303 3-ports 10/100 ethernet switch in MDIO managed mode"
	depends on NET_DSA
	select NET_DSA_SMSC_LAN9303
	---help---
	  Enable access functions if the SMSC/Microchip LAN9303 is configured
	  for MDIO managed mode.

config NET_DSA_VITESSE_VSC73XX
	tristate
	depends on NET_DSA
	select FIXED_PHY
	select VITESSE_PHY
	select GPIOLIB
	---help---
	  This enables support for the Vitesse VSC7385, VSC7388,
	  VSC7395 and VSC7398 SparX integrated ethernet switches.

config NET_DSA_VITESSE_VSC73XX_SPI
	tristate "Vitesse VSC7385/7388/7395/7398 SPI mode support"
	depends on NET_DSA
	depends on SPI
	select NET_DSA_VITESSE_VSC73XX
	---help---
	  This enables support for the Vitesse VSC7385, VSC7388, VSC7395
	  and VSC7398 SparX integrated ethernet switches in SPI managed mode.

config NET_DSA_VITESSE_VSC73XX_PLATFORM
	tristate "Vitesse VSC7385/7388/7395/7398 Platform mode support"
	depends on NET_DSA
	depends on HAS_IOMEM
	select NET_DSA_VITESSE_VSC73XX
	---help---
	  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.
endmenu
