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