1 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
2 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
3 @@ -348,6 +348,482 @@ static struct board_info __initdata boar
8 +static struct board_info __initdata board_963281TAN = {
10 + .expected_cpu_id = 0x6328,
41 +static struct board_info __initdata board_A4001N = {
42 + .name = "96328dg2x2",
43 + .expected_cpu_id = 0x6328,
48 + .num_usbh_ports = 1,
76 + .use_fallback_sprom = 1,
78 + .type = SPROM_BCM43225,
84 +static struct board_info __initdata board_A4001N1 = {
85 + .name = "963281T_TEF",
86 + .expected_cpu_id = 0x6328,
91 + .num_usbh_ports = 1,
119 + .use_fallback_sprom = 1,
120 + .fallback_sprom = {
121 + .type = SPROM_BCM43225,
127 +static struct sprom_fixup __initdata ad1018_fixups[] = {
128 + { .offset = 6, .value = 0x1c00 },
129 + { .offset = 65, .value = 0x1256 },
130 + { .offset = 96, .value = 0x2046 },
131 + { .offset = 97, .value = 0xfe69 },
132 + { .offset = 98, .value = 0x1726 },
133 + { .offset = 99, .value = 0xfa5c },
134 + { .offset = 112, .value = 0x2046 },
135 + { .offset = 113, .value = 0xfea8 },
136 + { .offset = 114, .value = 0x1978 },
137 + { .offset = 115, .value = 0xfa26 },
138 + { .offset = 161, .value = 0x2222 },
139 + { .offset = 169, .value = 0x2222 },
140 + { .offset = 171, .value = 0x2222 },
141 + { .offset = 173, .value = 0x2222 },
142 + { .offset = 174, .value = 0x4444 },
143 + { .offset = 175, .value = 0x2222 },
144 + { .offset = 176, .value = 0x4444 },
147 +static struct board_info __initdata board_AD1018 = {
148 + .name = "96328avngr",
149 + .expected_cpu_id = 0x6328,
154 + .num_usbh_ports = 1,
182 + .use_fallback_sprom = 1,
183 + .fallback_sprom = {
184 + .type = SPROM_BCM43217,
187 + .board_fixups = ad1018_fixups,
188 + .num_board_fixups = ARRAY_SIZE(ad1018_fixups),
192 +static struct sprom_fixup __initdata ar5381u_fixups[] = {
193 + { .offset = 97, .value = 0xfee5 },
194 + { .offset = 98, .value = 0x157c },
195 + { .offset = 99, .value = 0xfae7 },
196 + { .offset = 113, .value = 0xfefa },
197 + { .offset = 114, .value = 0x15d6 },
198 + { .offset = 115, .value = 0xfaf8 },
201 +static struct board_info __initdata board_AR5381u = {
202 + .name = "96328A-1241N",
203 + .expected_cpu_id = 0x6328,
208 + .num_usbh_ports = 1,
236 + .use_fallback_sprom = 1,
237 + .fallback_sprom = {
238 + .type = SPROM_BCM43225,
241 + .board_fixups = ar5381u_fixups,
242 + .num_board_fixups = ARRAY_SIZE(ar5381u_fixups),
246 +static struct sprom_fixup __initdata ar5387un_fixups[] = {
247 + { .offset = 2, .value = 0x05bb },
248 + { .offset = 65, .value = 0x1204 },
249 + { .offset = 78, .value = 0x0303 },
250 + { .offset = 79, .value = 0x0202 },
251 + { .offset = 80, .value = 0xff02 },
252 + { .offset = 87, .value = 0x0315 },
253 + { .offset = 88, .value = 0x0315 },
254 + { .offset = 96, .value = 0x2048 },
255 + { .offset = 97, .value = 0xff11 },
256 + { .offset = 98, .value = 0x1567 },
257 + { .offset = 99, .value = 0xfb24 },
258 + { .offset = 100, .value = 0x3e3c },
259 + { .offset = 101, .value = 0x4038 },
260 + { .offset = 102, .value = 0xfe7f },
261 + { .offset = 103, .value = 0x1279 },
262 + { .offset = 112, .value = 0x2048 },
263 + { .offset = 113, .value = 0xff03 },
264 + { .offset = 114, .value = 0x154c },
265 + { .offset = 115, .value = 0xfb27 },
266 + { .offset = 116, .value = 0x3e3c },
267 + { .offset = 117, .value = 0x4038 },
268 + { .offset = 118, .value = 0xfe87 },
269 + { .offset = 119, .value = 0x1233 },
270 + { .offset = 203, .value = 0x2226 },
273 +static struct board_info __initdata board_AR5387un = {
274 + .name = "96328A-1441N1",
275 + .expected_cpu_id = 0x6328,
280 + .num_usbh_ports = 1,
308 + .use_fallback_sprom = 1,
309 + .fallback_sprom = {
310 + .type = SPROM_BCM43225,
313 + .board_fixups = ar5387un_fixups,
314 + .num_board_fixups = ARRAY_SIZE(ar5387un_fixups),
318 +static struct board_info __initdata board_dsl_274xb_f1 = {
320 + .expected_cpu_id = 0x6328,
327 + .vendor = PCI_VENDOR_ID_ATHEROS,
328 + .caldata_offset = 0x7d1000,
331 + .led_active_high = 1,
362 +static struct board_info __initdata board_FAST2704V2 = {
363 + .name = "F@ST2704V2",
364 + .expected_cpu_id = 0x6328,
398 +static struct board_info __initdata board_PDG_A4001N_A_000_1A1_AX = {
399 + .name = "96328avng",
400 + .expected_cpu_id = 0x6328,
405 + .num_usbh_ports = 1,
433 + .use_fallback_sprom = 1,
434 + .fallback_sprom = {
435 + .type = SPROM_BCM43225,
441 +static struct board_info __initdata board_R5010UNV2 = {
442 + .name = "96328ang",
443 + .expected_cpu_id = 0x6328,
448 + .num_usbh_ports = 1,
476 + .use_fallback_sprom = 1,
477 + .fallback_sprom = {
478 + .type = SPROM_BCM43217,
483 #endif /* CONFIG_BCM63XX_CPU_6328 */
486 @@ -703,6 +1179,16 @@ static const struct board_info __initcon
487 #endif /* CONFIG_BCM63XX_CPU_6318 */
488 #ifdef CONFIG_BCM63XX_CPU_6328
496 + &board_dsl_274xb_f1,
498 + &board_PDG_A4001N_A_000_1A1_AX,
500 #endif /* CONFIG_BCM63XX_CPU_6328 */
501 #ifdef CONFIG_BCM63XX_CPU_6338
503 @@ -742,7 +1228,19 @@ static struct of_device_id const bcm963x
504 { .compatible = "sagem,fast-2704n", .data = &board_FAST2704N, },
505 #endif /* CONFIG_BCM63XX_CPU_6318 */
506 #ifdef CONFIG_BCM63XX_CPU_6328
507 + { .compatible = "adb,a4001n", .data = &board_A4001N, },
508 + { .compatible = "adb,a4001n1", .data = &board_A4001N1, },
509 + { .compatible = "adb,pdg-a4001n-a-000-1a1-ax", .data = &board_PDG_A4001N_A_000_1A1_AX, },
510 { .compatible = "brcm,bcm96328avng", .data = &board_96328avng, },
511 + { .compatible = "brcm,bcm963281tan", .data = &board_963281TAN, },
512 + { .compatible = "comtrend,ar-5381u", .data = &board_AR5381u, },
513 + { .compatible = "comtrend,ar-5387un", .data = &board_AR5387un, },
514 + { .compatible = "d-link,dsl-274xb-f1", .data = &board_dsl_274xb_f1, },
515 + { .compatible = "d-link,dsl-2750u-c1", .data = &board_A4001N, },
516 + { .compatible = "nucom,r5010un-v2", .data = &board_R5010UNV2, },
517 + { .compatible = "sagem,fast-2704-v2", .data = &board_FAST2704V2, },
518 + { .compatible = "sercomm,ad1018", .data = &board_AD1018, },
519 + { .compatible = "sercomm,ad1018-nor", .data = &board_AD1018, },
520 #endif /* CONFIG_BCM63XX_CPU_6328 */
521 #ifdef CONFIG_BCM63XX_CPU_6338
522 { .compatible = "brcm,bcm96338gw", .data = &board_96338gw, },