| --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c |
| +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c |
| @@ -49,6 +49,263 @@ static struct board_info __initdata boar |
| #endif /* CONFIG_BCM63XX_CPU_3368 */ |
| |
| /* |
| + * known 6318 boards |
| + */ |
| +#ifdef CONFIG_BCM63XX_CPU_6318 |
| +static struct board_info __initdata board_96318ref = { |
| + .name = "96318REF", |
| + .expected_cpu_id = 0x6318, |
| + |
| + .has_pci = 1, |
| + .has_ohci0 = 1, |
| + .has_ehci0 = 1, |
| + .num_usbh_ports = 1, |
| + |
| + .has_usbd = 1, |
| + .usbd = { |
| + .use_fullspeed = 0, |
| + .port_no = 0, |
| + }, |
| + |
| + .has_enetsw = 1, |
| + .enetsw = { |
| + .used_ports = { |
| + [0] = { |
| + .used = 1, |
| + .phy_id = 1, |
| + .name = "Port 1", |
| + }, |
| + [1] = { |
| + .used = 1, |
| + .phy_id = 2, |
| + .name = "Port 2", |
| + }, |
| + [2] = { |
| + .used = 1, |
| + .phy_id = 3, |
| + .name = "Port 3", |
| + }, |
| + [3] = { |
| + .used = 1, |
| + .phy_id = 4, |
| + .name = "Port 4", |
| + }, |
| + }, |
| + }, |
| +}; |
| + |
| +static struct board_info __initdata board_96318ref_p300 = { |
| + .name = "96318REF_P300", |
| + .expected_cpu_id = 0x6318, |
| + |
| + .has_pci = 1, |
| + .has_ohci0 = 1, |
| + .has_ehci0 = 1, |
| + .num_usbh_ports = 1, |
| + |
| + .has_usbd = 1, |
| + .usbd = { |
| + .use_fullspeed = 0, |
| + .port_no = 0, |
| + }, |
| + |
| + .has_enetsw = 1, |
| + .enetsw = { |
| + .used_ports = { |
| + [0] = { |
| + .used = 1, |
| + .phy_id = 1, |
| + .name = "Port 1", |
| + }, |
| + [1] = { |
| + .used = 1, |
| + .phy_id = 2, |
| + .name = "Port 2", |
| + }, |
| + [2] = { |
| + .used = 1, |
| + .phy_id = 3, |
| + .name = "Port 3", |
| + }, |
| + [3] = { |
| + .used = 1, |
| + .phy_id = 4, |
| + .name = "Port 4", |
| + }, |
| + }, |
| + }, |
| +}; |
| + |
| +static struct sprom_fixup __initdata ar5315u_fixups[] = { |
| + { .offset = 6, .value = 0x1c00 }, |
| + { .offset = 65, .value = 0x1255 }, |
| + { .offset = 97, .value = 0xfe55 }, |
| + { .offset = 98, .value = 0x171d }, |
| + { .offset = 99, .value = 0xfa42 }, |
| + { .offset = 113, .value = 0xfeb7 }, |
| + { .offset = 114, .value = 0x18cd }, |
| + { .offset = 115, .value = 0xfa4f }, |
| + { .offset = 162, .value = 0x6444 }, |
| + { .offset = 170, .value = 0x6444 }, |
| + { .offset = 172, .value = 0x6444 }, |
| +}; |
| + |
| +static struct board_info __initdata board_AR5315u = { |
| + .name = "96318A-1441N1", |
| + .expected_cpu_id = 0x6318, |
| + |
| + .has_pci = 1, |
| + .has_ohci0 = 1, |
| + .has_ehci0 = 1, |
| + .num_usbh_ports = 1, |
| + |
| + .has_enetsw = 1, |
| + .enetsw = { |
| + .used_ports = { |
| + [0] = { |
| + .used = 1, |
| + .phy_id = 1, |
| + .name = "LAN4", |
| + }, |
| + [1] = { |
| + .used = 1, |
| + .phy_id = 2, |
| + .name = "LAN3", |
| + }, |
| + [2] = { |
| + .used = 1, |
| + .phy_id = 3, |
| + .name = "LAN2", |
| + }, |
| + [3] = { |
| + .used = 1, |
| + .phy_id = 4, |
| + .name = "LAN1", |
| + }, |
| + }, |
| + }, |
| + |
| + .use_fallback_sprom = 1, |
| + .fallback_sprom = { |
| + .type = SPROM_BCM43217, |
| + .pci_bus = 1, |
| + .pci_dev = 0, |
| + .board_fixups = ar5315u_fixups, |
| + .num_board_fixups = ARRAY_SIZE(ar5315u_fixups), |
| + }, |
| +}; |
| + |
| +static struct sprom_fixup __initdata dsl2751b_e1_fixups[] = { |
| + { .offset = 96, .value = 0x2046 }, |
| + { .offset = 97, .value = 0xfe9d }, |
| + { .offset = 98, .value = 0x1854 }, |
| + { .offset = 99, .value = 0xfa59 }, |
| + { .offset = 112, .value = 0x2046 }, |
| + { .offset = 113, .value = 0xfe79 }, |
| + { .offset = 114, .value = 0x17f5 }, |
| + { .offset = 115, .value = 0xfa47 }, |
| + { .offset = 161, .value = 0x2222 }, |
| + { .offset = 162, .value = 0x2222 }, |
| + { .offset = 169, .value = 0x2222 }, |
| + { .offset = 170, .value = 0x2222 }, |
| + { .offset = 171, .value = 0x5555 }, |
| + { .offset = 172, .value = 0x5555 }, |
| + { .offset = 173, .value = 0x4444 }, |
| + { .offset = 174, .value = 0x4444 }, |
| + { .offset = 175, .value = 0x5555 }, |
| + { .offset = 176, .value = 0x5555 }, |
| +}; |
| + |
| +static struct board_info __initdata board_dsl_2751b_d1 = { |
| + .name = "AW5200B", |
| + .expected_cpu_id = 0x6318, |
| + |
| + .has_pci = 1, |
| + .has_ohci0 = 1, |
| + .has_ehci0 = 1, |
| + .num_usbh_ports = 1, |
| + |
| + .has_enetsw = 1, |
| + .enetsw = { |
| + .used_ports = { |
| + [0] = { |
| + .used = 1, |
| + .phy_id = 1, |
| + .name = "Port 1", |
| + }, |
| + [1] = { |
| + .used = 1, |
| + .phy_id = 2, |
| + .name = "Port 2", |
| + }, |
| + [2] = { |
| + .used = 1, |
| + .phy_id = 3, |
| + .name = "Port 3", |
| + }, |
| + [3] = { |
| + .used = 1, |
| + .phy_id = 4, |
| + .name = "Port 4", |
| + }, |
| + }, |
| + }, |
| + |
| + .use_fallback_sprom = 1, |
| + .fallback_sprom = { |
| + .type = SPROM_BCM43217, |
| + .pci_bus = 1, |
| + .pci_dev = 0, |
| + .board_fixups = dsl2751b_e1_fixups, |
| + .num_board_fixups = ARRAY_SIZE(dsl2751b_e1_fixups), |
| + }, |
| +}; |
| + |
| +static struct board_info __initdata board_FAST2704N = { |
| + .name = "F@ST2704N", |
| + .expected_cpu_id = 0x6318, |
| + |
| + .has_pci = 1, |
| + .has_ohci0 = 1, |
| + .has_ehci0 = 1, |
| + .num_usbh_ports = 1, |
| + |
| + .has_enetsw = 1, |
| + .enetsw = { |
| + .used_ports = { |
| + [0] = { |
| + .used = 1, |
| + .phy_id = 1, |
| + .name = "Port 1", |
| + }, |
| + [1] = { |
| + .used = 1, |
| + .phy_id = 2, |
| + .name = "Port 2", |
| + }, |
| + [2] = { |
| + .used = 1, |
| + .phy_id = 3, |
| + .name = "Port 3", |
| + }, |
| + [3] = { |
| + .used = 1, |
| + .phy_id = 4, |
| + .name = "Port 4", |
| + }, |
| + }, |
| + }, |
| + |
| + .use_fallback_sprom = 1, |
| + .fallback_sprom = { |
| + .type = SPROM_BCM43217, |
| + .pci_bus = 1, |
| + .pci_dev = 0, |
| + }, |
| +}; |
| +#endif /* CONFIG_BCM63XX_CPU_6318 */ |
| + |
| +/* |
| * known 6328 boards |
| */ |
| #ifdef CONFIG_BCM63XX_CPU_6328 |
| @@ -437,6 +694,13 @@ static const struct board_info __initcon |
| #ifdef CONFIG_BCM63XX_CPU_3368 |
| &board_cvg834g, |
| #endif /* CONFIG_BCM63XX_CPU_3368 */ |
| +#ifdef CONFIG_BCM63XX_CPU_6318 |
| + &board_96318ref, |
| + &board_96318ref_p300, |
| + &board_AR5315u, |
| + &board_dsl_2751b_d1, |
| + &board_FAST2704N, |
| +#endif /* CONFIG_BCM63XX_CPU_6318 */ |
| #ifdef CONFIG_BCM63XX_CPU_6328 |
| &board_96328avng, |
| #endif /* CONFIG_BCM63XX_CPU_6328 */ |
| @@ -471,6 +735,11 @@ static struct of_device_id const bcm963x |
| { .compatible = "netgear,cvg834g", .data = &board_cvg834g, }, |
| #endif /* CONFIG_BCM63XX_CPU_3368 */ |
| #ifdef CONFIG_BCM63XX_CPU_6318 |
| + { .compatible = "brcm,bcm96318ref", .data = &board_96318ref, }, |
| + { .compatible = "brcm,bcm96318ref-p300", .data = &board_96318ref_p300, }, |
| + { .compatible = "comtrend,ar-5315u", .data = &board_AR5315u, }, |
| + { .compatible = "d-link,dsl-275xb-d1", .data = &board_dsl_2751b_d1, }, |
| + { .compatible = "sagem,fast-2704n", .data = &board_FAST2704N, }, |
| #endif /* CONFIG_BCM63XX_CPU_6318 */ |
| #ifdef CONFIG_BCM63XX_CPU_6328 |
| { .compatible = "brcm,bcm96328avng", .data = &board_96328avng, }, |