1 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
2 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
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 @@ -2660,6 +2661,402 @@ static struct board_info __initdata boar
15 +static struct board_info __initdata board_HW556_C = {
17 + .expected_cpu_id = 0x6358,
23 + .num_usbh_ports = 2,
28 + .vendor = PCI_VENDOR_ID_RALINK,
29 + .caldata_offset = 0xeffe00,
31 + .eeprom = "rt2x00.eeprom",
39 + .force_speed_100 = 1,
40 + .force_duplex_full = 1,
45 + .name = "HW556:green:lan1",
50 + .name = "HW556:green:lan2",
55 + .name = "HW556:red:dsl",
60 + .name = "HW556:red:power",
63 + .default_trigger = "default-on",
66 + .name = "HW556:red:message",
71 + .name = "HW556:red:lan1",
76 + .name = "HW556:red:hspa",
81 + .name = "HW556:red:lan2",
86 + .name = "HW556:green:lan3",
91 + .name = "HW556:red:lan3",
96 + .name = "HW556:green:lan4",
101 + .name = "HW556:red:lan4",
114 + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
122 + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
129 + .code = KEY_RESTART,
130 + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
137 + .code = KEY_CONFIG,
138 + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
142 +static struct board_info __initdata board_HW556_A = {
144 + .expected_cpu_id = 0x6358,
150 + .num_usbh_ports = 2,
155 + .vendor = PCI_VENDOR_ID_ATHEROS,
156 + .caldata_offset = 0xf7e000,
167 + .force_speed_100 = 1,
168 + .force_duplex_full = 1,
173 + .name = "HW556:red:message",
178 + .name = "HW556:red:hspa",
183 + .name = "HW556:red:dsl",
188 + .name = "HW556:red:power",
191 + .default_trigger = "default-on",
194 + .name = "HW556:red:all",
197 + .default_trigger = "default-on",
200 + .name = "HW556:green:lan1",
205 + .name = "HW556:red:lan1",
210 + .name = "HW556:green:lan2",
215 + .name = "HW556:red:lan2",
220 + .name = "HW556:green:lan3",
225 + .name = "HW556:red:lan3",
230 + .name = "HW556:green:lan4",
235 + .name = "HW556:red:lan4",
248 + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
256 + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
263 + .code = KEY_RESTART,
264 + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
271 + .code = KEY_CONFIG,
272 + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
276 +static struct board_info __initdata board_HW556_B = {
278 + .expected_cpu_id = 0x6358,
284 + .num_usbh_ports = 2,
289 + .vendor = PCI_VENDOR_ID_ATHEROS,
290 + .caldata_offset = 0xefe000,
301 + .force_speed_100 = 1,
302 + .force_duplex_full = 1,
307 + .name = "HW556:red:message",
312 + .name = "HW556:red:hspa",
317 + .name = "HW556:red:dsl",
322 + .name = "HW556:red:power",
325 + .default_trigger = "default-on",
328 + .name = "HW556:red:all",
331 + .default_trigger = "default-on",
334 + .name = "HW556:green:lan1",
339 + .name = "HW556:red:lan1",
344 + .name = "HW556:green:lan2",
349 + .name = "HW556:red:lan2",
354 + .name = "HW556:green:lan3",
359 + .name = "HW556:red:lan3",
364 + .name = "HW556:green:lan4",
369 + .name = "HW556:red:lan4",
382 + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
390 + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
397 + .code = KEY_RESTART,
398 + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
405 + .code = KEY_CONFIG,
406 + .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
411 /* T-Home Speedport W 303V Typ B */
412 static struct board_info __initdata board_spw303v = {
413 .name = "96358-502V",
414 @@ -3096,6 +3493,9 @@ static const struct board_info __initcon
424 @@ -3162,6 +3562,9 @@ static struct of_device_id const bcm963x
425 { .compatible = "d-link,dsl-2650u", .data = &board_96358vw2, },
426 { .compatible = "d-link,dva-g3810bn/tl", .data = &board_DVAG3810BN, },
427 { .compatible = "huawei,hg553", .data = &board_HW553, },
428 + { .compatible = "huawei,hg556a-a", .data = &board_HW556_A, },
429 + { .compatible = "huawei,hg556a-b", .data = &board_HW556_B, },
430 + { .compatible = "huawei,hg556a-c", .data = &board_HW556_C, },
431 { .compatible = "pirelli,a226g", .data = &board_DWVS0, },
432 { .compatible = "pirelli,a226m", .data = &board_DWVS0, },
433 { .compatible = "pirelli,a226m-fwb", .data = &board_DWVS0, },