1# SPDX-License-Identifier: GPL-2.0-only
2menuconfig RT2X00
3	tristate "Ralink driver support"
4	depends on MAC80211 && HAS_DMA
5	help
6	  This will enable the support for the Ralink drivers,
7	  developed in the rt2x00 project <http://rt2x00.serialmonkey.com>.
8
9	  These drivers make use of the mac80211 stack.
10
11	  When building one of the individual drivers, the rt2x00 library
12	  will also be created. That library (when the driver is built as
13	  a module) will be called rt2x00lib.
14
15	  Additionally PCI and USB libraries will also be build depending
16	  on the types of drivers being selected, these libraries will be
17	  called rt2x00pci and rt2x00usb.
18
19if RT2X00
20
21config RT2400PCI
22	tristate "Ralink rt2400 (PCI/PCMCIA) support"
23	depends on PCI
24	select RT2X00_LIB_MMIO
25	select RT2X00_LIB_PCI
26	select EEPROM_93CX6
27	help
28	  This adds support for rt2400 wireless chipset family.
29	  Supported chips: RT2460.
30
31	  When compiled as a module, this driver will be called rt2400pci.
32
33config RT2500PCI
34	tristate "Ralink rt2500 (PCI/PCMCIA) support"
35	depends on PCI
36	select RT2X00_LIB_MMIO
37	select RT2X00_LIB_PCI
38	select EEPROM_93CX6
39	help
40	  This adds support for rt2500 wireless chipset family.
41	  Supported chips: RT2560.
42
43	  When compiled as a module, this driver will be called rt2500pci.
44
45config RT61PCI
46	tristate "Ralink rt2501/rt61 (PCI/PCMCIA) support"
47	depends on PCI
48	select RT2X00_LIB_PCI
49	select RT2X00_LIB_MMIO
50	select RT2X00_LIB_FIRMWARE
51	select RT2X00_LIB_CRYPTO
52	select CRC_ITU_T
53	select EEPROM_93CX6
54	help
55	  This adds support for rt2501 wireless chipset family.
56	  Supported chips: RT2561, RT2561S & RT2661.
57
58	  When compiled as a module, this driver will be called rt61pci.
59
60config RT2800PCI
61	tristate "Ralink rt27xx/rt28xx/rt30xx (PCI/PCIe/PCMCIA) support"
62	depends on PCI
63	select RT2800_LIB
64	select RT2800_LIB_MMIO
65	select RT2X00_LIB_MMIO
66	select RT2X00_LIB_PCI
67	select RT2X00_LIB_FIRMWARE
68	select RT2X00_LIB_CRYPTO
69	select CRC_CCITT
70	select EEPROM_93CX6
71	help
72	  This adds support for rt27xx/rt28xx/rt30xx wireless chipset family.
73	  Supported chips: RT2760, RT2790, RT2860, RT2880, RT2890, RT3052,
74			   RT3090, RT3091 & RT3092
75
76	  When compiled as a module, this driver will be called "rt2800pci.ko".
77
78if RT2800PCI
79
80config RT2800PCI_RT33XX
81	bool "rt2800pci - Include support for rt33xx devices"
82	default y
83	help
84	  This adds support for rt33xx wireless chipset family to the
85	  rt2800pci driver.
86	  Supported chips: RT3390
87
88config RT2800PCI_RT35XX
89	bool "rt2800pci - Include support for rt35xx devices (EXPERIMENTAL)"
90	default y
91	help
92	  This adds support for rt35xx wireless chipset family to the
93	  rt2800pci driver.
94	  Supported chips: RT3060, RT3062, RT3562, RT3592
95
96
97config RT2800PCI_RT53XX
98	bool "rt2800pci - Include support for rt53xx devices (EXPERIMENTAL)"
99	default y
100	help
101	  This adds support for rt53xx wireless chipset family to the
102	  rt2800pci driver.
103	  Supported chips: RT5390
104
105config RT2800PCI_RT3290
106	bool "rt2800pci - Include support for rt3290 devices (EXPERIMENTAL)"
107	default y
108	help
109	  This adds support for rt3290 wireless chipset family to the
110	  rt2800pci driver.
111	  Supported chips: RT3290
112endif
113
114config RT2500USB
115	tristate "Ralink rt2500 (USB) support"
116	depends on USB
117	select RT2X00_LIB_USB
118	select RT2X00_LIB_CRYPTO
119	help
120	  This adds support for rt2500 wireless chipset family.
121	  Supported chips: RT2571 & RT2572.
122
123	  When compiled as a module, this driver will be called rt2500usb.
124
125config RT73USB
126	tristate "Ralink rt2501/rt73 (USB) support"
127	depends on USB
128	select RT2X00_LIB_USB
129	select RT2X00_LIB_FIRMWARE
130	select RT2X00_LIB_CRYPTO
131	select CRC_ITU_T
132	help
133	  This adds support for rt2501 wireless chipset family.
134	  Supported chips: RT2571W, RT2573 & RT2671.
135
136	  When compiled as a module, this driver will be called rt73usb.
137
138config RT2800USB
139	tristate "Ralink rt27xx/rt28xx/rt30xx (USB) support"
140	depends on USB
141	select RT2800_LIB
142	select RT2X00_LIB_USB
143	select RT2X00_LIB_FIRMWARE
144	select RT2X00_LIB_CRYPTO
145	select CRC_CCITT
146	help
147	  This adds support for rt27xx/rt28xx/rt30xx wireless chipset family.
148	  Supported chips: RT2770, RT2870 & RT3070, RT3071 & RT3072
149
150	  When compiled as a module, this driver will be called "rt2800usb.ko".
151
152if RT2800USB
153
154config RT2800USB_RT33XX
155	bool "rt2800usb - Include support for rt33xx devices"
156	default y
157	help
158	  This adds support for rt33xx wireless chipset family to the
159	  rt2800usb driver.
160	  Supported chips: RT3370
161
162config RT2800USB_RT35XX
163	bool "rt2800usb - Include support for rt35xx devices (EXPERIMENTAL)"
164	default y
165	help
166	  This adds support for rt35xx wireless chipset family to the
167	  rt2800usb driver.
168	  Supported chips: RT3572
169
170config RT2800USB_RT3573
171	bool "rt2800usb - Include support for rt3573 devices (EXPERIMENTAL)"
172	help
173	  This enables support for RT3573 chipset based wireless USB devices
174	  in the rt2800usb driver.
175
176config RT2800USB_RT53XX
177	bool "rt2800usb - Include support for rt53xx devices (EXPERIMENTAL)"
178	help
179	  This adds support for rt53xx wireless chipset family to the
180	  rt2800usb driver.
181	  Supported chips: RT5370
182
183config RT2800USB_RT55XX
184	bool "rt2800usb - Include support for rt55xx devices (EXPERIMENTAL)"
185	help
186	  This adds support for rt55xx wireless chipset family to the
187	  rt2800usb driver.
188	  Supported chips: RT5572
189
190config RT2800USB_UNKNOWN
191	bool "rt2800usb - Include support for unknown (USB) devices"
192	default n
193	help
194	  This adds support for rt2800usb devices that are known to
195	  have a rt28xx family compatible chipset, but for which the exact
196	  chipset is unknown.
197
198	  Support status for these devices is unknown, and enabling these
199	  devices may or may not work.
200
201endif
202
203config RT2800SOC
204	tristate "Ralink WiSoC support"
205	depends on SOC_RT288X || SOC_RT305X || SOC_MT7620
206	select RT2X00_LIB_SOC
207	select RT2X00_LIB_MMIO
208	select RT2X00_LIB_CRYPTO
209	select RT2X00_LIB_FIRMWARE
210	select RT2800_LIB
211	select RT2800_LIB_MMIO
212	help
213	  This adds support for Ralink WiSoC devices.
214	  Supported chips: RT2880, RT3050, RT3052, RT3350, RT3352.
215
216	  When compiled as a module, this driver will be called rt2800soc.
217
218
219config RT2800_LIB
220	tristate
221
222config RT2800_LIB_MMIO
223	tristate
224	select RT2X00_LIB_MMIO
225	select RT2800_LIB
226
227config RT2X00_LIB_MMIO
228	tristate
229
230config RT2X00_LIB_PCI
231	tristate
232	select RT2X00_LIB
233
234config RT2X00_LIB_SOC
235	tristate
236	select RT2X00_LIB
237
238config RT2X00_LIB_USB
239	tristate
240	select RT2X00_LIB
241
242config RT2X00_LIB
243	tristate
244
245config RT2X00_LIB_FIRMWARE
246	bool
247	select FW_LOADER
248
249config RT2X00_LIB_CRYPTO
250	bool
251
252config RT2X00_LIB_LEDS
253	bool
254	default y if (RT2X00_LIB=y && LEDS_CLASS=y) || (RT2X00_LIB=m && LEDS_CLASS!=n)
255
256config RT2X00_LIB_DEBUGFS
257	bool "Ralink debugfs support"
258	depends on RT2X00_LIB && MAC80211_DEBUGFS
259	help
260	  Enable creation of debugfs files for the rt2x00 drivers.
261	  These debugfs files support both reading and writing of the
262	  most important register types of the rt2x00 hardware.
263
264config RT2X00_DEBUG
265	bool "Ralink debug output"
266	depends on RT2X00_LIB
267	help
268	  Enable debugging output for all rt2x00 modules
269
270endif
271