01d99d84b66ca67a71c953976f02ce0a52a3f483
[openwrt/openwrt.git] / target / linux / brcm63xx / patches-4.4 / 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/init.h>
5 #include <linux/kernel.h>
6 #include <linux/string.h>
7 +#include <linux/pci_ids.h>
8 #include <linux/platform_device.h>
9 #include <linux/rtl8367.h>
10 #include <asm/addrspace.h>
11 @@ -1479,6 +1480,95 @@ static struct board_info __initdata boar
12 },
13 };
14
15 +static struct board_info __initdata board_HW556_C = {
16 + .name = "HW556_C",
17 + .expected_cpu_id = 0x6358,
18 +
19 + .has_uart0 = 1,
20 + .has_pci = 1,
21 + .has_ohci0 = 1,
22 + .has_ehci0 = 1,
23 + .num_usbh_ports = 2,
24 +
25 + .has_caldata = 1,
26 + .caldata = {
27 + {
28 + .vendor = PCI_VENDOR_ID_RALINK,
29 + .caldata_offset = 0xeffe00,
30 + .slot = 1,
31 + .eeprom = "rt2x00.eeprom",
32 + },
33 + },
34 +
35 + .has_enet1 = 1,
36 + .enet1 = {
37 + .has_phy = 1,
38 + .phy_id = 0,
39 + .force_speed_100 = 1,
40 + .force_duplex_full = 1,
41 + },
42 +};
43 +static struct board_info __initdata board_HW556_A = {
44 + .name = "HW556_A",
45 + .expected_cpu_id = 0x6358,
46 +
47 + .has_uart0 = 1,
48 + .has_pci = 1,
49 + .has_ohci0 = 1,
50 + .has_ehci0 = 1,
51 + .num_usbh_ports = 2,
52 +
53 + .has_caldata = 1,
54 + .caldata = {
55 + {
56 + .vendor = PCI_VENDOR_ID_ATHEROS,
57 + .caldata_offset = 0xf7e000,
58 + .slot = 1,
59 + .endian_check = 1,
60 + .led_pin = 2,
61 + .led_active_high = 1,
62 + },
63 + },
64 +
65 + .has_enet1 = 1,
66 + .enet1 = {
67 + .has_phy = 1,
68 + .phy_id = 0,
69 + .force_speed_100 = 1,
70 + .force_duplex_full = 1,
71 + },
72 +};
73 +static struct board_info __initdata board_HW556_B = {
74 + .name = "HW556_B",
75 + .expected_cpu_id = 0x6358,
76 +
77 + .has_uart0 = 1,
78 + .has_pci = 1,
79 + .has_ohci0 = 1,
80 + .has_ehci0 = 1,
81 + .num_usbh_ports = 2,
82 +
83 + .has_caldata = 1,
84 + .caldata = {
85 + {
86 + .vendor = PCI_VENDOR_ID_ATHEROS,
87 + .caldata_offset = 0xefe000,
88 + .slot = 1,
89 + .endian_check = 1,
90 + .led_pin = 2,
91 + .led_active_high = 1,
92 + },
93 + },
94 +
95 + .has_enet1 = 1,
96 + .enet1 = {
97 + .has_phy = 1,
98 + .phy_id = 0,
99 + .force_speed_100 = 1,
100 + .force_duplex_full = 1,
101 + },
102 +};
103 +
104 /* T-Home Speedport W 303V Typ B */
105 static struct board_info __initdata board_spw303v = {
106 .name = "96358-502V",
107 @@ -1740,6 +1830,9 @@ static const struct board_info __initcon
108 &board_nb4_fxc_r1,
109 &board_ct6373_1,
110 &board_HW553,
111 + &board_HW556_A,
112 + &board_HW556_B,
113 + &board_HW556_C,
114 &board_spw303v,
115 &board_DVAG3810BN,
116 #endif
117 @@ -1812,6 +1905,9 @@ static struct of_device_id const bcm963x
118 { .compatible = "d-link,dsl-2650u", .data = &board_96358vw2, },
119 { .compatible = "d-link,dva-g3810bn/tl", .data = &board_DVAG3810BN, },
120 { .compatible = "huawei,hg553", .data = &board_HW553, },
121 + { .compatible = "huawei,hg556a-a", .data = &board_HW556_A, },
122 + { .compatible = "huawei,hg556a-b", .data = &board_HW556_B, },
123 + { .compatible = "huawei,hg556a-c", .data = &board_HW556_C, },
124 { .compatible = "pirelli,a226g", .data = &board_DWVS0, },
125 { .compatible = "pirelli,a226m", .data = &board_DWVS0, },
126 { .compatible = "pirelli,a226m-fwb", .data = &board_DWVS0, },