162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ciconfig NET_DSA_MSCC_FELIX_DSA_LIB
362306a36Sopenharmony_ci	tristate
462306a36Sopenharmony_ci	help
562306a36Sopenharmony_ci	  This is an umbrella module for all network switches that are
662306a36Sopenharmony_ci	  register-compatible with Ocelot and that perform I/O to their host
762306a36Sopenharmony_ci	  CPU through an NPI (Node Processor Interface) Ethernet port.
862306a36Sopenharmony_ci	  Its name comes from the first hardware chip to make use of it
962306a36Sopenharmony_ci	  (VSC9959), code named Felix.
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ciconfig NET_DSA_MSCC_OCELOT_EXT
1262306a36Sopenharmony_ci	tristate "Ocelot External Ethernet switch support"
1362306a36Sopenharmony_ci	depends on NET_DSA && SPI
1462306a36Sopenharmony_ci	depends on NET_VENDOR_MICROSEMI
1562306a36Sopenharmony_ci	depends on PTP_1588_CLOCK_OPTIONAL
1662306a36Sopenharmony_ci	select MDIO_MSCC_MIIM
1762306a36Sopenharmony_ci	select MFD_OCELOT
1862306a36Sopenharmony_ci	select MSCC_OCELOT_SWITCH_LIB
1962306a36Sopenharmony_ci	select NET_DSA_MSCC_FELIX_DSA_LIB
2062306a36Sopenharmony_ci	select NET_DSA_TAG_OCELOT_8021Q
2162306a36Sopenharmony_ci	select NET_DSA_TAG_OCELOT
2262306a36Sopenharmony_ci	help
2362306a36Sopenharmony_ci	  This driver supports the VSC7511, VSC7512, VSC7513 and VSC7514 chips
2462306a36Sopenharmony_ci	  when controlled through SPI.
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci	  The Ocelot switch family is a set of multi-port networking chips. All
2762306a36Sopenharmony_ci	  of these chips have the ability to be controlled externally through
2862306a36Sopenharmony_ci	  SPI or PCIe interfaces.
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci	  Say "Y" here to enable external control to these chips.
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ciconfig NET_DSA_MSCC_FELIX
3362306a36Sopenharmony_ci	tristate "Ocelot / Felix Ethernet switch support"
3462306a36Sopenharmony_ci	depends on NET_DSA && PCI
3562306a36Sopenharmony_ci	depends on NET_VENDOR_MICROSEMI
3662306a36Sopenharmony_ci	depends on NET_VENDOR_FREESCALE
3762306a36Sopenharmony_ci	depends on HAS_IOMEM
3862306a36Sopenharmony_ci	depends on PTP_1588_CLOCK_OPTIONAL
3962306a36Sopenharmony_ci	depends on NET_SCH_TAPRIO || NET_SCH_TAPRIO=n
4062306a36Sopenharmony_ci	select MSCC_OCELOT_SWITCH_LIB
4162306a36Sopenharmony_ci	select NET_DSA_MSCC_FELIX_DSA_LIB
4262306a36Sopenharmony_ci	select NET_DSA_TAG_OCELOT_8021Q
4362306a36Sopenharmony_ci	select NET_DSA_TAG_OCELOT
4462306a36Sopenharmony_ci	select FSL_ENETC_MDIO
4562306a36Sopenharmony_ci	select PCS_LYNX
4662306a36Sopenharmony_ci	help
4762306a36Sopenharmony_ci	  This driver supports the VSC9959 (Felix) switch, which is embedded as
4862306a36Sopenharmony_ci	  a PCIe function of the NXP LS1028A ENETC RCiEP.
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ciconfig NET_DSA_MSCC_SEVILLE
5162306a36Sopenharmony_ci	tristate "Ocelot / Seville Ethernet switch support"
5262306a36Sopenharmony_ci	depends on NET_DSA
5362306a36Sopenharmony_ci	depends on NET_VENDOR_MICROSEMI
5462306a36Sopenharmony_ci	depends on HAS_IOMEM
5562306a36Sopenharmony_ci	depends on PTP_1588_CLOCK_OPTIONAL
5662306a36Sopenharmony_ci	select MDIO_MSCC_MIIM
5762306a36Sopenharmony_ci	select MSCC_OCELOT_SWITCH_LIB
5862306a36Sopenharmony_ci	select NET_DSA_MSCC_FELIX_DSA_LIB
5962306a36Sopenharmony_ci	select NET_DSA_TAG_OCELOT_8021Q
6062306a36Sopenharmony_ci	select NET_DSA_TAG_OCELOT
6162306a36Sopenharmony_ci	select PCS_LYNX
6262306a36Sopenharmony_ci	help
6362306a36Sopenharmony_ci	  This driver supports the VSC9953 (Seville) switch, which is embedded
6462306a36Sopenharmony_ci	  as a platform device on the NXP T1040 SoC.
65