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