[brcm63xx] Add board definitions for the Davolink DV201AMR
[openwrt.git] / target / linux / brcm63xx / files / arch / mips / bcm63xx / boards / board_bcm963xx.c
index 1c3073e..7dd77f0 100644 (file)
@@ -21,6 +21,7 @@
 #include <bcm63xx_board.h>
 #include <bcm63xx_dev_pci.h>
 #include <bcm63xx_dev_uart.h>
+#include <bcm63xx_dev_wdt.h>
 #include <bcm63xx_dev_enet.h>
 #include <bcm63xx_dev_pcmcia.h>
 #include <bcm63xx_dev_usb_ohci.h>
@@ -33,6 +34,25 @@ static struct bcm963xx_nvram nvram;
 static unsigned int mac_addr_used = 0;
 static struct board_info board;
 
+/*
+ * known 6338 boards
+ */
+
+#ifdef CONFIG_BCM63XX_CPU_6338
+static struct board_info __initdata board_96338gw = {
+       .name                           = "96338GW",
+       .expected_cpu_id                = 0x6338,
+
+       .has_enet0                      = 1,
+       .enet0 = {
+               .has_phy                = 1,
+               .use_internal_phy       = 1,
+       },
+
+       .has_ohci0                      = 1,
+};
+#endif
+
 /*
  * known 6348 boards
  */
@@ -50,6 +70,28 @@ static struct board_info __initdata board_96348r = {
        },
 };
 
+static struct board_info __initdata board_96348gw_10 = { 
+       .name                           = "96348GW-10",
+       .expected_cpu_id                = 0x6348,
+       
+       .has_enet0                      = 1,
+       .has_enet1                      = 1,
+       .has_pci                        = 1, 
+       
+       .enet0 = {
+               .has_phy                = 1,
+               .use_internal_phy       = 1,
+       },
+       .enet1 = {
+               .force_speed_100        = 1,
+               .force_duplex_full      = 1,
+       },
+       
+       .has_ohci0                      = 1,
+       .has_pccard                     = 1,
+       .has_ehci0                      = 1,
+}; 
+
 static struct board_info __initdata board_96348gw_11 = {
        .name                           = "96348GW-11",
        .expected_cpu_id                = 0x6348,
@@ -90,7 +132,58 @@ static struct board_info __initdata board_96348gw = {
                .force_speed_100        = 1,
                .force_duplex_full      = 1,
        },
+
+       .has_ohci0 = 1,
+};
+
+static struct board_info __initdata board_FAST2404 = {
+        .name                           = "F@ST2404",
+        .expected_cpu_id                = 0x6348,
+
+        .has_enet0                      = 1,
+        .has_enet1                      = 1,
+        .has_pci                        = 1,
+
+        .enet0 = {
+                .has_phy                = 1,
+                .use_internal_phy       = 1,
+        },
+
+        .enet1 = {
+                .force_speed_100        = 1,
+                .force_duplex_full      = 1,
+        },
+
+
+        .has_ohci0 = 1,
+        .has_pccard = 1,
+        .has_ehci0 = 1,
+};
+
+static struct board_info __initdata board_DV201AMR = {
+        .name                           = "DV201AMR",
+        .expected_cpu_id                = 0x6348,
+
+        .has_enet0                      = 1,
+        .has_enet1                      = 1,
+        .has_pci                        = 1,
+
+       .enet0 = {
+               .has_phy                = 1,
+               .use_internal_phy       = 1,
+       },
+
+        .enet1 = {
+                .force_speed_100        = 1,
+                .force_duplex_full      = 1,
+        },
+
+
+        .has_ohci0 = 1,
+        .has_pccard = 1,
+        .has_ehci0 = 1,
 };
+
 #endif
 
 /*
@@ -150,10 +243,16 @@ static struct board_info __initdata board_96358vw2 = {
  * all boards
  */
 static const struct board_info __initdata *bcm963xx_boards[] = {
+#ifdef CONFIG_BCM63XX_CPU_6338
+       &board_96338gw,
+#endif
 #ifdef CONFIG_BCM63XX_CPU_6348
        &board_96348r,
        &board_96348gw,
+       &board_96348gw_10,
        &board_96348gw_11,
+       &board_FAST2404,
+       &board_DV201AMR,
 #endif
 
 #ifdef CONFIG_BCM63XX_CPU_6358
@@ -312,20 +411,6 @@ static int board_get_mac_address(u8 *mac)
        return 0;
 }
 
-static struct mtd_partition mtd_partitions[] = {
-       {
-               .name           = "cfe",
-               .offset         = 0x0,
-               .size           = 0x40000,
-       }
-};
-
-static struct physmap_flash_data flash_data = {
-       .width                  = 2,
-       .nr_parts               = ARRAY_SIZE(mtd_partitions),
-       .parts                  = mtd_partitions,
-};
-
 static struct resource mtd_resources[] = {
        {
                .start          = 0,    /* filled at runtime */
@@ -335,12 +420,9 @@ static struct resource mtd_resources[] = {
 };
 
 static struct platform_device mtd_dev = {
-       .name                   = "physmap-flash",
+       .name                   = "bcm963xx-flash",
        .resource               = mtd_resources,
        .num_resources          = ARRAY_SIZE(mtd_resources),
-       .dev                    = {
-               .platform_data  = &flash_data,
-       },
 };
 
 /*
@@ -351,6 +433,7 @@ int __init board_register_devices(void)
        u32 val;
 
        bcm63xx_uart_register();
+       bcm63xx_wdt_register();
 
        if (board.has_pccard)
                bcm63xx_pcmcia_register();
This page took 0.039133 seconds and 4 git commands to generate.