xref: /linux/drivers/net/ethernet/broadcom/Kconfig (revision a1c613ae4c322ddd58d5a8539dbfba2a0380a8c0)
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
549d61d138SRafał Miłeckiconfig BCM4908_ENET
554feffeadSRafał Miłecki	tristate "Broadcom BCM4908 internal mac support"
567bb49d77SWilliam Zhang	depends on ARCH_BCMBCA || COMPILE_TEST
577bb49d77SWilliam Zhang	default y if ARCH_BCMBCA
584feffeadSRafał Miłecki	help
594feffeadSRafał Miłecki	  This driver supports Ethernet controller integrated into Broadcom
604feffeadSRafał Miłecki	  BCM4908 family SoCs.
614feffeadSRafał Miłecki
62adfc5217SJeff Kirsherconfig BCM63XX_ENET
63adfc5217SJeff Kirsher	tristate "Broadcom 63xx internal mac support"
64adfc5217SJeff Kirsher	depends on BCM63XX
65adfc5217SJeff Kirsher	select MII
66adfc5217SJeff Kirsher	select PHYLIB
67adfc5217SJeff Kirsher	help
68adfc5217SJeff Kirsher	  This driver supports the ethernet MACs in the Broadcom 63xx
69adfc5217SJeff Kirsher	  MIPS chipset family (BCM63XX).
70adfc5217SJeff Kirsher
71bdaa53bdSFlorian Fainelliconfig BCMGENET
72bdaa53bdSFlorian Fainelli	tristate "Broadcom GENET internal MAC support"
737f7b7574SFlorian Fainelli	depends on HAS_IOMEM
74421f8663SYueHaibing	depends on PTP_1588_CLOCK_OPTIONAL || !ARCH_BCM2835
75bdaa53bdSFlorian Fainelli	select MII
76bdaa53bdSFlorian Fainelli	select PHYLIB
77d8ced82eSFlorian Fainelli	select FIXED_PHY
78bdaa53bdSFlorian Fainelli	select BCM7XXX_PHY
799a4e7969SFlorian Fainelli	select MDIO_BCM_UNIMAC
80ddc790e9SRandy Dunlap	select DIMLIB
81421f8663SYueHaibing	select BROADCOM_PHY if ARCH_BCM2835
82bdaa53bdSFlorian Fainelli	help
83bdaa53bdSFlorian Fainelli	  This driver supports the built-in Ethernet MACs found in the
84bdaa53bdSFlorian Fainelli	  Broadcom BCM7xxx Set Top Box family chipset.
85bdaa53bdSFlorian Fainelli
86adfc5217SJeff Kirsherconfig BNX2
872e0bf125SRasesh Mody	tristate "QLogic bnx2 support"
88adfc5217SJeff Kirsher	depends on PCI
89adfc5217SJeff Kirsher	select CRC32
90adfc5217SJeff Kirsher	select FW_LOADER
91a7f7f624SMasahiro Yamada	help
922e0bf125SRasesh Mody	  This driver supports QLogic bnx2 gigabit Ethernet cards.
93adfc5217SJeff Kirsher
94adfc5217SJeff Kirsher	  To compile this driver as a module, choose M here: the module
95adfc5217SJeff Kirsher	  will be called bnx2.  This is recommended.
96adfc5217SJeff Kirsher
97adfc5217SJeff Kirsherconfig CNIC
98d7afae05SJitendra Kalsaria	tristate "QLogic CNIC support"
99c99d667eSAnish Bhatt	depends on PCI && (IPV6 || IPV6=n)
10014483cbfSRandy Dunlap	depends on MMU
101adfc5217SJeff Kirsher	select BNX2
102adfc5217SJeff Kirsher	select UIO
103a7f7f624SMasahiro Yamada	help
1042e0bf125SRasesh Mody	  This driver supports offload features of QLogic bnx2 gigabit
1052e0bf125SRasesh Mody	  Ethernet cards.
106adfc5217SJeff Kirsher
107adfc5217SJeff Kirsher	  To compile this driver as a module, choose M here: the module
108adfc5217SJeff Kirsher	  will be called cnic.  This is recommended.
109adfc5217SJeff Kirsher
110adfc5217SJeff Kirsherconfig SB1250_MAC
111adfc5217SJeff Kirsher	tristate "SB1250 Gigabit Ethernet support"
112adfc5217SJeff Kirsher	depends on SIBYTE_SB1xxx_SOC
113adfc5217SJeff Kirsher	select PHYLIB
114a7f7f624SMasahiro Yamada	help
115adfc5217SJeff Kirsher	  This driver supports Gigabit Ethernet interfaces based on the
116adfc5217SJeff Kirsher	  Broadcom SiByte family of System-On-a-Chip parts.  They include
117adfc5217SJeff Kirsher	  the BCM1120, BCM1125, BCM1125H, BCM1250, BCM1255, BCM1280, BCM1455
118adfc5217SJeff Kirsher	  and BCM1480 chips.
119adfc5217SJeff Kirsher
120adfc5217SJeff Kirsher	  To compile this driver as a module, choose M here: the module
121adfc5217SJeff Kirsher	  will be called sb1250-mac.
122adfc5217SJeff Kirsher
123adfc5217SJeff Kirsherconfig TIGON3
124adfc5217SJeff Kirsher	tristate "Broadcom Tigon3 support"
125adfc5217SJeff Kirsher	depends on PCI
126e5f31552SArnd Bergmann	depends on PTP_1588_CLOCK_OPTIONAL
127adfc5217SJeff Kirsher	select PHYLIB
128a7f7f624SMasahiro Yamada	help
129adfc5217SJeff Kirsher	  This driver supports Broadcom Tigon3 based gigabit Ethernet cards.
130adfc5217SJeff Kirsher
131adfc5217SJeff Kirsher	  To compile this driver as a module, choose M here: the module
132adfc5217SJeff Kirsher	  will be called tg3.  This is recommended.
133adfc5217SJeff Kirsher
134038e893dSFlorian Fainelliconfig TIGON3_HWMON
135038e893dSFlorian Fainelli	bool "Broadcom Tigon3 HWMON support"
136038e893dSFlorian Fainelli	default y
137038e893dSFlorian Fainelli	depends on TIGON3 && HWMON && !(TIGON3=y && HWMON=m)
138a7f7f624SMasahiro Yamada	help
139038e893dSFlorian Fainelli	  Say Y if you want to expose the thermal sensor on Tigon3 devices.
140038e893dSFlorian Fainelli
141adfc5217SJeff Kirsherconfig BNX2X
142adfc5217SJeff Kirsher	tristate "Broadcom NetXtremeII 10Gb support"
143adfc5217SJeff Kirsher	depends on PCI
144e5f31552SArnd Bergmann	depends on PTP_1588_CLOCK_OPTIONAL
145adfc5217SJeff Kirsher	select FW_LOADER
146adfc5217SJeff Kirsher	select ZLIB_INFLATE
147adfc5217SJeff Kirsher	select LIBCRC32C
148adfc5217SJeff Kirsher	select MDIO
149a7f7f624SMasahiro Yamada	help
150adfc5217SJeff Kirsher	  This driver supports Broadcom NetXtremeII 10 gigabit Ethernet cards.
151adfc5217SJeff Kirsher	  To compile this driver as a module, choose M here: the module
152adfc5217SJeff Kirsher	  will be called bnx2x.  This is recommended.
153adfc5217SJeff Kirsher
1546411280aSAriel Eliorconfig BNX2X_SRIOV
1556411280aSAriel Elior	bool "Broadcom 578xx and 57712 SR-IOV support"
1566411280aSAriel Elior	depends on BNX2X && PCI_IOV
1576411280aSAriel Elior	default y
158a7f7f624SMasahiro Yamada	help
1596411280aSAriel Elior	  This configuration parameter enables Single Root Input Output
1606411280aSAriel Elior	  Virtualization support in the 578xx and 57712 products. This
1616411280aSAriel Elior	  allows for virtual function acceleration in virtual environments.
1626411280aSAriel Elior
163dd4544f0SRafał Miłeckiconfig BGMAC
164f6a95a24SJon Mason	tristate
165f6a95a24SJon Mason	help
166f6a95a24SJon Mason	  This enables the integrated ethernet controller support for many
167f6a95a24SJon Mason	  Broadcom (mostly iProc) SoCs. An appropriate bus interface driver
168f6a95a24SJon Mason	  needs to be enabled to select this.
169f6a95a24SJon Mason
170f6a95a24SJon Masonconfig BGMAC_BCMA
171f6a95a24SJon Mason	tristate "Broadcom iProc GBit BCMA support"
1721f820f53SArnd Bergmann	depends on BCMA && BCMA_HOST_SOC
1731f820f53SArnd Bergmann	depends on BCM47XX || ARCH_BCM_5301X || COMPILE_TEST
174f6a95a24SJon Mason	select BGMAC
17531bd2977SHauke Mehrtens	select PHYLIB
1761f820f53SArnd Bergmann	select FIXED_PHY
177a7f7f624SMasahiro Yamada	help
178dd4544f0SRafał Miłecki	  This driver supports GBit MAC and BCM4706 GBit MAC cores on BCMA bus.
179dd4544f0SRafał Miłecki	  They can be found on BCM47xx SoCs and provide gigabit ethernet.
180dd4544f0SRafał Miłecki	  In case of using this driver on BCM4706 it's also requires to enable
181dd4544f0SRafał Miłecki	  BCMA_DRIVER_GMAC_CMN to make it work.
182dd4544f0SRafał Miłecki
183f6a95a24SJon Masonconfig BGMAC_PLATFORM
184f6a95a24SJon Mason	tristate "Broadcom iProc GBit platform support"
185f6a95a24SJon Mason	depends on ARCH_BCM_IPROC || COMPILE_TEST
186f6a95a24SJon Mason	select BGMAC
187f6a95a24SJon Mason	select PHYLIB
188f6a95a24SJon Mason	select FIXED_PHY
189f6a95a24SJon Mason	default ARCH_BCM_IPROC
190a7f7f624SMasahiro Yamada	help
191f6a95a24SJon Mason	  Say Y here if you want to use the Broadcom iProc Gigabit Ethernet
192f6a95a24SJon Mason	  controller through the generic platform interface
193f6a95a24SJon Mason
194a3862db2SFlorian Fainelliconfig SYSTEMPORT
195a3862db2SFlorian Fainelli	tristate "Broadcom SYSTEMPORT internal MAC support"
1967f7b7574SFlorian Fainelli	depends on HAS_IOMEM
19700fb3a7cSArnd Bergmann	depends on NET_DSA || !NET_DSA
198a3862db2SFlorian Fainelli	select MII
199a3862db2SFlorian Fainelli	select PHYLIB
200598ea823SFlorian Fainelli	select FIXED_PHY
201ddc790e9SRandy Dunlap	select DIMLIB
202a3862db2SFlorian Fainelli	help
203a3862db2SFlorian Fainelli	  This driver supports the built-in Ethernet MACs found in the
204a3862db2SFlorian Fainelli	  Broadcom BCM7xxx Set Top Box family chipset using an internal
205a3862db2SFlorian Fainelli	  Ethernet switch.
206a3862db2SFlorian Fainelli
207c0c050c5SMichael Chanconfig BNXT
208c0c050c5SMichael Chan	tristate "Broadcom NetXtreme-C/E support"
209c0c050c5SMichael Chan	depends on PCI
210e5f31552SArnd Bergmann	depends on PTP_1588_CLOCK_OPTIONAL
211c0c050c5SMichael Chan	select FW_LOADER
212c0c050c5SMichael Chan	select LIBCRC32C
213f6b19b35SJiri Pirko	select NET_DEVLINK
214322b87caSAndy Gospodarek	select PAGE_POOL
215ddc790e9SRandy Dunlap	select DIMLIB
216d80d88b0SAjit Khaparde	select AUXILIARY_BUS
217a7f7f624SMasahiro Yamada	help
218c0c050c5SMichael Chan	  This driver supports Broadcom NetXtreme-C/E 10/25/40/50 gigabit
219c0c050c5SMichael Chan	  Ethernet cards.  To compile this driver as a module, choose M here:
220c0c050c5SMichael Chan	  the module will be called bnxt_en.  This is recommended.
221c0c050c5SMichael Chan
222c0c050c5SMichael Chanconfig BNXT_SRIOV
223c0c050c5SMichael Chan	bool "Broadcom NetXtreme-C/E SR-IOV support"
224c0c050c5SMichael Chan	depends on BNXT && PCI_IOV
225c0c050c5SMichael Chan	default y
226a7f7f624SMasahiro Yamada	help
227c0c050c5SMichael Chan	  This configuration parameter enables Single Root Input Output
228c0c050c5SMichael Chan	  Virtualization support in the NetXtreme-C/E products. This
229c0c050c5SMichael Chan	  allows for virtual function acceleration in virtual environments.
230c0c050c5SMichael Chan
2312ae7408fSSathya Perlaconfig BNXT_FLOWER_OFFLOAD
2322ae7408fSSathya Perla	bool "TC Flower offload support for NetXtreme-C/E"
2332ae7408fSSathya Perla	depends on BNXT
2342ae7408fSSathya Perla	default y
235a7f7f624SMasahiro Yamada	help
2362ae7408fSSathya Perla	  This configuration parameter enables TC Flower packet classifier
2372ae7408fSSathya Perla	  offload for eswitch.  This option enables SR-IOV switchdev eswitch
2382ae7408fSSathya Perla	  offload.
2392ae7408fSSathya Perla
2407df4ae9fSMichael Chanconfig BNXT_DCB
2417df4ae9fSMichael Chan	bool "Data Center Bridging (DCB) Support"
2427df4ae9fSMichael Chan	default n
2437df4ae9fSMichael Chan	depends on BNXT && DCB
244a7f7f624SMasahiro Yamada	help
2457df4ae9fSMichael Chan	  Say Y here if you want to use Data Center Bridging (DCB) in the
2467df4ae9fSMichael Chan	  driver.
2477df4ae9fSMichael Chan
2487df4ae9fSMichael Chan	  If unsure, say N.
2497df4ae9fSMichael Chan
250cde49a42SVasundhara Volamconfig BNXT_HWMON
251cde49a42SVasundhara Volam	bool "Broadcom NetXtreme-C/E HWMON support"
252cde49a42SVasundhara Volam	default y
253cde49a42SVasundhara Volam	depends on BNXT && HWMON && !(BNXT=y && HWMON=m)
254a7f7f624SMasahiro Yamada	help
255cde49a42SVasundhara Volam	  Say Y if you want to expose the thermal sensor data on NetXtreme-C/E
256cde49a42SVasundhara Volam	  devices, via the hwmon sysfs interface.
257cde49a42SVasundhara Volam
258490cb412SJustin Chenconfig BCMASP
259490cb412SJustin Chen	tristate "Broadcom ASP 2.0 Ethernet support"
260*73365fe4SGeert Uytterhoeven	depends on ARCH_BRCMSTB || COMPILE_TEST
261490cb412SJustin Chen	default ARCH_BRCMSTB
262490cb412SJustin Chen	depends on OF
263490cb412SJustin Chen	select MII
264490cb412SJustin Chen	select PHYLIB
265490cb412SJustin Chen	select MDIO_BCM_UNIMAC
266490cb412SJustin Chen	help
267490cb412SJustin Chen	  This configuration enables the Broadcom ASP 2.0 Ethernet controller
268490cb412SJustin Chen	  driver which is present in Broadcom STB SoCs such as 72165.
269490cb412SJustin Chen
270adfc5217SJeff Kirsherendif # NET_VENDOR_BROADCOM
271