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