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