1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Broadcom device configuration
4#
5
6config NET_VENDOR_BROADCOM
7	bool "Broadcom devices"
8	default y
9	depends on (SSB_POSSIBLE && HAS_DMA) || PCI || BCM63XX || \
10		   SIBYTE_SB1xxx_SOC
11	---help---
12	  If you have a network (Ethernet) chipset belonging to this class,
13	  say Y.
14
15	  Note that the answer to this question does not directly affect
16	  the kernel: saying N will just case the configurator to skip all
17	  the questions regarding AMD chipsets. If you say Y, you will be asked
18	  for your specific chipset/driver in the following questions.
19
20if NET_VENDOR_BROADCOM
21
22config B44
23	tristate "Broadcom 440x/47xx ethernet support"
24	depends on SSB_POSSIBLE && HAS_DMA
25	select SSB
26	select MII
27	select PHYLIB
28	---help---
29	  If you have a network (Ethernet) controller of this type, say Y
30	  or M here.
31
32	  To compile this driver as a module, choose M here. The module
33	  will be called b44.
34
35# Auto-select SSB PCI-HOST support, if possible
36config B44_PCI_AUTOSELECT
37	bool
38	depends on B44 && SSB_PCIHOST_POSSIBLE
39	select SSB_PCIHOST
40	default y
41
42# Auto-select SSB PCICORE driver, if possible
43config B44_PCICORE_AUTOSELECT
44	bool
45	depends on B44 && SSB_DRIVER_PCICORE_POSSIBLE
46	select SSB_DRIVER_PCICORE
47	default y
48
49config B44_PCI
50	bool
51	depends on B44_PCI_AUTOSELECT && B44_PCICORE_AUTOSELECT
52	default y
53
54config BCM63XX_ENET
55	tristate "Broadcom 63xx internal mac support"
56	depends on BCM63XX
57	select MII
58	select PHYLIB
59	help
60	  This driver supports the ethernet MACs in the Broadcom 63xx
61	  MIPS chipset family (BCM63XX).
62
63config BCMGENET
64	tristate "Broadcom GENET internal MAC support"
65	depends on HAS_IOMEM
66	select MII
67	select PHYLIB
68	select FIXED_PHY
69	select BCM7XXX_PHY
70	select MDIO_BCM_UNIMAC
71	help
72	  This driver supports the built-in Ethernet MACs found in the
73	  Broadcom BCM7xxx Set Top Box family chipset.
74
75config BNX2
76	tristate "QLogic bnx2 support"
77	depends on PCI
78	select CRC32
79	select FW_LOADER
80	---help---
81	  This driver supports QLogic bnx2 gigabit Ethernet cards.
82
83	  To compile this driver as a module, choose M here: the module
84	  will be called bnx2.  This is recommended.
85
86config CNIC
87	tristate "QLogic CNIC support"
88	depends on PCI && (IPV6 || IPV6=n)
89	select BNX2
90	select UIO
91	---help---
92	  This driver supports offload features of QLogic bnx2 gigabit
93	  Ethernet cards.
94
95	  To compile this driver as a module, choose M here: the module
96	  will be called cnic.  This is recommended.
97
98config SB1250_MAC
99	tristate "SB1250 Gigabit Ethernet support"
100	depends on SIBYTE_SB1xxx_SOC
101	select PHYLIB
102	---help---
103	  This driver supports Gigabit Ethernet interfaces based on the
104	  Broadcom SiByte family of System-On-a-Chip parts.  They include
105	  the BCM1120, BCM1125, BCM1125H, BCM1250, BCM1255, BCM1280, BCM1455
106	  and BCM1480 chips.
107
108	  To compile this driver as a module, choose M here: the module
109	  will be called sb1250-mac.
110
111config TIGON3
112	tristate "Broadcom Tigon3 support"
113	depends on PCI
114	select PHYLIB
115	imply PTP_1588_CLOCK
116	---help---
117	  This driver supports Broadcom Tigon3 based gigabit Ethernet cards.
118
119	  To compile this driver as a module, choose M here: the module
120	  will be called tg3.  This is recommended.
121
122config TIGON3_HWMON
123	bool "Broadcom Tigon3 HWMON support"
124	default y
125	depends on TIGON3 && HWMON && !(TIGON3=y && HWMON=m)
126	---help---
127	  Say Y if you want to expose the thermal sensor on Tigon3 devices.
128
129config BNX2X
130	tristate "Broadcom NetXtremeII 10Gb support"
131	depends on PCI
132	imply PTP_1588_CLOCK
133	select FW_LOADER
134	select ZLIB_INFLATE
135	select LIBCRC32C
136	select MDIO
137	---help---
138	  This driver supports Broadcom NetXtremeII 10 gigabit Ethernet cards.
139	  To compile this driver as a module, choose M here: the module
140	  will be called bnx2x.  This is recommended.
141
142config BNX2X_SRIOV
143	bool "Broadcom 578xx and 57712 SR-IOV support"
144	depends on BNX2X && PCI_IOV
145	default y
146	---help---
147	  This configuration parameter enables Single Root Input Output
148	  Virtualization support in the 578xx and 57712 products. This
149	  allows for virtual function acceleration in virtual environments.
150
151config BGMAC
152	tristate
153	help
154	  This enables the integrated ethernet controller support for many
155	  Broadcom (mostly iProc) SoCs. An appropriate bus interface driver
156	  needs to be enabled to select this.
157
158config BGMAC_BCMA
159	tristate "Broadcom iProc GBit BCMA support"
160	depends on BCMA && BCMA_HOST_SOC
161	depends on BCM47XX || ARCH_BCM_5301X || COMPILE_TEST
162	select BGMAC
163	select PHYLIB
164	select FIXED_PHY
165	---help---
166	  This driver supports GBit MAC and BCM4706 GBit MAC cores on BCMA bus.
167	  They can be found on BCM47xx SoCs and provide gigabit ethernet.
168	  In case of using this driver on BCM4706 it's also requires to enable
169	  BCMA_DRIVER_GMAC_CMN to make it work.
170
171config BGMAC_PLATFORM
172	tristate "Broadcom iProc GBit platform support"
173	depends on ARCH_BCM_IPROC || COMPILE_TEST
174	depends on OF
175	select BGMAC
176	select PHYLIB
177	select FIXED_PHY
178	default ARCH_BCM_IPROC
179	---help---
180	  Say Y here if you want to use the Broadcom iProc Gigabit Ethernet
181	  controller through the generic platform interface
182
183config SYSTEMPORT
184	tristate "Broadcom SYSTEMPORT internal MAC support"
185	depends on HAS_IOMEM
186	depends on NET_DSA || !NET_DSA
187	select MII
188	select PHYLIB
189	select FIXED_PHY
190	help
191	  This driver supports the built-in Ethernet MACs found in the
192	  Broadcom BCM7xxx Set Top Box family chipset using an internal
193	  Ethernet switch.
194
195config BNXT
196	tristate "Broadcom NetXtreme-C/E support"
197	depends on PCI
198	select FW_LOADER
199	select LIBCRC32C
200	select NET_DEVLINK
201	---help---
202	  This driver supports Broadcom NetXtreme-C/E 10/25/40/50 gigabit
203	  Ethernet cards.  To compile this driver as a module, choose M here:
204	  the module will be called bnxt_en.  This is recommended.
205
206config BNXT_SRIOV
207	bool "Broadcom NetXtreme-C/E SR-IOV support"
208	depends on BNXT && PCI_IOV
209	default y
210	---help---
211	  This configuration parameter enables Single Root Input Output
212	  Virtualization support in the NetXtreme-C/E products. This
213	  allows for virtual function acceleration in virtual environments.
214
215config BNXT_FLOWER_OFFLOAD
216	bool "TC Flower offload support for NetXtreme-C/E"
217	depends on BNXT
218	default y
219	---help---
220	  This configuration parameter enables TC Flower packet classifier
221	  offload for eswitch.  This option enables SR-IOV switchdev eswitch
222	  offload.
223
224config BNXT_DCB
225	bool "Data Center Bridging (DCB) Support"
226	default n
227	depends on BNXT && DCB
228	---help---
229	  Say Y here if you want to use Data Center Bridging (DCB) in the
230	  driver.
231
232	  If unsure, say N.
233
234config BNXT_HWMON
235	bool "Broadcom NetXtreme-C/E HWMON support"
236	default y
237	depends on BNXT && HWMON && !(BNXT=y && HWMON=m)
238	---help---
239	  Say Y if you want to expose the thermal sensor data on NetXtreme-C/E
240	  devices, via the hwmon sysfs interface.
241
242endif # NET_VENDOR_BROADCOM
243