18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_cimenuconfig RT2X00
38c2ecf20Sopenharmony_ci	tristate "Ralink driver support"
48c2ecf20Sopenharmony_ci	depends on MAC80211 && HAS_DMA
58c2ecf20Sopenharmony_ci	help
68c2ecf20Sopenharmony_ci	  This will enable the support for the Ralink drivers,
78c2ecf20Sopenharmony_ci	  developed in the rt2x00 project <http://rt2x00.serialmonkey.com>.
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ci	  These drivers make use of the mac80211 stack.
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ci	  When building one of the individual drivers, the rt2x00 library
128c2ecf20Sopenharmony_ci	  will also be created. That library (when the driver is built as
138c2ecf20Sopenharmony_ci	  a module) will be called rt2x00lib.
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci	  Additionally PCI and USB libraries will also be build depending
168c2ecf20Sopenharmony_ci	  on the types of drivers being selected, these libraries will be
178c2ecf20Sopenharmony_ci	  called rt2x00pci and rt2x00usb.
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ciif RT2X00
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ciconfig RT2400PCI
228c2ecf20Sopenharmony_ci	tristate "Ralink rt2400 (PCI/PCMCIA) support"
238c2ecf20Sopenharmony_ci	depends on PCI
248c2ecf20Sopenharmony_ci	select RT2X00_LIB_MMIO
258c2ecf20Sopenharmony_ci	select RT2X00_LIB_PCI
268c2ecf20Sopenharmony_ci	select EEPROM_93CX6
278c2ecf20Sopenharmony_ci	help
288c2ecf20Sopenharmony_ci	  This adds support for rt2400 wireless chipset family.
298c2ecf20Sopenharmony_ci	  Supported chips: RT2460.
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci	  When compiled as a module, this driver will be called rt2400pci.
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ciconfig RT2500PCI
348c2ecf20Sopenharmony_ci	tristate "Ralink rt2500 (PCI/PCMCIA) support"
358c2ecf20Sopenharmony_ci	depends on PCI
368c2ecf20Sopenharmony_ci	select RT2X00_LIB_MMIO
378c2ecf20Sopenharmony_ci	select RT2X00_LIB_PCI
388c2ecf20Sopenharmony_ci	select EEPROM_93CX6
398c2ecf20Sopenharmony_ci	help
408c2ecf20Sopenharmony_ci	  This adds support for rt2500 wireless chipset family.
418c2ecf20Sopenharmony_ci	  Supported chips: RT2560.
428c2ecf20Sopenharmony_ci
438c2ecf20Sopenharmony_ci	  When compiled as a module, this driver will be called rt2500pci.
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ciconfig RT61PCI
468c2ecf20Sopenharmony_ci	tristate "Ralink rt2501/rt61 (PCI/PCMCIA) support"
478c2ecf20Sopenharmony_ci	depends on PCI
488c2ecf20Sopenharmony_ci	select RT2X00_LIB_PCI
498c2ecf20Sopenharmony_ci	select RT2X00_LIB_MMIO
508c2ecf20Sopenharmony_ci	select RT2X00_LIB_FIRMWARE
518c2ecf20Sopenharmony_ci	select RT2X00_LIB_CRYPTO
528c2ecf20Sopenharmony_ci	select CRC_ITU_T
538c2ecf20Sopenharmony_ci	select EEPROM_93CX6
548c2ecf20Sopenharmony_ci	help
558c2ecf20Sopenharmony_ci	  This adds support for rt2501 wireless chipset family.
568c2ecf20Sopenharmony_ci	  Supported chips: RT2561, RT2561S & RT2661.
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ci	  When compiled as a module, this driver will be called rt61pci.
598c2ecf20Sopenharmony_ci
608c2ecf20Sopenharmony_ciconfig RT2800PCI
618c2ecf20Sopenharmony_ci	tristate "Ralink rt27xx/rt28xx/rt30xx (PCI/PCIe/PCMCIA) support"
628c2ecf20Sopenharmony_ci	depends on PCI
638c2ecf20Sopenharmony_ci	select RT2800_LIB
648c2ecf20Sopenharmony_ci	select RT2800_LIB_MMIO
658c2ecf20Sopenharmony_ci	select RT2X00_LIB_MMIO
668c2ecf20Sopenharmony_ci	select RT2X00_LIB_PCI
678c2ecf20Sopenharmony_ci	select RT2X00_LIB_FIRMWARE
688c2ecf20Sopenharmony_ci	select RT2X00_LIB_CRYPTO
698c2ecf20Sopenharmony_ci	select CRC_CCITT
708c2ecf20Sopenharmony_ci	select EEPROM_93CX6
718c2ecf20Sopenharmony_ci	help
728c2ecf20Sopenharmony_ci	  This adds support for rt27xx/rt28xx/rt30xx wireless chipset family.
738c2ecf20Sopenharmony_ci	  Supported chips: RT2760, RT2790, RT2860, RT2880, RT2890, RT3052,
748c2ecf20Sopenharmony_ci			   RT3090, RT3091 & RT3092
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ci	  When compiled as a module, this driver will be called "rt2800pci.ko".
778c2ecf20Sopenharmony_ci
788c2ecf20Sopenharmony_ciif RT2800PCI
798c2ecf20Sopenharmony_ci
808c2ecf20Sopenharmony_ciconfig RT2800PCI_RT33XX
818c2ecf20Sopenharmony_ci	bool "rt2800pci - Include support for rt33xx devices"
828c2ecf20Sopenharmony_ci	default y
838c2ecf20Sopenharmony_ci	help
848c2ecf20Sopenharmony_ci	  This adds support for rt33xx wireless chipset family to the
858c2ecf20Sopenharmony_ci	  rt2800pci driver.
868c2ecf20Sopenharmony_ci	  Supported chips: RT3390
878c2ecf20Sopenharmony_ci
888c2ecf20Sopenharmony_ciconfig RT2800PCI_RT35XX
898c2ecf20Sopenharmony_ci	bool "rt2800pci - Include support for rt35xx devices (EXPERIMENTAL)"
908c2ecf20Sopenharmony_ci	default y
918c2ecf20Sopenharmony_ci	help
928c2ecf20Sopenharmony_ci	  This adds support for rt35xx wireless chipset family to the
938c2ecf20Sopenharmony_ci	  rt2800pci driver.
948c2ecf20Sopenharmony_ci	  Supported chips: RT3060, RT3062, RT3562, RT3592
958c2ecf20Sopenharmony_ci
968c2ecf20Sopenharmony_ci
978c2ecf20Sopenharmony_ciconfig RT2800PCI_RT53XX
988c2ecf20Sopenharmony_ci	bool "rt2800pci - Include support for rt53xx devices (EXPERIMENTAL)"
998c2ecf20Sopenharmony_ci	default y
1008c2ecf20Sopenharmony_ci	help
1018c2ecf20Sopenharmony_ci	  This adds support for rt53xx wireless chipset family to the
1028c2ecf20Sopenharmony_ci	  rt2800pci driver.
1038c2ecf20Sopenharmony_ci	  Supported chips: RT5390
1048c2ecf20Sopenharmony_ci
1058c2ecf20Sopenharmony_ciconfig RT2800PCI_RT3290
1068c2ecf20Sopenharmony_ci	bool "rt2800pci - Include support for rt3290 devices (EXPERIMENTAL)"
1078c2ecf20Sopenharmony_ci	default y
1088c2ecf20Sopenharmony_ci	help
1098c2ecf20Sopenharmony_ci	  This adds support for rt3290 wireless chipset family to the
1108c2ecf20Sopenharmony_ci	  rt2800pci driver.
1118c2ecf20Sopenharmony_ci	  Supported chips: RT3290
1128c2ecf20Sopenharmony_ciendif
1138c2ecf20Sopenharmony_ci
1148c2ecf20Sopenharmony_ciconfig RT2500USB
1158c2ecf20Sopenharmony_ci	tristate "Ralink rt2500 (USB) support"
1168c2ecf20Sopenharmony_ci	depends on USB
1178c2ecf20Sopenharmony_ci	select RT2X00_LIB_USB
1188c2ecf20Sopenharmony_ci	select RT2X00_LIB_CRYPTO
1198c2ecf20Sopenharmony_ci	help
1208c2ecf20Sopenharmony_ci	  This adds support for rt2500 wireless chipset family.
1218c2ecf20Sopenharmony_ci	  Supported chips: RT2571 & RT2572.
1228c2ecf20Sopenharmony_ci
1238c2ecf20Sopenharmony_ci	  When compiled as a module, this driver will be called rt2500usb.
1248c2ecf20Sopenharmony_ci
1258c2ecf20Sopenharmony_ciconfig RT73USB
1268c2ecf20Sopenharmony_ci	tristate "Ralink rt2501/rt73 (USB) support"
1278c2ecf20Sopenharmony_ci	depends on USB
1288c2ecf20Sopenharmony_ci	select RT2X00_LIB_USB
1298c2ecf20Sopenharmony_ci	select RT2X00_LIB_FIRMWARE
1308c2ecf20Sopenharmony_ci	select RT2X00_LIB_CRYPTO
1318c2ecf20Sopenharmony_ci	select CRC_ITU_T
1328c2ecf20Sopenharmony_ci	help
1338c2ecf20Sopenharmony_ci	  This adds support for rt2501 wireless chipset family.
1348c2ecf20Sopenharmony_ci	  Supported chips: RT2571W, RT2573 & RT2671.
1358c2ecf20Sopenharmony_ci
1368c2ecf20Sopenharmony_ci	  When compiled as a module, this driver will be called rt73usb.
1378c2ecf20Sopenharmony_ci
1388c2ecf20Sopenharmony_ciconfig RT2800USB
1398c2ecf20Sopenharmony_ci	tristate "Ralink rt27xx/rt28xx/rt30xx (USB) support"
1408c2ecf20Sopenharmony_ci	depends on USB
1418c2ecf20Sopenharmony_ci	select RT2800_LIB
1428c2ecf20Sopenharmony_ci	select RT2X00_LIB_USB
1438c2ecf20Sopenharmony_ci	select RT2X00_LIB_FIRMWARE
1448c2ecf20Sopenharmony_ci	select RT2X00_LIB_CRYPTO
1458c2ecf20Sopenharmony_ci	select CRC_CCITT
1468c2ecf20Sopenharmony_ci	help
1478c2ecf20Sopenharmony_ci	  This adds support for rt27xx/rt28xx/rt30xx wireless chipset family.
1488c2ecf20Sopenharmony_ci	  Supported chips: RT2770, RT2870 & RT3070, RT3071 & RT3072
1498c2ecf20Sopenharmony_ci
1508c2ecf20Sopenharmony_ci	  When compiled as a module, this driver will be called "rt2800usb.ko".
1518c2ecf20Sopenharmony_ci
1528c2ecf20Sopenharmony_ciif RT2800USB
1538c2ecf20Sopenharmony_ci
1548c2ecf20Sopenharmony_ciconfig RT2800USB_RT33XX
1558c2ecf20Sopenharmony_ci	bool "rt2800usb - Include support for rt33xx devices"
1568c2ecf20Sopenharmony_ci	default y
1578c2ecf20Sopenharmony_ci	help
1588c2ecf20Sopenharmony_ci	  This adds support for rt33xx wireless chipset family to the
1598c2ecf20Sopenharmony_ci	  rt2800usb driver.
1608c2ecf20Sopenharmony_ci	  Supported chips: RT3370
1618c2ecf20Sopenharmony_ci
1628c2ecf20Sopenharmony_ciconfig RT2800USB_RT35XX
1638c2ecf20Sopenharmony_ci	bool "rt2800usb - Include support for rt35xx devices (EXPERIMENTAL)"
1648c2ecf20Sopenharmony_ci	default y
1658c2ecf20Sopenharmony_ci	help
1668c2ecf20Sopenharmony_ci	  This adds support for rt35xx wireless chipset family to the
1678c2ecf20Sopenharmony_ci	  rt2800usb driver.
1688c2ecf20Sopenharmony_ci	  Supported chips: RT3572
1698c2ecf20Sopenharmony_ci
1708c2ecf20Sopenharmony_ciconfig RT2800USB_RT3573
1718c2ecf20Sopenharmony_ci	bool "rt2800usb - Include support for rt3573 devices (EXPERIMENTAL)"
1728c2ecf20Sopenharmony_ci	help
1738c2ecf20Sopenharmony_ci	  This enables support for RT3573 chipset based wireless USB devices
1748c2ecf20Sopenharmony_ci	  in the rt2800usb driver.
1758c2ecf20Sopenharmony_ci
1768c2ecf20Sopenharmony_ciconfig RT2800USB_RT53XX
1778c2ecf20Sopenharmony_ci	bool "rt2800usb - Include support for rt53xx devices (EXPERIMENTAL)"
1788c2ecf20Sopenharmony_ci	help
1798c2ecf20Sopenharmony_ci	  This adds support for rt53xx wireless chipset family to the
1808c2ecf20Sopenharmony_ci	  rt2800usb driver.
1818c2ecf20Sopenharmony_ci	  Supported chips: RT5370
1828c2ecf20Sopenharmony_ci
1838c2ecf20Sopenharmony_ciconfig RT2800USB_RT55XX
1848c2ecf20Sopenharmony_ci	bool "rt2800usb - Include support for rt55xx devices (EXPERIMENTAL)"
1858c2ecf20Sopenharmony_ci	help
1868c2ecf20Sopenharmony_ci	  This adds support for rt55xx wireless chipset family to the
1878c2ecf20Sopenharmony_ci	  rt2800usb driver.
1888c2ecf20Sopenharmony_ci	  Supported chips: RT5572
1898c2ecf20Sopenharmony_ci
1908c2ecf20Sopenharmony_ciconfig RT2800USB_UNKNOWN
1918c2ecf20Sopenharmony_ci	bool "rt2800usb - Include support for unknown (USB) devices"
1928c2ecf20Sopenharmony_ci	default n
1938c2ecf20Sopenharmony_ci	help
1948c2ecf20Sopenharmony_ci	  This adds support for rt2800usb devices that are known to
1958c2ecf20Sopenharmony_ci	  have a rt28xx family compatible chipset, but for which the exact
1968c2ecf20Sopenharmony_ci	  chipset is unknown.
1978c2ecf20Sopenharmony_ci
1988c2ecf20Sopenharmony_ci	  Support status for these devices is unknown, and enabling these
1998c2ecf20Sopenharmony_ci	  devices may or may not work.
2008c2ecf20Sopenharmony_ci
2018c2ecf20Sopenharmony_ciendif
2028c2ecf20Sopenharmony_ci
2038c2ecf20Sopenharmony_ciconfig RT2800SOC
2048c2ecf20Sopenharmony_ci	tristate "Ralink WiSoC support"
2058c2ecf20Sopenharmony_ci	depends on SOC_RT288X || SOC_RT305X || SOC_MT7620
2068c2ecf20Sopenharmony_ci	select RT2X00_LIB_SOC
2078c2ecf20Sopenharmony_ci	select RT2X00_LIB_MMIO
2088c2ecf20Sopenharmony_ci	select RT2X00_LIB_CRYPTO
2098c2ecf20Sopenharmony_ci	select RT2X00_LIB_FIRMWARE
2108c2ecf20Sopenharmony_ci	select RT2800_LIB
2118c2ecf20Sopenharmony_ci	select RT2800_LIB_MMIO
2128c2ecf20Sopenharmony_ci	help
2138c2ecf20Sopenharmony_ci	  This adds support for Ralink WiSoC devices.
2148c2ecf20Sopenharmony_ci	  Supported chips: RT2880, RT3050, RT3052, RT3350, RT3352.
2158c2ecf20Sopenharmony_ci
2168c2ecf20Sopenharmony_ci	  When compiled as a module, this driver will be called rt2800soc.
2178c2ecf20Sopenharmony_ci
2188c2ecf20Sopenharmony_ci
2198c2ecf20Sopenharmony_ciconfig RT2800_LIB
2208c2ecf20Sopenharmony_ci	tristate
2218c2ecf20Sopenharmony_ci
2228c2ecf20Sopenharmony_ciconfig RT2800_LIB_MMIO
2238c2ecf20Sopenharmony_ci	tristate
2248c2ecf20Sopenharmony_ci	select RT2X00_LIB_MMIO
2258c2ecf20Sopenharmony_ci	select RT2800_LIB
2268c2ecf20Sopenharmony_ci
2278c2ecf20Sopenharmony_ciconfig RT2X00_LIB_MMIO
2288c2ecf20Sopenharmony_ci	tristate
2298c2ecf20Sopenharmony_ci
2308c2ecf20Sopenharmony_ciconfig RT2X00_LIB_PCI
2318c2ecf20Sopenharmony_ci	tristate
2328c2ecf20Sopenharmony_ci	select RT2X00_LIB
2338c2ecf20Sopenharmony_ci
2348c2ecf20Sopenharmony_ciconfig RT2X00_LIB_SOC
2358c2ecf20Sopenharmony_ci	tristate
2368c2ecf20Sopenharmony_ci	select RT2X00_LIB
2378c2ecf20Sopenharmony_ci
2388c2ecf20Sopenharmony_ciconfig RT2X00_LIB_USB
2398c2ecf20Sopenharmony_ci	tristate
2408c2ecf20Sopenharmony_ci	select RT2X00_LIB
2418c2ecf20Sopenharmony_ci
2428c2ecf20Sopenharmony_ciconfig RT2X00_LIB
2438c2ecf20Sopenharmony_ci	tristate
2448c2ecf20Sopenharmony_ci
2458c2ecf20Sopenharmony_ciconfig RT2X00_LIB_FIRMWARE
2468c2ecf20Sopenharmony_ci	bool
2478c2ecf20Sopenharmony_ci	select FW_LOADER
2488c2ecf20Sopenharmony_ci
2498c2ecf20Sopenharmony_ciconfig RT2X00_LIB_CRYPTO
2508c2ecf20Sopenharmony_ci	bool
2518c2ecf20Sopenharmony_ci
2528c2ecf20Sopenharmony_ciconfig RT2X00_LIB_LEDS
2538c2ecf20Sopenharmony_ci	bool
2548c2ecf20Sopenharmony_ci	default y if (RT2X00_LIB=y && LEDS_CLASS=y) || (RT2X00_LIB=m && LEDS_CLASS!=n)
2558c2ecf20Sopenharmony_ci
2568c2ecf20Sopenharmony_ciconfig RT2X00_LIB_DEBUGFS
2578c2ecf20Sopenharmony_ci	bool "Ralink debugfs support"
2588c2ecf20Sopenharmony_ci	depends on RT2X00_LIB && MAC80211_DEBUGFS
2598c2ecf20Sopenharmony_ci	help
2608c2ecf20Sopenharmony_ci	  Enable creation of debugfs files for the rt2x00 drivers.
2618c2ecf20Sopenharmony_ci	  These debugfs files support both reading and writing of the
2628c2ecf20Sopenharmony_ci	  most important register types of the rt2x00 hardware.
2638c2ecf20Sopenharmony_ci
2648c2ecf20Sopenharmony_ciconfig RT2X00_DEBUG
2658c2ecf20Sopenharmony_ci	bool "Ralink debug output"
2668c2ecf20Sopenharmony_ci	depends on RT2X00_LIB
2678c2ecf20Sopenharmony_ci	help
2688c2ecf20Sopenharmony_ci	  Enable debugging output for all rt2x00 modules
2698c2ecf20Sopenharmony_ci
2708c2ecf20Sopenharmony_ciendif
271