xref: /openbmc/linux/net/dsa/Kconfig (revision 4a52dd8f)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
2b3422a31SBen Hutchings
30b9f9dfbSAndrew Lunnmenuconfig NET_DSA
4c6f15070SMathieu Olivari	tristate "Distributed Switch Architecture"
5ee0ab7a2SAndrew Lunn	depends on BRIDGE || BRIDGE=n
694ead4caSFlorian Fainelli	depends on HSR || HSR=n
7227d7206SAlexander Lobakin	depends on INET && NETDEVICES
8e131a563SAlexander Lobakin	select GRO_CELLS
93a89eaa6SVivien Didelot	select NET_SWITCHDEV
1011d8f3ddSFlorian Fainelli	select PHYLINK
11f6b19b35SJiri Pirko	select NET_DEVLINK
12*4a52dd8fSOleksij Rempel	imply NET_SELFTESTS
13a7f7f624SMasahiro Yamada	help
14c6f15070SMathieu Olivari	  Say Y if you want to enable support for the hardware switches supported
15c6f15070SMathieu Olivari	  by the Distributed Switch Architecture.
1691da11f8SLennert Buytenhek
17b3422a31SBen Hutchingsif NET_DSA
1891da11f8SLennert Buytenhek
19227d7206SAlexander Lobakin# Drivers must select the appropriate tagging format(s)
20227d7206SAlexander Lobakin
21f9bbe447SVladimir Olteanconfig NET_DSA_TAG_8021Q
22129bd7caSFlorian Fainelli	tristate
23f9bbe447SVladimir Oltean	select VLAN_8021Q
24f9bbe447SVladimir Oltean	help
25f9bbe447SVladimir Oltean	  Unlike the other tagging protocols, the 802.1Q config option simply
26f9bbe447SVladimir Oltean	  provides helpers for other tagging implementations that might rely on
27f9bbe447SVladimir Oltean	  VLAN in one way or another. It is not a complete solution.
28f9bbe447SVladimir Oltean
29f9bbe447SVladimir Oltean	  Drivers which use these helpers should select this as dependency.
30f9bbe447SVladimir Oltean
3148fda74fSOleksij Rempelconfig NET_DSA_TAG_AR9331
3248fda74fSOleksij Rempel	tristate "Tag driver for Atheros AR9331 SoC with built-in switch"
3348fda74fSOleksij Rempel	help
3448fda74fSOleksij Rempel	  Say Y or M if you want to enable support for tagging frames for
3548fda74fSOleksij Rempel	  the Atheros AR9331 SoC with built-in switch.
3648fda74fSOleksij Rempel
370b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_BRCM_COMMON
380b9f9dfbSAndrew Lunn	tristate
390b9f9dfbSAndrew Lunn	default n
400b9f9dfbSAndrew Lunn
415037d532SFlorian Fainelliconfig NET_DSA_TAG_BRCM
420b9f9dfbSAndrew Lunn	tristate "Tag driver for Broadcom switches using in-frame headers"
430b9f9dfbSAndrew Lunn	select NET_DSA_TAG_BRCM_COMMON
440b9f9dfbSAndrew Lunn	help
450b9f9dfbSAndrew Lunn	  Say Y if you want to enable support for tagging frames for the
460b9f9dfbSAndrew Lunn	  Broadcom switches which place the tag after the MAC source address.
470b9f9dfbSAndrew Lunn
48964dbf18SÁlvaro Fernández Rojasconfig NET_DSA_TAG_BRCM_LEGACY
49964dbf18SÁlvaro Fernández Rojas	tristate "Tag driver for Broadcom legacy switches using in-frame headers"
50964dbf18SÁlvaro Fernández Rojas	select NET_DSA_TAG_BRCM_COMMON
51964dbf18SÁlvaro Fernández Rojas	help
52964dbf18SÁlvaro Fernández Rojas	  Say Y if you want to enable support for tagging frames for the
53964dbf18SÁlvaro Fernández Rojas	  Broadcom legacy switches which place the tag after the MAC source
54964dbf18SÁlvaro Fernández Rojas	  address.
555037d532SFlorian Fainelli
56b74b70c4SFlorian Fainelliconfig NET_DSA_TAG_BRCM_PREPEND
570b9f9dfbSAndrew Lunn	tristate "Tag driver for Broadcom switches using prepended headers"
580b9f9dfbSAndrew Lunn	select NET_DSA_TAG_BRCM_COMMON
590b9f9dfbSAndrew Lunn	help
600b9f9dfbSAndrew Lunn	  Say Y if you want to enable support for tagging frames for the
610b9f9dfbSAndrew Lunn	  Broadcom switches which places the tag before the Ethernet header
620b9f9dfbSAndrew Lunn	  (prepended).
6391da11f8SLennert Buytenhek
6401ef09caSKurt Kanzenbachconfig NET_DSA_TAG_HELLCREEK
6501ef09caSKurt Kanzenbach	tristate "Tag driver for Hirschmann Hellcreek TSN switches"
6601ef09caSKurt Kanzenbach	help
6701ef09caSKurt Kanzenbach	  Say Y or M if you want to enable support for tagging frames
6801ef09caSKurt Kanzenbach	  for the Hirschmann Hellcreek TSN switches.
6901ef09caSKurt Kanzenbach
7079691192SHauke Mehrtensconfig NET_DSA_TAG_GSWIP
710b9f9dfbSAndrew Lunn	tristate "Tag driver for Lantiq / Intel GSWIP switches"
720b9f9dfbSAndrew Lunn	help
730b9f9dfbSAndrew Lunn	  Say Y or M if you want to enable support for tagging frames for the
740b9f9dfbSAndrew Lunn	  Lantiq / Intel GSWIP switches.
7579691192SHauke Mehrtens
76469ee5feSTobias Waldekranzconfig NET_DSA_TAG_DSA_COMMON
77469ee5feSTobias Waldekranz	tristate
78469ee5feSTobias Waldekranz
790b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_DSA
800b9f9dfbSAndrew Lunn	tristate "Tag driver for Marvell switches using DSA headers"
81469ee5feSTobias Waldekranz	select NET_DSA_TAG_DSA_COMMON
820b9f9dfbSAndrew Lunn	help
830b9f9dfbSAndrew Lunn	  Say Y or M if you want to enable support for tagging frames for the
840b9f9dfbSAndrew Lunn	  Marvell switches which use DSA headers.
858b8010fbSWoojung Huh
860b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_EDSA
870b9f9dfbSAndrew Lunn	tristate "Tag driver for Marvell switches using EtherType DSA headers"
88469ee5feSTobias Waldekranz	select NET_DSA_TAG_DSA_COMMON
890b9f9dfbSAndrew Lunn	help
900b9f9dfbSAndrew Lunn	  Say Y or M if you want to enable support for tagging frames for the
910b9f9dfbSAndrew Lunn	  Marvell switches which use EtherType DSA headers.
92cafdc45cSJohn Crispin
935cd8985aSSean Wangconfig NET_DSA_TAG_MTK
940b9f9dfbSAndrew Lunn	tristate "Tag driver for Mediatek switches"
950b9f9dfbSAndrew Lunn	help
960b9f9dfbSAndrew Lunn	  Say Y or M if you want to enable support for tagging frames for
970b9f9dfbSAndrew Lunn	  Mediatek switches.
98e8fe177aSJuergen Beisert
990b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_KSZ
100f4073e91SGeorge McCollister	tristate "Tag driver for Microchip 8795/9477/9893 families of switches"
1010b9f9dfbSAndrew Lunn	help
1020b9f9dfbSAndrew Lunn	  Say Y if you want to enable support for tagging frames for the
103f4073e91SGeorge McCollister	  Microchip 8795/9477/9893 families of switches.
1040b9f9dfbSAndrew Lunn
105efd7fe68SLinus Walleijconfig NET_DSA_TAG_RTL4_A
106efd7fe68SLinus Walleij	tristate "Tag driver for Realtek 4 byte protocol A tags"
107efd7fe68SLinus Walleij	help
108efd7fe68SLinus Walleij	  Say Y or M if you want to enable support for tagging frames for the
109efd7fe68SLinus Walleij	  Realtek switches with 4 byte protocol A tags, sich as found in
110efd7fe68SLinus Walleij	  the Realtek RTL8366RB.
111efd7fe68SLinus Walleij
1128dce89aaSVladimir Olteanconfig NET_DSA_TAG_OCELOT
1137c83a7c5SVladimir Oltean	tristate "Tag driver for Ocelot family of switches, using NPI port"
11439e5308bSYangbo Lu	depends on MSCC_OCELOT_SWITCH_LIB || \
11539e5308bSYangbo Lu		   (MSCC_OCELOT_SWITCH_LIB=n && COMPILE_TEST)
1168dce89aaSVladimir Oltean	select PACKING
1178dce89aaSVladimir Oltean	help
1187c83a7c5SVladimir Oltean	  Say Y or M if you want to enable NPI tagging for the Ocelot switches
1197c83a7c5SVladimir Oltean	  (VSC7511, VSC7512, VSC7513, VSC7514, VSC9953, VSC9959). In this mode,
1207c83a7c5SVladimir Oltean	  the frames over the Ethernet CPU port are prepended with a
1217c83a7c5SVladimir Oltean	  hardware-defined injection/extraction frame header.  Flow control
1227c83a7c5SVladimir Oltean	  (PAUSE frames) over the CPU port is not supported when operating in
1237c83a7c5SVladimir Oltean	  this mode.
1247c83a7c5SVladimir Oltean
1257c83a7c5SVladimir Olteanconfig NET_DSA_TAG_OCELOT_8021Q
1267c83a7c5SVladimir Oltean	tristate "Tag driver for Ocelot family of switches, using VLAN"
12701c2c1adSArnd Bergmann	depends on MSCC_OCELOT_SWITCH_LIB || \
12801c2c1adSArnd Bergmann	          (MSCC_OCELOT_SWITCH_LIB=n && COMPILE_TEST)
1297c83a7c5SVladimir Oltean	select NET_DSA_TAG_8021Q
1307c83a7c5SVladimir Oltean	help
1317c83a7c5SVladimir Oltean	  Say Y or M if you want to enable support for tagging frames with a
1327c83a7c5SVladimir Oltean	  custom VLAN-based header. Frames that require timestamping, such as
1337c83a7c5SVladimir Oltean	  PTP, are not delivered over Ethernet but over register-based MMIO.
1347c83a7c5SVladimir Oltean	  Flow control over the CPU port is functional in this mode. When using
1357c83a7c5SVladimir Oltean	  this mode, less TCAM resources (VCAP IS1, IS2, ES0) are available for
1367c83a7c5SVladimir Oltean	  use with tc-flower.
1378dce89aaSVladimir Oltean
138eb7b7211SAndrew Lunnconfig NET_DSA_TAG_QCA
1390b9f9dfbSAndrew Lunn	tristate "Tag driver for Qualcomm Atheros QCA8K switches"
1400b9f9dfbSAndrew Lunn	help
1410b9f9dfbSAndrew Lunn	  Say Y or M if you want to enable support for tagging frames for
1420b9f9dfbSAndrew Lunn	  the Qualcomm Atheros QCA8K switches.
1430b9f9dfbSAndrew Lunn
1440b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_LAN9303
1450b9f9dfbSAndrew Lunn	tristate "Tag driver for SMSC/Microchip LAN9303 family of switches"
1460b9f9dfbSAndrew Lunn	help
1470b9f9dfbSAndrew Lunn	  Say Y or M if you want to enable support for tagging frames for the
1480b9f9dfbSAndrew Lunn	  SMSC/Microchip LAN9303 family of switches.
1490b9f9dfbSAndrew Lunn
150227d07a0SVladimir Olteanconfig NET_DSA_TAG_SJA1105
151227d07a0SVladimir Oltean	tristate "Tag driver for NXP SJA1105 switches"
152227d07a0SVladimir Oltean	select NET_DSA_TAG_8021Q
1536358f38cSVladimir Oltean	select PACKING
154227d07a0SVladimir Oltean	help
155227d07a0SVladimir Oltean	  Say Y or M if you want to enable support for tagging frames with the
156227d07a0SVladimir Oltean	  NXP SJA1105 switch family. Both the native tagging protocol (which
157227d07a0SVladimir Oltean	  is only for link-local traffic) as well as non-native tagging (based
158227d07a0SVladimir Oltean	  on a custom 802.1Q VLAN header) are available.
159227d07a0SVladimir Oltean
1600b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_TRAILER
1610b9f9dfbSAndrew Lunn	tristate "Tag driver for switches using a trailer tag"
1620b9f9dfbSAndrew Lunn	help
1630b9f9dfbSAndrew Lunn	  Say Y or M if you want to enable support for tagging frames at
1640b9f9dfbSAndrew Lunn	  with a trailed. e.g. Marvell 88E6060.
165e8fe177aSJuergen Beisert
16654a52823SGeorge McCollisterconfig NET_DSA_TAG_XRS700X
16754a52823SGeorge McCollister	tristate "Tag driver for XRS700x switches"
16854a52823SGeorge McCollister	help
16954a52823SGeorge McCollister	  Say Y or M if you want to enable support for tagging frames for
17054a52823SGeorge McCollister	  Arrow SpeedChips XRS700x switches that use a single byte tag trailer.
17154a52823SGeorge McCollister
172b3422a31SBen Hutchingsendif
173