]> git.sur5r.net Git - u-boot/blobdiff - board/freescale/mpc8360emds/mpc8360emds.c
fsl: update CRC after setting EEPROM identifier
[u-boot] / board / freescale / mpc8360emds / mpc8360emds.c
index 54f2989990a10ed759e70b9dd55369d6eba3a159..0babd2648afce1f0661e9d8c86238a3dfce8e493 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006 Freescale Semiconductor, Inc.
+ * Copyright (C) 2006,2010 Freescale Semiconductor, Inc.
  * Dave Liu <daveliu@freescale.com>
  *
  * See file CREDITS for list of people who contributed to this
 #include <spd_sdram.h>
 #include <asm/mmu.h>
 #include <asm/io.h>
+#include <asm/fsl_enet.h>
 #if defined(CONFIG_OF_LIBFDT)
 #include <libfdt.h>
 #endif
+#include <hwconfig.h>
+#include <fdt_support.h>
 #if defined(CONFIG_PQ_MDS_PIB)
 #include "../common/pq-mds-pib.h"
 #endif
@@ -157,7 +160,8 @@ int board_eth_init(bd_t *bd)
                int i;
 
                for (i = 0; i < ARRAY_SIZE(uec_info); i++)
-                       uec_info[i].enet_interface = ENET_1000_RGMII_RXID;
+                       uec_info[i].enet_interface_type = RGMII_RXID;
+                       uec_info[i].speed = 1000;
        }
        return uec_eth_init(bd, uec_info, ARRAY_SIZE(uec_info));
 }
@@ -277,7 +281,7 @@ int checkboard(void)
 static int sdram_init(unsigned int base)
 {
        volatile immap_t *immap = (immap_t *) CONFIG_SYS_IMMR;
-       volatile fsl_lbus_t *lbc = &immap->lbus;
+       fsl_lbc_t *lbc = LBC_BASE_ADDR;
        const int sdram_size = CONFIG_SYS_LBC_SDRAM_SIZE * 1024 * 1024;
        int rem = base % sdram_size;
        uint *sdram_addr;
@@ -290,8 +294,8 @@ static int sdram_init(unsigned int base)
        /*
         * Setup SDRAM Base and Option Registers
         */
-       immap->lbus.bank[2].br = base | CONFIG_SYS_BR2;
-       immap->lbus.bank[2].or = CONFIG_SYS_OR2;
+       set_lbc_br(2, base | CONFIG_SYS_BR2);
+       set_lbc_or(2, CONFIG_SYS_OR2);
        immap->sysconf.lblaw[2].bar = base;
        immap->sysconf.lblaw[2].ar = CONFIG_SYS_LBLAWAR2;
 
@@ -357,12 +361,22 @@ static int sdram_init(unsigned int base) { return 0; }
 #endif
 
 #if defined(CONFIG_OF_BOARD_SETUP)
+static void ft_board_fixup_qe_usb(void *blob, bd_t *bd)
+{
+       if (!hwconfig_subarg_cmp("qe_usb", "mode", "peripheral"))
+               return;
+
+       do_fixup_by_compat(blob, "fsl,mpc8323-qe-usb", "mode",
+                          "peripheral", sizeof("peripheral"), 1);
+}
+
 void ft_board_setup(void *blob, bd_t *bd)
 {
        ft_cpu_setup(blob, bd);
 #ifdef CONFIG_PCI
        ft_pci_setup(blob, bd);
 #endif
+       ft_board_fixup_qe_usb(blob, bd);
        /*
         * mpc8360ea pb mds errata 2: RGMII timing
         * if on mpc8360ea rev. 2.1,
@@ -383,10 +397,8 @@ void ft_board_setup(void *blob, bd_t *bd)
                                prop = fdt_getprop(blob, path,
                                                   "phy-connection-type", 0);
                                if (prop && (strcmp(prop, "rgmii-id") == 0))
-                                       fdt_setprop(blob, path,
-                                                   "phy-connection-type",
-                                                   "rgmii-rxid",
-                                                   sizeof("rgmii-rxid"));
+                                       fdt_fixup_phy_connection(blob, path,
+                                                               RGMII_RXID);
                        }
 #endif
 #if defined(CONFIG_HAS_ETH1)
@@ -397,10 +409,8 @@ void ft_board_setup(void *blob, bd_t *bd)
                                prop = fdt_getprop(blob, path,
                                                   "phy-connection-type", 0);
                                if (prop && (strcmp(prop, "rgmii-id") == 0))
-                                       fdt_setprop(blob, path,
-                                                   "phy-connection-type",
-                                                   "rgmii-rxid",
-                                                   sizeof("rgmii-rxid"));
+                                       fdt_fixup_phy_connection(blob, path,
+                                                               RGMII_RXID);
                        }
 #endif
                }