162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ciconfig NET_DSA_SJA1105
362306a36Sopenharmony_citristate "NXP SJA1105 Ethernet switch family support"
462306a36Sopenharmony_ci	depends on NET_DSA && SPI
562306a36Sopenharmony_ci	depends on PTP_1588_CLOCK_OPTIONAL
662306a36Sopenharmony_ci	select NET_DSA_TAG_SJA1105
762306a36Sopenharmony_ci	select PCS_XPCS
862306a36Sopenharmony_ci	select PACKING
962306a36Sopenharmony_ci	select CRC32
1062306a36Sopenharmony_ci	help
1162306a36Sopenharmony_ci	  This is the driver for the NXP SJA1105 (5-port) and SJA1110 (10-port)
1262306a36Sopenharmony_ci	  automotive Ethernet switch family. These are managed over an SPI
1362306a36Sopenharmony_ci	  interface. Probing is handled based on OF bindings and so is the
1462306a36Sopenharmony_ci	  linkage to PHYLINK. The driver supports the following revisions:
1562306a36Sopenharmony_ci	    - SJA1105E (Gen. 1, No TT-Ethernet)
1662306a36Sopenharmony_ci	    - SJA1105T (Gen. 1, TT-Ethernet)
1762306a36Sopenharmony_ci	    - SJA1105P (Gen. 2, No SGMII, No TT-Ethernet)
1862306a36Sopenharmony_ci	    - SJA1105Q (Gen. 2, No SGMII, TT-Ethernet)
1962306a36Sopenharmony_ci	    - SJA1105R (Gen. 2, SGMII, No TT-Ethernet)
2062306a36Sopenharmony_ci	    - SJA1105S (Gen. 2, SGMII, TT-Ethernet)
2162306a36Sopenharmony_ci	    - SJA1110A (Gen. 3, SGMII, TT-Ethernet, 100base-TX PHY, 10 ports)
2262306a36Sopenharmony_ci	    - SJA1110B (Gen. 3, SGMII, TT-Ethernet, 100base-TX PHY, 9 ports)
2362306a36Sopenharmony_ci	    - SJA1110C (Gen. 3, SGMII, TT-Ethernet, 100base-TX PHY, 7 ports)
2462306a36Sopenharmony_ci	    - SJA1110D (Gen. 3, SGMII, TT-Ethernet, no 100base-TX PHY, 7 ports)
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ciconfig NET_DSA_SJA1105_PTP
2762306a36Sopenharmony_ci	bool "Support for the PTP clock on the NXP SJA1105 Ethernet switch"
2862306a36Sopenharmony_ci	depends on NET_DSA_SJA1105
2962306a36Sopenharmony_ci	depends on PTP_1588_CLOCK
3062306a36Sopenharmony_ci	help
3162306a36Sopenharmony_ci	  This enables support for timestamping and PTP clock manipulations in
3262306a36Sopenharmony_ci	  the SJA1105 DSA driver.
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ciconfig NET_DSA_SJA1105_TAS
3562306a36Sopenharmony_ci	bool "Support for the Time-Aware Scheduler on NXP SJA1105"
3662306a36Sopenharmony_ci	depends on NET_DSA_SJA1105 && NET_SCH_TAPRIO
3762306a36Sopenharmony_ci	depends on NET_SCH_TAPRIO=y || NET_DSA_SJA1105=m
3862306a36Sopenharmony_ci	depends on NET_DSA_SJA1105_PTP
3962306a36Sopenharmony_ci	help
4062306a36Sopenharmony_ci	  This enables support for the TTEthernet-based egress scheduling
4162306a36Sopenharmony_ci	  engine in the SJA1105 DSA driver, which is controlled using a
4262306a36Sopenharmony_ci	  hardware offload of the tc-tqprio qdisc.
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ciconfig NET_DSA_SJA1105_VL
4562306a36Sopenharmony_ci	bool "Support for Virtual Links on NXP SJA1105"
4662306a36Sopenharmony_ci	depends on NET_DSA_SJA1105_TAS
4762306a36Sopenharmony_ci	help
4862306a36Sopenharmony_ci	  This enables support for flow classification using capable devices
4962306a36Sopenharmony_ci	  (SJA1105T, SJA1105Q, SJA1105S). The following actions are supported:
5062306a36Sopenharmony_ci	  - redirect, trap, drop
5162306a36Sopenharmony_ci	  - time-based ingress policing, via the tc-gate action
52