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