]> git.sur5r.net Git - u-boot/blobdiff - board/dave/PPChameleonEVB/flash.c
Merge branch 'master' of git://git.denx.de/u-boot-imx
[u-boot] / board / dave / PPChameleonEVB / flash.c
index 110e02114320202bbfb0722c21632a1f6b7bf1b7..2e1a9abc0857b8ae42bf30d24814d654f4d2814e 100644 (file)
@@ -22,7 +22,7 @@
  */
 
 #include <common.h>
-#include <ppc4xx.h>
+#include <asm/ppc4xx.h>
 #include <asm/processor.h>
 
 /*
@@ -42,37 +42,44 @@ static void flash_get_offsets (ulong base, flash_info_t * info);
 unsigned long flash_init (void)
 {
 #ifdef __DEBUG_START_FROM_SRAM__
-       return CFG_DUMMY_FLASH_SIZE;
+       return CONFIG_SYS_DUMMY_FLASH_SIZE;
 #else
-       unsigned long size_b0;
+       unsigned long size;
        int i;
-        uint pbcr;
-        unsigned long base_b0;
+       uint pbcr;
+       unsigned long base;
        int size_val = 0;
 
+       debug("[%s, %d] Entering ...\n", __FUNCTION__, __LINE__);
+       debug("[%s, %d] flash_info = 0x%08X ...\n", __FUNCTION__, __LINE__, flash_info);
+
        /* Init: no FLASHes known */
-       for (i=0; i<CFG_MAX_FLASH_BANKS; ++i) {
+       for (i=0; i<CONFIG_SYS_MAX_FLASH_BANKS; ++i) {
                flash_info[i].flash_id = FLASH_UNKNOWN;
        }
 
        /* Static FLASH Bank configuration here - FIXME XXX */
 
-       size_b0 = flash_get_size((vu_long *)FLASH_BASE0_PRELIM, &flash_info[0]);
+       debug("[%s, %d] Calling flash_get_size ...\n", __FUNCTION__, __LINE__);
+       size = flash_get_size((vu_long *)FLASH_BASE0_PRELIM, &flash_info[0]);
 
        if (flash_info[0].flash_id == FLASH_UNKNOWN) {
                printf ("## Unknown FLASH on Bank 0 - Size = 0x%08lx = %ld MB\n",
-                       size_b0, size_b0<<20);
+                       size, size<<20);
        }
 
-        /* Setup offsets */
-        flash_get_offsets (-size_b0, &flash_info[0]);
+       debug("[%s, %d] Test point ...\n", __FUNCTION__, __LINE__);
+
+       /* Setup offsets */
+       flash_get_offsets (-size, &flash_info[0]);
+       debug("[%s, %d] Test point ...\n", __FUNCTION__, __LINE__);
 
-        /* Re-do sizing to get full correct info */
-        mtdcr(ebccfga, pb0cr);
-        pbcr = mfdcr(ebccfgd);
-        mtdcr(ebccfga, pb0cr);
-        base_b0 = -size_b0;
-       switch (size_b0) {
+       /* Re-do sizing to get full correct info */
+       mtdcr(EBC0_CFGADDR, PB0CR);
+       pbcr = mfdcr(EBC0_CFGDATA);
+       mtdcr(EBC0_CFGADDR, PB0CR);
+       base = -size;
+       switch (size) {
        case 1 << 20:
                size_val = 0;
                break;
@@ -89,17 +96,19 @@ unsigned long flash_init (void)
                size_val = 4;
                break;
        }
-       pbcr = (pbcr & 0x0001ffff) | base_b0 | (size_val << 17);
-        mtdcr(ebccfgd, pbcr);
+       pbcr = (pbcr & 0x0001ffff) | base | (size_val << 17);
+       mtdcr(EBC0_CFGDATA, pbcr);
+       debug("[%s, %d] Test point ...\n", __FUNCTION__, __LINE__);
 
-        /* Monitor protection ON by default */
-        (void)flash_protect(FLAG_PROTECT_SET,
-                            -CFG_MONITOR_LEN,
-                            0xffffffff,
-                            &flash_info[0]);
+       /* Monitor protection ON by default */
+       (void)flash_protect(FLAG_PROTECT_SET,
+                           -CONFIG_SYS_MONITOR_LEN,
+                           0xffffffff,
+                           &flash_info[0]);
 
-        flash_info[0].size = size_b0;
+       debug("[%s, %d] Test point ...\n", __FUNCTION__, __LINE__);
+       flash_info[0].size  = size;
 
-       return (size_b0);
+       return (size);
 #endif
 }