# Distributed Switch Architecture [DSA] configuration options

# Copyright (c) 2020 DENX Software Engineering GmbH
#               Lukasz Majewski <lukma@denx.de>
# SPDX-License-Identifier: Apache-2.0

menuconfig NET_DSA
	bool "Distributed Switch Architecture support"
	depends on ETH_MCUX
	help
	  Enable Distributed Switch Architecture support. For now it
	  only supports Kinetics ENET driver.

if NET_DSA

config DSA_KSZ8794
	bool "Enable support for KSZ8794"
	help
	  Add support for KSZ8794 DSA device driver.

config DSA_KSZ8794_TAIL_TAGGING
	bool "Enable support for tail tagging on KSZ8794"
	help
	  Add support for tail tagging on KSZ8794 DSA device.

module = NET_DSA
module-dep = NET_LOG
module-str = Log level for DSA
module-help = Enables core DSA code to output debug messages.
source "subsys/net/Kconfig.template.log_config.net"

endif # NET_DSA
