# SPDX-License-Identifier: GPL-2.0-only
menuconfig NET_DSA_REALTEK
	tristate "Realtek Ethernet switch family support"
	depends on NET_DSA
	select FIXED_PHY
	select IRQ_DOMAIN
	select REALTEK_PHY
	select REGMAP
	help
	  Select to enable support for Realtek Ethernet switch chips.

	  Note that at least one interface driver must be enabled for the
	  subdrivers to be loaded. Moreover, an interface driver cannot achieve
	  anything without at least one subdriver enabled.

if NET_DSA_REALTEK

config NET_DSA_REALTEK_MDIO
	bool "Realtek MDIO interface support"
	depends on OF
	help
	  Select to enable support for registering switches configured
	  through MDIO.

config NET_DSA_REALTEK_SMI
	bool "Realtek SMI interface support"
	depends on OF
	help
	  Select to enable support for registering switches connected
	  through SMI.

config NET_DSA_REALTEK_RTL8365MB
	tristate "Realtek RTL8365MB switch driver"
	depends on NET_DSA_REALTEK_SMI || NET_DSA_REALTEK_MDIO
	select NET_DSA_TAG_RTL8_4
	help
	  Select to enable support for Realtek RTL8365MB-VC and RTL8367S.

config NET_DSA_REALTEK_RTL8366RB
	tristate "Realtek RTL8366RB switch driver"
	depends on NET_DSA_REALTEK_SMI || NET_DSA_REALTEK_MDIO
	select NET_DSA_TAG_RTL4_A
	help
	  Select to enable support for Realtek RTL8366RB.

endif
