brcm63xx: Add DT support for A4001N1
[openwrt/openwrt.git] / target / linux / brcm63xx / patches-3.14 / 534-board_hw556.patch
1 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
2 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
3 @@ -12,6 +12,7 @@
4 #include <linux/string.h>
5 #include <linux/gpio_keys.h>
6 #include <linux/input.h>
7 +#include <linux/pci_ids.h>
8 #include <linux/platform_device.h>
9 #include <linux/spi/spi.h>
10 #include <linux/spi/spi_gpio.h>
11 @@ -2679,6 +2680,405 @@ static struct board_info __initdata boar
12 },
13 };
14
15 +static struct board_info __initdata board_HW556_C = {
16 + .name = "HW556_C",
17 + .of_board_id = "huawei,hg556a-c",
18 + .expected_cpu_id = 0x6358,
19 +
20 + .has_uart0 = 1,
21 + .has_pci = 1,
22 + .has_ohci0 = 1,
23 + .has_ehci0 = 1,
24 + .num_usbh_ports = 2,
25 +
26 + .has_caldata = 1,
27 + .caldata = {
28 + {
29 + .vendor = PCI_VENDOR_ID_RALINK,
30 + .caldata_offset = 0xeffe00,
31 + .slot = 1,
32 + .eeprom = "rt2x00.eeprom",
33 + },
34 + },
35 +
36 + .has_enet1 = 1,
37 + .enet1 = {
38 + .has_phy = 1,
39 + .phy_id = 0,
40 + .force_speed_100 = 1,
41 + .force_duplex_full = 1,
42 + },
43 +
44 + .leds = {
45 + {
46 + .name = "HW556:green:lan1",
47 + .gpio = 0,
48 + .active_low = 1,
49 + },
50 + {
51 + .name = "HW556:green:lan2",
52 + .gpio = 1,
53 + .active_low = 1,
54 + },
55 + {
56 + .name = "HW556:red:dsl",
57 + .gpio = 2,
58 + .active_low = 1,
59 + },
60 + {
61 + .name = "HW556:red:power",
62 + .gpio = 3,
63 + .active_low = 1,
64 + .default_trigger = "default-on",
65 + },
66 + {
67 + .name = "HW556:red:message",
68 + .gpio = 12,
69 + .active_low = 1,
70 + },
71 + {
72 + .name = "HW556:red:lan1",
73 + .gpio = 13,
74 + .active_low = 1,
75 + },
76 + {
77 + .name = "HW556:red:hspa",
78 + .gpio = 15,
79 + .active_low = 1,
80 + },
81 + {
82 + .name = "HW556:red:lan2",
83 + .gpio = 22,
84 + .active_low = 1,
85 + },
86 + {
87 + .name = "HW556:green:lan3",
88 + .gpio = 23,
89 + .active_low = 1,
90 + },
91 + {
92 + .name = "HW556:red:lan3",
93 + .gpio = 26,
94 + .active_low = 1,
95 + },
96 + {
97 + .name = "HW556:green:lan4",
98 + .gpio = 27,
99 + .active_low = 1,
100 + },
101 + {
102 + .name = "HW556:red:lan4",
103 + .gpio = 28,
104 + .active_low = 1,
105 + },
106 + },
107 +
108 + .buttons = {
109 + {
110 + .desc = "help",
111 + .gpio = 8,
112 + .active_low = 1,
113 + .type = EV_KEY,
114 + .code = KEY_HELP,
115 + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
116 + },
117 + {
118 + .desc = "wlan",
119 + .gpio = 9,
120 + .active_low = 1,
121 + .type = EV_KEY,
122 + .code = KEY_WLAN,
123 + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
124 + },
125 + {
126 + .desc = "restart",
127 + .gpio = 10,
128 + .active_low = 1,
129 + .type = EV_KEY,
130 + .code = KEY_RESTART,
131 + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
132 + },
133 + {
134 + .desc = "reset",
135 + .gpio = 11,
136 + .active_low = 1,
137 + .type = EV_KEY,
138 + .code = KEY_CONFIG,
139 + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
140 + },
141 + },
142 +};
143 +static struct board_info __initdata board_HW556_A = {
144 + .name = "HW556_A",
145 + .of_board_id = "huawei,hg556a-a",
146 + .expected_cpu_id = 0x6358,
147 +
148 + .has_uart0 = 1,
149 + .has_pci = 1,
150 + .has_ohci0 = 1,
151 + .has_ehci0 = 1,
152 + .num_usbh_ports = 2,
153 +
154 + .has_caldata = 1,
155 + .caldata = {
156 + {
157 + .vendor = PCI_VENDOR_ID_ATHEROS,
158 + .caldata_offset = 0xf7e000,
159 + .slot = 1,
160 + .endian_check = 1,
161 + .led_pin = 2,
162 + },
163 + },
164 +
165 + .has_enet1 = 1,
166 + .enet1 = {
167 + .has_phy = 1,
168 + .phy_id = 0,
169 + .force_speed_100 = 1,
170 + .force_duplex_full = 1,
171 + },
172 +
173 + .leds = {
174 + {
175 + .name = "HW556:red:message",
176 + .gpio = 0,
177 + .active_low = 1,
178 + },
179 + {
180 + .name = "HW556:red:hspa",
181 + .gpio = 1,
182 + .active_low = 1,
183 + },
184 + {
185 + .name = "HW556:red:dsl",
186 + .gpio = 2,
187 + .active_low = 1,
188 + },
189 + {
190 + .name = "HW556:red:power",
191 + .gpio = 3,
192 + .active_low = 1,
193 + .default_trigger = "default-on",
194 + },
195 + {
196 + .name = "HW556:red:all",
197 + .gpio = 6,
198 + .active_low = 1,
199 + .default_trigger = "default-on",
200 + },
201 + {
202 + .name = "HW556:green:lan1",
203 + .gpio = 12,
204 + .active_low = 1,
205 + },
206 + {
207 + .name = "HW556:red:lan1",
208 + .gpio = 13,
209 + .active_low = 1,
210 + },
211 + {
212 + .name = "HW556:green:lan2",
213 + .gpio = 15,
214 + .active_low = 1,
215 + },
216 + {
217 + .name = "HW556:red:lan2",
218 + .gpio = 22,
219 + .active_low = 1,
220 + },
221 + {
222 + .name = "HW556:green:lan3",
223 + .gpio = 23,
224 + .active_low = 1,
225 + },
226 + {
227 + .name = "HW556:red:lan3",
228 + .gpio = 26,
229 + .active_low = 1,
230 + },
231 + {
232 + .name = "HW556:green:lan4",
233 + .gpio = 27,
234 + .active_low = 1,
235 + },
236 + {
237 + .name = "HW556:red:lan4",
238 + .gpio = 28,
239 + .active_low = 1,
240 + },
241 + },
242 +
243 + .buttons = {
244 + {
245 + .desc = "help",
246 + .gpio = 8,
247 + .active_low = 1,
248 + .type = EV_KEY,
249 + .code = KEY_HELP,
250 + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
251 + },
252 + {
253 + .desc = "wlan",
254 + .gpio = 9,
255 + .active_low = 1,
256 + .type = EV_KEY,
257 + .code = KEY_WLAN,
258 + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
259 + },
260 + {
261 + .desc = "restart",
262 + .gpio = 10,
263 + .active_low = 1,
264 + .type = EV_KEY,
265 + .code = KEY_RESTART,
266 + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
267 + },
268 + {
269 + .desc = "reset",
270 + .gpio = 11,
271 + .active_low = 1,
272 + .type = EV_KEY,
273 + .code = KEY_CONFIG,
274 + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
275 + },
276 + },
277 +};
278 +static struct board_info __initdata board_HW556_B = {
279 + .name = "HW556_B",
280 + .of_board_id = "huawei,hg556a-b",
281 + .expected_cpu_id = 0x6358,
282 +
283 + .has_uart0 = 1,
284 + .has_pci = 1,
285 + .has_ohci0 = 1,
286 + .has_ehci0 = 1,
287 + .num_usbh_ports = 2,
288 +
289 + .has_caldata = 1,
290 + .caldata = {
291 + {
292 + .vendor = PCI_VENDOR_ID_ATHEROS,
293 + .caldata_offset = 0xefe000,
294 + .slot = 1,
295 + .endian_check = 1,
296 + .led_pin = 2,
297 + },
298 + },
299 +
300 + .has_enet1 = 1,
301 + .enet1 = {
302 + .has_phy = 1,
303 + .phy_id = 0,
304 + .force_speed_100 = 1,
305 + .force_duplex_full = 1,
306 + },
307 +
308 + .leds = {
309 + {
310 + .name = "HW556:red:message",
311 + .gpio = 0,
312 + .active_low = 1,
313 + },
314 + {
315 + .name = "HW556:red:hspa",
316 + .gpio = 1,
317 + .active_low = 1,
318 + },
319 + {
320 + .name = "HW556:red:dsl",
321 + .gpio = 2,
322 + .active_low = 1,
323 + },
324 + {
325 + .name = "HW556:red:power",
326 + .gpio = 3,
327 + .active_low = 1,
328 + .default_trigger = "default-on",
329 + },
330 + {
331 + .name = "HW556:red:all",
332 + .gpio = 6,
333 + .active_low = 1,
334 + .default_trigger = "default-on",
335 + },
336 + {
337 + .name = "HW556:green:lan1",
338 + .gpio = 12,
339 + .active_low = 1,
340 + },
341 + {
342 + .name = "HW556:red:lan1",
343 + .gpio = 13,
344 + .active_low = 1,
345 + },
346 + {
347 + .name = "HW556:green:lan2",
348 + .gpio = 15,
349 + .active_low = 1,
350 + },
351 + {
352 + .name = "HW556:red:lan2",
353 + .gpio = 22,
354 + .active_low = 1,
355 + },
356 + {
357 + .name = "HW556:green:lan3",
358 + .gpio = 23,
359 + .active_low = 1,
360 + },
361 + {
362 + .name = "HW556:red:lan3",
363 + .gpio = 26,
364 + .active_low = 1,
365 + },
366 + {
367 + .name = "HW556:green:lan4",
368 + .gpio = 27,
369 + .active_low = 1,
370 + },
371 + {
372 + .name = "HW556:red:lan4",
373 + .gpio = 28,
374 + .active_low = 1,
375 + },
376 + },
377 +
378 + .buttons = {
379 + {
380 + .desc = "help",
381 + .gpio = 8,
382 + .active_low = 1,
383 + .type = EV_KEY,
384 + .code = KEY_HELP,
385 + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
386 + },
387 + {
388 + .desc = "wlan",
389 + .gpio = 9,
390 + .active_low = 1,
391 + .type = EV_KEY,
392 + .code = KEY_WLAN,
393 + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
394 + },
395 + {
396 + .desc = "restart",
397 + .gpio = 10,
398 + .active_low = 1,
399 + .type = EV_KEY,
400 + .code = KEY_RESTART,
401 + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
402 + },
403 + {
404 + .desc = "reset",
405 + .gpio = 11,
406 + .active_low = 1,
407 + .type = EV_KEY,
408 + .code = KEY_CONFIG,
409 + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
410 + },
411 + },
412 +};
413 +
414 /* T-Home Speedport W 303V Typ B */
415 static struct board_info __initdata board_spw303v = {
416 .name = "96358-502V",
417 @@ -3117,6 +3517,9 @@ static const struct board_info __initcon
418 &board_nb4_fxc_r1,
419 &board_ct6373_1,
420 &board_HW553,
421 + &board_HW556_A,
422 + &board_HW556_B,
423 + &board_HW556_C,
424 &board_spw303v,
425 &board_DVAG3810BN,
426 #endif