xref: /linux/drivers/net/ethernet/broadcom/Kconfig (revision 99addbe31f5524494f4d7077bcb3f6fa64c5d160)
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
11adfc5217SJeff Kirsher	---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
28adfc5217SJeff Kirsher	---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
72*99addbe3SFlorian 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
82adfc5217SJeff Kirsher	---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)
91adfc5217SJeff Kirsher	select BNX2
92adfc5217SJeff Kirsher	select UIO
93adfc5217SJeff Kirsher	---help---
942e0bf125SRasesh Mody	  This driver supports offload features of QLogic bnx2 gigabit
952e0bf125SRasesh Mody	  Ethernet cards.
96adfc5217SJeff Kirsher
97adfc5217SJeff Kirsher	  To compile this driver as a module, choose M here: the module
98adfc5217SJeff Kirsher	  will be called cnic.  This is recommended.
99adfc5217SJeff Kirsher
100adfc5217SJeff Kirsherconfig SB1250_MAC
101adfc5217SJeff Kirsher	tristate "SB1250 Gigabit Ethernet support"
102adfc5217SJeff Kirsher	depends on SIBYTE_SB1xxx_SOC
103adfc5217SJeff Kirsher	select PHYLIB
104adfc5217SJeff Kirsher	---help---
105adfc5217SJeff Kirsher	  This driver supports Gigabit Ethernet interfaces based on the
106adfc5217SJeff Kirsher	  Broadcom SiByte family of System-On-a-Chip parts.  They include
107adfc5217SJeff Kirsher	  the BCM1120, BCM1125, BCM1125H, BCM1250, BCM1255, BCM1280, BCM1455
108adfc5217SJeff Kirsher	  and BCM1480 chips.
109adfc5217SJeff Kirsher
110adfc5217SJeff Kirsher	  To compile this driver as a module, choose M here: the module
111adfc5217SJeff Kirsher	  will be called sb1250-mac.
112adfc5217SJeff Kirsher
113adfc5217SJeff Kirsherconfig TIGON3
114adfc5217SJeff Kirsher	tristate "Broadcom Tigon3 support"
115adfc5217SJeff Kirsher	depends on PCI
116adfc5217SJeff Kirsher	select PHYLIB
117d1cbfd77SNicolas Pitre	imply PTP_1588_CLOCK
118adfc5217SJeff Kirsher	---help---
119adfc5217SJeff Kirsher	  This driver supports Broadcom Tigon3 based gigabit Ethernet cards.
120adfc5217SJeff Kirsher
121adfc5217SJeff Kirsher	  To compile this driver as a module, choose M here: the module
122adfc5217SJeff Kirsher	  will be called tg3.  This is recommended.
123adfc5217SJeff Kirsher
124038e893dSFlorian Fainelliconfig TIGON3_HWMON
125038e893dSFlorian Fainelli	bool "Broadcom Tigon3 HWMON support"
126038e893dSFlorian Fainelli	default y
127038e893dSFlorian Fainelli	depends on TIGON3 && HWMON && !(TIGON3=y && HWMON=m)
128038e893dSFlorian Fainelli	---help---
129038e893dSFlorian Fainelli	  Say Y if you want to expose the thermal sensor on Tigon3 devices.
130038e893dSFlorian Fainelli
131adfc5217SJeff Kirsherconfig BNX2X
132adfc5217SJeff Kirsher	tristate "Broadcom NetXtremeII 10Gb support"
133adfc5217SJeff Kirsher	depends on PCI
134d1cbfd77SNicolas Pitre	imply PTP_1588_CLOCK
135adfc5217SJeff Kirsher	select FW_LOADER
136adfc5217SJeff Kirsher	select ZLIB_INFLATE
137adfc5217SJeff Kirsher	select LIBCRC32C
138adfc5217SJeff Kirsher	select MDIO
139adfc5217SJeff Kirsher	---help---
140adfc5217SJeff Kirsher	  This driver supports Broadcom NetXtremeII 10 gigabit Ethernet cards.
141adfc5217SJeff Kirsher	  To compile this driver as a module, choose M here: the module
142adfc5217SJeff Kirsher	  will be called bnx2x.  This is recommended.
143adfc5217SJeff Kirsher
1446411280aSAriel Eliorconfig BNX2X_SRIOV
1456411280aSAriel Elior	bool "Broadcom 578xx and 57712 SR-IOV support"
1466411280aSAriel Elior	depends on BNX2X && PCI_IOV
1476411280aSAriel Elior	default y
1486411280aSAriel Elior	---help---
1496411280aSAriel Elior	  This configuration parameter enables Single Root Input Output
1506411280aSAriel Elior	  Virtualization support in the 578xx and 57712 products. This
1516411280aSAriel Elior	  allows for virtual function acceleration in virtual environments.
1526411280aSAriel Elior
153dd4544f0SRafał Miłeckiconfig BGMAC
154f6a95a24SJon Mason	tristate
155f6a95a24SJon Mason	help
156f6a95a24SJon Mason	  This enables the integrated ethernet controller support for many
157f6a95a24SJon Mason	  Broadcom (mostly iProc) SoCs. An appropriate bus interface driver
158f6a95a24SJon Mason	  needs to be enabled to select this.
159f6a95a24SJon Mason
160f6a95a24SJon Masonconfig BGMAC_BCMA
161f6a95a24SJon Mason	tristate "Broadcom iProc GBit BCMA support"
1621f820f53SArnd Bergmann	depends on BCMA && BCMA_HOST_SOC
1631f820f53SArnd Bergmann	depends on BCM47XX || ARCH_BCM_5301X || COMPILE_TEST
164f6a95a24SJon Mason	select BGMAC
16531bd2977SHauke Mehrtens	select PHYLIB
1661f820f53SArnd Bergmann	select FIXED_PHY
167dd4544f0SRafał Miłecki	---help---
168dd4544f0SRafał Miłecki	  This driver supports GBit MAC and BCM4706 GBit MAC cores on BCMA bus.
169dd4544f0SRafał Miłecki	  They can be found on BCM47xx SoCs and provide gigabit ethernet.
170dd4544f0SRafał Miłecki	  In case of using this driver on BCM4706 it's also requires to enable
171dd4544f0SRafał Miłecki	  BCMA_DRIVER_GMAC_CMN to make it work.
172dd4544f0SRafał Miłecki
173f6a95a24SJon Masonconfig BGMAC_PLATFORM
174f6a95a24SJon Mason	tristate "Broadcom iProc GBit platform support"
175f6a95a24SJon Mason	depends on ARCH_BCM_IPROC || COMPILE_TEST
176f6a95a24SJon Mason	depends on OF
177f6a95a24SJon Mason	select BGMAC
178f6a95a24SJon Mason	select PHYLIB
179f6a95a24SJon Mason	select FIXED_PHY
180f6a95a24SJon Mason	default ARCH_BCM_IPROC
181f6a95a24SJon Mason	---help---
182f6a95a24SJon Mason	  Say Y here if you want to use the Broadcom iProc Gigabit Ethernet
183f6a95a24SJon Mason	  controller through the generic platform interface
184f6a95a24SJon Mason
185a3862db2SFlorian Fainelliconfig SYSTEMPORT
186a3862db2SFlorian Fainelli	tristate "Broadcom SYSTEMPORT internal MAC support"
1877f7b7574SFlorian Fainelli	depends on HAS_IOMEM
18800fb3a7cSArnd Bergmann	depends on NET_DSA || !NET_DSA
189a3862db2SFlorian Fainelli	select MII
190a3862db2SFlorian Fainelli	select PHYLIB
191598ea823SFlorian Fainelli	select FIXED_PHY
192ddc790e9SRandy Dunlap	select DIMLIB
193a3862db2SFlorian Fainelli	help
194a3862db2SFlorian Fainelli	  This driver supports the built-in Ethernet MACs found in the
195a3862db2SFlorian Fainelli	  Broadcom BCM7xxx Set Top Box family chipset using an internal
196a3862db2SFlorian Fainelli	  Ethernet switch.
197a3862db2SFlorian Fainelli
198c0c050c5SMichael Chanconfig BNXT
199c0c050c5SMichael Chan	tristate "Broadcom NetXtreme-C/E support"
200c0c050c5SMichael Chan	depends on PCI
201c0c050c5SMichael Chan	select FW_LOADER
202c0c050c5SMichael Chan	select LIBCRC32C
203f6b19b35SJiri Pirko	select NET_DEVLINK
204322b87caSAndy Gospodarek	select PAGE_POOL
205ddc790e9SRandy Dunlap	select DIMLIB
206c0c050c5SMichael Chan	---help---
207c0c050c5SMichael Chan	  This driver supports Broadcom NetXtreme-C/E 10/25/40/50 gigabit
208c0c050c5SMichael Chan	  Ethernet cards.  To compile this driver as a module, choose M here:
209c0c050c5SMichael Chan	  the module will be called bnxt_en.  This is recommended.
210c0c050c5SMichael Chan
211c0c050c5SMichael Chanconfig BNXT_SRIOV
212c0c050c5SMichael Chan	bool "Broadcom NetXtreme-C/E SR-IOV support"
213c0c050c5SMichael Chan	depends on BNXT && PCI_IOV
214c0c050c5SMichael Chan	default y
215c0c050c5SMichael Chan	---help---
216c0c050c5SMichael Chan	  This configuration parameter enables Single Root Input Output
217c0c050c5SMichael Chan	  Virtualization support in the NetXtreme-C/E products. This
218c0c050c5SMichael Chan	  allows for virtual function acceleration in virtual environments.
219c0c050c5SMichael Chan
2202ae7408fSSathya Perlaconfig BNXT_FLOWER_OFFLOAD
2212ae7408fSSathya Perla	bool "TC Flower offload support for NetXtreme-C/E"
2222ae7408fSSathya Perla	depends on BNXT
2232ae7408fSSathya Perla	default y
2242ae7408fSSathya Perla	---help---
2252ae7408fSSathya Perla	  This configuration parameter enables TC Flower packet classifier
2262ae7408fSSathya Perla	  offload for eswitch.  This option enables SR-IOV switchdev eswitch
2272ae7408fSSathya Perla	  offload.
2282ae7408fSSathya Perla
2297df4ae9fSMichael Chanconfig BNXT_DCB
2307df4ae9fSMichael Chan	bool "Data Center Bridging (DCB) Support"
2317df4ae9fSMichael Chan	default n
2327df4ae9fSMichael Chan	depends on BNXT && DCB
2337df4ae9fSMichael Chan	---help---
2347df4ae9fSMichael Chan	  Say Y here if you want to use Data Center Bridging (DCB) in the
2357df4ae9fSMichael Chan	  driver.
2367df4ae9fSMichael Chan
2377df4ae9fSMichael Chan	  If unsure, say N.
2387df4ae9fSMichael Chan
239cde49a42SVasundhara Volamconfig BNXT_HWMON
240cde49a42SVasundhara Volam	bool "Broadcom NetXtreme-C/E HWMON support"
241cde49a42SVasundhara Volam	default y
242cde49a42SVasundhara Volam	depends on BNXT && HWMON && !(BNXT=y && HWMON=m)
243cde49a42SVasundhara Volam	---help---
244cde49a42SVasundhara Volam	  Say Y if you want to expose the thermal sensor data on NetXtreme-C/E
245cde49a42SVasundhara Volam	  devices, via the hwmon sysfs interface.
246cde49a42SVasundhara Volam
247adfc5217SJeff Kirsherendif # NET_VENDOR_BROADCOM
248