162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_cimenuconfig RT2X00
362306a36Sopenharmony_ci	tristate "Ralink driver support"
462306a36Sopenharmony_ci	depends on MAC80211 && HAS_DMA
562306a36Sopenharmony_ci	help
662306a36Sopenharmony_ci	  This will enable the support for the Ralink drivers,
762306a36Sopenharmony_ci	  developed in the rt2x00 project <http://rt2x00.serialmonkey.com>.
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci	  These drivers make use of the mac80211 stack.
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci	  When building one of the individual drivers, the rt2x00 library
1262306a36Sopenharmony_ci	  will also be created. That library (when the driver is built as
1362306a36Sopenharmony_ci	  a module) will be called rt2x00lib.
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci	  Additionally PCI and USB libraries will also be build depending
1662306a36Sopenharmony_ci	  on the types of drivers being selected, these libraries will be
1762306a36Sopenharmony_ci	  called rt2x00pci and rt2x00usb.
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ciif RT2X00
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ciconfig RT2400PCI
2262306a36Sopenharmony_ci	tristate "Ralink rt2400 (PCI/PCMCIA) support"
2362306a36Sopenharmony_ci	depends on PCI
2462306a36Sopenharmony_ci	select RT2X00_LIB_MMIO
2562306a36Sopenharmony_ci	select RT2X00_LIB_PCI
2662306a36Sopenharmony_ci	select EEPROM_93CX6
2762306a36Sopenharmony_ci	help
2862306a36Sopenharmony_ci	  This adds support for rt2400 wireless chipset family.
2962306a36Sopenharmony_ci	  Supported chips: RT2460.
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci	  When compiled as a module, this driver will be called rt2400pci.
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ciconfig RT2500PCI
3462306a36Sopenharmony_ci	tristate "Ralink rt2500 (PCI/PCMCIA) support"
3562306a36Sopenharmony_ci	depends on PCI
3662306a36Sopenharmony_ci	select RT2X00_LIB_MMIO
3762306a36Sopenharmony_ci	select RT2X00_LIB_PCI
3862306a36Sopenharmony_ci	select EEPROM_93CX6
3962306a36Sopenharmony_ci	help
4062306a36Sopenharmony_ci	  This adds support for rt2500 wireless chipset family.
4162306a36Sopenharmony_ci	  Supported chips: RT2560.
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci	  When compiled as a module, this driver will be called rt2500pci.
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ciconfig RT61PCI
4662306a36Sopenharmony_ci	tristate "Ralink rt2501/rt61 (PCI/PCMCIA) support"
4762306a36Sopenharmony_ci	depends on PCI
4862306a36Sopenharmony_ci	select RT2X00_LIB_PCI
4962306a36Sopenharmony_ci	select RT2X00_LIB_MMIO
5062306a36Sopenharmony_ci	select RT2X00_LIB_FIRMWARE
5162306a36Sopenharmony_ci	select RT2X00_LIB_CRYPTO
5262306a36Sopenharmony_ci	select CRC_ITU_T
5362306a36Sopenharmony_ci	select EEPROM_93CX6
5462306a36Sopenharmony_ci	help
5562306a36Sopenharmony_ci	  This adds support for rt2501 wireless chipset family.
5662306a36Sopenharmony_ci	  Supported chips: RT2561, RT2561S & RT2661.
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci	  When compiled as a module, this driver will be called rt61pci.
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ciconfig RT2800PCI
6162306a36Sopenharmony_ci	tristate "Ralink rt27xx/rt28xx/rt30xx (PCI/PCIe/PCMCIA) support"
6262306a36Sopenharmony_ci	depends on PCI
6362306a36Sopenharmony_ci	select RT2800_LIB
6462306a36Sopenharmony_ci	select RT2800_LIB_MMIO
6562306a36Sopenharmony_ci	select RT2X00_LIB_MMIO
6662306a36Sopenharmony_ci	select RT2X00_LIB_PCI
6762306a36Sopenharmony_ci	select RT2X00_LIB_FIRMWARE
6862306a36Sopenharmony_ci	select RT2X00_LIB_CRYPTO
6962306a36Sopenharmony_ci	select CRC_CCITT
7062306a36Sopenharmony_ci	select EEPROM_93CX6
7162306a36Sopenharmony_ci	help
7262306a36Sopenharmony_ci	  This adds support for rt27xx/rt28xx/rt30xx wireless chipset family.
7362306a36Sopenharmony_ci	  Supported chips: RT2760, RT2790, RT2860, RT2880, RT2890, RT3052,
7462306a36Sopenharmony_ci			   RT3090, RT3091 & RT3092
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ci	  When compiled as a module, this driver will be called "rt2800pci.ko".
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ciif RT2800PCI
7962306a36Sopenharmony_ci
8062306a36Sopenharmony_ciconfig RT2800PCI_RT33XX
8162306a36Sopenharmony_ci	bool "rt2800pci - Include support for rt33xx devices"
8262306a36Sopenharmony_ci	default y
8362306a36Sopenharmony_ci	help
8462306a36Sopenharmony_ci	  This adds support for rt33xx wireless chipset family to the
8562306a36Sopenharmony_ci	  rt2800pci driver.
8662306a36Sopenharmony_ci	  Supported chips: RT3390
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ciconfig RT2800PCI_RT35XX
8962306a36Sopenharmony_ci	bool "rt2800pci - Include support for rt35xx devices (EXPERIMENTAL)"
9062306a36Sopenharmony_ci	default y
9162306a36Sopenharmony_ci	help
9262306a36Sopenharmony_ci	  This adds support for rt35xx wireless chipset family to the
9362306a36Sopenharmony_ci	  rt2800pci driver.
9462306a36Sopenharmony_ci	  Supported chips: RT3060, RT3062, RT3562, RT3592
9562306a36Sopenharmony_ci
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ciconfig RT2800PCI_RT53XX
9862306a36Sopenharmony_ci	bool "rt2800pci - Include support for rt53xx devices (EXPERIMENTAL)"
9962306a36Sopenharmony_ci	default y
10062306a36Sopenharmony_ci	help
10162306a36Sopenharmony_ci	  This adds support for rt53xx wireless chipset family to the
10262306a36Sopenharmony_ci	  rt2800pci driver.
10362306a36Sopenharmony_ci	  Supported chips: RT5390
10462306a36Sopenharmony_ci
10562306a36Sopenharmony_ciconfig RT2800PCI_RT3290
10662306a36Sopenharmony_ci	bool "rt2800pci - Include support for rt3290 devices (EXPERIMENTAL)"
10762306a36Sopenharmony_ci	default y
10862306a36Sopenharmony_ci	help
10962306a36Sopenharmony_ci	  This adds support for rt3290 wireless chipset family to the
11062306a36Sopenharmony_ci	  rt2800pci driver.
11162306a36Sopenharmony_ci	  Supported chips: RT3290
11262306a36Sopenharmony_ciendif
11362306a36Sopenharmony_ci
11462306a36Sopenharmony_ciconfig RT2500USB
11562306a36Sopenharmony_ci	tristate "Ralink rt2500 (USB) support"
11662306a36Sopenharmony_ci	depends on USB
11762306a36Sopenharmony_ci	select RT2X00_LIB_USB
11862306a36Sopenharmony_ci	select RT2X00_LIB_CRYPTO
11962306a36Sopenharmony_ci	help
12062306a36Sopenharmony_ci	  This adds support for rt2500 wireless chipset family.
12162306a36Sopenharmony_ci	  Supported chips: RT2571 & RT2572.
12262306a36Sopenharmony_ci
12362306a36Sopenharmony_ci	  When compiled as a module, this driver will be called rt2500usb.
12462306a36Sopenharmony_ci
12562306a36Sopenharmony_ciconfig RT73USB
12662306a36Sopenharmony_ci	tristate "Ralink rt2501/rt73 (USB) support"
12762306a36Sopenharmony_ci	depends on USB
12862306a36Sopenharmony_ci	select RT2X00_LIB_USB
12962306a36Sopenharmony_ci	select RT2X00_LIB_FIRMWARE
13062306a36Sopenharmony_ci	select RT2X00_LIB_CRYPTO
13162306a36Sopenharmony_ci	select CRC_ITU_T
13262306a36Sopenharmony_ci	help
13362306a36Sopenharmony_ci	  This adds support for rt2501 wireless chipset family.
13462306a36Sopenharmony_ci	  Supported chips: RT2571W, RT2573 & RT2671.
13562306a36Sopenharmony_ci
13662306a36Sopenharmony_ci	  When compiled as a module, this driver will be called rt73usb.
13762306a36Sopenharmony_ci
13862306a36Sopenharmony_ciconfig RT2800USB
13962306a36Sopenharmony_ci	tristate "Ralink rt27xx/rt28xx/rt30xx (USB) support"
14062306a36Sopenharmony_ci	depends on USB
14162306a36Sopenharmony_ci	select RT2800_LIB
14262306a36Sopenharmony_ci	select RT2X00_LIB_USB
14362306a36Sopenharmony_ci	select RT2X00_LIB_FIRMWARE
14462306a36Sopenharmony_ci	select RT2X00_LIB_CRYPTO
14562306a36Sopenharmony_ci	select CRC_CCITT
14662306a36Sopenharmony_ci	help
14762306a36Sopenharmony_ci	  This adds support for rt27xx/rt28xx/rt30xx wireless chipset family.
14862306a36Sopenharmony_ci	  Supported chips: RT2770, RT2870 & RT3070, RT3071 & RT3072
14962306a36Sopenharmony_ci
15062306a36Sopenharmony_ci	  When compiled as a module, this driver will be called "rt2800usb.ko".
15162306a36Sopenharmony_ci
15262306a36Sopenharmony_ciif RT2800USB
15362306a36Sopenharmony_ci
15462306a36Sopenharmony_ciconfig RT2800USB_RT33XX
15562306a36Sopenharmony_ci	bool "rt2800usb - Include support for rt33xx devices"
15662306a36Sopenharmony_ci	default y
15762306a36Sopenharmony_ci	help
15862306a36Sopenharmony_ci	  This adds support for rt33xx wireless chipset family to the
15962306a36Sopenharmony_ci	  rt2800usb driver.
16062306a36Sopenharmony_ci	  Supported chips: RT3370
16162306a36Sopenharmony_ci
16262306a36Sopenharmony_ciconfig RT2800USB_RT35XX
16362306a36Sopenharmony_ci	bool "rt2800usb - Include support for rt35xx devices (EXPERIMENTAL)"
16462306a36Sopenharmony_ci	default y
16562306a36Sopenharmony_ci	help
16662306a36Sopenharmony_ci	  This adds support for rt35xx wireless chipset family to the
16762306a36Sopenharmony_ci	  rt2800usb driver.
16862306a36Sopenharmony_ci	  Supported chips: RT3572
16962306a36Sopenharmony_ci
17062306a36Sopenharmony_ciconfig RT2800USB_RT3573
17162306a36Sopenharmony_ci	bool "rt2800usb - Include support for rt3573 devices (EXPERIMENTAL)"
17262306a36Sopenharmony_ci	help
17362306a36Sopenharmony_ci	  This enables support for RT3573 chipset based USB wireless devices
17462306a36Sopenharmony_ci	  in the rt2800usb driver.
17562306a36Sopenharmony_ci
17662306a36Sopenharmony_ciconfig RT2800USB_RT53XX
17762306a36Sopenharmony_ci	bool "rt2800usb - Include support for rt53xx devices (EXPERIMENTAL)"
17862306a36Sopenharmony_ci	help
17962306a36Sopenharmony_ci	  This adds support for rt53xx wireless chipset family to the
18062306a36Sopenharmony_ci	  rt2800usb driver.
18162306a36Sopenharmony_ci	  Supported chips: RT5370
18262306a36Sopenharmony_ci
18362306a36Sopenharmony_ciconfig RT2800USB_RT55XX
18462306a36Sopenharmony_ci	bool "rt2800usb - Include support for rt55xx devices (EXPERIMENTAL)"
18562306a36Sopenharmony_ci	help
18662306a36Sopenharmony_ci	  This adds support for rt55xx wireless chipset family to the
18762306a36Sopenharmony_ci	  rt2800usb driver.
18862306a36Sopenharmony_ci	  Supported chips: RT5572
18962306a36Sopenharmony_ci
19062306a36Sopenharmony_ciconfig RT2800USB_UNKNOWN
19162306a36Sopenharmony_ci	bool "rt2800usb - Include support for unknown (USB) devices"
19262306a36Sopenharmony_ci	default n
19362306a36Sopenharmony_ci	help
19462306a36Sopenharmony_ci	  This adds support for rt2800usb devices that are known to
19562306a36Sopenharmony_ci	  have a rt28xx family compatible chipset, but for which the exact
19662306a36Sopenharmony_ci	  chipset is unknown.
19762306a36Sopenharmony_ci
19862306a36Sopenharmony_ci	  Support status for these devices is unknown, and enabling these
19962306a36Sopenharmony_ci	  devices may or may not work.
20062306a36Sopenharmony_ci
20162306a36Sopenharmony_ciendif
20262306a36Sopenharmony_ci
20362306a36Sopenharmony_ciconfig RT2800SOC
20462306a36Sopenharmony_ci	tristate "Ralink WiSoC support"
20562306a36Sopenharmony_ci	depends on SOC_RT288X || SOC_RT305X || SOC_MT7620
20662306a36Sopenharmony_ci	select RT2X00_LIB_SOC
20762306a36Sopenharmony_ci	select RT2X00_LIB_MMIO
20862306a36Sopenharmony_ci	select RT2X00_LIB_CRYPTO
20962306a36Sopenharmony_ci	select RT2X00_LIB_FIRMWARE
21062306a36Sopenharmony_ci	select RT2800_LIB
21162306a36Sopenharmony_ci	select RT2800_LIB_MMIO
21262306a36Sopenharmony_ci	help
21362306a36Sopenharmony_ci	  This adds support for Ralink WiSoC devices.
21462306a36Sopenharmony_ci	  Supported chips: RT2880, RT3050, RT3052, RT3350, RT3352.
21562306a36Sopenharmony_ci
21662306a36Sopenharmony_ci	  When compiled as a module, this driver will be called rt2800soc.
21762306a36Sopenharmony_ci
21862306a36Sopenharmony_ci
21962306a36Sopenharmony_ciconfig RT2800_LIB
22062306a36Sopenharmony_ci	tristate
22162306a36Sopenharmony_ci
22262306a36Sopenharmony_ciconfig RT2800_LIB_MMIO
22362306a36Sopenharmony_ci	tristate
22462306a36Sopenharmony_ci	select RT2X00_LIB_MMIO
22562306a36Sopenharmony_ci	select RT2800_LIB
22662306a36Sopenharmony_ci
22762306a36Sopenharmony_ciconfig RT2X00_LIB_MMIO
22862306a36Sopenharmony_ci	tristate
22962306a36Sopenharmony_ci
23062306a36Sopenharmony_ciconfig RT2X00_LIB_PCI
23162306a36Sopenharmony_ci	tristate
23262306a36Sopenharmony_ci	select RT2X00_LIB
23362306a36Sopenharmony_ci
23462306a36Sopenharmony_ciconfig RT2X00_LIB_SOC
23562306a36Sopenharmony_ci	tristate
23662306a36Sopenharmony_ci	select RT2X00_LIB
23762306a36Sopenharmony_ci
23862306a36Sopenharmony_ciconfig RT2X00_LIB_USB
23962306a36Sopenharmony_ci	tristate
24062306a36Sopenharmony_ci	select RT2X00_LIB
24162306a36Sopenharmony_ci
24262306a36Sopenharmony_ciconfig RT2X00_LIB
24362306a36Sopenharmony_ci	tristate
24462306a36Sopenharmony_ci
24562306a36Sopenharmony_ciconfig RT2X00_LIB_FIRMWARE
24662306a36Sopenharmony_ci	bool
24762306a36Sopenharmony_ci	select FW_LOADER
24862306a36Sopenharmony_ci
24962306a36Sopenharmony_ciconfig RT2X00_LIB_CRYPTO
25062306a36Sopenharmony_ci	bool
25162306a36Sopenharmony_ci
25262306a36Sopenharmony_ciconfig RT2X00_LIB_LEDS
25362306a36Sopenharmony_ci	bool
25462306a36Sopenharmony_ci	default y if (RT2X00_LIB=y && LEDS_CLASS=y) || (RT2X00_LIB=m && LEDS_CLASS!=n)
25562306a36Sopenharmony_ci
25662306a36Sopenharmony_ciconfig RT2X00_LIB_DEBUGFS
25762306a36Sopenharmony_ci	bool "Ralink debugfs support"
25862306a36Sopenharmony_ci	depends on RT2X00_LIB && MAC80211_DEBUGFS
25962306a36Sopenharmony_ci	help
26062306a36Sopenharmony_ci	  Enable creation of debugfs files for the rt2x00 drivers.
26162306a36Sopenharmony_ci	  These debugfs files support both reading and writing of the
26262306a36Sopenharmony_ci	  most important register types of the rt2x00 hardware.
26362306a36Sopenharmony_ci
26462306a36Sopenharmony_ciconfig RT2X00_DEBUG
26562306a36Sopenharmony_ci	bool "Ralink debug output"
26662306a36Sopenharmony_ci	depends on RT2X00_LIB
26762306a36Sopenharmony_ci	help
26862306a36Sopenharmony_ci	  Enable debugging output for all rt2x00 modules
26962306a36Sopenharmony_ci
27062306a36Sopenharmony_ciendif
271