xref: /linux/drivers/net/ethernet/broadcom/Kconfig (revision c34e9ab9a612ee8b18273398ef75c207b01f516d)
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 PHYLIB
76d8ced82eSFlorian Fainelli	select FIXED_PHY
77bdaa53bdSFlorian Fainelli	select BCM7XXX_PHY
789a4e7969SFlorian Fainelli	select MDIO_BCM_UNIMAC
79ddc790e9SRandy Dunlap	select DIMLIB
80421f8663SYueHaibing	select BROADCOM_PHY if ARCH_BCM2835
81bdaa53bdSFlorian Fainelli	help
82bdaa53bdSFlorian Fainelli	  This driver supports the built-in Ethernet MACs found in the
83bdaa53bdSFlorian Fainelli	  Broadcom BCM7xxx Set Top Box family chipset.
84bdaa53bdSFlorian Fainelli
85adfc5217SJeff Kirsherconfig BNX2
862e0bf125SRasesh Mody	tristate "QLogic bnx2 support"
87adfc5217SJeff Kirsher	depends on PCI
88adfc5217SJeff Kirsher	select CRC32
89adfc5217SJeff Kirsher	select FW_LOADER
90a7f7f624SMasahiro Yamada	help
912e0bf125SRasesh Mody	  This driver supports QLogic bnx2 gigabit Ethernet cards.
92adfc5217SJeff Kirsher
93adfc5217SJeff Kirsher	  To compile this driver as a module, choose M here: the module
94adfc5217SJeff Kirsher	  will be called bnx2.  This is recommended.
95adfc5217SJeff Kirsher
96adfc5217SJeff Kirsherconfig CNIC
97d7afae05SJitendra Kalsaria	tristate "QLogic CNIC support"
98c99d667eSAnish Bhatt	depends on PCI && (IPV6 || IPV6=n)
9914483cbfSRandy Dunlap	depends on MMU
100adfc5217SJeff Kirsher	select BNX2
101adfc5217SJeff Kirsher	select UIO
102a7f7f624SMasahiro Yamada	help
1032e0bf125SRasesh Mody	  This driver supports offload features of QLogic bnx2 gigabit
1042e0bf125SRasesh Mody	  Ethernet cards.
105adfc5217SJeff Kirsher
106adfc5217SJeff Kirsher	  To compile this driver as a module, choose M here: the module
107adfc5217SJeff Kirsher	  will be called cnic.  This is recommended.
108adfc5217SJeff Kirsher
109adfc5217SJeff Kirsherconfig SB1250_MAC
110adfc5217SJeff Kirsher	tristate "SB1250 Gigabit Ethernet support"
111adfc5217SJeff Kirsher	depends on SIBYTE_SB1xxx_SOC
112adfc5217SJeff Kirsher	select PHYLIB
113a7f7f624SMasahiro Yamada	help
114adfc5217SJeff Kirsher	  This driver supports Gigabit Ethernet interfaces based on the
115adfc5217SJeff Kirsher	  Broadcom SiByte family of System-On-a-Chip parts.  They include
116adfc5217SJeff Kirsher	  the BCM1120, BCM1125, BCM1125H, BCM1250, BCM1255, BCM1280, BCM1455
117adfc5217SJeff Kirsher	  and BCM1480 chips.
118adfc5217SJeff Kirsher
119adfc5217SJeff Kirsher	  To compile this driver as a module, choose M here: the module
120adfc5217SJeff Kirsher	  will be called sb1250-mac.
121adfc5217SJeff Kirsher
122adfc5217SJeff Kirsherconfig TIGON3
123adfc5217SJeff Kirsher	tristate "Broadcom Tigon3 support"
124adfc5217SJeff Kirsher	depends on PCI
125e5f31552SArnd Bergmann	depends on PTP_1588_CLOCK_OPTIONAL
126adfc5217SJeff Kirsher	select PHYLIB
127a7f7f624SMasahiro Yamada	help
128adfc5217SJeff Kirsher	  This driver supports Broadcom Tigon3 based gigabit Ethernet cards.
129adfc5217SJeff Kirsher
130adfc5217SJeff Kirsher	  To compile this driver as a module, choose M here: the module
131adfc5217SJeff Kirsher	  will be called tg3.  This is recommended.
132adfc5217SJeff Kirsher
133038e893dSFlorian Fainelliconfig TIGON3_HWMON
134038e893dSFlorian Fainelli	bool "Broadcom Tigon3 HWMON support"
135038e893dSFlorian Fainelli	default y
136038e893dSFlorian Fainelli	depends on TIGON3 && HWMON && !(TIGON3=y && HWMON=m)
137a7f7f624SMasahiro Yamada	help
138038e893dSFlorian Fainelli	  Say Y if you want to expose the thermal sensor on Tigon3 devices.
139038e893dSFlorian Fainelli
140adfc5217SJeff Kirsherconfig BNX2X
141adfc5217SJeff Kirsher	tristate "Broadcom NetXtremeII 10Gb support"
142adfc5217SJeff Kirsher	depends on PCI
143e5f31552SArnd Bergmann	depends on PTP_1588_CLOCK_OPTIONAL
144adfc5217SJeff Kirsher	select FW_LOADER
145adfc5217SJeff Kirsher	select ZLIB_INFLATE
146adfc5217SJeff Kirsher	select LIBCRC32C
147adfc5217SJeff Kirsher	select MDIO
148a7f7f624SMasahiro Yamada	help
149adfc5217SJeff Kirsher	  This driver supports Broadcom NetXtremeII 10 gigabit Ethernet cards.
150adfc5217SJeff Kirsher	  To compile this driver as a module, choose M here: the module
151adfc5217SJeff Kirsher	  will be called bnx2x.  This is recommended.
152adfc5217SJeff Kirsher
1536411280aSAriel Eliorconfig BNX2X_SRIOV
1546411280aSAriel Elior	bool "Broadcom 578xx and 57712 SR-IOV support"
1556411280aSAriel Elior	depends on BNX2X && PCI_IOV
1566411280aSAriel Elior	default y
157a7f7f624SMasahiro Yamada	help
1586411280aSAriel Elior	  This configuration parameter enables Single Root Input Output
1596411280aSAriel Elior	  Virtualization support in the 578xx and 57712 products. This
1606411280aSAriel Elior	  allows for virtual function acceleration in virtual environments.
1616411280aSAriel Elior
162dd4544f0SRafał Miłeckiconfig BGMAC
163f6a95a24SJon Mason	tristate
164f6a95a24SJon Mason	help
165f6a95a24SJon Mason	  This enables the integrated ethernet controller support for many
166f6a95a24SJon Mason	  Broadcom (mostly iProc) SoCs. An appropriate bus interface driver
167f6a95a24SJon Mason	  needs to be enabled to select this.
168f6a95a24SJon Mason
169f6a95a24SJon Masonconfig BGMAC_BCMA
170f6a95a24SJon Mason	tristate "Broadcom iProc GBit BCMA support"
1711f820f53SArnd Bergmann	depends on BCMA && BCMA_HOST_SOC
1721f820f53SArnd Bergmann	depends on BCM47XX || ARCH_BCM_5301X || COMPILE_TEST
173f6a95a24SJon Mason	select BGMAC
17431bd2977SHauke Mehrtens	select PHYLIB
1751f820f53SArnd Bergmann	select FIXED_PHY
176a7f7f624SMasahiro Yamada	help
177dd4544f0SRafał Miłecki	  This driver supports GBit MAC and BCM4706 GBit MAC cores on BCMA bus.
178dd4544f0SRafał Miłecki	  They can be found on BCM47xx SoCs and provide gigabit ethernet.
179dd4544f0SRafał Miłecki	  In case of using this driver on BCM4706 it's also requires to enable
180dd4544f0SRafał Miłecki	  BCMA_DRIVER_GMAC_CMN to make it work.
181dd4544f0SRafał Miłecki
182f6a95a24SJon Masonconfig BGMAC_PLATFORM
183f6a95a24SJon Mason	tristate "Broadcom iProc GBit platform support"
184f6a95a24SJon Mason	depends on ARCH_BCM_IPROC || COMPILE_TEST
185f6a95a24SJon Mason	select BGMAC
186f6a95a24SJon Mason	select PHYLIB
187f6a95a24SJon Mason	select FIXED_PHY
188f6a95a24SJon Mason	default ARCH_BCM_IPROC
189a7f7f624SMasahiro Yamada	help
190f6a95a24SJon Mason	  Say Y here if you want to use the Broadcom iProc Gigabit Ethernet
191f6a95a24SJon Mason	  controller through the generic platform interface
192f6a95a24SJon Mason
193a3862db2SFlorian Fainelliconfig SYSTEMPORT
194a3862db2SFlorian Fainelli	tristate "Broadcom SYSTEMPORT internal MAC support"
1957f7b7574SFlorian Fainelli	depends on HAS_IOMEM
19600fb3a7cSArnd Bergmann	depends on NET_DSA || !NET_DSA
197a3862db2SFlorian Fainelli	select PHYLIB
198598ea823SFlorian Fainelli	select FIXED_PHY
199ddc790e9SRandy Dunlap	select DIMLIB
200a3862db2SFlorian Fainelli	help
201a3862db2SFlorian Fainelli	  This driver supports the built-in Ethernet MACs found in the
202a3862db2SFlorian Fainelli	  Broadcom BCM7xxx Set Top Box family chipset using an internal
203a3862db2SFlorian Fainelli	  Ethernet switch.
204a3862db2SFlorian Fainelli
205c0c050c5SMichael Chanconfig BNXT
206c0c050c5SMichael Chan	tristate "Broadcom NetXtreme-C/E support"
207c0c050c5SMichael Chan	depends on PCI
208e5f31552SArnd Bergmann	depends on PTP_1588_CLOCK_OPTIONAL
209c0c050c5SMichael Chan	select FW_LOADER
210c0c050c5SMichael Chan	select LIBCRC32C
211f6b19b35SJiri Pirko	select NET_DEVLINK
212322b87caSAndy Gospodarek	select PAGE_POOL
213ddc790e9SRandy Dunlap	select DIMLIB
214d80d88b0SAjit Khaparde	select AUXILIARY_BUS
215a7f7f624SMasahiro Yamada	help
216c0c050c5SMichael Chan	  This driver supports Broadcom NetXtreme-C/E 10/25/40/50 gigabit
217c0c050c5SMichael Chan	  Ethernet cards.  To compile this driver as a module, choose M here:
218c0c050c5SMichael Chan	  the module will be called bnxt_en.  This is recommended.
219c0c050c5SMichael Chan
220c0c050c5SMichael Chanconfig BNXT_SRIOV
221c0c050c5SMichael Chan	bool "Broadcom NetXtreme-C/E SR-IOV support"
222c0c050c5SMichael Chan	depends on BNXT && PCI_IOV
223c0c050c5SMichael Chan	default y
224a7f7f624SMasahiro Yamada	help
225c0c050c5SMichael Chan	  This configuration parameter enables Single Root Input Output
226c0c050c5SMichael Chan	  Virtualization support in the NetXtreme-C/E products. This
227c0c050c5SMichael Chan	  allows for virtual function acceleration in virtual environments.
228c0c050c5SMichael Chan
2292ae7408fSSathya Perlaconfig BNXT_FLOWER_OFFLOAD
2302ae7408fSSathya Perla	bool "TC Flower offload support for NetXtreme-C/E"
2312ae7408fSSathya Perla	depends on BNXT
2322ae7408fSSathya Perla	default y
233a7f7f624SMasahiro Yamada	help
2342ae7408fSSathya Perla	  This configuration parameter enables TC Flower packet classifier
2352ae7408fSSathya Perla	  offload for eswitch.  This option enables SR-IOV switchdev eswitch
2362ae7408fSSathya Perla	  offload.
2372ae7408fSSathya Perla
2387df4ae9fSMichael Chanconfig BNXT_DCB
2397df4ae9fSMichael Chan	bool "Data Center Bridging (DCB) Support"
2407df4ae9fSMichael Chan	default n
2417df4ae9fSMichael Chan	depends on BNXT && DCB
242a7f7f624SMasahiro Yamada	help
2437df4ae9fSMichael Chan	  Say Y here if you want to use Data Center Bridging (DCB) in the
2447df4ae9fSMichael Chan	  driver.
2457df4ae9fSMichael Chan
2467df4ae9fSMichael Chan	  If unsure, say N.
2477df4ae9fSMichael Chan
248cde49a42SVasundhara Volamconfig BNXT_HWMON
249cde49a42SVasundhara Volam	bool "Broadcom NetXtreme-C/E HWMON support"
250cde49a42SVasundhara Volam	default y
251cde49a42SVasundhara Volam	depends on BNXT && HWMON && !(BNXT=y && HWMON=m)
252a7f7f624SMasahiro Yamada	help
253cde49a42SVasundhara Volam	  Say Y if you want to expose the thermal sensor data on NetXtreme-C/E
254cde49a42SVasundhara Volam	  devices, via the hwmon sysfs interface.
255cde49a42SVasundhara Volam
256490cb412SJustin Chenconfig BCMASP
257490cb412SJustin Chen	tristate "Broadcom ASP 2.0 Ethernet support"
258*73365fe4SGeert Uytterhoeven	depends on ARCH_BRCMSTB || COMPILE_TEST
259490cb412SJustin Chen	default ARCH_BRCMSTB
260490cb412SJustin Chen	depends on OF
261490cb412SJustin Chen	select PHYLIB
262490cb412SJustin Chen	select MDIO_BCM_UNIMAC
263490cb412SJustin Chen	help
264490cb412SJustin Chen	  This configuration enables the Broadcom ASP 2.0 Ethernet controller
265490cb412SJustin Chen	  driver which is present in Broadcom STB SoCs such as 72165.
266490cb412SJustin Chen
267adfc5217SJeff Kirsherendif # NET_VENDOR_BROADCOM
268