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

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

config NET_DSA_BCM_SF2
	tristate "Broadcom Starfighter 2 Ethernet switch support"
	depends on HAS_IOMEM
	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"
	select NET_DSA_TAG_NONE
	select FIXED_PHY
	help
	  This enables support for a fake mock-up switch chip which
	  exercises the DSA APIs.

source "drivers/net/dsa/hirschmann/Kconfig"

source "drivers/net/dsa/lantiq/Kconfig"

config NET_DSA_MT7530
	tristate "MediaTek MT7530 and MT7531 Ethernet switch support"
	select NET_DSA_TAG_MTK
	select REGMAP_IRQ
	imply NET_DSA_MT7530_MDIO
	imply NET_DSA_MT7530_MMIO
	help
	  This enables support for the MediaTek MT7530 and MT7531 Ethernet
	  switch chips. Multi-chip module MT7530 in MT7621AT, MT7621DAT,
	  MT7621ST and MT7623AI SoCs, and built-in switch in MT7988 SoC are
	  supported as well.

config NET_DSA_MT7530_MDIO
	tristate "MediaTek MT7530 MDIO interface driver"
	depends on NET_DSA_MT7530
	select MEDIATEK_GE_PHY
	select PCS_MTK_LYNXI
	help
	  This enables support for the MediaTek MT7530 and MT7531 switch
	  chips which are connected via MDIO, as well as multi-chip
	  module MT7530 which can be found in the MT7621AT, MT7621DAT,
	  MT7621ST and MT7623AI SoCs.

config NET_DSA_MT7530_MMIO
	tristate "MediaTek MT7530 MMIO interface driver"
	depends on NET_DSA_MT7530
	depends on HAS_IOMEM
	imply MEDIATEK_GE_SOC_PHY
	help
	  This enables support for the built-in Ethernet switch found
	  in the MediaTek MT7988 SoC.
	  The switch is a similar design as MT7531, but the switch registers
	  are directly mapped into the SoCs register space rather than being
	  accessible via MDIO.

config NET_DSA_MV88E6060
	tristate "Marvell 88E6060 ethernet switch chip support"
	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/mxl862xx/Kconfig"

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

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

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

source "drivers/net/dsa/xrs700x/Kconfig"

source "drivers/net/dsa/realtek/Kconfig"

config NET_DSA_RZN1_A5PSW
	tristate "Renesas RZ/N1 A5PSW Ethernet switch support"
	depends on OF && (ARCH_RZN1 || COMPILE_TEST)
	select NET_DSA_TAG_RZN1_A5PSW
	select PCS_RZN1_MIIC
	help
	  This driver supports the A5PSW switch, which is embedded in Renesas
	  RZ/N1 SoC.

config NET_DSA_KS8995
	tristate "Micrel KS8995 family 5-ports 10/100 Ethernet switches"
	depends on SPI
	select NET_DSA_TAG_NONE
	help
	  This driver supports the Micrel KS8995 family of 10/100 Mbit ethernet
	  switches, managed over SPI.

config NET_DSA_SMSC_LAN9303
	tristate
	select NET_DSA_TAG_LAN9303
	select REGMAP
	imply SMSC_PHY
	help
	  This enables support for the Microchip LAN9303/LAN9354 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 I2C
	depends on VLAN_8021Q || VLAN_8021Q=n
	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 "Microchip LAN9303/LAN9354 3-ports 10/100 ethernet switch in MDIO managed mode"
	select NET_DSA_SMSC_LAN9303
	depends on VLAN_8021Q || VLAN_8021Q=n
	help
	  Enable access functions if the Microchip LAN9303/LAN9354 is configured
	  for MDIO managed mode.

config NET_DSA_VITESSE_VSC73XX
	tristate
	select NET_DSA_TAG_VSC73XX_8021Q
	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 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 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.

config NET_DSA_YT921X
	tristate "Motorcomm YT9215 ethernet switch chip support"
	select NET_DSA_TAG_YT921X
	select NET_IEEE8021Q_HELPERS if DCB
	help
	  This enables support for the Motorcomm YT9215 ethernet switch
	  chip.
endmenu
