xref: /linux/drivers/net/ethernet/broadcom/Kconfig (revision 6dfafbd0299a60bfb5d5e277fdf100037c7ded07)
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	select FIXED_PHY if BCM47XX
29	help
30	  If you have a network (Ethernet) controller of this type, say Y
31	  or M here.
32
33	  To compile this driver as a module, choose M here. The module
34	  will be called b44.
35
36# Auto-select SSB PCI-HOST support, if possible
37config B44_PCI_AUTOSELECT
38	bool
39	depends on B44 && SSB_PCIHOST_POSSIBLE
40	select SSB_PCIHOST
41	default y
42
43# Auto-select SSB PCICORE driver, if possible
44config B44_PCICORE_AUTOSELECT
45	bool
46	depends on B44 && SSB_DRIVER_PCICORE_POSSIBLE
47	select SSB_DRIVER_PCICORE
48	default y
49
50config B44_PCI
51	bool
52	depends on B44_PCI_AUTOSELECT && B44_PCICORE_AUTOSELECT
53	default y
54
55config BCM4908_ENET
56	tristate "Broadcom BCM4908 internal mac support"
57	depends on ARCH_BCMBCA || COMPILE_TEST
58	default y if ARCH_BCMBCA
59	help
60	  This driver supports Ethernet controller integrated into Broadcom
61	  BCM4908 family SoCs.
62
63config BCM63XX_ENET
64	tristate "Broadcom 63xx internal mac support"
65	depends on BCM63XX
66	select MII
67	select PHYLIB
68	help
69	  This driver supports the ethernet MACs in the Broadcom 63xx
70	  MIPS chipset family (BCM63XX).
71
72config BCMGENET
73	tristate "Broadcom GENET internal MAC support"
74	depends on HAS_IOMEM
75	depends on PTP_1588_CLOCK_OPTIONAL || !ARCH_BCM2835
76	select PHYLIB
77	select FIXED_PHY
78	select BCM7XXX_PHY
79	select MDIO_BCM_UNIMAC
80	select DIMLIB
81	select BROADCOM_PHY if ARCH_BCM2835
82	help
83	  This driver supports the built-in Ethernet MACs found in the
84	  Broadcom BCM7xxx Set Top Box family chipset.
85
86config BNX2
87	tristate "QLogic bnx2 support"
88	depends on PCI
89	select CRC32
90	select FW_LOADER
91	help
92	  This driver supports QLogic bnx2 gigabit Ethernet cards.
93
94	  To compile this driver as a module, choose M here: the module
95	  will be called bnx2.  This is recommended.
96
97config CNIC
98	tristate "QLogic CNIC support"
99	depends on PCI && (IPV6 || IPV6=n)
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 CRC32
127	select PHYLIB
128	help
129	  This driver supports Broadcom Tigon3 based gigabit Ethernet cards.
130
131	  To compile this driver as a module, choose M here: the module
132	  will be called tg3.  This is recommended.
133
134config TIGON3_HWMON
135	bool "Broadcom Tigon3 HWMON support"
136	default y
137	depends on TIGON3 && HWMON && !(TIGON3=y && HWMON=m)
138	help
139	  Say Y if you want to expose the thermal sensor on Tigon3 devices.
140
141config BNX2X
142	tristate "Broadcom NetXtremeII 10Gb support"
143	depends on PCI
144	depends on PTP_1588_CLOCK_OPTIONAL
145	select FW_LOADER
146	select ZLIB_INFLATE
147	select CRC32
148	select MDIO
149	help
150	  This driver supports Broadcom NetXtremeII 10 gigabit Ethernet cards.
151	  To compile this driver as a module, choose M here: the module
152	  will be called bnx2x.  This is recommended.
153
154config BNX2X_SRIOV
155	bool "Broadcom 578xx and 57712 SR-IOV support"
156	depends on BNX2X && PCI_IOV
157	default y
158	help
159	  This configuration parameter enables Single Root Input Output
160	  Virtualization support in the 578xx and 57712 products. This
161	  allows for virtual function acceleration in virtual environments.
162
163config BGMAC
164	tristate
165	help
166	  This enables the integrated ethernet controller support for many
167	  Broadcom (mostly iProc) SoCs. An appropriate bus interface driver
168	  needs to be enabled to select this.
169
170config BGMAC_BCMA
171	tristate "Broadcom iProc GBit BCMA support"
172	depends on BCMA && BCMA_HOST_SOC
173	depends on BCM47XX || ARCH_BCM_5301X || COMPILE_TEST
174	select BGMAC
175	select PHYLIB
176	select FIXED_PHY
177	help
178	  This driver supports GBit MAC and BCM4706 GBit MAC cores on BCMA bus.
179	  They can be found on BCM47xx SoCs and provide gigabit ethernet.
180	  In case of using this driver on BCM4706 it's also requires to enable
181	  BCMA_DRIVER_GMAC_CMN to make it work.
182
183config BGMAC_PLATFORM
184	tristate "Broadcom iProc GBit platform support"
185	depends on ARCH_BCM_IPROC || COMPILE_TEST
186	select BGMAC
187	select PHYLIB
188	select FIXED_PHY
189	default ARCH_BCM_IPROC
190	help
191	  Say Y here if you want to use the Broadcom iProc Gigabit Ethernet
192	  controller through the generic platform interface
193
194config SYSTEMPORT
195	tristate "Broadcom SYSTEMPORT internal MAC support"
196	depends on HAS_IOMEM
197	depends on NET_DSA || !NET_DSA
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 CRC32
212	select NET_DEVLINK
213	select PAGE_POOL
214	select DIMLIB
215	select AUXILIARY_BUS
216	help
217	  This driver supports Broadcom NetXtreme-C/E 10/25/40/50 gigabit
218	  Ethernet cards.  To compile this driver as a module, choose M here:
219	  the module will be called bnxt_en.  This is recommended.
220
221config BNXT_SRIOV
222	bool "Broadcom NetXtreme-C/E SR-IOV support"
223	depends on BNXT && PCI_IOV
224	default y
225	help
226	  This configuration parameter enables Single Root Input Output
227	  Virtualization support in the NetXtreme-C/E products. This
228	  allows for virtual function acceleration in virtual environments.
229
230config BNXT_FLOWER_OFFLOAD
231	bool "TC Flower offload support for NetXtreme-C/E"
232	depends on BNXT
233	default y
234	help
235	  This configuration parameter enables TC Flower packet classifier
236	  offload for eswitch.  This option enables SR-IOV switchdev eswitch
237	  offload.
238
239config BNXT_DCB
240	bool "Data Center Bridging (DCB) Support"
241	default n
242	depends on BNXT && DCB
243	help
244	  Say Y here if you want to use Data Center Bridging (DCB) in the
245	  driver.
246
247	  If unsure, say N.
248
249config BNXT_HWMON
250	bool "Broadcom NetXtreme-C/E HWMON support"
251	default y
252	depends on BNXT && HWMON && !(BNXT=y && HWMON=m)
253	help
254	  Say Y if you want to expose the thermal sensor data on NetXtreme-C/E
255	  devices, via the hwmon sysfs interface.
256
257config BNGE
258	tristate "Broadcom Ethernet device support"
259	depends on PCI
260	select NET_DEVLINK
261	select PAGE_POOL
262	help
263	  This driver supports Broadcom 50/100/200/400/800 gigabit Ethernet cards.
264	  The module will be called bng_en. To compile this driver as a module,
265	  choose M here.
266
267config BCMASP
268	tristate "Broadcom ASP 2.0 Ethernet support"
269	depends on ARCH_BRCMSTB || COMPILE_TEST
270	default ARCH_BRCMSTB
271	depends on OF
272	select PHYLIB
273	select MDIO_BCM_UNIMAC
274	help
275	  This configuration enables the Broadcom ASP 2.0 Ethernet controller
276	  driver which is present in Broadcom STB SoCs such as 72165.
277
278endif # NET_VENDOR_BROADCOM
279