bcm63xx: switch to Kernel 5.15 by default
[openwrt/staging/noltari.git] / target / linux / bcm63xx / patches-5.10 / 511-board_bcm6318.patch
1 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
2 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
3 @@ -44,6 +44,263 @@ static struct board_info __initdata boar
4 #endif /* CONFIG_BCM63XX_CPU_3368 */
5
6 /*
7 + * known 6318 boards
8 + */
9 +#ifdef CONFIG_BCM63XX_CPU_6318
10 +static struct board_info __initdata board_96318ref = {
11 + .name = "96318REF",
12 + .expected_cpu_id = 0x6318,
13 +
14 + .has_pci = 1,
15 + .has_ohci0 = 1,
16 + .has_ehci0 = 1,
17 + .num_usbh_ports = 1,
18 +
19 + .has_usbd = 1,
20 + .usbd = {
21 + .use_fullspeed = 0,
22 + .port_no = 0,
23 + },
24 +
25 + .has_enetsw = 1,
26 + .enetsw = {
27 + .used_ports = {
28 + [0] = {
29 + .used = 1,
30 + .phy_id = 1,
31 + .name = "Port 1",
32 + },
33 + [1] = {
34 + .used = 1,
35 + .phy_id = 2,
36 + .name = "Port 2",
37 + },
38 + [2] = {
39 + .used = 1,
40 + .phy_id = 3,
41 + .name = "Port 3",
42 + },
43 + [3] = {
44 + .used = 1,
45 + .phy_id = 4,
46 + .name = "Port 4",
47 + },
48 + },
49 + },
50 +};
51 +
52 +static struct board_info __initdata board_96318ref_p300 = {
53 + .name = "96318REF_P300",
54 + .expected_cpu_id = 0x6318,
55 +
56 + .has_pci = 1,
57 + .has_ohci0 = 1,
58 + .has_ehci0 = 1,
59 + .num_usbh_ports = 1,
60 +
61 + .has_usbd = 1,
62 + .usbd = {
63 + .use_fullspeed = 0,
64 + .port_no = 0,
65 + },
66 +
67 + .has_enetsw = 1,
68 + .enetsw = {
69 + .used_ports = {
70 + [0] = {
71 + .used = 1,
72 + .phy_id = 1,
73 + .name = "Port 1",
74 + },
75 + [1] = {
76 + .used = 1,
77 + .phy_id = 2,
78 + .name = "Port 2",
79 + },
80 + [2] = {
81 + .used = 1,
82 + .phy_id = 3,
83 + .name = "Port 3",
84 + },
85 + [3] = {
86 + .used = 1,
87 + .phy_id = 4,
88 + .name = "Port 4",
89 + },
90 + },
91 + },
92 +};
93 +
94 +static struct sprom_fixup __initdata ar5315u_fixups[] = {
95 + { .offset = 6, .value = 0x1c00 },
96 + { .offset = 65, .value = 0x1255 },
97 + { .offset = 97, .value = 0xfe55 },
98 + { .offset = 98, .value = 0x171d },
99 + { .offset = 99, .value = 0xfa42 },
100 + { .offset = 113, .value = 0xfeb7 },
101 + { .offset = 114, .value = 0x18cd },
102 + { .offset = 115, .value = 0xfa4f },
103 + { .offset = 162, .value = 0x6444 },
104 + { .offset = 170, .value = 0x6444 },
105 + { .offset = 172, .value = 0x6444 },
106 +};
107 +
108 +static struct board_info __initdata board_AR5315u = {
109 + .name = "96318A-1441N1",
110 + .expected_cpu_id = 0x6318,
111 +
112 + .has_pci = 1,
113 + .has_ohci0 = 1,
114 + .has_ehci0 = 1,
115 + .num_usbh_ports = 1,
116 +
117 + .has_enetsw = 1,
118 + .enetsw = {
119 + .used_ports = {
120 + [0] = {
121 + .used = 1,
122 + .phy_id = 1,
123 + .name = "LAN4",
124 + },
125 + [1] = {
126 + .used = 1,
127 + .phy_id = 2,
128 + .name = "LAN3",
129 + },
130 + [2] = {
131 + .used = 1,
132 + .phy_id = 3,
133 + .name = "LAN2",
134 + },
135 + [3] = {
136 + .used = 1,
137 + .phy_id = 4,
138 + .name = "LAN1",
139 + },
140 + },
141 + },
142 +
143 + .use_fallback_sprom = 1,
144 + .fallback_sprom = {
145 + .type = SPROM_BCM43217,
146 + .pci_bus = 1,
147 + .pci_dev = 0,
148 + .board_fixups = ar5315u_fixups,
149 + .num_board_fixups = ARRAY_SIZE(ar5315u_fixups),
150 + },
151 +};
152 +
153 +static struct sprom_fixup __initdata dsl2751b_e1_fixups[] = {
154 + { .offset = 96, .value = 0x2046 },
155 + { .offset = 97, .value = 0xfe9d },
156 + { .offset = 98, .value = 0x1854 },
157 + { .offset = 99, .value = 0xfa59 },
158 + { .offset = 112, .value = 0x2046 },
159 + { .offset = 113, .value = 0xfe79 },
160 + { .offset = 114, .value = 0x17f5 },
161 + { .offset = 115, .value = 0xfa47 },
162 + { .offset = 161, .value = 0x2222 },
163 + { .offset = 162, .value = 0x2222 },
164 + { .offset = 169, .value = 0x2222 },
165 + { .offset = 170, .value = 0x2222 },
166 + { .offset = 171, .value = 0x5555 },
167 + { .offset = 172, .value = 0x5555 },
168 + { .offset = 173, .value = 0x4444 },
169 + { .offset = 174, .value = 0x4444 },
170 + { .offset = 175, .value = 0x5555 },
171 + { .offset = 176, .value = 0x5555 },
172 +};
173 +
174 +static struct board_info __initdata board_dsl_2751b_d1 = {
175 + .name = "AW5200B",
176 + .expected_cpu_id = 0x6318,
177 +
178 + .has_pci = 1,
179 + .has_ohci0 = 1,
180 + .has_ehci0 = 1,
181 + .num_usbh_ports = 1,
182 +
183 + .has_enetsw = 1,
184 + .enetsw = {
185 + .used_ports = {
186 + [0] = {
187 + .used = 1,
188 + .phy_id = 1,
189 + .name = "Port 1",
190 + },
191 + [1] = {
192 + .used = 1,
193 + .phy_id = 2,
194 + .name = "Port 2",
195 + },
196 + [2] = {
197 + .used = 1,
198 + .phy_id = 3,
199 + .name = "Port 3",
200 + },
201 + [3] = {
202 + .used = 1,
203 + .phy_id = 4,
204 + .name = "Port 4",
205 + },
206 + },
207 + },
208 +
209 + .use_fallback_sprom = 1,
210 + .fallback_sprom = {
211 + .type = SPROM_BCM43217,
212 + .pci_bus = 1,
213 + .pci_dev = 0,
214 + .board_fixups = dsl2751b_e1_fixups,
215 + .num_board_fixups = ARRAY_SIZE(dsl2751b_e1_fixups),
216 + },
217 +};
218 +
219 +static struct board_info __initdata board_FAST2704N = {
220 + .name = "F@ST2704N",
221 + .expected_cpu_id = 0x6318,
222 +
223 + .has_pci = 1,
224 + .has_ohci0 = 1,
225 + .has_ehci0 = 1,
226 + .num_usbh_ports = 1,
227 +
228 + .has_enetsw = 1,
229 + .enetsw = {
230 + .used_ports = {
231 + [0] = {
232 + .used = 1,
233 + .phy_id = 1,
234 + .name = "Port 1",
235 + },
236 + [1] = {
237 + .used = 1,
238 + .phy_id = 2,
239 + .name = "Port 2",
240 + },
241 + [2] = {
242 + .used = 1,
243 + .phy_id = 3,
244 + .name = "Port 3",
245 + },
246 + [3] = {
247 + .used = 1,
248 + .phy_id = 4,
249 + .name = "Port 4",
250 + },
251 + },
252 + },
253 +
254 + .use_fallback_sprom = 1,
255 + .fallback_sprom = {
256 + .type = SPROM_BCM43217,
257 + .pci_bus = 1,
258 + .pci_dev = 0,
259 + },
260 +};
261 +#endif /* CONFIG_BCM63XX_CPU_6318 */
262 +
263 +/*
264 * known 6328 boards
265 */
266 #ifdef CONFIG_BCM63XX_CPU_6328
267 @@ -423,6 +680,13 @@ static const struct board_info __initcon
268 #ifdef CONFIG_BCM63XX_CPU_3368
269 &board_cvg834g,
270 #endif /* CONFIG_BCM63XX_CPU_3368 */
271 +#ifdef CONFIG_BCM63XX_CPU_6318
272 + &board_96318ref,
273 + &board_96318ref_p300,
274 + &board_AR5315u,
275 + &board_dsl_2751b_d1,
276 + &board_FAST2704N,
277 +#endif /* CONFIG_BCM63XX_CPU_6318 */
278 #ifdef CONFIG_BCM63XX_CPU_6328
279 &board_96328avng,
280 #endif /* CONFIG_BCM63XX_CPU_6328 */
281 @@ -457,6 +721,11 @@ static struct of_device_id const bcm963x
282 { .compatible = "netgear,cvg834g", .data = &board_cvg834g, },
283 #endif /* CONFIG_BCM63XX_CPU_3368 */
284 #ifdef CONFIG_BCM63XX_CPU_6318
285 + { .compatible = "brcm,bcm96318ref", .data = &board_96318ref, },
286 + { .compatible = "brcm,bcm96318ref-p300", .data = &board_96318ref_p300, },
287 + { .compatible = "comtrend,ar-5315u", .data = &board_AR5315u, },
288 + { .compatible = "d-link,dsl-275xb-d1", .data = &board_dsl_2751b_d1, },
289 + { .compatible = "sagem,fast-2704n", .data = &board_FAST2704N, },
290 #endif /* CONFIG_BCM63XX_CPU_6318 */
291 #ifdef CONFIG_BCM63XX_CPU_6328
292 { .compatible = "brcm,bcm96328avng", .data = &board_96328avng, },