xref: /linux/drivers/net/ethernet/broadcom/Kconfig (revision ef6af7bdb9e6c14eae8dc5fe852aefe1e089c85c)
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	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