xref: /linux/drivers/net/ethernet/intel/Kconfig (revision 78c3925c048c752334873f56c3a3d1c9d53e0416)
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 IXGBE
143	tristate "Intel(R) 10GbE PCI Express adapters support"
144	depends on PCI
145	depends on PTP_1588_CLOCK_OPTIONAL
146	select MDIO
147	select PHYLIB
148	help
149	  This driver supports Intel(R) 10GbE PCI Express family of
150	  adapters.  For more information on how to identify your adapter, go
151	  to the Adapter & Driver ID Guide that can be located at:
152
153	  <http://support.intel.com>
154
155	  More specific information on configuring the driver is in
156	  <file:Documentation/networking/device_drivers/ethernet/intel/ixgbe.rst>.
157
158	  To compile this driver as a module, choose M here. The module
159	  will be called ixgbe.
160
161config IXGBE_HWMON
162	bool "Intel(R) 10GbE PCI Express adapters HWMON support"
163	default y
164	depends on IXGBE && HWMON && !(IXGBE=y && HWMON=m)
165	help
166	  Say Y if you want to expose the thermal sensor data on some of
167	  our cards, via a hwmon sysfs interface.
168
169config IXGBE_DCA
170	bool "Direct Cache Access (DCA) Support"
171	default y
172	depends on IXGBE && DCA && !(IXGBE=y && DCA=m)
173	help
174	  Say Y here if you want to use Direct Cache Access (DCA) in the
175	  driver.  DCA is a method for warming the CPU cache before data
176	  is used, with the intent of lessening the impact of cache misses.
177
178config IXGBE_DCB
179	bool "Data Center Bridging (DCB) Support"
180	default n
181	depends on IXGBE && DCB
182	help
183	  Say Y here if you want to use Data Center Bridging (DCB) in the
184	  driver.
185
186	  If unsure, say N.
187
188config IXGBE_IPSEC
189	bool "IPSec XFRM cryptography-offload acceleration"
190	depends on IXGBE
191	depends on XFRM_OFFLOAD
192	default y
193	select XFRM_ALGO
194	help
195	  Enable support for IPSec offload in ixgbe.ko
196
197config IXGBEVF
198	tristate "Intel(R) 10GbE PCI Express Virtual Function Ethernet support"
199	depends on PCI_MSI
200	help
201	  This driver supports Intel(R) PCI Express virtual functions for the
202	  Intel(R) ixgbe driver.  For more information on how to identify your
203	  adapter, go to the Adapter & Driver ID Guide that can be located at:
204
205	  <http://support.intel.com>
206
207	  More specific information on configuring the driver is in
208	  <file:Documentation/networking/device_drivers/ethernet/intel/ixgbevf.rst>.
209
210	  To compile this driver as a module, choose M here. The module
211	  will be called ixgbevf.  MSI-X interrupt support is required
212	  for this driver to work correctly.
213
214config IXGBEVF_IPSEC
215	bool "IPSec XFRM cryptography-offload acceleration"
216	depends on IXGBEVF
217	depends on XFRM_OFFLOAD
218	default y
219	select XFRM_ALGO
220	help
221	  Enable support for IPSec offload in ixgbevf.ko
222
223config I40E
224	tristate "Intel(R) Ethernet Controller XL710 Family support"
225	depends on PTP_1588_CLOCK_OPTIONAL
226	depends on PCI
227	select AUXILIARY_BUS
228	select NET_DEVLINK
229	help
230	  This driver supports Intel(R) Ethernet Controller XL710 Family of
231	  devices.  For more information on how to identify your adapter, go
232	  to the Adapter & Driver ID Guide that can be located at:
233
234	  <http://support.intel.com>
235
236	  More specific information on configuring the driver is in
237	  <file:Documentation/networking/device_drivers/ethernet/intel/i40e.rst>.
238
239	  To compile this driver as a module, choose M here. The module
240	  will be called i40e.
241
242config I40E_DCB
243	bool "Data Center Bridging (DCB) Support"
244	default n
245	depends on I40E && DCB
246	help
247	  Say Y here if you want to use Data Center Bridging (DCB) in the
248	  driver.
249
250	  If unsure, say N.
251
252# this is here to allow seamless migration from I40EVF --> IAVF name
253# so that CONFIG_IAVF symbol will always mirror the state of CONFIG_I40EVF
254config IAVF
255	tristate
256config I40EVF
257	tristate "Intel(R) Ethernet Adaptive Virtual Function support"
258	select IAVF
259	depends on PCI_MSI
260	help
261	  This driver supports virtual functions for Intel XL710,
262	  X710, X722, XXV710, and all devices advertising support for
263	  Intel Ethernet Adaptive Virtual Function devices. For more
264	  information on how to identify your adapter, go to the Adapter
265	  & Driver ID Guide that can be located at:
266
267	  <https://support.intel.com>
268
269	  This driver was formerly named i40evf.
270
271	  More specific information on configuring the driver is in
272	  <file:Documentation/networking/device_drivers/ethernet/intel/iavf.rst>.
273
274	  To compile this driver as a module, choose M here. The module
275	  will be called iavf.  MSI-X interrupt support is required
276	  for this driver to work correctly.
277
278config ICE
279	tristate "Intel(R) Ethernet Connection E800 Series Support"
280	default n
281	depends on PCI_MSI
282	depends on PTP_1588_CLOCK_OPTIONAL
283	depends on GNSS || GNSS = n
284	select AUXILIARY_BUS
285	select DIMLIB
286	select NET_DEVLINK
287	select PLDMFW
288	select DPLL
289	help
290	  This driver supports Intel(R) Ethernet Connection E800 Series of
291	  devices.  For more information on how to identify your adapter, go
292	  to the Adapter & Driver ID Guide that can be located at:
293
294	  <http://support.intel.com>
295
296	  More specific information on configuring the driver is in
297	  <file:Documentation/networking/device_drivers/ethernet/intel/ice.rst>.
298
299	  To compile this driver as a module, choose M here. The module
300	  will be called ice.
301
302config ICE_HWMON
303	bool "Intel(R) Ethernet Connection E800 Series Support HWMON support"
304	default y
305	depends on ICE && HWMON && !(ICE=y && HWMON=m)
306	help
307	  Say Y if you want to expose thermal sensor data on Intel devices.
308
309	  Some of our devices contain internal thermal sensors.
310	  This data is available via the hwmon sysfs interface and exposes
311	  the onboard sensors.
312
313config ICE_SWITCHDEV
314	bool "Switchdev Support"
315	default y
316	depends on ICE && NET_SWITCHDEV
317	help
318	  Switchdev support provides internal SRIOV packet steering and switching.
319
320	  To enable it on running kernel use devlink tool:
321	  #devlink dev eswitch set pci/0000:XX:XX.X mode switchdev
322
323	  Say Y here if you want to use Switchdev in the driver.
324
325	  If unsure, say N.
326
327config ICE_HWTS
328	bool "Support HW cross-timestamp on platforms with PTM support"
329	default y
330	depends on ICE && X86
331	help
332	  Say Y to enable hardware supported cross-timestamping on platforms
333	  with PCIe PTM support. The cross-timestamp is available through
334	  the PTP clock driver precise cross-timestamp ioctl
335	  (PTP_SYS_OFFSET_PRECISE).
336
337config FM10K
338	tristate "Intel(R) FM10000 Ethernet Switch Host Interface Support"
339	default n
340	depends on PCI_MSI
341	depends on PTP_1588_CLOCK_OPTIONAL
342	help
343	  This driver supports Intel(R) FM10000 Ethernet Switch Host
344	  Interface.  For more information on how to identify your adapter,
345	  go to the Adapter & Driver ID Guide that can be located at:
346
347	  <http://support.intel.com>
348
349	  More specific information on configuring the driver is in
350	  <file:Documentation/networking/device_drivers/ethernet/intel/fm10k.rst>.
351
352	  To compile this driver as a module, choose M here. The module
353	  will be called fm10k.  MSI-X interrupt support is required
354
355config IGC
356	tristate "Intel(R) Ethernet Controller I225-LM/I225-V support"
357	default n
358	depends on PCI
359	depends on PTP_1588_CLOCK_OPTIONAL
360	help
361	  This driver supports Intel(R) Ethernet Controller I225-LM/I225-V
362	  family of adapters.
363
364	  For more information on how to identify your adapter, go
365	  to the Adapter & Driver ID Guide that can be located at:
366
367	  <http://support.intel.com>
368
369	  To compile this driver as a module, choose M here. The module
370	  will be called igc.
371
372config IGC_LEDS
373	def_bool LEDS_TRIGGER_NETDEV
374	depends on IGC && LEDS_CLASS
375	depends on LEDS_CLASS=y || IGC=m
376	help
377	  Optional support for controlling the NIC LED's with the netdev
378	  LED trigger.
379
380config IDPF
381	tristate "Intel(R) Infrastructure Data Path Function Support"
382	depends on PCI_MSI
383	select DIMLIB
384	select PAGE_POOL
385	select PAGE_POOL_STATS
386	help
387	  This driver supports Intel(R) Infrastructure Data Path Function
388	  devices.
389
390	  To compile this driver as a module, choose M here. The module
391	  will be called idpf.
392
393endif # NET_VENDOR_INTEL
394