xref: /openbmc/linux/drivers/net/ethernet/intel/Kconfig (revision c358f538)
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Intel network device configuration
4#
5
6config NET_VENDOR_INTEL
7	bool "Intel devices"
8	default y
9	help
10	  If you have a network (Ethernet) card belonging to this class, say Y.
11
12	  Note that the answer to this question doesn't directly affect the
13	  kernel: saying N will just cause the configurator to skip all
14	  the questions about Intel cards. If you say Y, you will be asked for
15	  your specific card in the following questions.
16
17if NET_VENDOR_INTEL
18
19config E100
20	tristate "Intel(R) PRO/100+ support"
21	depends on PCI
22	select MII
23	help
24	  This driver supports Intel(R) PRO/100 family of adapters.
25	  To verify that your adapter is supported, find the board ID number
26	  on the adapter. Look for a label that has a barcode and a number
27	  in the format 123456-001 (six digits hyphen three digits).
28
29	  Use the above information and the Adapter & Driver ID Guide that
30	  can be located at:
31
32	  <http://support.intel.com>
33
34	  to identify the adapter.
35
36	  More specific information on configuring the driver is in
37	  <file:Documentation/networking/device_drivers/ethernet/intel/e100.rst>.
38
39	  To compile this driver as a module, choose M here. The module
40	  will be called e100.
41
42config E1000
43	tristate "Intel(R) PRO/1000 Gigabit Ethernet support"
44	depends on PCI
45	help
46	  This driver supports Intel(R) PRO/1000 gigabit ethernet family of
47	  adapters.  For more information on how to identify your adapter, go
48	  to the Adapter & Driver ID Guide that can be located at:
49
50	  <http://support.intel.com>
51
52	  More specific information on configuring the driver is in
53	  <file:Documentation/networking/device_drivers/ethernet/intel/e1000.rst>.
54
55	  To compile this driver as a module, choose M here. The module
56	  will be called e1000.
57
58config E1000E
59	tristate "Intel(R) PRO/1000 PCI-Express Gigabit Ethernet support"
60	depends on PCI && (!SPARC32 || BROKEN)
61	depends on PTP_1588_CLOCK_OPTIONAL
62	select CRC32
63	help
64	  This driver supports the PCI-Express Intel(R) PRO/1000 gigabit
65	  ethernet family of adapters. For PCI or PCI-X e1000 adapters,
66	  use the regular e1000 driver For more information on how to
67	  identify your adapter, go to the Adapter & Driver ID Guide that
68	  can be located at:
69
70	  <http://support.intel.com>
71
72	  More specific information on configuring the driver is in
73	  <file:Documentation/networking/device_drivers/ethernet/intel/e1000e.rst>.
74
75	  To compile this driver as a module, choose M here. The module
76	  will be called e1000e.
77
78config E1000E_HWTS
79	bool "Support HW cross-timestamp on PCH devices"
80	default y
81	depends on E1000E && X86
82	help
83	 Say Y to enable hardware supported cross-timestamping on PCH
84	 devices. The cross-timestamp is available through the PTP clock
85	 driver precise cross-timestamp ioctl (PTP_SYS_OFFSET_PRECISE).
86
87config IGB
88	tristate "Intel(R) 82575/82576 PCI-Express Gigabit Ethernet support"
89	depends on PCI
90	depends on PTP_1588_CLOCK_OPTIONAL
91	select I2C
92	select I2C_ALGOBIT
93	help
94	  This driver supports Intel(R) 82575/82576 gigabit ethernet family of
95	  adapters.  For more information on how to identify your adapter, go
96	  to the Adapter & Driver ID Guide that can be located at:
97
98	  <http://support.intel.com>
99
100	  More specific information on configuring the driver is in
101	  <file:Documentation/networking/device_drivers/ethernet/intel/igb.rst>.
102
103	  To compile this driver as a module, choose M here. The module
104	  will be called igb.
105
106config IGB_HWMON
107	bool "Intel(R) PCI-Express Gigabit adapters HWMON support"
108	default y
109	depends on IGB && HWMON && !(IGB=y && HWMON=m)
110	help
111	  Say Y if you want to expose thermal sensor data on Intel devices.
112
113	  Some of our devices contain thermal sensors, both external and internal.
114	  This data is available via the hwmon sysfs interface and exposes
115	  the onboard sensors.
116
117config IGB_DCA
118	bool "Direct Cache Access (DCA) Support"
119	default y
120	depends on IGB && DCA && !(IGB=y && DCA=m)
121	help
122	  Say Y here if you want to use Direct Cache Access (DCA) in the
123	  driver.  DCA is a method for warming the CPU cache before data
124	  is used, with the intent of lessening the impact of cache misses.
125
126config IGBVF
127	tristate "Intel(R) 82576 Virtual Function Ethernet support"
128	depends on PCI
129	help
130	  This driver supports Intel(R) 82576 virtual functions.  For more
131	  information on how to identify your adapter, go to the Adapter &
132	  Driver ID Guide that can be located at:
133
134	  <http://support.intel.com>
135
136	  More specific information on configuring the driver is in
137	  <file:Documentation/networking/device_drivers/ethernet/intel/igbvf.rst>.
138
139	  To compile this driver as a module, choose M here. The module
140	  will be called igbvf.
141
142config IXGB
143	tristate "Intel(R) PRO/10GbE support"
144	depends on PCI
145	help
146	  This driver supports Intel(R) PRO/10GbE family of adapters for
147	  PCI-X type cards. For PCI-E type cards, use the "ixgbe" driver
148	  instead. For more information on how to identify your adapter, go
149	  to the Adapter & Driver ID Guide that can be located at:
150
151	  <http://support.intel.com>
152
153	  More specific information on configuring the driver is in
154	  <file:Documentation/networking/device_drivers/ethernet/intel/ixgb.rst>.
155
156	  To compile this driver as a module, choose M here. The module
157	  will be called ixgb.
158
159config IXGBE
160	tristate "Intel(R) 10GbE PCI Express adapters support"
161	depends on PCI
162	depends on PTP_1588_CLOCK_OPTIONAL
163	select MDIO
164	select PHYLIB
165	help
166	  This driver supports Intel(R) 10GbE PCI Express family of
167	  adapters.  For more information on how to identify your adapter, go
168	  to the Adapter & Driver ID Guide that can be located at:
169
170	  <http://support.intel.com>
171
172	  More specific information on configuring the driver is in
173	  <file:Documentation/networking/device_drivers/ethernet/intel/ixgbe.rst>.
174
175	  To compile this driver as a module, choose M here. The module
176	  will be called ixgbe.
177
178config IXGBE_HWMON
179	bool "Intel(R) 10GbE PCI Express adapters HWMON support"
180	default y
181	depends on IXGBE && HWMON && !(IXGBE=y && HWMON=m)
182	help
183	  Say Y if you want to expose the thermal sensor data on some of
184	  our cards, via a hwmon sysfs interface.
185
186config IXGBE_DCA
187	bool "Direct Cache Access (DCA) Support"
188	default y
189	depends on IXGBE && DCA && !(IXGBE=y && DCA=m)
190	help
191	  Say Y here if you want to use Direct Cache Access (DCA) in the
192	  driver.  DCA is a method for warming the CPU cache before data
193	  is used, with the intent of lessening the impact of cache misses.
194
195config IXGBE_DCB
196	bool "Data Center Bridging (DCB) Support"
197	default n
198	depends on IXGBE && DCB
199	help
200	  Say Y here if you want to use Data Center Bridging (DCB) in the
201	  driver.
202
203	  If unsure, say N.
204
205config IXGBE_IPSEC
206	bool "IPSec XFRM cryptography-offload acceleration"
207	depends on IXGBE
208	depends on XFRM_OFFLOAD
209	default y
210	select XFRM_ALGO
211	help
212	  Enable support for IPSec offload in ixgbe.ko
213
214config IXGBEVF
215	tristate "Intel(R) 10GbE PCI Express Virtual Function Ethernet support"
216	depends on PCI_MSI
217	help
218	  This driver supports Intel(R) PCI Express virtual functions for the
219	  Intel(R) ixgbe driver.  For more information on how to identify your
220	  adapter, go to the Adapter & Driver ID Guide that can be located at:
221
222	  <http://support.intel.com>
223
224	  More specific information on configuring the driver is in
225	  <file:Documentation/networking/device_drivers/ethernet/intel/ixgbevf.rst>.
226
227	  To compile this driver as a module, choose M here. The module
228	  will be called ixgbevf.  MSI-X interrupt support is required
229	  for this driver to work correctly.
230
231config IXGBEVF_IPSEC
232	bool "IPSec XFRM cryptography-offload acceleration"
233	depends on IXGBEVF
234	depends on XFRM_OFFLOAD
235	default y
236	select XFRM_ALGO
237	help
238	  Enable support for IPSec offload in ixgbevf.ko
239
240config I40E
241	tristate "Intel(R) Ethernet Controller XL710 Family support"
242	depends on PTP_1588_CLOCK_OPTIONAL
243	depends on PCI
244	select AUXILIARY_BUS
245	help
246	  This driver supports Intel(R) Ethernet Controller XL710 Family of
247	  devices.  For more information on how to identify your adapter, go
248	  to the Adapter & Driver ID Guide that can be located at:
249
250	  <http://support.intel.com>
251
252	  More specific information on configuring the driver is in
253	  <file:Documentation/networking/device_drivers/ethernet/intel/i40e.rst>.
254
255	  To compile this driver as a module, choose M here. The module
256	  will be called i40e.
257
258config I40E_DCB
259	bool "Data Center Bridging (DCB) Support"
260	default n
261	depends on I40E && DCB
262	help
263	  Say Y here if you want to use Data Center Bridging (DCB) in the
264	  driver.
265
266	  If unsure, say N.
267
268# this is here to allow seamless migration from I40EVF --> IAVF name
269# so that CONFIG_IAVF symbol will always mirror the state of CONFIG_I40EVF
270config IAVF
271	tristate
272config I40EVF
273	tristate "Intel(R) Ethernet Adaptive Virtual Function support"
274	select IAVF
275	depends on PCI_MSI
276	help
277	  This driver supports virtual functions for Intel XL710,
278	  X710, X722, XXV710, and all devices advertising support for
279	  Intel Ethernet Adaptive Virtual Function devices. For more
280	  information on how to identify your adapter, go to the Adapter
281	  & Driver ID Guide that can be located at:
282
283	  <https://support.intel.com>
284
285	  This driver was formerly named i40evf.
286
287	  More specific information on configuring the driver is in
288	  <file:Documentation/networking/device_drivers/ethernet/intel/iavf.rst>.
289
290	  To compile this driver as a module, choose M here. The module
291	  will be called iavf.  MSI-X interrupt support is required
292	  for this driver to work correctly.
293
294config ICE
295	tristate "Intel(R) Ethernet Connection E800 Series Support"
296	default n
297	depends on PCI_MSI
298	depends on PTP_1588_CLOCK_OPTIONAL
299	select AUXILIARY_BUS
300	select DIMLIB
301	select NET_DEVLINK
302	select PLDMFW
303	help
304	  This driver supports Intel(R) Ethernet Connection E800 Series of
305	  devices.  For more information on how to identify your adapter, go
306	  to the Adapter & Driver ID Guide that can be located at:
307
308	  <http://support.intel.com>
309
310	  More specific information on configuring the driver is in
311	  <file:Documentation/networking/device_drivers/ethernet/intel/ice.rst>.
312
313	  To compile this driver as a module, choose M here. The module
314	  will be called ice.
315
316config ICE_SWITCHDEV
317	bool "Switchdev Support"
318	default y
319	depends on ICE && NET_SWITCHDEV
320	help
321	  Switchdev support provides internal SRIOV packet steering and switching.
322
323	  To enable it on running kernel use devlink tool:
324	  #devlink dev eswitch set pci/0000:XX:XX.X mode switchdev
325
326	  Say Y here if you want to use Switchdev in the driver.
327
328	  If unsure, say N.
329
330config ICE_HWTS
331	bool "Support HW cross-timestamp on platforms with PTM support"
332	default y
333	depends on ICE && X86
334	help
335	  Say Y to enable hardware supported cross-timestamping on platforms
336	  with PCIe PTM support. The cross-timestamp is available through
337	  the PTP clock driver precise cross-timestamp ioctl
338	  (PTP_SYS_OFFSET_PRECISE).
339
340config FM10K
341	tristate "Intel(R) FM10000 Ethernet Switch Host Interface Support"
342	default n
343	depends on PCI_MSI
344	depends on PTP_1588_CLOCK_OPTIONAL
345	help
346	  This driver supports Intel(R) FM10000 Ethernet Switch Host
347	  Interface.  For more information on how to identify your adapter,
348	  go to the Adapter & Driver ID Guide that can be located at:
349
350	  <http://support.intel.com>
351
352	  More specific information on configuring the driver is in
353	  <file:Documentation/networking/device_drivers/ethernet/intel/fm10k.rst>.
354
355	  To compile this driver as a module, choose M here. The module
356	  will be called fm10k.  MSI-X interrupt support is required
357
358config IGC
359	tristate "Intel(R) Ethernet Controller I225-LM/I225-V support"
360	default n
361	depends on PCI
362	depends on PTP_1588_CLOCK_OPTIONAL
363	help
364	  This driver supports Intel(R) Ethernet Controller I225-LM/I225-V
365	  family of adapters.
366
367	  For more information on how to identify your adapter, go
368	  to the Adapter & Driver ID Guide that can be located at:
369
370	  <http://support.intel.com>
371
372	  To compile this driver as a module, choose M here. The module
373	  will be called igc.
374
375endif # NET_VENDOR_INTEL
376