]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - board/amcc/bamboo/flash.c
imported Freescale specific U-Boot additions for i.MX28,... release L2.6.31_10.08.01
[karo-tx-uboot.git] / board / amcc / bamboo / flash.c
index a30ab7ada8f2a2e7ed9316ed73ea1aad89179213..001348ac5c9dce0bcccaad13624faa389843eddd 100755 (executable)
 #define DEBUGF(x...)
 #endif                         /* DEBUG */
 
-flash_info_t flash_info[CFG_MAX_FLASH_BANKS];  /* info for FLASH chips        */
+flash_info_t flash_info[CONFIG_SYS_MAX_FLASH_BANKS];   /* info for FLASH chips        */
 
 /*
  * Mark big flash bank (16 bit instead of 8 bit access) in address with bit 0
  */
-static unsigned long flash_addr_table[][CFG_MAX_FLASH_BANKS] = {
+static unsigned long flash_addr_table[][CONFIG_SYS_MAX_FLASH_BANKS] = {
        {0x87800001, 0xFFF00000, 0xFFF80000}, /* 0:boot from small flash */
        {0x00000000, 0x00000000, 0x00000000}, /* 1:boot from pci 66      */
-       {0x00000000, 0x00000000, 0x00000000}, /* 2:boot from nand flash  */
+       {0x87800001, 0x00000000, 0x00000000}, /* 0:boot from nand flash  */
        {0x87F00000, 0x87F80000, 0xFFC00001}, /* 3:boot from big flash 33*/
        {0x87F00000, 0x87F80000, 0xFFC00001}, /* 4:boot from big flash 66*/
        {0x00000000, 0x00000000, 0x00000000}, /* 5:boot from             */
@@ -79,7 +79,7 @@ static int write_word(flash_info_t * info, ulong dest, ulong data);
 unsigned long flash_init(void)
 {
        unsigned long total_b = 0;
-       unsigned long size_b[CFG_MAX_FLASH_BANKS];
+       unsigned long size_b[CONFIG_SYS_MAX_FLASH_BANKS];
        unsigned short index = 0;
        int i;
        unsigned long val;
@@ -128,16 +128,16 @@ unsigned long flash_init(void)
        DEBUGF("FLASH: Index: %d\n", index);
 
        /* 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;
                flash_info[i].sector_count = -1;
                flash_info[i].size = 0;
 
                /* check whether the address is 0 */
-               if (flash_addr_table[index][i] == 0) {
+               if (flash_addr_table[index][i] == 0)
                        continue;
-               }
 
+               DEBUGF("Detection bank %d...\n", i);
                /* call flash_get_size() to initialize sector address */
                size_b[i] = flash_get_size((vu_long *) flash_addr_table[index][i],
                                   &flash_info[i]);
@@ -150,16 +150,16 @@ unsigned long flash_init(void)
                }
 
                /* Monitor protection ON by default */
-               (void)flash_protect(FLAG_PROTECT_SET, CFG_MONITOR_BASE,
-                                   CFG_MONITOR_BASE + CFG_MONITOR_LEN - 1,
+               (void)flash_protect(FLAG_PROTECT_SET, CONFIG_SYS_MONITOR_BASE,
+                                   CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN - 1,
                                    &flash_info[i]);
-#if defined(CFG_ENV_IS_IN_FLASH)
-               (void)flash_protect(FLAG_PROTECT_SET, CFG_ENV_ADDR,
-                                   CFG_ENV_ADDR + CFG_ENV_SECT_SIZE - 1,
+#if defined(CONFIG_ENV_IS_IN_FLASH)
+               (void)flash_protect(FLAG_PROTECT_SET, CONFIG_ENV_ADDR,
+                                   CONFIG_ENV_ADDR + CONFIG_ENV_SECT_SIZE - 1,
                                    &flash_info[i]);
-#if defined(CFG_ENV_IS_IN_FLASH) && defined(CFG_ENV_ADDR_REDUND)
-               (void)flash_protect(FLAG_PROTECT_SET, CFG_ENV_ADDR_REDUND,
-                                   CFG_ENV_ADDR_REDUND + CFG_ENV_SECT_SIZE - 1,
+#if defined(CONFIG_ENV_IS_IN_FLASH) && defined(CONFIG_ENV_ADDR_REDUND)
+               (void)flash_protect(FLAG_PROTECT_SET, CONFIG_ENV_ADDR_REDUND,
+                                   CONFIG_ENV_ADDR_REDUND + CONFIG_ENV_SECT_SIZE - 1,
                                    &flash_info[i]);
 #endif
 #endif