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