xref: /linux/drivers/net/ethernet/intel/Kconfig (revision c20302dd42ac2aa3cbb3e8099a8a39b90194d189)
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
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 LIBIE
300	select LIBIE_ADMINQ
301	select LIBIE_FWLOG
302	select NET_DEVLINK
303	select PACKING
304	select PLDMFW
305	select DPLL
306	help
307	  This driver supports Intel(R) Ethernet Connection E800 Series of
308	  devices.  For more information on how to identify your adapter, go
309	  to the Adapter & Driver ID Guide that can be located at:
310
311	  <http://support.intel.com>
312
313	  More specific information on configuring the driver is in
314	  <file:Documentation/networking/device_drivers/ethernet/intel/ice.rst>.
315
316	  To compile this driver as a module, choose M here. The module
317	  will be called ice.
318
319config ICE_HWMON
320	bool "Intel(R) Ethernet Connection E800 Series Support HWMON support"
321	default y
322	depends on ICE && HWMON && !(ICE=y && HWMON=m)
323	help
324	  Say Y if you want to expose thermal sensor data on Intel devices.
325
326	  Some of our devices contain internal thermal sensors.
327	  This data is available via the hwmon sysfs interface and exposes
328	  the onboard sensors.
329
330config ICE_SWITCHDEV
331	bool "Switchdev Support"
332	default y
333	depends on ICE && NET_SWITCHDEV
334	help
335	  Switchdev support provides internal SRIOV packet steering and switching.
336
337	  To enable it on running kernel use devlink tool:
338	  #devlink dev eswitch set pci/0000:XX:XX.X mode switchdev
339
340	  Say Y here if you want to use Switchdev in the driver.
341
342	  If unsure, say N.
343
344config ICE_HWTS
345	bool "Support HW cross-timestamp on platforms with PTM support"
346	default y
347	depends on ICE && X86 && PCIE_PTM
348	help
349	  Say Y to enable hardware supported cross-timestamping on platforms
350	  with PCIe PTM support. The cross-timestamp is available through
351	  the PTP clock driver precise cross-timestamp ioctl
352	  (PTP_SYS_OFFSET_PRECISE).
353
354config FM10K
355	tristate "Intel(R) FM10000 Ethernet Switch Host Interface Support"
356	default n
357	depends on PCI_MSI
358	depends on PTP_1588_CLOCK_OPTIONAL
359	help
360	  This driver supports Intel(R) FM10000 Ethernet Switch Host
361	  Interface.  For more information on how to identify your adapter,
362	  go to the Adapter & Driver ID Guide that can be located at:
363
364	  <http://support.intel.com>
365
366	  More specific information on configuring the driver is in
367	  <file:Documentation/networking/device_drivers/ethernet/intel/fm10k.rst>.
368
369	  To compile this driver as a module, choose M here. The module
370	  will be called fm10k.  MSI-X interrupt support is required
371
372config IGC
373	tristate "Intel(R) Ethernet Controller I225-LM/I225-V support"
374	default n
375	depends on PCI
376	depends on PTP_1588_CLOCK_OPTIONAL
377	depends on ETHTOOL_NETLINK
378	help
379	  This driver supports Intel(R) Ethernet Controller I225-LM/I225-V
380	  family of adapters.
381
382	  For more information on how to identify your adapter, go
383	  to the Adapter & Driver ID Guide that can be located at:
384
385	  <http://support.intel.com>
386
387	  To compile this driver as a module, choose M here. The module
388	  will be called igc.
389
390config IGC_LEDS
391	def_bool LEDS_TRIGGER_NETDEV
392	depends on IGC && LEDS_CLASS
393	depends on LEDS_CLASS=y || IGC=m
394	help
395	  Optional support for controlling the NIC LED's with the netdev
396	  LED trigger.
397
398source "drivers/net/ethernet/intel/idpf/Kconfig"
399
400endif # NET_VENDOR_INTEL
401