xref: /linux/drivers/net/ethernet/broadcom/Kconfig (revision 14483cbf040fcb38113497161088a1ce8ce5d713)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
2adfc5217SJeff Kirsher#
3adfc5217SJeff Kirsher# Broadcom device configuration
4adfc5217SJeff Kirsher#
5adfc5217SJeff Kirsher
6adfc5217SJeff Kirsherconfig NET_VENDOR_BROADCOM
7adfc5217SJeff Kirsher	bool "Broadcom devices"
888f07484SJeff Kirsher	default y
9adfc5217SJeff Kirsher	depends on (SSB_POSSIBLE && HAS_DMA) || PCI || BCM63XX || \
10adfc5217SJeff Kirsher		   SIBYTE_SB1xxx_SOC
11a7f7f624SMasahiro Yamada	help
12adfc5217SJeff Kirsher	  If you have a network (Ethernet) chipset belonging to this class,
13adfc5217SJeff Kirsher	  say Y.
14adfc5217SJeff Kirsher
15adfc5217SJeff Kirsher	  Note that the answer to this question does not directly affect
16aca3432aSGeert Uytterhoeven	  the kernel: saying N will just cause the configurator to skip all
17aca3432aSGeert Uytterhoeven	  the questions regarding Broadcom chipsets. If you say Y, you will
18aca3432aSGeert Uytterhoeven	  be asked for your specific chipset/driver in the following questions.
19adfc5217SJeff Kirsher
20adfc5217SJeff Kirsherif NET_VENDOR_BROADCOM
21adfc5217SJeff Kirsher
22adfc5217SJeff Kirsherconfig B44
23adfc5217SJeff Kirsher	tristate "Broadcom 440x/47xx ethernet support"
24adfc5217SJeff Kirsher	depends on SSB_POSSIBLE && HAS_DMA
25adfc5217SJeff Kirsher	select SSB
26adfc5217SJeff Kirsher	select MII
2786f4ea63SHauke Mehrtens	select PHYLIB
28a7f7f624SMasahiro Yamada	help
29adfc5217SJeff Kirsher	  If you have a network (Ethernet) controller of this type, say Y
30138b15edSPaul Gortmaker	  or M here.
31adfc5217SJeff Kirsher
32adfc5217SJeff Kirsher	  To compile this driver as a module, choose M here. The module
33adfc5217SJeff Kirsher	  will be called b44.
34adfc5217SJeff Kirsher
35adfc5217SJeff Kirsher# Auto-select SSB PCI-HOST support, if possible
36adfc5217SJeff Kirsherconfig B44_PCI_AUTOSELECT
37adfc5217SJeff Kirsher	bool
38adfc5217SJeff Kirsher	depends on B44 && SSB_PCIHOST_POSSIBLE
39adfc5217SJeff Kirsher	select SSB_PCIHOST
40adfc5217SJeff Kirsher	default y
41adfc5217SJeff Kirsher
42adfc5217SJeff Kirsher# Auto-select SSB PCICORE driver, if possible
43adfc5217SJeff Kirsherconfig B44_PCICORE_AUTOSELECT
44adfc5217SJeff Kirsher	bool
45adfc5217SJeff Kirsher	depends on B44 && SSB_DRIVER_PCICORE_POSSIBLE
46adfc5217SJeff Kirsher	select SSB_DRIVER_PCICORE
47adfc5217SJeff Kirsher	default y
48adfc5217SJeff Kirsher
49adfc5217SJeff Kirsherconfig B44_PCI
50adfc5217SJeff Kirsher	bool
51adfc5217SJeff Kirsher	depends on B44_PCI_AUTOSELECT && B44_PCICORE_AUTOSELECT
52adfc5217SJeff Kirsher	default y
53adfc5217SJeff Kirsher
54adfc5217SJeff Kirsherconfig BCM63XX_ENET
55adfc5217SJeff Kirsher	tristate "Broadcom 63xx internal mac support"
56adfc5217SJeff Kirsher	depends on BCM63XX
57adfc5217SJeff Kirsher	select MII
58adfc5217SJeff Kirsher	select PHYLIB
59adfc5217SJeff Kirsher	help
60adfc5217SJeff Kirsher	  This driver supports the ethernet MACs in the Broadcom 63xx
61adfc5217SJeff Kirsher	  MIPS chipset family (BCM63XX).
62adfc5217SJeff Kirsher
63bdaa53bdSFlorian Fainelliconfig BCMGENET
64bdaa53bdSFlorian Fainelli	tristate "Broadcom GENET internal MAC support"
657f7b7574SFlorian Fainelli	depends on HAS_IOMEM
66bdaa53bdSFlorian Fainelli	select MII
67bdaa53bdSFlorian Fainelli	select PHYLIB
68d8ced82eSFlorian Fainelli	select FIXED_PHY
69bdaa53bdSFlorian Fainelli	select BCM7XXX_PHY
709a4e7969SFlorian Fainelli	select MDIO_BCM_UNIMAC
71ddc790e9SRandy Dunlap	select DIMLIB
7299addbe3SFlorian Fainelli	select BROADCOM_PHY if ARCH_BCM2835
73bdaa53bdSFlorian Fainelli	help
74bdaa53bdSFlorian Fainelli	  This driver supports the built-in Ethernet MACs found in the
75bdaa53bdSFlorian Fainelli	  Broadcom BCM7xxx Set Top Box family chipset.
76bdaa53bdSFlorian Fainelli
77adfc5217SJeff Kirsherconfig BNX2
782e0bf125SRasesh Mody	tristate "QLogic bnx2 support"
79adfc5217SJeff Kirsher	depends on PCI
80adfc5217SJeff Kirsher	select CRC32
81adfc5217SJeff Kirsher	select FW_LOADER
82a7f7f624SMasahiro Yamada	help
832e0bf125SRasesh Mody	  This driver supports QLogic bnx2 gigabit Ethernet cards.
84adfc5217SJeff Kirsher
85adfc5217SJeff Kirsher	  To compile this driver as a module, choose M here: the module
86adfc5217SJeff Kirsher	  will be called bnx2.  This is recommended.
87adfc5217SJeff Kirsher
88adfc5217SJeff Kirsherconfig CNIC
89d7afae05SJitendra Kalsaria	tristate "QLogic CNIC support"
90c99d667eSAnish Bhatt	depends on PCI && (IPV6 || IPV6=n)
91*14483cbfSRandy Dunlap	depends on MMU
92adfc5217SJeff Kirsher	select BNX2
93adfc5217SJeff Kirsher	select UIO
94a7f7f624SMasahiro Yamada	help
952e0bf125SRasesh Mody	  This driver supports offload features of QLogic bnx2 gigabit
962e0bf125SRasesh Mody	  Ethernet cards.
97adfc5217SJeff Kirsher
98adfc5217SJeff Kirsher	  To compile this driver as a module, choose M here: the module
99adfc5217SJeff Kirsher	  will be called cnic.  This is recommended.
100adfc5217SJeff Kirsher
101adfc5217SJeff Kirsherconfig SB1250_MAC
102adfc5217SJeff Kirsher	tristate "SB1250 Gigabit Ethernet support"
103adfc5217SJeff Kirsher	depends on SIBYTE_SB1xxx_SOC
104adfc5217SJeff Kirsher	select PHYLIB
105a7f7f624SMasahiro Yamada	help
106adfc5217SJeff Kirsher	  This driver supports Gigabit Ethernet interfaces based on the
107adfc5217SJeff Kirsher	  Broadcom SiByte family of System-On-a-Chip parts.  They include
108adfc5217SJeff Kirsher	  the BCM1120, BCM1125, BCM1125H, BCM1250, BCM1255, BCM1280, BCM1455
109adfc5217SJeff Kirsher	  and BCM1480 chips.
110adfc5217SJeff Kirsher
111adfc5217SJeff Kirsher	  To compile this driver as a module, choose M here: the module
112adfc5217SJeff Kirsher	  will be called sb1250-mac.
113adfc5217SJeff Kirsher
114adfc5217SJeff Kirsherconfig TIGON3
115adfc5217SJeff Kirsher	tristate "Broadcom Tigon3 support"
116adfc5217SJeff Kirsher	depends on PCI
117adfc5217SJeff Kirsher	select PHYLIB
118d1cbfd77SNicolas Pitre	imply PTP_1588_CLOCK
119a7f7f624SMasahiro Yamada	help
120adfc5217SJeff Kirsher	  This driver supports Broadcom Tigon3 based gigabit Ethernet cards.
121adfc5217SJeff Kirsher
122adfc5217SJeff Kirsher	  To compile this driver as a module, choose M here: the module
123adfc5217SJeff Kirsher	  will be called tg3.  This is recommended.
124adfc5217SJeff Kirsher
125038e893dSFlorian Fainelliconfig TIGON3_HWMON
126038e893dSFlorian Fainelli	bool "Broadcom Tigon3 HWMON support"
127038e893dSFlorian Fainelli	default y
128038e893dSFlorian Fainelli	depends on TIGON3 && HWMON && !(TIGON3=y && HWMON=m)
129a7f7f624SMasahiro Yamada	help
130038e893dSFlorian Fainelli	  Say Y if you want to expose the thermal sensor on Tigon3 devices.
131038e893dSFlorian Fainelli
132adfc5217SJeff Kirsherconfig BNX2X
133adfc5217SJeff Kirsher	tristate "Broadcom NetXtremeII 10Gb support"
134adfc5217SJeff Kirsher	depends on PCI
135d1cbfd77SNicolas Pitre	imply PTP_1588_CLOCK
136adfc5217SJeff Kirsher	select FW_LOADER
137adfc5217SJeff Kirsher	select ZLIB_INFLATE
138adfc5217SJeff Kirsher	select LIBCRC32C
139adfc5217SJeff Kirsher	select MDIO
140a7f7f624SMasahiro Yamada	help
141adfc5217SJeff Kirsher	  This driver supports Broadcom NetXtremeII 10 gigabit Ethernet cards.
142adfc5217SJeff Kirsher	  To compile this driver as a module, choose M here: the module
143adfc5217SJeff Kirsher	  will be called bnx2x.  This is recommended.
144adfc5217SJeff Kirsher
1456411280aSAriel Eliorconfig BNX2X_SRIOV
1466411280aSAriel Elior	bool "Broadcom 578xx and 57712 SR-IOV support"
1476411280aSAriel Elior	depends on BNX2X && PCI_IOV
1486411280aSAriel Elior	default y
149a7f7f624SMasahiro Yamada	help
1506411280aSAriel Elior	  This configuration parameter enables Single Root Input Output
1516411280aSAriel Elior	  Virtualization support in the 578xx and 57712 products. This
1526411280aSAriel Elior	  allows for virtual function acceleration in virtual environments.
1536411280aSAriel Elior
154dd4544f0SRafał Miłeckiconfig BGMAC
155f6a95a24SJon Mason	tristate
156f6a95a24SJon Mason	help
157f6a95a24SJon Mason	  This enables the integrated ethernet controller support for many
158f6a95a24SJon Mason	  Broadcom (mostly iProc) SoCs. An appropriate bus interface driver
159f6a95a24SJon Mason	  needs to be enabled to select this.
160f6a95a24SJon Mason
161f6a95a24SJon Masonconfig BGMAC_BCMA
162f6a95a24SJon Mason	tristate "Broadcom iProc GBit BCMA support"
1631f820f53SArnd Bergmann	depends on BCMA && BCMA_HOST_SOC
1641f820f53SArnd Bergmann	depends on BCM47XX || ARCH_BCM_5301X || COMPILE_TEST
165f6a95a24SJon Mason	select BGMAC
16631bd2977SHauke Mehrtens	select PHYLIB
1671f820f53SArnd Bergmann	select FIXED_PHY
168a7f7f624SMasahiro Yamada	help
169dd4544f0SRafał Miłecki	  This driver supports GBit MAC and BCM4706 GBit MAC cores on BCMA bus.
170dd4544f0SRafał Miłecki	  They can be found on BCM47xx SoCs and provide gigabit ethernet.
171dd4544f0SRafał Miłecki	  In case of using this driver on BCM4706 it's also requires to enable
172dd4544f0SRafał Miłecki	  BCMA_DRIVER_GMAC_CMN to make it work.
173dd4544f0SRafał Miłecki
174f6a95a24SJon Masonconfig BGMAC_PLATFORM
175f6a95a24SJon Mason	tristate "Broadcom iProc GBit platform support"
176f6a95a24SJon Mason	depends on ARCH_BCM_IPROC || COMPILE_TEST
177f6a95a24SJon Mason	depends on OF
178f6a95a24SJon Mason	select BGMAC
179f6a95a24SJon Mason	select PHYLIB
180f6a95a24SJon Mason	select FIXED_PHY
181f6a95a24SJon Mason	default ARCH_BCM_IPROC
182a7f7f624SMasahiro Yamada	help
183f6a95a24SJon Mason	  Say Y here if you want to use the Broadcom iProc Gigabit Ethernet
184f6a95a24SJon Mason	  controller through the generic platform interface
185f6a95a24SJon Mason
186a3862db2SFlorian Fainelliconfig SYSTEMPORT
187a3862db2SFlorian Fainelli	tristate "Broadcom SYSTEMPORT internal MAC support"
1887f7b7574SFlorian Fainelli	depends on HAS_IOMEM
18900fb3a7cSArnd Bergmann	depends on NET_DSA || !NET_DSA
190a3862db2SFlorian Fainelli	select MII
191a3862db2SFlorian Fainelli	select PHYLIB
192598ea823SFlorian Fainelli	select FIXED_PHY
193ddc790e9SRandy Dunlap	select DIMLIB
194a3862db2SFlorian Fainelli	help
195a3862db2SFlorian Fainelli	  This driver supports the built-in Ethernet MACs found in the
196a3862db2SFlorian Fainelli	  Broadcom BCM7xxx Set Top Box family chipset using an internal
197a3862db2SFlorian Fainelli	  Ethernet switch.
198a3862db2SFlorian Fainelli
199c0c050c5SMichael Chanconfig BNXT
200c0c050c5SMichael Chan	tristate "Broadcom NetXtreme-C/E support"
201c0c050c5SMichael Chan	depends on PCI
202c0c050c5SMichael Chan	select FW_LOADER
203c0c050c5SMichael Chan	select LIBCRC32C
204f6b19b35SJiri Pirko	select NET_DEVLINK
205322b87caSAndy Gospodarek	select PAGE_POOL
206ddc790e9SRandy Dunlap	select DIMLIB
207a7f7f624SMasahiro Yamada	help
208c0c050c5SMichael Chan	  This driver supports Broadcom NetXtreme-C/E 10/25/40/50 gigabit
209c0c050c5SMichael Chan	  Ethernet cards.  To compile this driver as a module, choose M here:
210c0c050c5SMichael Chan	  the module will be called bnxt_en.  This is recommended.
211c0c050c5SMichael Chan
212c0c050c5SMichael Chanconfig BNXT_SRIOV
213c0c050c5SMichael Chan	bool "Broadcom NetXtreme-C/E SR-IOV support"
214c0c050c5SMichael Chan	depends on BNXT && PCI_IOV
215c0c050c5SMichael Chan	default y
216a7f7f624SMasahiro Yamada	help
217c0c050c5SMichael Chan	  This configuration parameter enables Single Root Input Output
218c0c050c5SMichael Chan	  Virtualization support in the NetXtreme-C/E products. This
219c0c050c5SMichael Chan	  allows for virtual function acceleration in virtual environments.
220c0c050c5SMichael Chan
2212ae7408fSSathya Perlaconfig BNXT_FLOWER_OFFLOAD
2222ae7408fSSathya Perla	bool "TC Flower offload support for NetXtreme-C/E"
2232ae7408fSSathya Perla	depends on BNXT
2242ae7408fSSathya Perla	default y
225a7f7f624SMasahiro Yamada	help
2262ae7408fSSathya Perla	  This configuration parameter enables TC Flower packet classifier
2272ae7408fSSathya Perla	  offload for eswitch.  This option enables SR-IOV switchdev eswitch
2282ae7408fSSathya Perla	  offload.
2292ae7408fSSathya Perla
2307df4ae9fSMichael Chanconfig BNXT_DCB
2317df4ae9fSMichael Chan	bool "Data Center Bridging (DCB) Support"
2327df4ae9fSMichael Chan	default n
2337df4ae9fSMichael Chan	depends on BNXT && DCB
234a7f7f624SMasahiro Yamada	help
2357df4ae9fSMichael Chan	  Say Y here if you want to use Data Center Bridging (DCB) in the
2367df4ae9fSMichael Chan	  driver.
2377df4ae9fSMichael Chan
2387df4ae9fSMichael Chan	  If unsure, say N.
2397df4ae9fSMichael Chan
240cde49a42SVasundhara Volamconfig BNXT_HWMON
241cde49a42SVasundhara Volam	bool "Broadcom NetXtreme-C/E HWMON support"
242cde49a42SVasundhara Volam	default y
243cde49a42SVasundhara Volam	depends on BNXT && HWMON && !(BNXT=y && HWMON=m)
244a7f7f624SMasahiro Yamada	help
245cde49a42SVasundhara Volam	  Say Y if you want to expose the thermal sensor data on NetXtreme-C/E
246cde49a42SVasundhara Volam	  devices, via the hwmon sysfs interface.
247cde49a42SVasundhara Volam
248adfc5217SJeff Kirsherendif # NET_VENDOR_BROADCOM
249