xref: /linux/drivers/net/wireless/intel/iwlwifi/Kconfig (revision 8be4d31cb8aaeea27bde4b7ddb26e28a89062ebf)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
2e705c121SKalle Valoconfig IWLWIFI
3e705c121SKalle Valo	tristate "Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlwifi) "
4ec5aecc0SLuca Coelho	depends on PCI && HAS_IOMEM && CFG80211
5977df8bdSArnd Bergmann	depends on IWLMEI || !IWLMEI
6e705c121SKalle Valo	select FW_LOADER
7a7f7f624SMasahiro Yamada	help
8e705c121SKalle Valo	  Select to build the driver supporting the:
9e705c121SKalle Valo
10e705c121SKalle Valo	  Intel Wireless WiFi Link Next-Gen AGN
11e705c121SKalle Valo
12e705c121SKalle Valo	  This option enables support for use with the following hardware:
13e705c121SKalle Valo		Intel Wireless WiFi Link 6250AGN Adapter
14e705c121SKalle Valo		Intel 6000 Series Wi-Fi Adapters (6200AGN and 6300AGN)
15e705c121SKalle Valo		Intel WiFi Link 1000BGN
16e705c121SKalle Valo		Intel Wireless WiFi 5150AGN
17e705c121SKalle Valo		Intel Wireless WiFi 5100AGN, 5300AGN, and 5350AGN
18e705c121SKalle Valo		Intel 6005 Series Wi-Fi Adapters
19e705c121SKalle Valo		Intel 6030 Series Wi-Fi Adapters
20e705c121SKalle Valo		Intel Wireless WiFi Link 6150BGN 2 Adapter
21e705c121SKalle Valo		Intel 100 Series Wi-Fi Adapters (100BGN and 130BGN)
22e705c121SKalle Valo		Intel 2000 Series Wi-Fi Adapters
23e705c121SKalle Valo		Intel 7260 Wi-Fi Adapter
24e705c121SKalle Valo		Intel 3160 Wi-Fi Adapter
25e705c121SKalle Valo		Intel 7265 Wi-Fi Adapter
26e705c121SKalle Valo		Intel 8260 Wi-Fi Adapter
27e705c121SKalle Valo		Intel 3165 Wi-Fi Adapter
28e705c121SKalle Valo
29e705c121SKalle Valo
30e705c121SKalle Valo	  This driver uses the kernel's mac80211 subsystem.
31e705c121SKalle Valo
32e705c121SKalle Valo	  In order to use this driver, you will need a firmware
33e705c121SKalle Valo	  image for it. You can obtain the microcode from:
34e705c121SKalle Valo
35e00c6d8dSFlavio Suligoi	          <https://wireless.wiki.kernel.org/en/users/Drivers/iwlwifi>.
36e705c121SKalle Valo
37e705c121SKalle Valo	  The firmware is typically installed in /lib/firmware. You can
38e705c121SKalle Valo	  look in the hotplug script /etc/hotplug/firmware.agent to
39e705c121SKalle Valo	  determine which directory FIRMWARE_DIR is set to when the script
40e705c121SKalle Valo	  runs.
41e705c121SKalle Valo
42e705c121SKalle Valo	  If you want to compile the driver as a module ( = code which can be
43e705c121SKalle Valo	  inserted in and removed from the running kernel whenever you want),
44cd238effSMauro Carvalho Chehab	  say M here and read <file:Documentation/kbuild/modules.rst>.  The
45e705c121SKalle Valo	  module will be called iwlwifi.
46e705c121SKalle Valo
47e705c121SKalle Valoif IWLWIFI
48e705c121SKalle Valo
49cf74ce02SJohannes Bergconfig IWLWIFI_KUNIT_TESTS
50cf74ce02SJohannes Berg	tristate
51cf74ce02SJohannes Berg	depends on KUNIT
52cf74ce02SJohannes Berg	default KUNIT_ALL_TESTS
53cf74ce02SJohannes Berg	help
54cf74ce02SJohannes Berg	  Enable this option for iwlwifi kunit tests.
55cf74ce02SJohannes Berg
56cf74ce02SJohannes Berg	  If unsure, say N.
57cf74ce02SJohannes Berg
58e705c121SKalle Valoconfig IWLWIFI_LEDS
59e705c121SKalle Valo	bool
60efdbfa0aSArnd Bergmann	depends on LEDS_CLASS=y || LEDS_CLASS=MAC80211
61ec5aecc0SLuca Coelho	depends on IWLMVM || IWLDVM
62e705c121SKalle Valo	select LEDS_TRIGGERS
63e705c121SKalle Valo	select MAC80211_LEDS
64e705c121SKalle Valo	default y
65e705c121SKalle Valo
66e705c121SKalle Valoconfig IWLDVM
67e705c121SKalle Valo	tristate "Intel Wireless WiFi DVM Firmware support"
68aca432f0SLuca Coelho	depends on MAC80211
69e705c121SKalle Valo	help
70e705c121SKalle Valo	  This is the driver that supports the DVM firmware. The list
71e705c121SKalle Valo	  of the devices that use this firmware is available here:
72e705c121SKalle Valo	  https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi#firmware
73e705c121SKalle Valo
74e705c121SKalle Valoconfig IWLMVM
75e705c121SKalle Valo	tristate "Intel Wireless WiFi MVM Firmware support"
76e705c121SKalle Valo	select WANT_DEV_COREDUMP
77aca432f0SLuca Coelho	depends on MAC80211
78609a1bcdSRandy Dunlap	depends on PTP_1588_CLOCK_OPTIONAL
79e705c121SKalle Valo	help
80e705c121SKalle Valo	  This is the driver that supports the MVM firmware. The list
81e705c121SKalle Valo	  of the devices that use this firmware is available here:
82e705c121SKalle Valo	  https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi#firmware
83e705c121SKalle Valo
84d1e879ecSMiri Korenblitconfig IWLMLD
85d1e879ecSMiri Korenblit	tristate "Intel Wireless WiFi MLD Firmware support"
86d1e879ecSMiri Korenblit	select WANT_DEV_COREDUMP
87d1e879ecSMiri Korenblit	depends on MAC80211
88d1e879ecSMiri Korenblit	depends on PTP_1588_CLOCK_OPTIONAL
89d1e879ecSMiri Korenblit	help
90d1e879ecSMiri Korenblit	  This is the driver that supports firmwares of MLD capable devices.
91d1e879ecSMiri Korenblit	  The list of the devices that use this firmware is available here:
92d1e879ecSMiri Korenblit	  https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi#firmware
93d1e879ecSMiri Korenblit
94e705c121SKalle Valo# don't call it _MODULE -- will confuse Kconfig/fixdep/...
95e705c121SKalle Valoconfig IWLWIFI_OPMODE_MODULAR
96e705c121SKalle Valo	bool
97e705c121SKalle Valo	default y if IWLDVM=m
98e705c121SKalle Valo	default y if IWLMVM=m
99d1e879ecSMiri Korenblit	default y if IWLMLD=m
100*40840afaSBenjamin Berg	default y if IWLWIFI_KUNIT_TESTS=m
101e705c121SKalle Valo
102d1e879ecSMiri Korenblitcomment "WARNING: iwlwifi is useless without IWLDVM or IWLMVM or IWLMLD"
103d1e879ecSMiri Korenblit	depends on IWLDVM=n && IWLMVM=n && IWLMLD=n
104e705c121SKalle Valo
105e705c121SKalle Valomenu "Debugging Options"
106e705c121SKalle Valo
107e705c121SKalle Valoconfig IWLWIFI_DEBUG
108e705c121SKalle Valo	bool "Enable full debugging output in the iwlwifi driver"
109a7f7f624SMasahiro Yamada	help
110e705c121SKalle Valo	  This option will enable debug tracing output for the iwlwifi drivers
111e705c121SKalle Valo
112e705c121SKalle Valo	  This will result in the kernel module being ~100k larger.  You can
113e705c121SKalle Valo	  control which debug output is sent to the kernel log by setting the
114e705c121SKalle Valo	  value in
115e705c121SKalle Valo
116e705c121SKalle Valo		/sys/module/iwlwifi/parameters/debug
117e705c121SKalle Valo
118e705c121SKalle Valo	  This entry will only exist if this option is enabled.
119e705c121SKalle Valo
120e705c121SKalle Valo	  To set a value, simply echo an 8-byte hex value to the same file:
121e705c121SKalle Valo
122e705c121SKalle Valo		  % echo 0x43fff > /sys/module/iwlwifi/parameters/debug
123e705c121SKalle Valo
124e705c121SKalle Valo	  You can find the list of debug mask values in:
125e705c121SKalle Valo		  drivers/net/wireless/iwlwifi/iwl-debug.h
126e705c121SKalle Valo
127e705c121SKalle Valo	  If this is your first time using this driver, you should say Y here
128e705c121SKalle Valo	  as the debug information can assist others in helping you resolve
129e705c121SKalle Valo	  any problems you may encounter.
130e705c121SKalle Valo
131e705c121SKalle Valoconfig IWLWIFI_DEBUGFS
132e705c121SKalle Valo	bool "iwlwifi debugfs support"
133e705c121SKalle Valo	depends on MAC80211_DEBUGFS
134a7f7f624SMasahiro Yamada	help
135e705c121SKalle Valo	  Enable creation of debugfs files for the iwlwifi drivers. This
136e705c121SKalle Valo	  is a low-impact option that allows getting insight into the
137e705c121SKalle Valo	  driver's state at runtime.
138e705c121SKalle Valo
139e705c121SKalle Valoconfig IWLWIFI_DEVICE_TRACING
140e705c121SKalle Valo	bool "iwlwifi device access tracing"
141e705c121SKalle Valo	depends on EVENT_TRACING
142e705c121SKalle Valo	default y
143e705c121SKalle Valo	help
144e705c121SKalle Valo	  Say Y here to trace all commands, including TX frames and IO
145e705c121SKalle Valo	  accesses, sent to the device. If you say yes, iwlwifi will
146e705c121SKalle Valo	  register with the ftrace framework for event tracing and dump
147e705c121SKalle Valo	  all this information to the ringbuffer, you may need to
148e705c121SKalle Valo	  increase the ringbuffer size. See the ftrace documentation
149e705c121SKalle Valo	  for more information.
150e705c121SKalle Valo
151e705c121SKalle Valo	  When tracing is not enabled, this option still has some
152e705c121SKalle Valo	  (though rather small) overhead.
153e705c121SKalle Valo
154e705c121SKalle Valo	  If unsure, say Y so we can help you better when problems
155e705c121SKalle Valo	  occur.
156e705c121SKalle Valoendmenu
157e705c121SKalle Valo
158e705c121SKalle Valoendif
159977df8bdSArnd Bergmann
160977df8bdSArnd Bergmannconfig IWLMEI
161977df8bdSArnd Bergmann	tristate "Intel Management Engine communication over WLAN"
162977df8bdSArnd Bergmann	depends on INTEL_MEI
163977df8bdSArnd Bergmann	depends on PM
164066291beSArnd Bergmann	depends on CFG80211
1658997f5c8SToke Høiland-Jørgensen	depends on BROKEN
166977df8bdSArnd Bergmann	help
167977df8bdSArnd Bergmann	  Enables the iwlmei kernel module.
168977df8bdSArnd Bergmann
169977df8bdSArnd Bergmann	  CSME stands for Converged Security and Management Engine. It is a CPU
170977df8bdSArnd Bergmann	  on the chipset and runs a dedicated firmware. AMT (Active Management
171977df8bdSArnd Bergmann	  Technology) is one of the applications that run on that CPU. AMT
172977df8bdSArnd Bergmann	  allows to control the platform remotely.
173977df8bdSArnd Bergmann
174977df8bdSArnd Bergmann	  This kernel module allows to communicate with the Intel Management
175977df8bdSArnd Bergmann	  Engine over Wifi. This is supported starting from Tiger Lake
176977df8bdSArnd Bergmann	  platforms and has been tested on 9260 devices only.
177977df8bdSArnd Bergmann	  If AMT is configured not to use the wireless device, this module is
178977df8bdSArnd Bergmann	  harmless (and useless).
179977df8bdSArnd Bergmann	  Enabling this option on a platform that has a different device and
180977df8bdSArnd Bergmann	  has Wireless enabled on AMT can prevent WiFi from working correctly.
181977df8bdSArnd Bergmann
182977df8bdSArnd Bergmann	  For more information see
183977df8bdSArnd Bergmann	  <https://software.intel.com/en-us/manageability/>
184977df8bdSArnd Bergmann
185977df8bdSArnd Bergmann	  If unsure, say N.
186