]> git.sur5r.net Git - u-boot/blobdiff - cpu/mpc85xx/commproc.c
powerpc: Fix bootm to boot up again with a Ramdisk
[u-boot] / cpu / mpc85xx / commproc.c
index df11052f2a72c49a18d755e0d278357ed2e780ab..b0ecd25507bbb4ea6487610e1141796d5b3ce0f1 100644 (file)
@@ -24,7 +24,9 @@
 #include <common.h>
 #include <asm/cpm_85xx.h>
 
-#if defined(CONFIG_MPC8560)
+DECLARE_GLOBAL_DATA_PTR;
+
+#if defined(CONFIG_CPM2)
 /*
  * because we have stack and init data in dual port ram
  * we must reduce the size
@@ -35,9 +37,7 @@
 void
 m8560_cpm_reset(void)
 {
-       DECLARE_GLOBAL_DATA_PTR;
-
-       volatile immap_t *immr = (immap_t *)CFG_IMMR;
+       volatile ccsr_cpm_t *cpm = (ccsr_cpm_t *)CFG_MPC85xx_CPM_ADDR;
        volatile ulong count;
 
        gd = (gd_t *) (CFG_INIT_RAM_ADDR + CFG_GBL_DATA_OFFSET);
@@ -50,11 +50,11 @@ m8560_cpm_reset(void)
        /*
         * Reset CPM
         */
-       immr->im_cpm.im_cpm_cp.cpcr = CPM_CR_RST;
+       cpm->im_cpm_cp.cpcr = CPM_CR_RST;
        count = 0;
        do {                    /* Spin until command processed         */
                __asm__ __volatile__ ("eieio");
-       } while ((immr->im_cpm.im_cpm_cp.cpcr & CPM_CR_FLG) && ++count < 1000000);
+       } while ((cpm->im_cpm_cp.cpcr & CPM_CR_FLG) && ++count < 1000000);
 }
 
 /* Allocate some memory from the dual ported ram.
@@ -64,9 +64,7 @@ m8560_cpm_reset(void)
 uint
 m8560_cpm_dpalloc(uint size, uint align)
 {
-       DECLARE_GLOBAL_DATA_PTR;
-
-       volatile immap_t *immr = (immap_t *)CFG_IMMR;
+       volatile ccsr_cpm_t *cpm = (ccsr_cpm_t *)CFG_MPC85xx_CPM_ADDR;
        uint    retloc;
        uint    align_mask, off;
        uint    savebase;
@@ -88,7 +86,7 @@ m8560_cpm_dpalloc(uint size, uint align)
        retloc = gd->dp_alloc_base;
        gd->dp_alloc_base += size;
 
-       memset((void *)&(immr->im_cpm.im_dprambase[retloc]), 0, size);
+       memset((void *)&(cpm->im_dprambase[retloc]), 0, size);
 
        return(retloc);
 }
@@ -122,18 +120,16 @@ m8560_cpm_hostalloc(uint size, uint align)
 void
 m8560_cpm_setbrg(uint brg, uint rate)
 {
-       DECLARE_GLOBAL_DATA_PTR;
-
-       volatile immap_t *immr = (immap_t *)CFG_IMMR;
+       volatile ccsr_cpm_t *cpm = (ccsr_cpm_t *)CFG_MPC85xx_CPM_ADDR;
        volatile uint   *bp;
 
        /* This is good enough to get SMCs running.....
        */
        if (brg < 4) {
-               bp = (uint *)&(immr->im_cpm.im_cpm_brg1.brgc1);
+               bp = (uint *)&(cpm->im_cpm_brg1.brgc1);
        }
        else {
-               bp = (uint *)&(immr->im_cpm.im_cpm_brg2.brgc5);
+               bp = (uint *)&(cpm->im_cpm_brg2.brgc5);
                brg -= 4;
        }
        bp += brg;
@@ -146,18 +142,16 @@ m8560_cpm_setbrg(uint brg, uint rate)
 void
 m8560_cpm_fastbrg(uint brg, uint rate, int div16)
 {
-       DECLARE_GLOBAL_DATA_PTR;
-
-       volatile immap_t *immr = (immap_t *)CFG_IMMR;
+       volatile ccsr_cpm_t *cpm = (ccsr_cpm_t *)CFG_MPC85xx_CPM_ADDR;
        volatile uint   *bp;
 
        /* This is good enough to get SMCs running.....
        */
        if (brg < 4) {
-               bp = (uint *)&(immr->im_cpm.im_cpm_brg1.brgc1);
+               bp = (uint *)&(cpm->im_cpm_brg1.brgc1);
        }
        else {
-               bp = (uint *)&(immr->im_cpm.im_cpm_brg2.brgc5);
+               bp = (uint *)&(cpm->im_cpm_brg2.brgc5);
                brg -= 4;
        }
        bp += brg;
@@ -173,14 +167,14 @@ m8560_cpm_fastbrg(uint brg, uint rate, int div16)
 void
 m8560_cpm_extcbrg(uint brg, uint rate, uint extclk, int pinsel)
 {
-       volatile immap_t *immr = (immap_t *)CFG_IMMR;
+       volatile ccsr_cpm_t *cpm = (ccsr_cpm_t *)CFG_MPC85xx_CPM_ADDR;
        volatile uint   *bp;
 
        if (brg < 4) {
-               bp = (uint *)&(immr->im_cpm.im_cpm_brg1.brgc1);
+               bp = (uint *)&(cpm->im_cpm_brg1.brgc1);
        }
        else {
-               bp = (uint *)&(immr->im_cpm.im_cpm_brg2.brgc5);
+               bp = (uint *)&(cpm->im_cpm_brg2.brgc5);
                brg -= 4;
        }
        bp += brg;
@@ -211,4 +205,4 @@ ulong post_word_load (void)
 
 #endif /* CONFIG_POST */
 
-#endif /* CONFIG_MPC8560 */
+#endif /* CONFIG_CPM2 */