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