ar71xx: use routerboot_find_tag to find wlan data offset on RB751
[openwrt/svn-archive/archive.git] / target / linux / ar71xx / patches-3.3 / 610-MIPS-ath79-openwrt-machines.patch
1 --- a/arch/mips/ath79/machtypes.h
2 +++ b/arch/mips/ath79/machtypes.h
3 @@ -16,18 +16,94 @@
4
5 enum ath79_mach_type {
6 ATH79_MACH_GENERIC = 0,
7 + ATH79_MACH_ALFA_AP96, /* ALFA Network AP96 board */
8 + ATH79_MACH_ALFA_NX, /* ALFA Network N2/N5 board */
9 + ATH79_MACH_ALL0258N, /* Allnet ALL0258N */
10 + ATH79_MACH_ALL0305, /* Allnet ALL0305 */
11 + ATH79_MACH_AP113, /* Atheros AP113 reference board */
12 ATH79_MACH_AP121, /* Atheros AP121 reference board */
13 ATH79_MACH_AP121_MINI, /* Atheros AP121-MINI reference board */
14 ATH79_MACH_AP136, /* Atheros AP136 reference board */
15 ATH79_MACH_AP81, /* Atheros AP81 reference board */
16 + ATH79_MACH_AP83, /* Atheros AP83 */
17 + ATH79_MACH_AP96, /* Atheros AP96 */
18 + ATH79_MACH_AW_NR580, /* AzureWave AW-NR580 */
19 ATH79_MACH_DB120, /* Atheros DB120 reference board */
20 ATH79_MACH_PB44, /* Atheros PB44 reference board */
21 + ATH79_MACH_DIR_600_A1, /* D-Link DIR-600 rev. A1 */
22 + ATH79_MACH_DIR_615_C1, /* D-Link DIR-615 rev. C1 */
23 + ATH79_MACH_DIR_615_E4, /* D-Link DIR-615 rev. E4 */
24 + ATH79_MACH_DIR_825_B1, /* D-Link DIR-825 rev. B1 */
25 + ATH79_MACH_EW_DORIN, /* embedded wireless Dorin Platform */
26 + ATH79_MACH_EW_DORIN_ROUTER, /* embedded wireless Dorin Router Platform */
27 + ATH79_MACH_EAP7660D, /* Senao EAP7660D */
28 + ATH79_MACH_JA76PF, /* jjPlus JA76PF */
29 + ATH79_MACH_JA76PF2, /* jjPlus JA76PF2 */
30 + ATH79_MACH_JWAP003, /* jjPlus JWAP003 */
31 + ATH79_MACH_HORNET_UB, /* ALFA Networks Hornet-UB */
32 + ATH79_MACH_MZK_W04NU, /* Planex MZK-W04NU */
33 + ATH79_MACH_MZK_W300NH, /* Planex MZK-W300NH */
34 + ATH79_MACH_NBG460N, /* Zyxel NBG460N/550N/550NH */
35 + ATH79_MACH_OM2P_LC, /* OpenMesh OM2P-LC */
36 + ATH79_MACH_OM2P, /* OpenMesh OM2P */
37 + ATH79_MACH_PB42, /* Atheros PB42 */
38 + ATH79_MACH_PB92, /* Atheros PB92 */
39 + ATH79_MACH_RB_411, /* MikroTik RouterBOARD 411/411A/411AH */
40 + ATH79_MACH_RB_411U, /* MikroTik RouterBOARD 411U */
41 + ATH79_MACH_RB_433, /* MikroTik RouterBOARD 433/433AH */
42 + ATH79_MACH_RB_433U, /* MikroTik RouterBOARD 433UAH */
43 + ATH79_MACH_RB_450G, /* MikroTik RouterBOARD 450G */
44 + ATH79_MACH_RB_450, /* MikroTik RouterBOARD 450 */
45 + ATH79_MACH_RB_493, /* Mikrotik RouterBOARD 493/493AH */
46 + ATH79_MACH_RB_493G, /* Mikrotik RouterBOARD 493G */
47 + ATH79_MACH_RB_750, /* MikroTik RouterBOARD 750 */
48 + ATH79_MACH_RB_750G_R3, /* MikroTik RouterBOARD 750GL */
49 + ATH79_MACH_RB_751, /* MikroTik RouterBOARD 751 */
50 + ATH79_MACH_RB_751G, /* Mikrotik RouterBOARD 751G */
51 + ATH79_MACH_RW2458N, /* Redwave RW2458N */
52 + ATH79_MACH_TEW_632BRP, /* TRENDnet TEW-632BRP */
53 + ATH79_MACH_TEW_673GRU, /* TRENDnet TEW-673GRU */
54 + ATH79_MACH_TL_MR11U, /* TP-LINK TL-MR11U */
55 + ATH79_MACH_TL_MR3020, /* TP-LINK TL-MR3020 */
56 + ATH79_MACH_TL_MR3220, /* TP-LINK TL-MR3220 */
57 + ATH79_MACH_TL_MR3420, /* TP-LINK TL-MR3420 */
58 + ATH79_MACH_TL_WA901ND, /* TP-LINK TL-WA901ND */
59 + ATH79_MACH_TL_WA901ND_V2, /* TP-LINK TL-WA901ND v2 */
60 + ATH79_MACH_TL_WDR4300, /* TP-LINK TL-WDR4300 */
61 + ATH79_MACH_TL_WR1041N_V2, /* TP-LINK TL-WR1041N v2 */
62 + ATH79_MACH_TL_WR1043ND, /* TP-LINK TL-WR1043ND */
63 + ATH79_MACH_TL_WR2543N, /* TP-LINK TL-WR2543N/ND */
64 + ATH79_MACH_TL_WR703N, /* TP-LINK TL-WR703N */
65 + ATH79_MACH_TL_WR741ND, /* TP-LINK TL-WR741ND */
66 + ATH79_MACH_TL_WR741ND_V4, /* TP-LINK TL-WR741ND v4*/
67 + ATH79_MACH_TL_WR841N_V1, /* TP-LINK TL-WR841N v1 */
68 + ATH79_MACH_TL_WR841N_V7, /* TP-LINK TL-WR841N/ND v7 */
69 + ATH79_MACH_TL_WR941ND, /* TP-LINK TL-WR941ND */
70 ATH79_MACH_UBNT_AIRROUTER, /* Ubiquiti AirRouter */
71 ATH79_MACH_UBNT_BULLET_M, /* Ubiquiti Bullet M */
72 + ATH79_MACH_UBNT_LSSR71, /* Ubiquiti LS-SR71 */
73 + ATH79_MACH_UBNT_LSX, /* Ubiquiti LSX */
74 ATH79_MACH_UBNT_NANO_M, /* Ubiquiti NanoStation M */
75 ATH79_MACH_UBNT_ROCKET_M, /* Ubiquiti Rocket M */
76 + ATH79_MACH_UBNT_RSPRO, /* Ubiquiti RouterStation Pro */
77 + ATH79_MACH_UBNT_RS, /* Ubiquiti RouterStation */
78 ATH79_MACH_UBNT_UNIFI, /* Ubiquiti Unifi */
79 ATH79_MACH_UBNT_XM, /* Ubiquiti Networks XM board rev 1.0 */
80 + ATH79_MACH_WHR_G301N, /* Buffalo WHR-G301N */
81 + ATH79_MACH_WHR_HP_G300N, /* Buffalo WHR-HP-G300N */
82 + ATH79_MACH_WHR_HP_GN, /* Buffalo WHR-HP-GN */
83 + ATH79_MACH_WLAE_AG300N, /* Buffalo WLAE-AG300N */
84 + ATH79_MACH_WNDR3700, /* NETGEAR WNDR3700/WNDR3800/WNDRMAC */
85 + ATH79_MACH_WNR2000, /* NETGEAR WNR2000 */
86 + ATH79_MACH_WP543, /* Compex WP543 */
87 + ATH79_MACH_WPE72, /* Compex WPE72 */
88 + ATH79_MACH_WRT160NL, /* Linksys WRT160NL */
89 + ATH79_MACH_WRT400N, /* Linksys WRT400N */
90 + ATH79_MACH_WZR_HP_AG300H, /* Buffalo WZR-HP-AG300H */
91 + ATH79_MACH_WZR_HP_G300NH, /* Buffalo WZR-HP-G300NH */
92 + ATH79_MACH_WZR_HP_G300NH2, /* Buffalo WZR-HP-G300NH2 */
93 + ATH79_MACH_WZR_HP_G450H, /* Buffalo WZR-HP-G450H */
94 + ATH79_MACH_ZCN_1523H_2, /* Zcomax ZCN-1523H-2-xx */
95 };
96
97 #endif /* _ATH79_MACHTYPE_H */
98 --- a/arch/mips/ath79/Kconfig
99 +++ b/arch/mips/ath79/Kconfig
100 @@ -2,6 +2,52 @@ if ATH79
101
102 menu "Atheros AR71XX/AR724X/AR913X machine selection"
103
104 +config ATH79_MACH_ALFA_AP96
105 + bool "ALFA Network AP96 board support"
106 + select SOC_AR71XX
107 + select ATH79_DEV_ETH
108 + select ATH79_DEV_GPIO_BUTTONS
109 + select ATH79_DEV_SPI
110 + select ATH79_DEV_USB
111 +
112 +config ATH79_MACH_HORNET_UB
113 + bool "ALFA Network Hornet-UB board support"
114 + select SOC_AR933X
115 + select ATH79_DEV_ETH
116 + select ATH79_DEV_GPIO_BUTTONS
117 + select ATH79_DEV_LEDS_GPIO
118 + select ATH79_DEV_M25P80
119 + select ATH79_DEV_USB
120 + select ATH79_DEV_WMAC
121 +
122 +config ATH79_MACH_ALFA_NX
123 + bool "ALFA Network N2/N5 board support"
124 + select SOC_AR724X
125 + select ATH79_DEV_AP9X_PCI if PCI
126 + select ATH79_DEV_ETH
127 + select ATH79_DEV_GPIO_BUTTONS
128 + select ATH79_DEV_LEDS_GPIO
129 + select ATH79_DEV_M25P80
130 +
131 +config ATH79_MACH_ALL0258N
132 + bool "Allnet ALL0258N support"
133 + select SOC_AR724X
134 + select ATH79_DEV_AP9X_PCI if PCI
135 + select ATH79_DEV_ETH
136 + select ATH79_DEV_GPIO_BUTTONS
137 + select ATH79_DEV_LEDS_GPIO
138 + select ATH79_DEV_M25P80
139 +
140 +config ATH79_MACH_AP113
141 + bool "Atheros AP113 board support"
142 + select SOC_AR724X
143 + select ATH79_DEV_M25P80
144 + select ATH79_DEV_PB9X_PCI if PCI
145 + select ATH79_DEV_GPIO_BUTTONS
146 + select ATH79_DEV_LEDS_GPIO
147 + select ATH79_DEV_USB
148 + select ATH79_DEV_ETH
149 +
150 config ATH79_MACH_AP121
151 bool "Atheros AP121 reference board"
152 select SOC_AR933X
153 @@ -40,6 +86,24 @@ config ATH79_MACH_AP81
154 Say 'Y' here if you want your kernel to support the
155 Atheros AP81 reference board.
156
157 +config ATH79_MACH_AP83
158 + bool "Atheros AP83 board support"
159 + select SOC_AR913X
160 + select ATH79_DEV_GPIO_BUTTONS
161 + select ATH79_DEV_LEDS_GPIO
162 + select ATH79_DEV_USB
163 + select ATH79_DEV_WMAC
164 +
165 +config ATH79_MACH_AP96
166 + bool "Atheros AP96 board support"
167 + select SOC_AR71XX
168 + select ATH79_DEV_ETH
169 + select ATH79_DEV_AP9X_PCI if PCI
170 + select ATH79_DEV_GPIO_BUTTONS
171 + select ATH79_DEV_LEDS_GPIO
172 + select ATH79_DEV_M25P80
173 + select ATH79_DEV_USB
174 +
175 config ATH79_MACH_DB120
176 bool "Atheros DB120 reference board"
177 select SOC_AR934X
178 @@ -54,6 +118,13 @@ config ATH79_MACH_DB120
179 Say 'Y' here if you want your kernel to support the
180 Atheros DB120 reference board.
181
182 +config ATH79_MACH_PB42
183 + bool "Atheros PB42 board support"
184 + select SOC_AR71XX
185 + select ATH79_DEV_ETH
186 + select ATH79_DEV_GPIO_BUTTONS
187 + select ATH79_DEV_M25P80
188 +
189 config ATH79_MACH_PB44
190 bool "Atheros PB44 reference board"
191 select SOC_AR71XX
192 @@ -66,6 +137,429 @@ config ATH79_MACH_PB44
193 Say 'Y' here if you want your kernel to support the
194 Atheros PB44 reference board.
195
196 +config ATH79_MACH_PB92
197 + bool "Atheros PB92 board support"
198 + select SOC_AR724X
199 + select ATH79_DEV_ETH
200 + select ATH79_DEV_GPIO_BUTTONS
201 + select ATH79_DEV_LEDS_GPIO
202 + select ATH79_DEV_PB9X_PCI if PCI
203 + select ATH79_DEV_USB
204 +
205 +config ATH79_MACH_AW_NR580
206 + bool "AzureWave AW-NR580 board support"
207 + select SOC_AR71XX
208 + select ATH79_DEV_ETH
209 + select ATH79_DEV_GPIO_BUTTONS
210 + select ATH79_DEV_LEDS_GPIO
211 + select ATH79_DEV_M25P80
212 +
213 +config ATH79_MACH_WHR_HP_G300N
214 + bool "Buffalo WHR-HP-G300N board support"
215 + select SOC_AR724X
216 + select ATH79_DEV_ETH
217 + select ATH79_DEV_AP9X_PCI if PCI
218 + select ATH79_DEV_GPIO_BUTTONS
219 + select ATH79_DEV_LEDS_GPIO
220 + select ATH79_DEV_M25P80
221 +
222 +config ATH79_MACH_WLAE_AG300N
223 + bool "Buffalo WLAE-AG300N board support"
224 + select SOC_AR71XX
225 + select ATH79_DEV_ETH
226 + select ATH79_DEV_GPIO_BUTTONS
227 + select ATH79_DEV_LEDS_GPIO
228 + select ATH79_DEV_M25P80
229 +
230 +config ATH79_MACH_WZR_HP_AG300H
231 + bool "Buffalo WZR-HP-AG300H board support"
232 + select SOC_AR71XX
233 + select ATH79_DEV_ETH
234 + select ATH79_DEV_GPIO_BUTTONS
235 + select ATH79_DEV_LEDS_GPIO
236 + select ATH79_DEV_M25P80
237 + select ATH79_DEV_USB
238 +
239 +config ATH79_MACH_WZR_HP_G300NH
240 + bool "Buffalo WZR-HP-G300NH board support"
241 + select SOC_AR913X
242 + select ATH79_DEV_ETH
243 + select ATH79_DEV_GPIO_BUTTONS
244 + select ATH79_DEV_LEDS_GPIO
245 + select ATH79_DEV_USB
246 + select ATH79_DEV_WMAC
247 + select RTL8366_SMI
248 +
249 +config ATH79_MACH_WZR_HP_G300NH2
250 + bool "Buffalo WZR-HP-G300NH2 board support"
251 + select SOC_AR724X
252 + select ATH79_DEV_AP9X_PCI if PCI
253 + select ATH79_DEV_ETH
254 + select ATH79_DEV_GPIO_BUTTONS
255 + select ATH79_DEV_LEDS_GPIO
256 + select ATH79_DEV_M25P80
257 + select ATH79_DEV_USB
258 +
259 +config ATH79_MACH_WZR_HP_G450H
260 + bool "Buffalo WZR-HP-G450H board support"
261 + select SOC_AR724X
262 + select ATH79_DEV_ETH
263 + select ATH79_DEV_AP9X_PCI if PCI
264 + select ATH79_DEV_GPIO_BUTTONS
265 + select ATH79_DEV_LEDS_GPIO
266 + select ATH79_DEV_M25P80
267 + select ATH79_DEV_USB
268 +
269 +config ATH79_MACH_WP543
270 + bool "Compex WP543/WPJ543 board support"
271 + select SOC_AR71XX
272 + select ATH79_DEV_ETH
273 + select ATH79_DEV_GPIO_BUTTONS
274 + select ATH79_DEV_LEDS_GPIO
275 + select ATH79_DEV_M25P80
276 + select ATH79_DEV_USB
277 + select MYLOADER
278 +
279 +config ATH79_MACH_WPE72
280 + bool "Compex WPE72/WPE72NX board support"
281 + select SOC_AR724X
282 + select ATH79_DEV_ETH
283 + select ATH79_DEV_GPIO_BUTTONS
284 + select ATH79_DEV_LEDS_GPIO
285 + select ATH79_DEV_M25P80
286 + select ATH79_DEV_USB
287 + select MYLOADER
288 +
289 +config ATH79_MACH_DIR_600_A1
290 + bool "D-Link DIR-600 A1/DIR-615 E4 support"
291 + select SOC_AR724X
292 + select ATH79_DEV_AP9X_PCI if PCI
293 + select ATH79_DEV_ETH
294 + select ATH79_DEV_GPIO_BUTTONS
295 + select ATH79_DEV_LEDS_GPIO
296 + select ATH79_DEV_M25P80
297 + select ATH79_NVRAM
298 +
299 +config ATH79_MACH_DIR_615_C1
300 + bool "D-Link DIR-615 rev. C1 support"
301 + select SOC_AR913X
302 + select ATH79_DEV_ETH
303 + select ATH79_DEV_GPIO_BUTTONS
304 + select ATH79_DEV_LEDS_GPIO
305 + select ATH79_DEV_M25P80
306 + select ATH79_DEV_WMAC
307 + select ATH79_NVRAM
308 +
309 +config ATH79_MACH_DIR_825_B1
310 + bool "D-Link DIR-825 rev. B1 board support"
311 + select SOC_AR71XX
312 + select ATH79_DEV_ETH
313 + select ATH79_DEV_AP9X_PCI if PCI
314 + select ATH79_DEV_GPIO_BUTTONS
315 + select ATH79_DEV_LEDS_GPIO
316 + select ATH79_DEV_M25P80
317 + select ATH79_DEV_USB
318 +
319 +config ATH79_MACH_EW_DORIN
320 + bool "embedded wireless Dorin Platform support"
321 + select SOC_AR933X
322 + select ATH79_DEV_M25P80
323 + select ATH79_DEV_GPIO_BUTTONS
324 + select ATH79_DEV_LEDS_GPIO
325 + select ATH79_DEV_WMAC
326 + select ATH79_DEV_ETH
327 + help
328 + Say 'Y' here if you want your kernel to support the
329 + Dorin Platform from www.80211.de .
330 +
331 +config ATH79_MACH_JA76PF
332 + bool "jjPlus JA76PF board support"
333 + select SOC_AR71XX
334 + select ATH79_DEV_ETH
335 + select ATH79_DEV_GPIO_BUTTONS
336 + select ATH79_DEV_LEDS_GPIO
337 + select ATH79_DEV_M25P80
338 + select ATH79_DEV_USB
339 +
340 +config ATH79_MACH_JWAP003
341 + bool "jjPlus JWAP003 board support"
342 + select SOC_AR71XX
343 + select ATH79_DEV_ETH
344 + select ATH79_DEV_GPIO_BUTTONS
345 + select ATH79_DEV_M25P80
346 + select ATH79_DEV_USB
347 +
348 +config ATH79_MACH_WRT160NL
349 + bool "Linksys WRT160NL board support"
350 + select SOC_AR913X
351 + select ATH79_DEV_ETH
352 + select ATH79_DEV_GPIO_BUTTONS
353 + select ATH79_DEV_LEDS_GPIO
354 + select ATH79_DEV_M25P80
355 + select ATH79_DEV_USB
356 + select ATH79_DEV_WMAC
357 + select ATH79_NVRAM
358 +
359 +config ATH79_MACH_WRT400N
360 + bool "Linksys WRT400N board support"
361 + select SOC_AR71XX
362 + select ATH79_DEV_ETH
363 + select ATH79_DEV_AP9X_PCI if PCI
364 + select ATH79_DEV_GPIO_BUTTONS
365 + select ATH79_DEV_LEDS_GPIO
366 + select ATH79_DEV_M25P80
367 +
368 +config ATH79_MACH_RB4XX
369 + bool "MikroTik RouterBOARD 4xx series support"
370 + select SOC_AR71XX
371 + select ATH79_DEV_ETH
372 + select ATH79_DEV_GPIO_BUTTONS
373 + select ATH79_DEV_LEDS_GPIO
374 + select ATH79_DEV_USB
375 +
376 +config ATH79_MACH_RB750
377 + bool "MikroTik RouterBOARD 750 support"
378 + select SOC_AR724X
379 + select ATH79_DEV_ETH
380 + select ATH79_DEV_AP9X_PCI if PCI
381 + select ATH79_DEV_USB
382 + select ATH79_ROUTERBOOT
383 + select RLE_DECOMPRESS
384 +
385 +config ATH79_MACH_WNDR3700
386 + bool "NETGEAR WNDR3700 board support"
387 + select SOC_AR71XX
388 + select ATH79_DEV_AP9X_PCI if PCI
389 + select ATH79_DEV_ETH
390 + select ATH79_DEV_GPIO_BUTTONS
391 + select ATH79_DEV_LEDS_GPIO
392 + select ATH79_DEV_M25P80
393 + select ATH79_DEV_USB
394 +
395 +config ATH79_MACH_WNR2000
396 + bool "NETGEAR WNR2000 board support"
397 + select SOC_AR913X
398 + select ATH79_DEV_ETH
399 + select ATH79_DEV_GPIO_BUTTONS
400 + select ATH79_DEV_LEDS_GPIO
401 + select ATH79_DEV_M25P80
402 + select ATH79_DEV_WMAC
403 +
404 +config ATH79_MACH_OM2P
405 + bool "OpenMesh OM2P board support"
406 + select SOC_AR724X
407 + select SOC_AR933X
408 + select ATH79_DEV_AP9X_PCI if PCI
409 + select ATH79_DEV_ETH
410 + select ATH79_DEV_GPIO_BUTTONS
411 + select ATH79_DEV_LEDS_GPIO
412 + select ATH79_DEV_M25P80
413 + select ATH79_DEV_WMAC
414 +
415 +config ATH79_MACH_MZK_W04NU
416 + bool "Planex MZK-W04NU board support"
417 + select SOC_AR913X
418 + select ATH79_DEV_ETH
419 + select ATH79_DEV_GPIO_BUTTONS
420 + select ATH79_DEV_LEDS_GPIO
421 + select ATH79_DEV_M25P80
422 + select ATH79_DEV_USB
423 + select ATH79_DEV_WMAC
424 +
425 +config ATH79_MACH_MZK_W300NH
426 + bool "Planex MZK-W300NH board support"
427 + select SOC_AR913X
428 + select ATH79_DEV_ETH
429 + select ATH79_DEV_GPIO_BUTTONS
430 + select ATH79_DEV_LEDS_GPIO
431 + select ATH79_DEV_M25P80
432 + select ATH79_DEV_WMAC
433 +
434 +config ATH79_MACH_RW2458N
435 + bool "Redwave RW2458N board support"
436 + select SOC_AR724X
437 + select ATH79_DEV_ETH
438 + select ATH79_DEV_AP9X_PCI if PCI
439 + select ATH79_DEV_GPIO_BUTTONS
440 + select ATH79_DEV_LEDS_GPIO
441 + select ATH79_DEV_M25P80
442 + select ATH79_DEV_USB
443 +
444 +config ATH79_MACH_EAP7660D
445 + bool "Senao EAP7660D support"
446 + select SOC_AR71XX
447 + select ATH79_DEV_ETH
448 + select ATH79_DEV_GPIO_BUTTONS
449 + select ATH79_DEV_LEDS_GPIO
450 + select ATH79_DEV_M25P80
451 +
452 +config ATH79_MACH_TL_MR11U
453 + bool "TP-LINK TL-MR11U support"
454 + select SOC_AR933X
455 + select ATH79_DEV_ETH
456 + select ATH79_DEV_GPIO_BUTTONS
457 + select ATH79_DEV_LEDS_GPIO
458 + select ATH79_DEV_M25P80
459 + select ATH79_DEV_USB
460 + select ATH79_DEV_WMAC
461 +
462 +config ATH79_MACH_TL_MR3020
463 + bool "TP-LINK TL-MR3020 support"
464 + select SOC_AR933X
465 + select ATH79_DEV_ETH
466 + select ATH79_DEV_GPIO_BUTTONS
467 + select ATH79_DEV_LEDS_GPIO
468 + select ATH79_DEV_M25P80
469 + select ATH79_DEV_USB
470 + select ATH79_DEV_WMAC
471 +
472 +config ATH79_MACH_TL_MR3X20
473 + bool "TP-LINK TL-MR3220/3420 support"
474 + select SOC_AR724X
475 + select ATH79_DEV_AP9X_PCI if PCI
476 + select ATH79_DEV_ETH
477 + select ATH79_DEV_GPIO_BUTTONS
478 + select ATH79_DEV_LEDS_GPIO
479 + select ATH79_DEV_M25P80
480 + select ATH79_DEV_USB
481 +
482 +config ATH79_MACH_TL_WA901ND
483 + bool "TP-LINK TL-WA901ND support"
484 + select SOC_AR724X
485 + select ATH79_DEV_AP9X_PCI if PCI
486 + select ATH79_DEV_ETH
487 + select ATH79_DEV_GPIO_BUTTONS
488 + select ATH79_DEV_LEDS_GPIO
489 + select ATH79_DEV_M25P80
490 +
491 +config ATH79_MACH_TL_WA901ND_V2
492 + bool "TP-LINK TL-WA901ND v2 support"
493 + select SOC_AR913X
494 + select ATH79_DEV_ETH
495 + select ATH79_DEV_GPIO_BUTTONS
496 + select ATH79_DEV_LEDS_GPIO
497 + select ATH79_DEV_M25P80
498 + select ATH79_DEV_WMAC
499 +
500 +config ATH79_MACH_TL_WDR4300
501 + bool "TP-LINK TL-WDR3600/4300/4310 board support"
502 + select SOC_AR934X
503 + select ATH79_DEV_AP9X_PCI if PCI
504 + select ATH79_DEV_ETH
505 + select ATH79_DEV_GPIO_BUTTONS
506 + select ATH79_DEV_LEDS_GPIO
507 + select ATH79_DEV_M25P80
508 + select ATH79_DEV_USB
509 + select ATH79_DEV_WMAC
510 +
511 +config ATH79_MACH_TL_WR703N
512 + bool "TP-LINK TL-WR703N support"
513 + select SOC_AR933X
514 + select ATH79_DEV_ETH
515 + select ATH79_DEV_GPIO_BUTTONS
516 + select ATH79_DEV_LEDS_GPIO
517 + select ATH79_DEV_M25P80
518 + select ATH79_DEV_USB
519 + select ATH79_DEV_WMAC
520 +
521 +config ATH79_MACH_TL_WR741ND
522 + bool "TP-LINK TL-WR741ND support"
523 + select SOC_AR724X
524 + select ATH79_DEV_AP9X_PCI if PCI
525 + select ATH79_DEV_ETH
526 + select ATH79_DEV_GPIO_BUTTONS
527 + select ATH79_DEV_LEDS_GPIO
528 + select ATH79_DEV_M25P80
529 +
530 +config ATH79_MACH_TL_WR741ND_V4
531 + bool "TP-LINK TL-WR741ND v4 support"
532 + select SOC_AR933X
533 + select ATH79_DEV_ETH
534 + select ATH79_DEV_GPIO_BUTTONS
535 + select ATH79_DEV_LEDS_GPIO
536 + select ATH79_DEV_M25P80
537 + select ATH79_DEV_WMAC
538 +
539 +config ATH79_MACH_TL_WR841N_V1
540 + bool "TP-LINK TL-WR841N v1 support"
541 + select SOC_AR71XX
542 + select ATH79_DEV_DSA
543 + select ATH79_DEV_ETH
544 + select ATH79_DEV_GPIO_BUTTONS
545 + select ATH79_DEV_LEDS_GPIO
546 + select ATH79_DEV_M25P80
547 +
548 +config ATH79_MACH_TL_WR941ND
549 + bool "TP-LINK TL-WR941ND support"
550 + select SOC_AR913X
551 + select ATH79_DEV_DSA
552 + select ATH79_DEV_ETH
553 + select ATH79_DEV_GPIO_BUTTONS
554 + select ATH79_DEV_LEDS_GPIO
555 + select ATH79_DEV_M25P80
556 + select ATH79_DEV_WMAC
557 +
558 +config ATH79_MACH_TL_WR1041N_V2
559 + bool "TP-LINK TL-WR1041N v2 support"
560 + select SOC_AR934X
561 + select ATH79_DEV_AP9X_PCI if PCI
562 + select ATH79_DEV_ETH
563 + select ATH79_DEV_GPIO_BUTTONS
564 + select ATH79_DEV_LEDS_GPIO
565 + select ATH79_DEV_M25P80
566 + select ATH79_DEV_USB
567 + select ATH79_DEV_WMAC
568 +
569 +config ATH79_MACH_TL_WR1043ND
570 + bool "TP-LINK TL-WR1043ND support"
571 + select SOC_AR913X
572 + select ATH79_DEV_ETH
573 + select ATH79_DEV_GPIO_BUTTONS
574 + select ATH79_DEV_LEDS_GPIO
575 + select ATH79_DEV_M25P80
576 + select ATH79_DEV_USB
577 + select ATH79_DEV_WMAC
578 +
579 +config ATH79_MACH_TL_WR2543N
580 + bool "TP-LINK TL-WR2543N/ND support"
581 + select SOC_AR724X
582 + select ATH79_DEV_AP9X_PCI if PCI
583 + select ATH79_DEV_ETH
584 + select ATH79_DEV_GPIO_BUTTONS
585 + select ATH79_DEV_LEDS_GPIO
586 + select ATH79_DEV_M25P80
587 + select ATH79_DEV_USB
588 +
589 +config ATH79_MACH_TEW_632BRP
590 + bool "TRENDnet TEW-632BRP support"
591 + select SOC_AR913X
592 + select ATH79_DEV_ETH
593 + select ATH79_DEV_GPIO_BUTTONS
594 + select ATH79_DEV_LEDS_GPIO
595 + select ATH79_DEV_M25P80
596 + select ATH79_DEV_WMAC
597 + select ATH79_NVRAM
598 +
599 +config ATH79_MACH_TEW_673GRU
600 + bool "TRENDnet TEW-673GRU support"
601 + select SOC_AR71XX
602 + select ATH79_DEV_AP9X_PCI if PCI
603 + select ATH79_DEV_ETH
604 + select ATH79_DEV_GPIO_BUTTONS
605 + select ATH79_DEV_LEDS_GPIO
606 + select ATH79_DEV_M25P80
607 + select ATH79_DEV_USB
608 + select ATH79_NVRAM
609 +
610 +config ATH79_MACH_UBNT
611 + bool "Ubiquiti AR71xx based boards support"
612 + select SOC_AR71XX
613 + select ATH79_DEV_ETH
614 + select ATH79_DEV_GPIO_BUTTONS
615 + select ATH79_DEV_LEDS_GPIO
616 + select ATH79_DEV_M25P80
617 + select ATH79_DEV_USB
618 +
619 config ATH79_MACH_UBNT_XM
620 bool "Ubiquiti Networks XM (rev 1.0) board"
621 select SOC_AR724X
622 @@ -79,6 +573,24 @@ config ATH79_MACH_UBNT_XM
623 Say 'Y' here if you want your kernel to support the
624 Ubiquiti Networks XM (rev 1.0) board.
625
626 +config ATH79_MACH_ZCN_1523H
627 + bool "Zcomax ZCN-1523H support"
628 + select SOC_AR724X
629 + select ATH79_DEV_AP9X_PCI if PCI
630 + select ATH79_DEV_ETH
631 + select ATH79_DEV_GPIO_BUTTONS
632 + select ATH79_DEV_LEDS_GPIO
633 + select ATH79_DEV_M25P80
634 +
635 +config ATH79_MACH_NBG460N
636 + bool "Zyxel NBG460N/550N/550NH board support"
637 + select SOC_AR913X
638 + select ATH79_DEV_ETH
639 + select ATH79_DEV_GPIO_BUTTONS
640 + select ATH79_DEV_LEDS_GPIO
641 + select ATH79_DEV_M25P80
642 + select ATH79_DEV_WMAC
643 +
644 endmenu
645
646 config SOC_AR71XX
647 @@ -114,10 +626,6 @@ config SOC_QCA955X
648 select PCI_AR724X if PCI
649 def_bool n
650
651 -config ATH79_DEV_M25P80
652 - select ATH79_DEV_SPI
653 - def_bool n
654 -
655 config ATH79_DEV_AP9X_PCI
656 select ATH79_PCI_ATH9K_FIXUP
657 def_bool n
658 @@ -128,7 +636,14 @@ config ATH79_DEV_DSA
659 config ATH79_DEV_ETH
660 def_bool n
661
662 -config PCI_AR724X
663 +config ATH79_DEV_M25P80
664 + select ATH79_DEV_SPI
665 + def_bool n
666 +
667 +config ATH79_DEV_DSA
668 + def_bool n
669 +
670 +config ATH79_DEV_ETH
671 def_bool n
672
673 config ATH79_DEV_GPIO_BUTTONS
674 @@ -156,4 +671,7 @@ config ATH79_PCI_ATH9K_FIXUP
675 config ATH79_ROUTERBOOT
676 def_bool n
677
678 +config PCI_AR724X
679 + def_bool n
680 +
681 endif
682 --- a/arch/mips/ath79/Makefile
683 +++ b/arch/mips/ath79/Makefile
684 @@ -37,9 +37,62 @@ obj-$(CONFIG_ATH79_ROUTERBOOT) += route
685 #
686 # Machines
687 #
688 +obj-$(CONFIG_ATH79_MACH_ALFA_AP96) += mach-alfa-ap96.o
689 +obj-$(CONFIG_ATH79_MACH_ALFA_NX) += mach-alfa-nx.o
690 +obj-$(CONFIG_ATH79_MACH_ALL0258N) += mach-all0258n.o
691 +obj-$(CONFIG_ATH79_MACH_AP113) += mach-ap113.o
692 obj-$(CONFIG_ATH79_MACH_AP121) += mach-ap121.o
693 obj-$(CONFIG_ATH79_MACH_AP136) += mach-ap136.o
694 obj-$(CONFIG_ATH79_MACH_AP81) += mach-ap81.o
695 +obj-$(CONFIG_ATH79_MACH_AP83) += mach-ap83.o
696 +obj-$(CONFIG_ATH79_MACH_AP96) += mach-ap96.o
697 +obj-$(CONFIG_ATH79_MACH_AW_NR580) += mach-aw-nr580.o
698 obj-$(CONFIG_ATH79_MACH_DB120) += mach-db120.o
699 +obj-$(CONFIG_ATH79_MACH_DIR_600_A1) += mach-dir-600-a1.o
700 +obj-$(CONFIG_ATH79_MACH_DIR_615_C1) += mach-dir-615-c1.o
701 +obj-$(CONFIG_ATH79_MACH_DIR_825_B1) += mach-dir-825-b1.o
702 +obj-$(CONFIG_ATH79_MACH_EW_DORIN) += mach-ew-dorin.o
703 +obj-$(CONFIG_ATH79_MACH_EAP7660D) += mach-eap7660d.o
704 +obj-$(CONFIG_ATH79_MACH_JA76PF) += mach-ja76pf.o
705 +obj-$(CONFIG_ATH79_MACH_JWAP003) += mach-jwap003.o
706 +obj-$(CONFIG_ATH79_MACH_HORNET_UB) += mach-hornet-ub.o
707 +obj-$(CONFIG_ATH79_MACH_MZK_W04NU) += mach-mzk-w04nu.o
708 +obj-$(CONFIG_ATH79_MACH_MZK_W300NH) += mach-mzk-w300nh.o
709 +obj-$(CONFIG_ATH79_MACH_NBG460N) += mach-nbg460n.o
710 +obj-$(CONFIG_ATH79_MACH_OM2P) += mach-om2p.o
711 +obj-$(CONFIG_ATH79_MACH_PB42) += mach-pb42.o
712 obj-$(CONFIG_ATH79_MACH_PB44) += mach-pb44.o
713 +obj-$(CONFIG_ATH79_MACH_PB92) += mach-pb92.o
714 +obj-$(CONFIG_ATH79_MACH_RB4XX) += mach-rb4xx.o
715 +obj-$(CONFIG_ATH79_MACH_RB750) += mach-rb750.o
716 +obj-$(CONFIG_ATH79_MACH_RW2458N) += mach-rw2458n.o
717 +obj-$(CONFIG_ATH79_MACH_TEW_632BRP) += mach-tew-632brp.o
718 +obj-$(CONFIG_ATH79_MACH_TEW_673GRU) += mach-tew-673gru.o
719 +obj-$(CONFIG_ATH79_MACH_TL_MR11U) += mach-tl-mr11u.o
720 +obj-$(CONFIG_ATH79_MACH_TL_MR3020) += mach-tl-mr3020.o
721 +obj-$(CONFIG_ATH79_MACH_TL_MR3X20) += mach-tl-mr3x20.o
722 +obj-$(CONFIG_ATH79_MACH_TL_WA901ND) += mach-tl-wa901nd.o
723 +obj-$(CONFIG_ATH79_MACH_TL_WA901ND_V2) += mach-tl-wa901nd-v2.o
724 +obj-$(CONFIG_ATH79_MACH_TL_WDR4300) += mach-tl-wdr4300.o
725 +obj-$(CONFIG_ATH79_MACH_TL_WR741ND) += mach-tl-wr741nd.o
726 +obj-$(CONFIG_ATH79_MACH_TL_WR741ND_V4) += mach-tl-wr741nd-v4.o
727 +obj-$(CONFIG_ATH79_MACH_TL_WR841N_V1) += mach-tl-wr841n.o
728 +obj-$(CONFIG_ATH79_MACH_TL_WR941ND) += mach-tl-wr941nd.o
729 +obj-$(CONFIG_ATH79_MACH_TL_WR1041N_V2) += mach-tl-wr1041n-v2.o
730 +obj-$(CONFIG_ATH79_MACH_TL_WR1043ND) += mach-tl-wr1043nd.o
731 +obj-$(CONFIG_ATH79_MACH_TL_WR2543N) += mach-tl-wr2543n.o
732 +obj-$(CONFIG_ATH79_MACH_TL_WR703N) += mach-tl-wr703n.o
733 +obj-$(CONFIG_ATH79_MACH_UBNT) += mach-ubnt.o
734 obj-$(CONFIG_ATH79_MACH_UBNT_XM) += mach-ubnt-xm.o
735 +obj-$(CONFIG_ATH79_MACH_WHR_HP_G300N) += mach-whr-hp-g300n.o
736 +obj-$(CONFIG_ATH79_MACH_WLAE_AG300N) += mach-wlae-ag300n.o
737 +obj-$(CONFIG_ATH79_MACH_WNDR3700) += mach-wndr3700.o
738 +obj-$(CONFIG_ATH79_MACH_WNR2000) += mach-wnr2000.o
739 +obj-$(CONFIG_ATH79_MACH_WP543) += mach-wp543.o
740 +obj-$(CONFIG_ATH79_MACH_WPE72) += mach-wpe72.o
741 +obj-$(CONFIG_ATH79_MACH_WRT160NL) += mach-wrt160nl.o
742 +obj-$(CONFIG_ATH79_MACH_WRT400N) += mach-wrt400n.o
743 +obj-$(CONFIG_ATH79_MACH_WZR_HP_G300NH) += mach-wzr-hp-g300nh.o
744 +obj-$(CONFIG_ATH79_MACH_WZR_HP_G300NH2) += mach-wzr-hp-g300nh2.o
745 +obj-$(CONFIG_ATH79_MACH_WZR_HP_AG300H) += mach-wzr-hp-ag300h.o
746 +obj-$(CONFIG_ATH79_MACH_WZR_HP_G450H) += mach-wzr-hp-g450h.o
747 --- a/arch/mips/ath79/prom.c
748 +++ b/arch/mips/ath79/prom.c
749 @@ -180,6 +180,9 @@ void __init prom_init(void)
750 ath79_prom_append_cmdline("board", env);
751 }
752 }
753 +
754 + if (strstr(arcs_cmdline, "board=750Gr3"))
755 + ath79_prom_append_cmdline("console", "ttyS0,115200");
756 }
757
758 void __init prom_free_prom_memory(void)