xref: /openbmc/linux/net/dsa/Kconfig (revision 469ee5fe)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
2b3422a31SBen Hutchingsconfig HAVE_NET_DSA
3b3422a31SBen Hutchings	def_bool y
43a89eaa6SVivien Didelot	depends on INET && NETDEVICES && !S390
5b3422a31SBen Hutchings
6b3422a31SBen Hutchings# Drivers must select NET_DSA and the appropriate tagging format
7b3422a31SBen Hutchings
80b9f9dfbSAndrew Lunnmenuconfig NET_DSA
9c6f15070SMathieu Olivari	tristate "Distributed Switch Architecture"
10f4b6bcc7SJakub Kicinski	depends on HAVE_NET_DSA
11ee0ab7a2SAndrew Lunn	depends on BRIDGE || BRIDGE=n
12e131a563SAlexander Lobakin	select GRO_CELLS
133a89eaa6SVivien Didelot	select NET_SWITCHDEV
1411d8f3ddSFlorian Fainelli	select PHYLINK
15f6b19b35SJiri Pirko	select NET_DEVLINK
16a7f7f624SMasahiro Yamada	help
17c6f15070SMathieu Olivari	  Say Y if you want to enable support for the hardware switches supported
18c6f15070SMathieu Olivari	  by the Distributed Switch Architecture.
1991da11f8SLennert Buytenhek
20b3422a31SBen Hutchingsif NET_DSA
2191da11f8SLennert Buytenhek
22f9bbe447SVladimir Oltean# tagging formats
23f9bbe447SVladimir Olteanconfig NET_DSA_TAG_8021Q
24129bd7caSFlorian Fainelli	tristate
25f9bbe447SVladimir Oltean	select VLAN_8021Q
26f9bbe447SVladimir Oltean	help
27f9bbe447SVladimir Oltean	  Unlike the other tagging protocols, the 802.1Q config option simply
28f9bbe447SVladimir Oltean	  provides helpers for other tagging implementations that might rely on
29f9bbe447SVladimir Oltean	  VLAN in one way or another. It is not a complete solution.
30f9bbe447SVladimir Oltean
31f9bbe447SVladimir Oltean	  Drivers which use these helpers should select this as dependency.
32f9bbe447SVladimir Oltean
3348fda74fSOleksij Rempelconfig NET_DSA_TAG_AR9331
3448fda74fSOleksij Rempel	tristate "Tag driver for Atheros AR9331 SoC with built-in switch"
3548fda74fSOleksij Rempel	help
3648fda74fSOleksij Rempel	  Say Y or M if you want to enable support for tagging frames for
3748fda74fSOleksij Rempel	  the Atheros AR9331 SoC with built-in switch.
3848fda74fSOleksij Rempel
390b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_BRCM_COMMON
400b9f9dfbSAndrew Lunn	tristate
410b9f9dfbSAndrew Lunn	default n
420b9f9dfbSAndrew Lunn
435037d532SFlorian Fainelliconfig NET_DSA_TAG_BRCM
440b9f9dfbSAndrew Lunn	tristate "Tag driver for Broadcom switches using in-frame headers"
450b9f9dfbSAndrew Lunn	select NET_DSA_TAG_BRCM_COMMON
460b9f9dfbSAndrew Lunn	help
470b9f9dfbSAndrew Lunn	  Say Y if you want to enable support for tagging frames for the
480b9f9dfbSAndrew Lunn	  Broadcom switches which place the tag after the MAC source address.
490b9f9dfbSAndrew Lunn
505037d532SFlorian Fainelli
51b74b70c4SFlorian Fainelliconfig NET_DSA_TAG_BRCM_PREPEND
520b9f9dfbSAndrew Lunn	tristate "Tag driver for Broadcom switches using prepended headers"
530b9f9dfbSAndrew Lunn	select NET_DSA_TAG_BRCM_COMMON
540b9f9dfbSAndrew Lunn	help
550b9f9dfbSAndrew Lunn	  Say Y if you want to enable support for tagging frames for the
560b9f9dfbSAndrew Lunn	  Broadcom switches which places the tag before the Ethernet header
570b9f9dfbSAndrew Lunn	  (prepended).
5891da11f8SLennert Buytenhek
5901ef09caSKurt Kanzenbachconfig NET_DSA_TAG_HELLCREEK
6001ef09caSKurt Kanzenbach	tristate "Tag driver for Hirschmann Hellcreek TSN switches"
6101ef09caSKurt Kanzenbach	help
6201ef09caSKurt Kanzenbach	  Say Y or M if you want to enable support for tagging frames
6301ef09caSKurt Kanzenbach	  for the Hirschmann Hellcreek TSN switches.
6401ef09caSKurt Kanzenbach
6579691192SHauke Mehrtensconfig NET_DSA_TAG_GSWIP
660b9f9dfbSAndrew Lunn	tristate "Tag driver for Lantiq / Intel GSWIP switches"
670b9f9dfbSAndrew Lunn	help
680b9f9dfbSAndrew Lunn	  Say Y or M if you want to enable support for tagging frames for the
690b9f9dfbSAndrew Lunn	  Lantiq / Intel GSWIP switches.
7079691192SHauke Mehrtens
71*469ee5feSTobias Waldekranzconfig NET_DSA_TAG_DSA_COMMON
72*469ee5feSTobias Waldekranz	tristate
73*469ee5feSTobias Waldekranz
740b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_DSA
750b9f9dfbSAndrew Lunn	tristate "Tag driver for Marvell switches using DSA headers"
76*469ee5feSTobias Waldekranz	select NET_DSA_TAG_DSA_COMMON
770b9f9dfbSAndrew Lunn	help
780b9f9dfbSAndrew Lunn	  Say Y or M if you want to enable support for tagging frames for the
790b9f9dfbSAndrew Lunn	  Marvell switches which use DSA headers.
808b8010fbSWoojung Huh
810b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_EDSA
820b9f9dfbSAndrew Lunn	tristate "Tag driver for Marvell switches using EtherType DSA headers"
83*469ee5feSTobias Waldekranz	select NET_DSA_TAG_DSA_COMMON
840b9f9dfbSAndrew Lunn	help
850b9f9dfbSAndrew Lunn	  Say Y or M if you want to enable support for tagging frames for the
860b9f9dfbSAndrew Lunn	  Marvell switches which use EtherType DSA headers.
87cafdc45cSJohn Crispin
885cd8985aSSean Wangconfig NET_DSA_TAG_MTK
890b9f9dfbSAndrew Lunn	tristate "Tag driver for Mediatek switches"
900b9f9dfbSAndrew Lunn	help
910b9f9dfbSAndrew Lunn	  Say Y or M if you want to enable support for tagging frames for
920b9f9dfbSAndrew Lunn	  Mediatek switches.
93e8fe177aSJuergen Beisert
940b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_KSZ
95f4073e91SGeorge McCollister	tristate "Tag driver for Microchip 8795/9477/9893 families of switches"
960b9f9dfbSAndrew Lunn	help
970b9f9dfbSAndrew Lunn	  Say Y if you want to enable support for tagging frames for the
98f4073e91SGeorge McCollister	  Microchip 8795/9477/9893 families of switches.
990b9f9dfbSAndrew Lunn
100efd7fe68SLinus Walleijconfig NET_DSA_TAG_RTL4_A
101efd7fe68SLinus Walleij	tristate "Tag driver for Realtek 4 byte protocol A tags"
102efd7fe68SLinus Walleij	help
103efd7fe68SLinus Walleij	  Say Y or M if you want to enable support for tagging frames for the
104efd7fe68SLinus Walleij	  Realtek switches with 4 byte protocol A tags, sich as found in
105efd7fe68SLinus Walleij	  the Realtek RTL8366RB.
106efd7fe68SLinus Walleij
1078dce89aaSVladimir Olteanconfig NET_DSA_TAG_OCELOT
1088dce89aaSVladimir Oltean	tristate "Tag driver for Ocelot family of switches"
1098dce89aaSVladimir Oltean	select PACKING
1108dce89aaSVladimir Oltean	help
1118dce89aaSVladimir Oltean	  Say Y or M if you want to enable support for tagging frames for the
1128dce89aaSVladimir Oltean	  Ocelot switches (VSC7511, VSC7512, VSC7513, VSC7514, VSC9959).
1138dce89aaSVladimir Oltean
114eb7b7211SAndrew Lunnconfig NET_DSA_TAG_QCA
1150b9f9dfbSAndrew Lunn	tristate "Tag driver for Qualcomm Atheros QCA8K switches"
1160b9f9dfbSAndrew Lunn	help
1170b9f9dfbSAndrew Lunn	  Say Y or M if you want to enable support for tagging frames for
1180b9f9dfbSAndrew Lunn	  the Qualcomm Atheros QCA8K switches.
1190b9f9dfbSAndrew Lunn
1200b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_LAN9303
1210b9f9dfbSAndrew Lunn	tristate "Tag driver for SMSC/Microchip LAN9303 family of switches"
1220b9f9dfbSAndrew Lunn	help
1230b9f9dfbSAndrew Lunn	  Say Y or M if you want to enable support for tagging frames for the
1240b9f9dfbSAndrew Lunn	  SMSC/Microchip LAN9303 family of switches.
1250b9f9dfbSAndrew Lunn
126227d07a0SVladimir Olteanconfig NET_DSA_TAG_SJA1105
127227d07a0SVladimir Oltean	tristate "Tag driver for NXP SJA1105 switches"
128227d07a0SVladimir Oltean	select NET_DSA_TAG_8021Q
1296358f38cSVladimir Oltean	select PACKING
130227d07a0SVladimir Oltean	help
131227d07a0SVladimir Oltean	  Say Y or M if you want to enable support for tagging frames with the
132227d07a0SVladimir Oltean	  NXP SJA1105 switch family. Both the native tagging protocol (which
133227d07a0SVladimir Oltean	  is only for link-local traffic) as well as non-native tagging (based
134227d07a0SVladimir Oltean	  on a custom 802.1Q VLAN header) are available.
135227d07a0SVladimir Oltean
1360b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_TRAILER
1370b9f9dfbSAndrew Lunn	tristate "Tag driver for switches using a trailer tag"
1380b9f9dfbSAndrew Lunn	help
1390b9f9dfbSAndrew Lunn	  Say Y or M if you want to enable support for tagging frames at
1400b9f9dfbSAndrew Lunn	  with a trailed. e.g. Marvell 88E6060.
141e8fe177aSJuergen Beisert
142b3422a31SBen Hutchingsendif
143