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