]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - arch/powerpc/cpu/mpc85xx/cpu_init_early.c
Merge branch 'master' of git://git.denx.de/u-boot-usb
[karo-tx-uboot.git] / arch / powerpc / cpu / mpc85xx / cpu_init_early.c
index 993b8b828ba572c15e8df3957da29e56f12cff69..5ca9bf5ff98f53adac99d04c7a6c26fa57fb679f 100644 (file)
@@ -70,16 +70,16 @@ void setup_ifc(void)
 #endif
 
        /* Change flash's physical address */
-       out_be32(&(ifc_regs->cspr_cs[0].cspr), CONFIG_SYS_CSPR0);
-       out_be32(&(ifc_regs->csor_cs[0].csor), CONFIG_SYS_CSOR0);
-       out_be32(&(ifc_regs->amask_cs[0].amask), CONFIG_SYS_AMASK0);
+       ifc_out32(&(ifc_regs->cspr_cs[0].cspr), CONFIG_SYS_CSPR0);
+       ifc_out32(&(ifc_regs->csor_cs[0].csor), CONFIG_SYS_CSOR0);
+       ifc_out32(&(ifc_regs->amask_cs[0].amask), CONFIG_SYS_AMASK0);
 
        return ;
 }
 #endif
 
 /* We run cpu_init_early_f in AS = 1 */
-void cpu_init_early_f(void)
+void cpu_init_early_f(void *fdt)
 {
        u32 mas0, mas1, mas2, mas3, mas7;
        int i;
@@ -102,6 +102,14 @@ void cpu_init_early_f(void)
        for (i = 0; i < sizeof(gd_t); i++)
                ((char *)gd)[i] = 0;
 
+#ifdef CONFIG_QEMU_E500
+       /*
+        * CONFIG_SYS_CCSRBAR_PHYS below may use gd->fdt_blob on ePAPR systems,
+        * so we need to populate it before it accesses it.
+        */
+       gd->fdt_blob = fdt;
+#endif
+
        mas0 = MAS0_TLBSEL(1) | MAS0_ESEL(13);
        mas1 = MAS1_VALID | MAS1_TID(0) | MAS1_TS | MAS1_TSIZE(BOOKE_PAGESZ_1M);
        mas2 = FSL_BOOKE_MAS2(CONFIG_SYS_CCSRBAR, MAS2_I|MAS2_G);
@@ -153,9 +161,12 @@ void cpu_init_early_f(void)
        setup_ifc_sram = (void *)SRAM_BASE_ADDR;
        dst = (u32 *) SRAM_BASE_ADDR;
        src = (u32 *) setup_ifc;
-       for (i = 0; i < 1024; i++)
+       for (i = 0; i < 1024; i++) {
+               /* cppcheck-suppress nullPointer */
                *dst++ = *src++;
+       }
 
+       /* cppcheck-suppress nullPointer */
        setup_ifc_sram();
 
        /* CLEANUP */