18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ciconfig IWLWIFI
38c2ecf20Sopenharmony_ci	tristate "Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlwifi) "
48c2ecf20Sopenharmony_ci	depends on PCI && HAS_IOMEM && CFG80211
58c2ecf20Sopenharmony_ci	select FW_LOADER
68c2ecf20Sopenharmony_ci	help
78c2ecf20Sopenharmony_ci	  Select to build the driver supporting the:
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ci	  Intel Wireless WiFi Link Next-Gen AGN
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ci	  This option enables support for use with the following hardware:
128c2ecf20Sopenharmony_ci		Intel Wireless WiFi Link 6250AGN Adapter
138c2ecf20Sopenharmony_ci		Intel 6000 Series Wi-Fi Adapters (6200AGN and 6300AGN)
148c2ecf20Sopenharmony_ci		Intel WiFi Link 1000BGN
158c2ecf20Sopenharmony_ci		Intel Wireless WiFi 5150AGN
168c2ecf20Sopenharmony_ci		Intel Wireless WiFi 5100AGN, 5300AGN, and 5350AGN
178c2ecf20Sopenharmony_ci		Intel 6005 Series Wi-Fi Adapters
188c2ecf20Sopenharmony_ci		Intel 6030 Series Wi-Fi Adapters
198c2ecf20Sopenharmony_ci		Intel Wireless WiFi Link 6150BGN 2 Adapter
208c2ecf20Sopenharmony_ci		Intel 100 Series Wi-Fi Adapters (100BGN and 130BGN)
218c2ecf20Sopenharmony_ci		Intel 2000 Series Wi-Fi Adapters
228c2ecf20Sopenharmony_ci		Intel 7260 Wi-Fi Adapter
238c2ecf20Sopenharmony_ci		Intel 3160 Wi-Fi Adapter
248c2ecf20Sopenharmony_ci		Intel 7265 Wi-Fi Adapter
258c2ecf20Sopenharmony_ci		Intel 8260 Wi-Fi Adapter
268c2ecf20Sopenharmony_ci		Intel 3165 Wi-Fi Adapter
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci	  This driver uses the kernel's mac80211 subsystem.
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci	  In order to use this driver, you will need a firmware
328c2ecf20Sopenharmony_ci	  image for it. You can obtain the microcode from:
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ci	          <https://wireless.wiki.kernel.org/en/users/Drivers/iwlwifi>.
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ci	  The firmware is typically installed in /lib/firmware. You can
378c2ecf20Sopenharmony_ci	  look in the hotplug script /etc/hotplug/firmware.agent to
388c2ecf20Sopenharmony_ci	  determine which directory FIRMWARE_DIR is set to when the script
398c2ecf20Sopenharmony_ci	  runs.
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ci	  If you want to compile the driver as a module ( = code which can be
428c2ecf20Sopenharmony_ci	  inserted in and removed from the running kernel whenever you want),
438c2ecf20Sopenharmony_ci	  say M here and read <file:Documentation/kbuild/modules.rst>.  The
448c2ecf20Sopenharmony_ci	  module will be called iwlwifi.
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ciif IWLWIFI
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ciconfig IWLWIFI_LEDS
498c2ecf20Sopenharmony_ci	bool
508c2ecf20Sopenharmony_ci	depends on LEDS_CLASS=y || LEDS_CLASS=IWLWIFI
518c2ecf20Sopenharmony_ci	depends on IWLMVM || IWLDVM
528c2ecf20Sopenharmony_ci	select LEDS_TRIGGERS
538c2ecf20Sopenharmony_ci	select MAC80211_LEDS
548c2ecf20Sopenharmony_ci	default y
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ciconfig IWLDVM
578c2ecf20Sopenharmony_ci	tristate "Intel Wireless WiFi DVM Firmware support"
588c2ecf20Sopenharmony_ci	depends on MAC80211
598c2ecf20Sopenharmony_ci	help
608c2ecf20Sopenharmony_ci	  This is the driver that supports the DVM firmware. The list
618c2ecf20Sopenharmony_ci	  of the devices that use this firmware is available here:
628c2ecf20Sopenharmony_ci	  https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi#firmware
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ciconfig IWLMVM
658c2ecf20Sopenharmony_ci	tristate "Intel Wireless WiFi MVM Firmware support"
668c2ecf20Sopenharmony_ci	select WANT_DEV_COREDUMP
678c2ecf20Sopenharmony_ci	depends on MAC80211
688c2ecf20Sopenharmony_ci	help
698c2ecf20Sopenharmony_ci	  This is the driver that supports the MVM firmware. The list
708c2ecf20Sopenharmony_ci	  of the devices that use this firmware is available here:
718c2ecf20Sopenharmony_ci	  https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi#firmware
728c2ecf20Sopenharmony_ci
738c2ecf20Sopenharmony_ci# don't call it _MODULE -- will confuse Kconfig/fixdep/...
748c2ecf20Sopenharmony_ciconfig IWLWIFI_OPMODE_MODULAR
758c2ecf20Sopenharmony_ci	bool
768c2ecf20Sopenharmony_ci	default y if IWLDVM=m
778c2ecf20Sopenharmony_ci	default y if IWLMVM=m
788c2ecf20Sopenharmony_ci
798c2ecf20Sopenharmony_cicomment "WARNING: iwlwifi is useless without IWLDVM or IWLMVM"
808c2ecf20Sopenharmony_ci	depends on IWLDVM=n && IWLMVM=n
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ciconfig IWLWIFI_BCAST_FILTERING
838c2ecf20Sopenharmony_ci	bool "Enable broadcast filtering"
848c2ecf20Sopenharmony_ci	depends on IWLMVM
858c2ecf20Sopenharmony_ci	help
868c2ecf20Sopenharmony_ci	  Say Y here to enable default bcast filtering configuration.
878c2ecf20Sopenharmony_ci
888c2ecf20Sopenharmony_ci	  Enabling broadcast filtering will drop any incoming wireless
898c2ecf20Sopenharmony_ci	  broadcast frames, except some very specific predefined
908c2ecf20Sopenharmony_ci	  patterns (e.g. incoming arp requests).
918c2ecf20Sopenharmony_ci
928c2ecf20Sopenharmony_ci	  If unsure, don't enable this option, as some programs might
938c2ecf20Sopenharmony_ci	  expect incoming broadcasts for their normal operations.
948c2ecf20Sopenharmony_ci
958c2ecf20Sopenharmony_cimenu "Debugging Options"
968c2ecf20Sopenharmony_ci
978c2ecf20Sopenharmony_ciconfig IWLWIFI_DEBUG
988c2ecf20Sopenharmony_ci	bool "Enable full debugging output in the iwlwifi driver"
998c2ecf20Sopenharmony_ci	help
1008c2ecf20Sopenharmony_ci	  This option will enable debug tracing output for the iwlwifi drivers
1018c2ecf20Sopenharmony_ci
1028c2ecf20Sopenharmony_ci	  This will result in the kernel module being ~100k larger.  You can
1038c2ecf20Sopenharmony_ci	  control which debug output is sent to the kernel log by setting the
1048c2ecf20Sopenharmony_ci	  value in
1058c2ecf20Sopenharmony_ci
1068c2ecf20Sopenharmony_ci		/sys/module/iwlwifi/parameters/debug
1078c2ecf20Sopenharmony_ci
1088c2ecf20Sopenharmony_ci	  This entry will only exist if this option is enabled.
1098c2ecf20Sopenharmony_ci
1108c2ecf20Sopenharmony_ci	  To set a value, simply echo an 8-byte hex value to the same file:
1118c2ecf20Sopenharmony_ci
1128c2ecf20Sopenharmony_ci		  % echo 0x43fff > /sys/module/iwlwifi/parameters/debug
1138c2ecf20Sopenharmony_ci
1148c2ecf20Sopenharmony_ci	  You can find the list of debug mask values in:
1158c2ecf20Sopenharmony_ci		  drivers/net/wireless/iwlwifi/iwl-debug.h
1168c2ecf20Sopenharmony_ci
1178c2ecf20Sopenharmony_ci	  If this is your first time using this driver, you should say Y here
1188c2ecf20Sopenharmony_ci	  as the debug information can assist others in helping you resolve
1198c2ecf20Sopenharmony_ci	  any problems you may encounter.
1208c2ecf20Sopenharmony_ci
1218c2ecf20Sopenharmony_ciconfig IWLWIFI_DEBUGFS
1228c2ecf20Sopenharmony_ci	bool "iwlwifi debugfs support"
1238c2ecf20Sopenharmony_ci	depends on MAC80211_DEBUGFS
1248c2ecf20Sopenharmony_ci	help
1258c2ecf20Sopenharmony_ci	  Enable creation of debugfs files for the iwlwifi drivers. This
1268c2ecf20Sopenharmony_ci	  is a low-impact option that allows getting insight into the
1278c2ecf20Sopenharmony_ci	  driver's state at runtime.
1288c2ecf20Sopenharmony_ci
1298c2ecf20Sopenharmony_ciconfig IWLWIFI_DEVICE_TRACING
1308c2ecf20Sopenharmony_ci	bool "iwlwifi device access tracing"
1318c2ecf20Sopenharmony_ci	depends on EVENT_TRACING
1328c2ecf20Sopenharmony_ci	default y
1338c2ecf20Sopenharmony_ci	help
1348c2ecf20Sopenharmony_ci	  Say Y here to trace all commands, including TX frames and IO
1358c2ecf20Sopenharmony_ci	  accesses, sent to the device. If you say yes, iwlwifi will
1368c2ecf20Sopenharmony_ci	  register with the ftrace framework for event tracing and dump
1378c2ecf20Sopenharmony_ci	  all this information to the ringbuffer, you may need to
1388c2ecf20Sopenharmony_ci	  increase the ringbuffer size. See the ftrace documentation
1398c2ecf20Sopenharmony_ci	  for more information.
1408c2ecf20Sopenharmony_ci
1418c2ecf20Sopenharmony_ci	  When tracing is not enabled, this option still has some
1428c2ecf20Sopenharmony_ci	  (though rather small) overhead.
1438c2ecf20Sopenharmony_ci
1448c2ecf20Sopenharmony_ci	  If unsure, say Y so we can help you better when problems
1458c2ecf20Sopenharmony_ci	  occur.
1468c2ecf20Sopenharmony_ciendmenu
1478c2ecf20Sopenharmony_ci
1488c2ecf20Sopenharmony_ciendif
149