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