[brcm63xx] more fixes for bcm6338, no need not to prevent reads from MPI registers...
[openwrt/svn-archive/archive.git] / target / linux / brcm63xx / files / arch / mips / bcm63xx / boards / board_bcm963xx.c
index 92d46e7628a43ac38c2276b0d3d721cc0c02e07d..e27264dfdf13fc1243fd2d7c53116ad8b3f73e0e 100644 (file)
@@ -45,21 +45,25 @@ static struct board_info board;
 static struct board_info __initdata board_96338gw = {
        .name                           = "96338GW",
        .expected_cpu_id                = 0x6338,
-
+       
        .has_enet0                      = 1,
        .enet0 = {
-               .has_phy                = 1,
-               .use_internal_phy       = 1,
+               .force_speed_100        = 1,
+               .force_duplex_full      = 1,
        },
 
        .has_ohci0                      = 1,
 };
 
 static struct board_info __initdata board_96338w = {
-       .name                           = "9338W",
+       .name                           = "96338W",
        .expected_cpu_id                = 0x6338,
-
+       
        .has_enet0                      = 1,
+       .enet0 = {
+               .force_speed_100        = 1,
+               .force_duplex_full      = 1,
+       }
 };
 #endif
 
@@ -324,9 +328,9 @@ void __init board_prom_init(void)
        u32 val;
 
        /* read base address of boot chip select (0) 
-        * 6338 does not have MPI but boots from standard
+        * 6338/6345 does not have MPI but boots from standard
         * MIPS Flash address */
-       if (BCMCPU_IS_6338() || BCMCPU_IS_6345())
+       if (BCMCPU_IS_6345())
                val = 0x1fc00000;
        else {
                val = bcm_mpi_readl(MPI_CSBASE_REG(0));
@@ -554,8 +558,12 @@ int __init board_register_devices(void)
 #endif
 
        /* read base address of boot chip select (0) */
-       val = bcm_mpi_readl(MPI_CSBASE_REG(0));
-       val &= MPI_CSBASE_BASE_MASK;
+       if (BCMCPU_IS_6345())
+               val = 0x1fc0000;
+       else {
+               val = bcm_mpi_readl(MPI_CSBASE_REG(0));
+               val &= MPI_CSBASE_BASE_MASK;
+       }
        mtd_resources[0].start = val;
        mtd_resources[0].end = 0x1FFFFFFF;