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 cause the configurator to skip all
17	  the questions regarding Broadcom chipsets. If you say Y, you will
18	  be asked 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 BCM4908_ENET
55	tristate "Broadcom BCM4908 internal mac support"
56	depends on ARCH_BCM4908 || COMPILE_TEST
57	default y if ARCH_BCM4908
58	help
59	  This driver supports Ethernet controller integrated into Broadcom
60	  BCM4908 family SoCs.
61
62config BCM63XX_ENET
63	tristate "Broadcom 63xx internal mac support"
64	depends on BCM63XX
65	select MII
66	select PHYLIB
67	help
68	  This driver supports the ethernet MACs in the Broadcom 63xx
69	  MIPS chipset family (BCM63XX).
70
71config BCMGENET
72	tristate "Broadcom GENET internal MAC support"
73	depends on HAS_IOMEM
74	select MII
75	select PHYLIB
76	select FIXED_PHY
77	select BCM7XXX_PHY
78	select MDIO_BCM_UNIMAC
79	select DIMLIB
80	select BROADCOM_PHY if (ARCH_BCM2835 && PTP_1588_CLOCK_OPTIONAL)
81	help
82	  This driver supports the built-in Ethernet MACs found in the
83	  Broadcom BCM7xxx Set Top Box family chipset.
84
85config BNX2
86	tristate "QLogic bnx2 support"
87	depends on PCI
88	select CRC32
89	select FW_LOADER
90	help
91	  This driver supports QLogic bnx2 gigabit Ethernet cards.
92
93	  To compile this driver as a module, choose M here: the module
94	  will be called bnx2.  This is recommended.
95
96config CNIC
97	tristate "QLogic CNIC support"
98	depends on PCI && (IPV6 || IPV6=n)
99	depends on MMU
100	select BNX2
101	select UIO
102	help
103	  This driver supports offload features of QLogic bnx2 gigabit
104	  Ethernet cards.
105
106	  To compile this driver as a module, choose M here: the module
107	  will be called cnic.  This is recommended.
108
109config SB1250_MAC
110	tristate "SB1250 Gigabit Ethernet support"
111	depends on SIBYTE_SB1xxx_SOC
112	select PHYLIB
113	help
114	  This driver supports Gigabit Ethernet interfaces based on the
115	  Broadcom SiByte family of System-On-a-Chip parts.  They include
116	  the BCM1120, BCM1125, BCM1125H, BCM1250, BCM1255, BCM1280, BCM1455
117	  and BCM1480 chips.
118
119	  To compile this driver as a module, choose M here: the module
120	  will be called sb1250-mac.
121
122config TIGON3
123	tristate "Broadcom Tigon3 support"
124	depends on PCI
125	depends on PTP_1588_CLOCK_OPTIONAL
126	select PHYLIB
127	help
128	  This driver supports Broadcom Tigon3 based gigabit Ethernet cards.
129
130	  To compile this driver as a module, choose M here: the module
131	  will be called tg3.  This is recommended.
132
133config TIGON3_HWMON
134	bool "Broadcom Tigon3 HWMON support"
135	default y
136	depends on TIGON3 && HWMON && !(TIGON3=y && HWMON=m)
137	help
138	  Say Y if you want to expose the thermal sensor on Tigon3 devices.
139
140config BNX2X
141	tristate "Broadcom NetXtremeII 10Gb support"
142	depends on PCI
143	depends on PTP_1588_CLOCK_OPTIONAL
144	select FW_LOADER
145	select ZLIB_INFLATE
146	select LIBCRC32C
147	select MDIO
148	help
149	  This driver supports Broadcom NetXtremeII 10 gigabit Ethernet cards.
150	  To compile this driver as a module, choose M here: the module
151	  will be called bnx2x.  This is recommended.
152
153config BNX2X_SRIOV
154	bool "Broadcom 578xx and 57712 SR-IOV support"
155	depends on BNX2X && PCI_IOV
156	default y
157	help
158	  This configuration parameter enables Single Root Input Output
159	  Virtualization support in the 578xx and 57712 products. This
160	  allows for virtual function acceleration in virtual environments.
161
162config BGMAC
163	tristate
164	help
165	  This enables the integrated ethernet controller support for many
166	  Broadcom (mostly iProc) SoCs. An appropriate bus interface driver
167	  needs to be enabled to select this.
168
169config BGMAC_BCMA
170	tristate "Broadcom iProc GBit BCMA support"
171	depends on BCMA && BCMA_HOST_SOC
172	depends on BCM47XX || ARCH_BCM_5301X || COMPILE_TEST
173	select BGMAC
174	select PHYLIB
175	select FIXED_PHY
176	help
177	  This driver supports GBit MAC and BCM4706 GBit MAC cores on BCMA bus.
178	  They can be found on BCM47xx SoCs and provide gigabit ethernet.
179	  In case of using this driver on BCM4706 it's also requires to enable
180	  BCMA_DRIVER_GMAC_CMN to make it work.
181
182config BGMAC_PLATFORM
183	tristate "Broadcom iProc GBit platform support"
184	depends on ARCH_BCM_IPROC || COMPILE_TEST
185	select BGMAC
186	select PHYLIB
187	select FIXED_PHY
188	default ARCH_BCM_IPROC
189	help
190	  Say Y here if you want to use the Broadcom iProc Gigabit Ethernet
191	  controller through the generic platform interface
192
193config SYSTEMPORT
194	tristate "Broadcom SYSTEMPORT internal MAC support"
195	depends on HAS_IOMEM
196	depends on NET_DSA || !NET_DSA
197	select MII
198	select PHYLIB
199	select FIXED_PHY
200	select DIMLIB
201	help
202	  This driver supports the built-in Ethernet MACs found in the
203	  Broadcom BCM7xxx Set Top Box family chipset using an internal
204	  Ethernet switch.
205
206config BNXT
207	tristate "Broadcom NetXtreme-C/E support"
208	depends on PCI
209	depends on PTP_1588_CLOCK_OPTIONAL
210	select FW_LOADER
211	select LIBCRC32C
212	select NET_DEVLINK
213	select PAGE_POOL
214	select DIMLIB
215	help
216	  This driver supports Broadcom NetXtreme-C/E 10/25/40/50 gigabit
217	  Ethernet cards.  To compile this driver as a module, choose M here:
218	  the module will be called bnxt_en.  This is recommended.
219
220config BNXT_SRIOV
221	bool "Broadcom NetXtreme-C/E SR-IOV support"
222	depends on BNXT && PCI_IOV
223	default y
224	help
225	  This configuration parameter enables Single Root Input Output
226	  Virtualization support in the NetXtreme-C/E products. This
227	  allows for virtual function acceleration in virtual environments.
228
229config BNXT_FLOWER_OFFLOAD
230	bool "TC Flower offload support for NetXtreme-C/E"
231	depends on BNXT
232	default y
233	help
234	  This configuration parameter enables TC Flower packet classifier
235	  offload for eswitch.  This option enables SR-IOV switchdev eswitch
236	  offload.
237
238config BNXT_DCB
239	bool "Data Center Bridging (DCB) Support"
240	default n
241	depends on BNXT && DCB
242	help
243	  Say Y here if you want to use Data Center Bridging (DCB) in the
244	  driver.
245
246	  If unsure, say N.
247
248config BNXT_HWMON
249	bool "Broadcom NetXtreme-C/E HWMON support"
250	default y
251	depends on BNXT && HWMON && !(BNXT=y && HWMON=m)
252	help
253	  Say Y if you want to expose the thermal sensor data on NetXtreme-C/E
254	  devices, via the hwmon sysfs interface.
255
256endif # NET_VENDOR_BROADCOM
257