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