xref: /openbmc/linux/net/dsa/Kconfig (revision 092f8751)
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
124a52dd8fSOleksij 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
2148fda74fSOleksij Rempelconfig NET_DSA_TAG_AR9331
2248fda74fSOleksij Rempel	tristate "Tag driver for Atheros AR9331 SoC with built-in switch"
2348fda74fSOleksij Rempel	help
2448fda74fSOleksij Rempel	  Say Y or M if you want to enable support for tagging frames for
2548fda74fSOleksij Rempel	  the Atheros AR9331 SoC with built-in switch.
2648fda74fSOleksij Rempel
270b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_BRCM_COMMON
280b9f9dfbSAndrew Lunn	tristate
290b9f9dfbSAndrew Lunn	default n
300b9f9dfbSAndrew Lunn
315037d532SFlorian Fainelliconfig NET_DSA_TAG_BRCM
320b9f9dfbSAndrew Lunn	tristate "Tag driver for Broadcom switches using in-frame headers"
330b9f9dfbSAndrew Lunn	select NET_DSA_TAG_BRCM_COMMON
340b9f9dfbSAndrew Lunn	help
350b9f9dfbSAndrew Lunn	  Say Y if you want to enable support for tagging frames for the
360b9f9dfbSAndrew Lunn	  Broadcom switches which place the tag after the MAC source address.
370b9f9dfbSAndrew Lunn
38964dbf18SÁlvaro Fernández Rojasconfig NET_DSA_TAG_BRCM_LEGACY
39964dbf18SÁlvaro Fernández Rojas	tristate "Tag driver for Broadcom legacy switches using in-frame headers"
40964dbf18SÁlvaro Fernández Rojas	select NET_DSA_TAG_BRCM_COMMON
41964dbf18SÁlvaro Fernández Rojas	help
42964dbf18SÁlvaro Fernández Rojas	  Say Y if you want to enable support for tagging frames for the
43964dbf18SÁlvaro Fernández Rojas	  Broadcom legacy switches which place the tag after the MAC source
44964dbf18SÁlvaro Fernández Rojas	  address.
455037d532SFlorian Fainelli
46b74b70c4SFlorian Fainelliconfig NET_DSA_TAG_BRCM_PREPEND
470b9f9dfbSAndrew Lunn	tristate "Tag driver for Broadcom switches using prepended headers"
480b9f9dfbSAndrew Lunn	select NET_DSA_TAG_BRCM_COMMON
490b9f9dfbSAndrew Lunn	help
500b9f9dfbSAndrew Lunn	  Say Y if you want to enable support for tagging frames for the
510b9f9dfbSAndrew Lunn	  Broadcom switches which places the tag before the Ethernet header
520b9f9dfbSAndrew Lunn	  (prepended).
5391da11f8SLennert Buytenhek
5401ef09caSKurt Kanzenbachconfig NET_DSA_TAG_HELLCREEK
5501ef09caSKurt Kanzenbach	tristate "Tag driver for Hirschmann Hellcreek TSN switches"
5601ef09caSKurt Kanzenbach	help
5701ef09caSKurt Kanzenbach	  Say Y or M if you want to enable support for tagging frames
5801ef09caSKurt Kanzenbach	  for the Hirschmann Hellcreek TSN switches.
5901ef09caSKurt Kanzenbach
6079691192SHauke Mehrtensconfig NET_DSA_TAG_GSWIP
610b9f9dfbSAndrew Lunn	tristate "Tag driver for Lantiq / Intel GSWIP switches"
620b9f9dfbSAndrew Lunn	help
630b9f9dfbSAndrew Lunn	  Say Y or M if you want to enable support for tagging frames for the
640b9f9dfbSAndrew Lunn	  Lantiq / Intel GSWIP switches.
6579691192SHauke Mehrtens
66469ee5feSTobias Waldekranzconfig NET_DSA_TAG_DSA_COMMON
67469ee5feSTobias Waldekranz	tristate
68469ee5feSTobias Waldekranz
690b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_DSA
700b9f9dfbSAndrew Lunn	tristate "Tag driver for Marvell switches using DSA headers"
71469ee5feSTobias Waldekranz	select NET_DSA_TAG_DSA_COMMON
720b9f9dfbSAndrew Lunn	help
730b9f9dfbSAndrew Lunn	  Say Y or M if you want to enable support for tagging frames for the
740b9f9dfbSAndrew Lunn	  Marvell switches which use DSA headers.
758b8010fbSWoojung Huh
760b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_EDSA
770b9f9dfbSAndrew Lunn	tristate "Tag driver for Marvell switches using EtherType DSA headers"
78469ee5feSTobias Waldekranz	select NET_DSA_TAG_DSA_COMMON
790b9f9dfbSAndrew Lunn	help
800b9f9dfbSAndrew Lunn	  Say Y or M if you want to enable support for tagging frames for the
810b9f9dfbSAndrew Lunn	  Marvell switches which use EtherType DSA headers.
82cafdc45cSJohn Crispin
835cd8985aSSean Wangconfig NET_DSA_TAG_MTK
840b9f9dfbSAndrew Lunn	tristate "Tag driver for Mediatek switches"
850b9f9dfbSAndrew Lunn	help
860b9f9dfbSAndrew Lunn	  Say Y or M if you want to enable support for tagging frames for
870b9f9dfbSAndrew Lunn	  Mediatek switches.
88e8fe177aSJuergen Beisert
890b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_KSZ
90*092f8751SPrasanna Vengateshan	tristate "Tag driver for Microchip 8795/937x/9477/9893 families of switches"
910b9f9dfbSAndrew Lunn	help
920b9f9dfbSAndrew Lunn	  Say Y if you want to enable support for tagging frames for the
93*092f8751SPrasanna Vengateshan	  Microchip 8795/937x/9477/9893 families of switches.
940b9f9dfbSAndrew Lunn
958dce89aaSVladimir Olteanconfig NET_DSA_TAG_OCELOT
967c83a7c5SVladimir Oltean	tristate "Tag driver for Ocelot family of switches, using NPI port"
978dce89aaSVladimir Oltean	select PACKING
988dce89aaSVladimir Oltean	help
997c83a7c5SVladimir Oltean	  Say Y or M if you want to enable NPI tagging for the Ocelot switches
1007c83a7c5SVladimir Oltean	  (VSC7511, VSC7512, VSC7513, VSC7514, VSC9953, VSC9959). In this mode,
1017c83a7c5SVladimir Oltean	  the frames over the Ethernet CPU port are prepended with a
1027c83a7c5SVladimir Oltean	  hardware-defined injection/extraction frame header.  Flow control
1037c83a7c5SVladimir Oltean	  (PAUSE frames) over the CPU port is not supported when operating in
1047c83a7c5SVladimir Oltean	  this mode.
1057c83a7c5SVladimir Oltean
1067c83a7c5SVladimir Olteanconfig NET_DSA_TAG_OCELOT_8021Q
1077c83a7c5SVladimir Oltean	tristate "Tag driver for Ocelot family of switches, using VLAN"
1087c83a7c5SVladimir Oltean	help
1097c83a7c5SVladimir Oltean	  Say Y or M if you want to enable support for tagging frames with a
1107c83a7c5SVladimir Oltean	  custom VLAN-based header. Frames that require timestamping, such as
1117c83a7c5SVladimir Oltean	  PTP, are not delivered over Ethernet but over register-based MMIO.
1127c83a7c5SVladimir Oltean	  Flow control over the CPU port is functional in this mode. When using
1137c83a7c5SVladimir Oltean	  this mode, less TCAM resources (VCAP IS1, IS2, ES0) are available for
1147c83a7c5SVladimir Oltean	  use with tc-flower.
1158dce89aaSVladimir Oltean
116eb7b7211SAndrew Lunnconfig NET_DSA_TAG_QCA
1170b9f9dfbSAndrew Lunn	tristate "Tag driver for Qualcomm Atheros QCA8K switches"
1180b9f9dfbSAndrew Lunn	help
1190b9f9dfbSAndrew Lunn	  Say Y or M if you want to enable support for tagging frames for
1200b9f9dfbSAndrew Lunn	  the Qualcomm Atheros QCA8K switches.
1210b9f9dfbSAndrew Lunn
1229cb8eddaSAlvin Šipragaconfig NET_DSA_TAG_RTL4_A
1239cb8eddaSAlvin Šipraga	tristate "Tag driver for Realtek 4 byte protocol A tags"
1249cb8eddaSAlvin Šipraga	help
1259cb8eddaSAlvin Šipraga	  Say Y or M if you want to enable support for tagging frames for the
1269cb8eddaSAlvin Šipraga	  Realtek switches with 4 byte protocol A tags, sich as found in
1279cb8eddaSAlvin Šipraga	  the Realtek RTL8366RB.
1289cb8eddaSAlvin Šipraga
1291521d5adSAlvin Šipragaconfig NET_DSA_TAG_RTL8_4
1301521d5adSAlvin Šipraga	tristate "Tag driver for Realtek 8 byte protocol 4 tags"
1311521d5adSAlvin Šipraga	help
1321521d5adSAlvin Šipraga	  Say Y or M if you want to enable support for tagging frames for Realtek
1331521d5adSAlvin Šipraga	  switches with 8 byte protocol 4 tags, such as the Realtek RTL8365MB-VC.
1341521d5adSAlvin Šipraga
135a08d6a6dSClément Légerconfig NET_DSA_TAG_RZN1_A5PSW
136a08d6a6dSClément Léger	tristate "Tag driver for Renesas RZ/N1 A5PSW switch"
137a08d6a6dSClément Léger	help
138a08d6a6dSClément Léger	  Say Y or M if you want to enable support for tagging frames for
139a08d6a6dSClément Léger	  Renesas RZ/N1 embedded switch that uses an 8 byte tag located after
140a08d6a6dSClément Léger	  destination MAC address.
141a08d6a6dSClément Léger
1420b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_LAN9303
1430b9f9dfbSAndrew Lunn	tristate "Tag driver for SMSC/Microchip LAN9303 family of switches"
1440b9f9dfbSAndrew Lunn	help
1450b9f9dfbSAndrew Lunn	  Say Y or M if you want to enable support for tagging frames for the
1460b9f9dfbSAndrew Lunn	  SMSC/Microchip LAN9303 family of switches.
1470b9f9dfbSAndrew Lunn
148227d07a0SVladimir Olteanconfig NET_DSA_TAG_SJA1105
149227d07a0SVladimir Oltean	tristate "Tag driver for NXP SJA1105 switches"
1506358f38cSVladimir Oltean	select PACKING
151227d07a0SVladimir Oltean	help
152227d07a0SVladimir Oltean	  Say Y or M if you want to enable support for tagging frames with the
153227d07a0SVladimir Oltean	  NXP SJA1105 switch family. Both the native tagging protocol (which
154227d07a0SVladimir Oltean	  is only for link-local traffic) as well as non-native tagging (based
155227d07a0SVladimir Oltean	  on a custom 802.1Q VLAN header) are available.
156227d07a0SVladimir Oltean
1570b9f9dfbSAndrew Lunnconfig NET_DSA_TAG_TRAILER
1580b9f9dfbSAndrew Lunn	tristate "Tag driver for switches using a trailer tag"
1590b9f9dfbSAndrew Lunn	help
1600b9f9dfbSAndrew Lunn	  Say Y or M if you want to enable support for tagging frames at
1610b9f9dfbSAndrew Lunn	  with a trailed. e.g. Marvell 88E6060.
162e8fe177aSJuergen Beisert
16354a52823SGeorge McCollisterconfig NET_DSA_TAG_XRS700X
16454a52823SGeorge McCollister	tristate "Tag driver for XRS700x switches"
16554a52823SGeorge McCollister	help
16654a52823SGeorge McCollister	  Say Y or M if you want to enable support for tagging frames for
16754a52823SGeorge McCollister	  Arrow SpeedChips XRS700x switches that use a single byte tag trailer.
16854a52823SGeorge McCollister
169b3422a31SBen Hutchingsendif
170