xref: /linux/drivers/net/wireless/intel/iwlwifi/Kconfig (revision 8be4d31cb8aaeea27bde4b7ddb26e28a89062ebf)
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