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