Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm
[platform/kernel/linux-rpi.git] / drivers / net / ethernet / intel / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # Intel network device configuration
4 #
5
6 config 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
17 if NET_VENDOR_INTEL
18
19 config E100
20         tristate "Intel(R) PRO/100+ support"
21         depends on PCI
22         select MII
23         help
24           This driver supports Intel(R) PRO/100 family of adapters.
25           To verify that your adapter is supported, find the board ID number
26           on the adapter. Look for a label that has a barcode and a number
27           in the format 123456-001 (six digits hyphen three digits).
28
29           Use the above information and the Adapter & Driver ID Guide that
30           can be located at:
31
32           <http://support.intel.com>
33
34           to identify the adapter.
35
36           More specific information on configuring the driver is in
37           <file:Documentation/networking/device_drivers/ethernet/intel/e100.rst>.
38
39           To compile this driver as a module, choose M here. The module
40           will be called e100.
41
42 config E1000
43         tristate "Intel(R) PRO/1000 Gigabit Ethernet support"
44         depends on PCI
45         help
46           This driver supports Intel(R) PRO/1000 gigabit ethernet family of
47           adapters.  For more information on how to identify your adapter, go
48           to the Adapter & Driver ID Guide that can be located at:
49
50           <http://support.intel.com>
51
52           More specific information on configuring the driver is in
53           <file:Documentation/networking/device_drivers/ethernet/intel/e1000.rst>.
54
55           To compile this driver as a module, choose M here. The module
56           will be called e1000.
57
58 config E1000E
59         tristate "Intel(R) PRO/1000 PCI-Express Gigabit Ethernet support"
60         depends on PCI && (!SPARC32 || BROKEN)
61         depends on PTP_1588_CLOCK_OPTIONAL
62         select CRC32
63         help
64           This driver supports the PCI-Express Intel(R) PRO/1000 gigabit
65           ethernet family of adapters. For PCI or PCI-X e1000 adapters,
66           use the regular e1000 driver For more information on how to
67           identify your adapter, go to the Adapter & Driver ID Guide that
68           can be located at:
69
70           <http://support.intel.com>
71
72           More specific information on configuring the driver is in
73           <file:Documentation/networking/device_drivers/ethernet/intel/e1000e.rst>.
74
75           To compile this driver as a module, choose M here. The module
76           will be called e1000e.
77
78 config E1000E_HWTS
79         bool "Support HW cross-timestamp on PCH devices"
80         default y
81         depends on E1000E && X86
82         help
83          Say Y to enable hardware supported cross-timestamping on PCH
84          devices. The cross-timestamp is available through the PTP clock
85          driver precise cross-timestamp ioctl (PTP_SYS_OFFSET_PRECISE).
86
87 config IGB
88         tristate "Intel(R) 82575/82576 PCI-Express Gigabit Ethernet support"
89         depends on PCI
90         depends on PTP_1588_CLOCK_OPTIONAL
91         select I2C
92         select I2C_ALGOBIT
93         help
94           This driver supports Intel(R) 82575/82576 gigabit ethernet family of
95           adapters.  For more information on how to identify your adapter, go
96           to the Adapter & Driver ID Guide that can be located at:
97
98           <http://support.intel.com>
99
100           More specific information on configuring the driver is in
101           <file:Documentation/networking/device_drivers/ethernet/intel/igb.rst>.
102
103           To compile this driver as a module, choose M here. The module
104           will be called igb.
105
106 config IGB_HWMON
107         bool "Intel(R) PCI-Express Gigabit adapters HWMON support"
108         default y
109         depends on IGB && HWMON && !(IGB=y && HWMON=m)
110         help
111           Say Y if you want to expose thermal sensor data on Intel devices.
112
113           Some of our devices contain thermal sensors, both external and internal.
114           This data is available via the hwmon sysfs interface and exposes
115           the onboard sensors.
116
117 config IGB_DCA
118         bool "Direct Cache Access (DCA) Support"
119         default y
120         depends on IGB && DCA && !(IGB=y && DCA=m)
121         help
122           Say Y here if you want to use Direct Cache Access (DCA) in the
123           driver.  DCA is a method for warming the CPU cache before data
124           is used, with the intent of lessening the impact of cache misses.
125
126 config IGBVF
127         tristate "Intel(R) 82576 Virtual Function Ethernet support"
128         depends on PCI
129         help
130           This driver supports Intel(R) 82576 virtual functions.  For more
131           information on how to identify your adapter, go to the Adapter &
132           Driver ID Guide that can be located at:
133
134           <http://support.intel.com>
135
136           More specific information on configuring the driver is in
137           <file:Documentation/networking/device_drivers/ethernet/intel/igbvf.rst>.
138
139           To compile this driver as a module, choose M here. The module
140           will be called igbvf.
141
142 config IXGB
143         tristate "Intel(R) PRO/10GbE support"
144         depends on PCI
145         help
146           This driver supports Intel(R) PRO/10GbE family of adapters for
147           PCI-X type cards. For PCI-E type cards, use the "ixgbe" driver
148           instead. For more information on how to identify your adapter, go
149           to the Adapter & Driver ID Guide that can be located at:
150
151           <http://support.intel.com>
152
153           More specific information on configuring the driver is in
154           <file:Documentation/networking/device_drivers/ethernet/intel/ixgb.rst>.
155
156           To compile this driver as a module, choose M here. The module
157           will be called ixgb.
158
159 config IXGBE
160         tristate "Intel(R) 10GbE PCI Express adapters support"
161         depends on PCI
162         depends on PTP_1588_CLOCK_OPTIONAL
163         select MDIO
164         select PHYLIB
165         help
166           This driver supports Intel(R) 10GbE PCI Express family of
167           adapters.  For more information on how to identify your adapter, go
168           to the Adapter & Driver ID Guide that can be located at:
169
170           <http://support.intel.com>
171
172           More specific information on configuring the driver is in
173           <file:Documentation/networking/device_drivers/ethernet/intel/ixgbe.rst>.
174
175           To compile this driver as a module, choose M here. The module
176           will be called ixgbe.
177
178 config IXGBE_HWMON
179         bool "Intel(R) 10GbE PCI Express adapters HWMON support"
180         default y
181         depends on IXGBE && HWMON && !(IXGBE=y && HWMON=m)
182         help
183           Say Y if you want to expose the thermal sensor data on some of
184           our cards, via a hwmon sysfs interface.
185
186 config IXGBE_DCA
187         bool "Direct Cache Access (DCA) Support"
188         default y
189         depends on IXGBE && DCA && !(IXGBE=y && DCA=m)
190         help
191           Say Y here if you want to use Direct Cache Access (DCA) in the
192           driver.  DCA is a method for warming the CPU cache before data
193           is used, with the intent of lessening the impact of cache misses.
194
195 config IXGBE_DCB
196         bool "Data Center Bridging (DCB) Support"
197         default n
198         depends on IXGBE && DCB
199         help
200           Say Y here if you want to use Data Center Bridging (DCB) in the
201           driver.
202
203           If unsure, say N.
204
205 config IXGBE_IPSEC
206         bool "IPSec XFRM cryptography-offload acceleration"
207         depends on IXGBE
208         depends on XFRM_OFFLOAD
209         default y
210         select XFRM_ALGO
211         help
212           Enable support for IPSec offload in ixgbe.ko
213
214 config IXGBEVF
215         tristate "Intel(R) 10GbE PCI Express Virtual Function Ethernet support"
216         depends on PCI_MSI
217         help
218           This driver supports Intel(R) PCI Express virtual functions for the
219           Intel(R) ixgbe driver.  For more information on how to identify your
220           adapter, go to the Adapter & Driver ID Guide that can be located at:
221
222           <http://support.intel.com>
223
224           More specific information on configuring the driver is in
225           <file:Documentation/networking/device_drivers/ethernet/intel/ixgbevf.rst>.
226
227           To compile this driver as a module, choose M here. The module
228           will be called ixgbevf.  MSI-X interrupt support is required
229           for this driver to work correctly.
230
231 config IXGBEVF_IPSEC
232         bool "IPSec XFRM cryptography-offload acceleration"
233         depends on IXGBEVF
234         depends on XFRM_OFFLOAD
235         default y
236         select XFRM_ALGO
237         help
238           Enable support for IPSec offload in ixgbevf.ko
239
240 config I40E
241         tristate "Intel(R) Ethernet Controller XL710 Family support"
242         depends on PTP_1588_CLOCK_OPTIONAL
243         depends on PCI
244         select AUXILIARY_BUS
245         help
246           This driver supports Intel(R) Ethernet Controller XL710 Family of
247           devices.  For more information on how to identify your adapter, go
248           to the Adapter & Driver ID Guide that can be located at:
249
250           <http://support.intel.com>
251
252           More specific information on configuring the driver is in
253           <file:Documentation/networking/device_drivers/ethernet/intel/i40e.rst>.
254
255           To compile this driver as a module, choose M here. The module
256           will be called i40e.
257
258 config I40E_DCB
259         bool "Data Center Bridging (DCB) Support"
260         default n
261         depends on I40E && DCB
262         help
263           Say Y here if you want to use Data Center Bridging (DCB) in the
264           driver.
265
266           If unsure, say N.
267
268 # this is here to allow seamless migration from I40EVF --> IAVF name
269 # so that CONFIG_IAVF symbol will always mirror the state of CONFIG_I40EVF
270 config IAVF
271         tristate
272 config I40EVF
273         tristate "Intel(R) Ethernet Adaptive Virtual Function support"
274         select IAVF
275         depends on PCI_MSI
276         help
277           This driver supports virtual functions for Intel XL710,
278           X710, X722, XXV710, and all devices advertising support for
279           Intel Ethernet Adaptive Virtual Function devices. For more
280           information on how to identify your adapter, go to the Adapter
281           & Driver ID Guide that can be located at:
282
283           <https://support.intel.com>
284
285           This driver was formerly named i40evf.
286
287           More specific information on configuring the driver is in
288           <file:Documentation/networking/device_drivers/ethernet/intel/iavf.rst>.
289
290           To compile this driver as a module, choose M here. The module
291           will be called iavf.  MSI-X interrupt support is required
292           for this driver to work correctly.
293
294 config ICE
295         tristate "Intel(R) Ethernet Connection E800 Series Support"
296         default n
297         depends on PCI_MSI
298         depends on PTP_1588_CLOCK_OPTIONAL
299         select AUXILIARY_BUS
300         select DIMLIB
301         select NET_DEVLINK
302         select PLDMFW
303         help
304           This driver supports Intel(R) Ethernet Connection E800 Series of
305           devices.  For more information on how to identify your adapter, go
306           to the Adapter & Driver ID Guide that can be located at:
307
308           <http://support.intel.com>
309
310           More specific information on configuring the driver is in
311           <file:Documentation/networking/device_drivers/ethernet/intel/ice.rst>.
312
313           To compile this driver as a module, choose M here. The module
314           will be called ice.
315
316 config FM10K
317         tristate "Intel(R) FM10000 Ethernet Switch Host Interface Support"
318         default n
319         depends on PCI_MSI
320         depends on PTP_1588_CLOCK_OPTIONAL
321         help
322           This driver supports Intel(R) FM10000 Ethernet Switch Host
323           Interface.  For more information on how to identify your adapter,
324           go to the Adapter & Driver ID Guide that can be located at:
325
326           <http://support.intel.com>
327
328           More specific information on configuring the driver is in
329           <file:Documentation/networking/device_drivers/ethernet/intel/fm10k.rst>.
330
331           To compile this driver as a module, choose M here. The module
332           will be called fm10k.  MSI-X interrupt support is required
333
334 config IGC
335         tristate "Intel(R) Ethernet Controller I225-LM/I225-V support"
336         default n
337         depends on PCI
338         depends on PTP_1588_CLOCK_OPTIONAL
339         help
340           This driver supports Intel(R) Ethernet Controller I225-LM/I225-V
341           family of adapters.
342
343           For more information on how to identify your adapter, go
344           to the Adapter & Driver ID Guide that can be located at:
345
346           <http://support.intel.com>
347
348           To compile this driver as a module, choose M here. The module
349           will be called igc.
350
351 endif # NET_VENDOR_INTEL