# SPDX-License-Identifier: GPL-2.0-only
menuconfig NET_DSA_MICROCHIP_KSZ_COMMON
	tristate "Microchip KSZ8XXX/KSZ9XXX/LAN937X series switch support"
	depends on NET_DSA
	select NET_DSA_TAG_KSZ
	select NET_DSA_TAG_NONE
	select NET_IEEE8021Q_HELPERS
	select DCB
	help
	  This driver adds support for Microchip KSZ8, KSZ9 and
	  LAN937X series switch chips, being KSZ8863/8873,
	  KSZ8895/8864, KSZ8794/8795/8765,
	  KSZ9477/9897/9896/9567/8567, KSZ9893/9563/8563 and
	  LAN9370/9371/9372/9373/9374.

config NET_DSA_MICROCHIP_KSZ9477_I2C
	tristate "KSZ series I2C connected switch driver"
	depends on NET_DSA_MICROCHIP_KSZ_COMMON && I2C
	select REGMAP_I2C
	help
	  Select to enable support for registering switches configured through I2C.

config NET_DSA_MICROCHIP_KSZ_SPI
	tristate "KSZ series SPI connected switch driver"
	depends on NET_DSA_MICROCHIP_KSZ_COMMON && SPI
	select REGMAP_SPI
	help
	  Select to enable support for registering switches configured through SPI.

config NET_DSA_MICROCHIP_KSZ_PTP
	bool "Support for the PTP clock on the KSZ9563/LAN937x Ethernet Switch"
	depends on NET_DSA_MICROCHIP_KSZ_COMMON && PTP_1588_CLOCK
	depends on NET_DSA_MICROCHIP_KSZ_COMMON=m || PTP_1588_CLOCK=y
	help
	  Select to enable support for timestamping & PTP clock manipulation in
	  KSZ8563/KSZ9563/LAN937x series of switches. KSZ9563/KSZ8563 supports
	  only one step timestamping. LAN937x switch supports both one step and
	  two step timestamping.

config NET_DSA_MICROCHIP_KSZ8863_SMI
	tristate "KSZ series SMI connected switch driver"
	depends on NET_DSA_MICROCHIP_KSZ_COMMON
	select MDIO_BITBANG
	help
	  Select to enable support for registering switches configured through
	  Microchip SMI. It supports the KSZ8863 and KSZ8873 switch.
