Linux 6.9-rc1
[linux-2.6-microblaze.git] / drivers / net / wireless / intel / iwlwifi / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 config 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
47 if IWLWIFI
48
49 config 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
58 config 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
66 config 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
74 config 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
84 # don't call it _MODULE -- will confuse Kconfig/fixdep/...
85 config IWLWIFI_OPMODE_MODULAR
86         bool
87         default y if IWLDVM=m
88         default y if IWLMVM=m
89
90 comment "WARNING: iwlwifi is useless without IWLDVM or IWLMVM"
91         depends on IWLDVM=n && IWLMVM=n
92
93 menu "Debugging Options"
94
95 config IWLWIFI_DEBUG
96         bool "Enable full debugging output in the iwlwifi driver"
97         help
98           This option will enable debug tracing output for the iwlwifi drivers
99
100           This will result in the kernel module being ~100k larger.  You can
101           control which debug output is sent to the kernel log by setting the
102           value in
103
104                 /sys/module/iwlwifi/parameters/debug
105
106           This entry will only exist if this option is enabled.
107
108           To set a value, simply echo an 8-byte hex value to the same file:
109
110                   % echo 0x43fff > /sys/module/iwlwifi/parameters/debug
111
112           You can find the list of debug mask values in:
113                   drivers/net/wireless/iwlwifi/iwl-debug.h
114
115           If this is your first time using this driver, you should say Y here
116           as the debug information can assist others in helping you resolve
117           any problems you may encounter.
118
119 config IWLWIFI_DEBUGFS
120         bool "iwlwifi debugfs support"
121         depends on MAC80211_DEBUGFS
122         help
123           Enable creation of debugfs files for the iwlwifi drivers. This
124           is a low-impact option that allows getting insight into the
125           driver's state at runtime.
126
127 config IWLWIFI_DEVICE_TRACING
128         bool "iwlwifi device access tracing"
129         depends on EVENT_TRACING
130         default y
131         help
132           Say Y here to trace all commands, including TX frames and IO
133           accesses, sent to the device. If you say yes, iwlwifi will
134           register with the ftrace framework for event tracing and dump
135           all this information to the ringbuffer, you may need to
136           increase the ringbuffer size. See the ftrace documentation
137           for more information.
138
139           When tracing is not enabled, this option still has some
140           (though rather small) overhead.
141
142           If unsure, say Y so we can help you better when problems
143           occur.
144 endmenu
145
146 endif
147
148 config IWLMEI
149         tristate "Intel Management Engine communication over WLAN"
150         depends on INTEL_MEI
151         depends on PM
152         depends on CFG80211
153         depends on BROKEN
154         help
155           Enables the iwlmei kernel module.
156
157           CSME stands for Converged Security and Management Engine. It is a CPU
158           on the chipset and runs a dedicated firmware. AMT (Active Management
159           Technology) is one of the applications that run on that CPU. AMT
160           allows to control the platform remotely.
161
162           This kernel module allows to communicate with the Intel Management
163           Engine over Wifi. This is supported starting from Tiger Lake
164           platforms and has been tested on 9260 devices only.
165           If AMT is configured not to use the wireless device, this module is
166           harmless (and useless).
167           Enabling this option on a platform that has a different device and
168           has Wireless enabled on AMT can prevent WiFi from working correctly.
169
170           For more information see
171           <https://software.intel.com/en-us/manageability/>
172
173           If unsure, say N.