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