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