xref: /linux/drivers/net/ethernet/intel/Kconfig (revision 1a9239bb4253f9076b5b4b2a1a4e8d7defd77a95)
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	select NET_SHAPER
262
263config I40EVF
264	tristate "Intel(R) Ethernet Adaptive Virtual Function support"
265	select IAVF
266	depends on PCI_MSI
267	depends on PTP_1588_CLOCK_OPTIONAL
268	help
269	  This driver supports virtual functions for Intel XL710,
270	  X710, X722, XXV710, and all devices advertising support for
271	  Intel Ethernet Adaptive Virtual Function devices. For more
272	  information on how to identify your adapter, go to the Adapter
273	  & Driver ID Guide that can be located at:
274
275	  <https://support.intel.com>
276
277	  This driver was formerly named i40evf.
278
279	  More specific information on configuring the driver is in
280	  <file:Documentation/networking/device_drivers/ethernet/intel/iavf.rst>.
281
282	  To compile this driver as a module, choose M here. The module
283	  will be called iavf.  MSI-X interrupt support is required
284	  for this driver to work correctly.
285
286config ICE
287	tristate "Intel(R) Ethernet Connection E800 Series Support"
288	default n
289	depends on PCI_MSI
290	depends on PTP_1588_CLOCK_OPTIONAL
291	depends on GNSS || GNSS = n
292	select AUXILIARY_BUS
293	select DIMLIB
294	select LIBIE
295	select NET_DEVLINK
296	select PACKING
297	select PLDMFW
298	select DPLL
299	help
300	  This driver supports Intel(R) Ethernet Connection E800 Series of
301	  devices.  For more information on how to identify your adapter, go
302	  to the Adapter & Driver ID Guide that can be located at:
303
304	  <http://support.intel.com>
305
306	  More specific information on configuring the driver is in
307	  <file:Documentation/networking/device_drivers/ethernet/intel/ice.rst>.
308
309	  To compile this driver as a module, choose M here. The module
310	  will be called ice.
311
312config ICE_HWMON
313	bool "Intel(R) Ethernet Connection E800 Series Support HWMON support"
314	default y
315	depends on ICE && HWMON && !(ICE=y && HWMON=m)
316	help
317	  Say Y if you want to expose thermal sensor data on Intel devices.
318
319	  Some of our devices contain internal thermal sensors.
320	  This data is available via the hwmon sysfs interface and exposes
321	  the onboard sensors.
322
323config ICE_SWITCHDEV
324	bool "Switchdev Support"
325	default y
326	depends on ICE && NET_SWITCHDEV
327	help
328	  Switchdev support provides internal SRIOV packet steering and switching.
329
330	  To enable it on running kernel use devlink tool:
331	  #devlink dev eswitch set pci/0000:XX:XX.X mode switchdev
332
333	  Say Y here if you want to use Switchdev in the driver.
334
335	  If unsure, say N.
336
337config ICE_HWTS
338	bool "Support HW cross-timestamp on platforms with PTM support"
339	default y
340	depends on ICE && X86 && PCIE_PTM
341	help
342	  Say Y to enable hardware supported cross-timestamping on platforms
343	  with PCIe PTM support. The cross-timestamp is available through
344	  the PTP clock driver precise cross-timestamp ioctl
345	  (PTP_SYS_OFFSET_PRECISE).
346
347config FM10K
348	tristate "Intel(R) FM10000 Ethernet Switch Host Interface Support"
349	default n
350	depends on PCI_MSI
351	depends on PTP_1588_CLOCK_OPTIONAL
352	help
353	  This driver supports Intel(R) FM10000 Ethernet Switch Host
354	  Interface.  For more information on how to identify your adapter,
355	  go to the Adapter & Driver ID Guide that can be located at:
356
357	  <http://support.intel.com>
358
359	  More specific information on configuring the driver is in
360	  <file:Documentation/networking/device_drivers/ethernet/intel/fm10k.rst>.
361
362	  To compile this driver as a module, choose M here. The module
363	  will be called fm10k.  MSI-X interrupt support is required
364
365config IGC
366	tristate "Intel(R) Ethernet Controller I225-LM/I225-V support"
367	default n
368	depends on PCI
369	depends on PTP_1588_CLOCK_OPTIONAL
370	help
371	  This driver supports Intel(R) Ethernet Controller I225-LM/I225-V
372	  family of adapters.
373
374	  For more information on how to identify your adapter, go
375	  to the Adapter & Driver ID Guide that can be located at:
376
377	  <http://support.intel.com>
378
379	  To compile this driver as a module, choose M here. The module
380	  will be called igc.
381
382config IGC_LEDS
383	def_bool LEDS_TRIGGER_NETDEV
384	depends on IGC && LEDS_CLASS
385	depends on LEDS_CLASS=y || IGC=m
386	help
387	  Optional support for controlling the NIC LED's with the netdev
388	  LED trigger.
389
390source "drivers/net/ethernet/intel/idpf/Kconfig"
391
392endif # NET_VENDOR_INTEL
393