0efdee15afae0ed0558006441d357647cb85aa17
[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,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,428 @@ 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 RLE_DECOMPRESS
383 +
384 +config ATH79_MACH_WNDR3700
385 +       bool "NETGEAR WNDR3700 board support"
386 +       select SOC_AR71XX
387 +       select ATH79_DEV_AP9X_PCI if PCI
388 +       select ATH79_DEV_ETH
389 +       select ATH79_DEV_GPIO_BUTTONS
390 +       select ATH79_DEV_LEDS_GPIO
391 +       select ATH79_DEV_M25P80
392 +       select ATH79_DEV_USB
393 +
394 +config ATH79_MACH_WNR2000
395 +       bool "NETGEAR WNR2000 board support"
396 +       select SOC_AR913X
397 +       select ATH79_DEV_ETH
398 +       select ATH79_DEV_GPIO_BUTTONS
399 +       select ATH79_DEV_LEDS_GPIO
400 +       select ATH79_DEV_M25P80
401 +       select ATH79_DEV_WMAC
402 +
403 +config ATH79_MACH_OM2P
404 +       bool "OpenMesh OM2P board support"
405 +       select SOC_AR724X
406 +       select SOC_AR933X
407 +       select ATH79_DEV_AP9X_PCI if PCI
408 +       select ATH79_DEV_ETH
409 +       select ATH79_DEV_GPIO_BUTTONS
410 +       select ATH79_DEV_LEDS_GPIO
411 +       select ATH79_DEV_M25P80
412 +       select ATH79_DEV_WMAC
413 +
414 +config ATH79_MACH_MZK_W04NU
415 +       bool "Planex MZK-W04NU board support"
416 +       select SOC_AR913X
417 +       select ATH79_DEV_ETH
418 +       select ATH79_DEV_GPIO_BUTTONS
419 +       select ATH79_DEV_LEDS_GPIO
420 +       select ATH79_DEV_M25P80
421 +       select ATH79_DEV_USB
422 +       select ATH79_DEV_WMAC
423 +
424 +config ATH79_MACH_MZK_W300NH
425 +       bool "Planex MZK-W300NH board support"
426 +       select SOC_AR913X
427 +       select ATH79_DEV_ETH
428 +       select ATH79_DEV_GPIO_BUTTONS
429 +       select ATH79_DEV_LEDS_GPIO
430 +       select ATH79_DEV_M25P80
431 +       select ATH79_DEV_WMAC
432 +
433 +config ATH79_MACH_RW2458N
434 +       bool "Redwave RW2458N board support"
435 +       select SOC_AR724X
436 +       select ATH79_DEV_ETH
437 +       select ATH79_DEV_AP9X_PCI if PCI
438 +       select ATH79_DEV_GPIO_BUTTONS
439 +       select ATH79_DEV_LEDS_GPIO
440 +       select ATH79_DEV_M25P80
441 +       select ATH79_DEV_USB
442 +
443 +config ATH79_MACH_EAP7660D
444 +       bool "Senao EAP7660D support"
445 +       select SOC_AR71XX
446 +       select ATH79_DEV_ETH
447 +       select ATH79_DEV_GPIO_BUTTONS
448 +       select ATH79_DEV_LEDS_GPIO
449 +       select ATH79_DEV_M25P80
450 +
451 +config ATH79_MACH_TL_MR11U
452 +       bool "TP-LINK TL-MR11U support"
453 +       select SOC_AR933X
454 +       select ATH79_DEV_ETH
455 +       select ATH79_DEV_GPIO_BUTTONS
456 +       select ATH79_DEV_LEDS_GPIO
457 +       select ATH79_DEV_M25P80
458 +       select ATH79_DEV_USB
459 +       select ATH79_DEV_WMAC
460 +
461 +config ATH79_MACH_TL_MR3020
462 +       bool "TP-LINK TL-MR3020 support"
463 +       select SOC_AR933X
464 +       select ATH79_DEV_ETH
465 +       select ATH79_DEV_GPIO_BUTTONS
466 +       select ATH79_DEV_LEDS_GPIO
467 +       select ATH79_DEV_M25P80
468 +       select ATH79_DEV_USB
469 +       select ATH79_DEV_WMAC
470 +
471 +config ATH79_MACH_TL_MR3X20
472 +       bool "TP-LINK TL-MR3220/3420 support"
473 +       select SOC_AR724X
474 +       select ATH79_DEV_AP9X_PCI if PCI
475 +       select ATH79_DEV_ETH
476 +       select ATH79_DEV_GPIO_BUTTONS
477 +       select ATH79_DEV_LEDS_GPIO
478 +       select ATH79_DEV_M25P80
479 +       select ATH79_DEV_USB
480 +
481 +config ATH79_MACH_TL_WA901ND
482 +       bool "TP-LINK TL-WA901ND support"
483 +       select SOC_AR724X
484 +       select ATH79_DEV_AP9X_PCI if PCI
485 +       select ATH79_DEV_ETH
486 +       select ATH79_DEV_GPIO_BUTTONS
487 +       select ATH79_DEV_LEDS_GPIO
488 +       select ATH79_DEV_M25P80
489 +
490 +config ATH79_MACH_TL_WA901ND_V2
491 +       bool "TP-LINK TL-WA901ND v2 support"
492 +       select SOC_AR913X
493 +       select ATH79_DEV_ETH
494 +       select ATH79_DEV_GPIO_BUTTONS
495 +       select ATH79_DEV_LEDS_GPIO
496 +       select ATH79_DEV_M25P80
497 +       select ATH79_DEV_WMAC
498 +
499 +config ATH79_MACH_TL_WDR4300
500 +       bool "TP-LINK TL-WDR3600/4300/4310 board support"
501 +       select SOC_AR934X
502 +       select ATH79_DEV_AP9X_PCI if PCI
503 +       select ATH79_DEV_ETH
504 +       select ATH79_DEV_GPIO_BUTTONS
505 +       select ATH79_DEV_LEDS_GPIO
506 +       select ATH79_DEV_M25P80
507 +       select ATH79_DEV_USB
508 +       select ATH79_DEV_WMAC
509 +
510 +config ATH79_MACH_TL_WR703N
511 +       bool "TP-LINK TL-WR703N support"
512 +       select SOC_AR933X
513 +       select ATH79_DEV_ETH
514 +       select ATH79_DEV_GPIO_BUTTONS
515 +       select ATH79_DEV_LEDS_GPIO
516 +       select ATH79_DEV_M25P80
517 +       select ATH79_DEV_USB
518 +       select ATH79_DEV_WMAC
519 +
520 +config ATH79_MACH_TL_WR741ND
521 +       bool "TP-LINK TL-WR741ND support"
522 +       select SOC_AR724X
523 +       select ATH79_DEV_AP9X_PCI if PCI
524 +       select ATH79_DEV_ETH
525 +       select ATH79_DEV_GPIO_BUTTONS
526 +       select ATH79_DEV_LEDS_GPIO
527 +       select ATH79_DEV_M25P80
528 +
529 +config ATH79_MACH_TL_WR741ND_V4
530 +       bool "TP-LINK TL-WR741ND v4 support"
531 +       select SOC_AR933X
532 +       select ATH79_DEV_ETH
533 +       select ATH79_DEV_GPIO_BUTTONS
534 +       select ATH79_DEV_LEDS_GPIO
535 +       select ATH79_DEV_M25P80
536 +       select ATH79_DEV_WMAC
537 +
538 +config ATH79_MACH_TL_WR841N_V1
539 +       bool "TP-LINK TL-WR841N v1 support"
540 +       select SOC_AR71XX
541 +       select ATH79_DEV_DSA
542 +       select ATH79_DEV_ETH
543 +       select ATH79_DEV_GPIO_BUTTONS
544 +       select ATH79_DEV_LEDS_GPIO
545 +       select ATH79_DEV_M25P80
546 +
547 +config ATH79_MACH_TL_WR941ND
548 +       bool "TP-LINK TL-WR941ND support"
549 +       select SOC_AR913X
550 +       select ATH79_DEV_DSA
551 +       select ATH79_DEV_ETH
552 +       select ATH79_DEV_GPIO_BUTTONS
553 +       select ATH79_DEV_LEDS_GPIO
554 +       select ATH79_DEV_M25P80
555 +       select ATH79_DEV_WMAC
556 +
557 +config ATH79_MACH_TL_WR1041N_V2
558 +       bool "TP-LINK TL-WR1041N v2 support"
559 +       select SOC_AR934X
560 +       select ATH79_DEV_AP9X_PCI if PCI
561 +       select ATH79_DEV_ETH
562 +       select ATH79_DEV_GPIO_BUTTONS
563 +       select ATH79_DEV_LEDS_GPIO
564 +       select ATH79_DEV_M25P80
565 +       select ATH79_DEV_USB
566 +       select ATH79_DEV_WMAC
567 +
568 +config ATH79_MACH_TL_WR1043ND
569 +       bool "TP-LINK TL-WR1043ND support"
570 +       select SOC_AR913X
571 +       select ATH79_DEV_ETH
572 +       select ATH79_DEV_GPIO_BUTTONS
573 +       select ATH79_DEV_LEDS_GPIO
574 +       select ATH79_DEV_M25P80
575 +       select ATH79_DEV_USB
576 +       select ATH79_DEV_WMAC
577 +
578 +config ATH79_MACH_TL_WR2543N
579 +       bool "TP-LINK TL-WR2543N/ND support"
580 +       select SOC_AR724X
581 +       select ATH79_DEV_AP9X_PCI if PCI
582 +       select ATH79_DEV_ETH
583 +       select ATH79_DEV_GPIO_BUTTONS
584 +       select ATH79_DEV_LEDS_GPIO
585 +       select ATH79_DEV_M25P80
586 +       select ATH79_DEV_USB
587 +
588 +config ATH79_MACH_TEW_632BRP
589 +       bool "TRENDnet TEW-632BRP support"
590 +       select SOC_AR913X
591 +       select ATH79_DEV_ETH
592 +       select ATH79_DEV_GPIO_BUTTONS
593 +       select ATH79_DEV_LEDS_GPIO
594 +       select ATH79_DEV_M25P80
595 +       select ATH79_DEV_WMAC
596 +       select ATH79_NVRAM
597 +
598 +config ATH79_MACH_TEW_673GRU
599 +       bool "TRENDnet TEW-673GRU support"
600 +       select SOC_AR71XX
601 +       select ATH79_DEV_AP9X_PCI if PCI
602 +       select ATH79_DEV_ETH
603 +       select ATH79_DEV_GPIO_BUTTONS
604 +       select ATH79_DEV_LEDS_GPIO
605 +       select ATH79_DEV_M25P80
606 +       select ATH79_DEV_USB
607 +       select ATH79_NVRAM
608 +
609 +config ATH79_MACH_UBNT
610 +       bool "Ubiquiti AR71xx based boards support"
611 +       select SOC_AR71XX
612 +       select ATH79_DEV_ETH
613 +       select ATH79_DEV_GPIO_BUTTONS
614 +       select ATH79_DEV_LEDS_GPIO
615 +       select ATH79_DEV_M25P80
616 +       select ATH79_DEV_USB
617 +
618  config ATH79_MACH_UBNT_XM
619         bool "Ubiquiti Networks XM (rev 1.0) board"
620         select SOC_AR724X
621 @@ -79,6 +572,24 @@ config ATH79_MACH_UBNT_XM
622           Say 'Y' here if you want your kernel to support the
623           Ubiquiti Networks XM (rev 1.0) board.
624  
625 +config ATH79_MACH_ZCN_1523H
626 +       bool "Zcomax ZCN-1523H support"
627 +       select SOC_AR724X
628 +       select ATH79_DEV_AP9X_PCI if PCI
629 +       select ATH79_DEV_ETH
630 +       select ATH79_DEV_GPIO_BUTTONS
631 +       select ATH79_DEV_LEDS_GPIO
632 +       select ATH79_DEV_M25P80
633 +
634 +config ATH79_MACH_NBG460N
635 +       bool "Zyxel NBG460N/550N/550NH board support"
636 +       select SOC_AR913X
637 +       select ATH79_DEV_ETH
638 +       select ATH79_DEV_GPIO_BUTTONS
639 +       select ATH79_DEV_LEDS_GPIO
640 +       select ATH79_DEV_M25P80
641 +       select ATH79_DEV_WMAC
642 +
643  endmenu
644  
645  config SOC_AR71XX
646 @@ -114,10 +625,6 @@ config SOC_QCA955X
647         select PCI_AR724X if PCI
648         def_bool n
649  
650 -config ATH79_DEV_M25P80
651 -       select ATH79_DEV_SPI
652 -       def_bool n
653 -
654  config ATH79_DEV_AP9X_PCI
655         select ATH79_PCI_ATH9K_FIXUP
656         def_bool n
657 @@ -128,7 +635,14 @@ config ATH79_DEV_DSA
658  config ATH79_DEV_ETH
659         def_bool n
660  
661 -config PCI_AR724X
662 +config ATH79_DEV_M25P80
663 +       select ATH79_DEV_SPI
664 +       def_bool n
665 +
666 +config ATH79_DEV_DSA
667 +       def_bool n
668 +
669 +config ATH79_DEV_ETH
670         def_bool n
671  
672  config ATH79_DEV_GPIO_BUTTONS
673 @@ -153,4 +667,7 @@ config ATH79_NVRAM
674  config ATH79_PCI_ATH9K_FIXUP
675         def_bool n
676  
677 +config PCI_AR724X
678 +       def_bool n
679 +
680  endif
681 --- a/arch/mips/ath79/Makefile
682 +++ b/arch/mips/ath79/Makefile
683 @@ -36,9 +36,62 @@ obj-$(CONFIG_ATH79_PCI_ATH9K_FIXUP)  += p
684  #
685  # Machines
686  #
687 +obj-$(CONFIG_ATH79_MACH_ALFA_AP96)     += mach-alfa-ap96.o
688 +obj-$(CONFIG_ATH79_MACH_ALFA_NX)       += mach-alfa-nx.o
689 +obj-$(CONFIG_ATH79_MACH_ALL0258N)      += mach-all0258n.o
690 +obj-$(CONFIG_ATH79_MACH_AP113)         += mach-ap113.o
691  obj-$(CONFIG_ATH79_MACH_AP121)         += mach-ap121.o
692  obj-$(CONFIG_ATH79_MACH_AP136)         += mach-ap136.o
693  obj-$(CONFIG_ATH79_MACH_AP81)          += mach-ap81.o
694 +obj-$(CONFIG_ATH79_MACH_AP83)          += mach-ap83.o
695 +obj-$(CONFIG_ATH79_MACH_AP96)          += mach-ap96.o
696 +obj-$(CONFIG_ATH79_MACH_AW_NR580)      += mach-aw-nr580.o
697  obj-$(CONFIG_ATH79_MACH_DB120)         += mach-db120.o
698 +obj-$(CONFIG_ATH79_MACH_DIR_600_A1)    += mach-dir-600-a1.o
699 +obj-$(CONFIG_ATH79_MACH_DIR_615_C1)    += mach-dir-615-c1.o
700 +obj-$(CONFIG_ATH79_MACH_DIR_825_B1)    += mach-dir-825-b1.o
701 +obj-$(CONFIG_ATH79_MACH_EW_DORIN)      += mach-ew-dorin.o
702 +obj-$(CONFIG_ATH79_MACH_EAP7660D)      += mach-eap7660d.o
703 +obj-$(CONFIG_ATH79_MACH_JA76PF)                += mach-ja76pf.o
704 +obj-$(CONFIG_ATH79_MACH_JWAP003)       += mach-jwap003.o
705 +obj-$(CONFIG_ATH79_MACH_HORNET_UB)     += mach-hornet-ub.o
706 +obj-$(CONFIG_ATH79_MACH_MZK_W04NU)     += mach-mzk-w04nu.o
707 +obj-$(CONFIG_ATH79_MACH_MZK_W300NH)    += mach-mzk-w300nh.o
708 +obj-$(CONFIG_ATH79_MACH_NBG460N)       += mach-nbg460n.o
709 +obj-$(CONFIG_ATH79_MACH_OM2P)          += mach-om2p.o
710 +obj-$(CONFIG_ATH79_MACH_PB42)          += mach-pb42.o
711  obj-$(CONFIG_ATH79_MACH_PB44)          += mach-pb44.o
712 +obj-$(CONFIG_ATH79_MACH_PB92)          += mach-pb92.o
713 +obj-$(CONFIG_ATH79_MACH_RB4XX)         += mach-rb4xx.o
714 +obj-$(CONFIG_ATH79_MACH_RB750)         += mach-rb750.o
715 +obj-$(CONFIG_ATH79_MACH_RW2458N)       += mach-rw2458n.o
716 +obj-$(CONFIG_ATH79_MACH_TEW_632BRP)    += mach-tew-632brp.o
717 +obj-$(CONFIG_ATH79_MACH_TEW_673GRU)    += mach-tew-673gru.o
718 +obj-$(CONFIG_ATH79_MACH_TL_MR11U)      += mach-tl-mr11u.o
719 +obj-$(CONFIG_ATH79_MACH_TL_MR3020)     += mach-tl-mr3020.o
720 +obj-$(CONFIG_ATH79_MACH_TL_MR3X20)     += mach-tl-mr3x20.o
721 +obj-$(CONFIG_ATH79_MACH_TL_WA901ND)    += mach-tl-wa901nd.o
722 +obj-$(CONFIG_ATH79_MACH_TL_WA901ND_V2) += mach-tl-wa901nd-v2.o
723 +obj-$(CONFIG_ATH79_MACH_TL_WDR4300)     += mach-tl-wdr4300.o
724 +obj-$(CONFIG_ATH79_MACH_TL_WR741ND)    += mach-tl-wr741nd.o
725 +obj-$(CONFIG_ATH79_MACH_TL_WR741ND_V4) += mach-tl-wr741nd-v4.o
726 +obj-$(CONFIG_ATH79_MACH_TL_WR841N_V1)  += mach-tl-wr841n.o
727 +obj-$(CONFIG_ATH79_MACH_TL_WR941ND)    += mach-tl-wr941nd.o
728 +obj-$(CONFIG_ATH79_MACH_TL_WR1041N_V2) += mach-tl-wr1041n-v2.o
729 +obj-$(CONFIG_ATH79_MACH_TL_WR1043ND)   += mach-tl-wr1043nd.o
730 +obj-$(CONFIG_ATH79_MACH_TL_WR2543N)    += mach-tl-wr2543n.o
731 +obj-$(CONFIG_ATH79_MACH_TL_WR703N)     += mach-tl-wr703n.o
732 +obj-$(CONFIG_ATH79_MACH_UBNT)          += mach-ubnt.o
733  obj-$(CONFIG_ATH79_MACH_UBNT_XM)       += mach-ubnt-xm.o
734 +obj-$(CONFIG_ATH79_MACH_WHR_HP_G300N)  += mach-whr-hp-g300n.o
735 +obj-$(CONFIG_ATH79_MACH_WLAE_AG300N)   += mach-wlae-ag300n.o
736 +obj-$(CONFIG_ATH79_MACH_WNDR3700)      += mach-wndr3700.o
737 +obj-$(CONFIG_ATH79_MACH_WNR2000)       += mach-wnr2000.o
738 +obj-$(CONFIG_ATH79_MACH_WP543)         += mach-wp543.o
739 +obj-$(CONFIG_ATH79_MACH_WPE72)         += mach-wpe72.o
740 +obj-$(CONFIG_ATH79_MACH_WRT160NL)      += mach-wrt160nl.o
741 +obj-$(CONFIG_ATH79_MACH_WRT400N)       += mach-wrt400n.o
742 +obj-$(CONFIG_ATH79_MACH_WZR_HP_G300NH) += mach-wzr-hp-g300nh.o
743 +obj-$(CONFIG_ATH79_MACH_WZR_HP_G300NH2)        += mach-wzr-hp-g300nh2.o
744 +obj-$(CONFIG_ATH79_MACH_WZR_HP_AG300H) += mach-wzr-hp-ag300h.o
745 +obj-$(CONFIG_ATH79_MACH_WZR_HP_G450H)  += mach-wzr-hp-g450h.o
746 --- a/arch/mips/ath79/prom.c
747 +++ b/arch/mips/ath79/prom.c
748 @@ -180,6 +180,9 @@ void __init prom_init(void)
749                         ath79_prom_append_cmdline("board", env);
750                 }
751         }
752 +
753 +       if (strstr(arcs_cmdline, "board=750Gr3"))
754 +               ath79_prom_append_cmdline("console", "ttyS0,115200");
755  }
756  
757  void __init prom_free_prom_memory(void)