OpenWrt – Rev 4

Subversion Repositories:
Rev:
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -142,6 +142,74 @@ static struct board_info __initdata boar
                },
        },
 };
+
+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,
+       .use_fallback_sprom             = 1,
+
+       .has_enetsw                     = 1,
+
+       .has_ohci0                      = 1,
+       .has_ehci0                      = 1,
+       .num_usbh_ports                 = 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",
+                       },
+               },
+       },
+
+       .fallback_sprom = {
+               .type                           = SPROM_BCM43217,
+               .pci_bus                        = 1,
+               .pci_dev                        = 0,
+               .board_fixups                   = dsl2751b_e1_fixups,
+               .num_board_fixups               = ARRAY_SIZE(dsl2751b_e1_fixups),
+       },
+};
 #endif /* CONFIG_BCM63XX_CPU_6318 */
 
 /*
@@ -2039,6 +2107,7 @@ static const struct board_info __initcon
 #ifdef CONFIG_BCM63XX_CPU_6318
        &board_96318ref,
        &board_96318ref_p300,
+       &board_dsl_2751b_d1,
 #endif
 #ifdef CONFIG_BCM63XX_CPU_6328
        &board_96328avng,
@@ -2132,6 +2201,7 @@ static struct of_device_id const bcm963x
 #ifdef CONFIG_BCM63XX_CPU_6318
        { .compatible = "brcm,bcm96318ref", .data = &board_96318ref, },
        { .compatible = "brcm,bcm96318ref_p300", .data = &board_96318ref_p300, },
+       { .compatible = "d-link,dsl-275xb-d", .data = &board_dsl_2751b_d1, },
 #endif
 #ifdef CONFIG_BCM63XX_CPU_6328
        { .compatible = "adb,a4001n", .data = &board_A4001N, },