]> git.karo-electronics.de Git - karo-tx-uboot.git/blobdiff - board/incaip/flash.c
MIPS: Malta: convert to generic board
[karo-tx-uboot.git] / board / incaip / flash.c
index 427f14a61685b615225a27d0c4bd330be0701d01..a786ac9327d1d2d731dcc8f4db00fe1b53ec61bb 100644 (file)
@@ -2,29 +2,13 @@
  * (C) Copyright 2003
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
+ * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #include <common.h>
 #include <asm/inca-ip.h>
 
-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 */
 
 /* NOTE - CONFIG_FLASH_16BIT means the CPU interface is 16-bit, it
  *        has nothing to do with the flash chip being 8-bit or 16-bit.
@@ -73,7 +57,7 @@ unsigned long flash_init (void)
        int i;
 
        /* Init: no FLASHes known */
-       for (i=0; i < CFG_MAX_FLASH_BANKS; ++i) {
+       for (i=0; i < CONFIG_SYS_MAX_FLASH_BANKS; ++i) {
                ulong flashbase = (i == 0) ? PHYS_FLASH_1 : PHYS_FLASH_2;
                ulong * buscon = (ulong *)
                        ((i == 0) ? INCA_IP_EBU_EBU_BUSCON0 : INCA_IP_EBU_EBU_BUSCON2);
@@ -85,31 +69,31 @@ unsigned long flash_init (void)
                memset(&flash_info[i], 0, sizeof(flash_info_t));
 #endif
 
-               flash_info[i].size = 
+               flash_info[i].size =
                        flash_get_size((FPW *)flashbase, &flash_info[i]);
 
                if (flash_info[i].flash_id == FLASH_UNKNOWN) {
                        printf ("## Unknown FLASH on Bank %d - Size = 0x%08lx\n",
                        i, flash_info[i].size);
                }
-               
+
                size += flash_info[i].size;
        }
 
-#if CFG_MONITOR_BASE >= CFG_FLASH_BASE
+#if CONFIG_SYS_MONITOR_BASE >= CONFIG_SYS_FLASH_BASE
        /* monitor protection ON by default */
        flash_protect(FLAG_PROTECT_SET,
-                     CFG_MONITOR_BASE,
-                     CFG_MONITOR_BASE+CFG_MONITOR_LEN-1,
-                     flash_get_info(CFG_MONITOR_BASE));
+                     CONFIG_SYS_MONITOR_BASE,
+                     CONFIG_SYS_MONITOR_BASE+monitor_flash_len-1,
+                     flash_get_info(CONFIG_SYS_MONITOR_BASE));
 #endif
 
-#ifdef CFG_ENV_IS_IN_FLASH
+#ifdef CONFIG_ENV_IS_IN_FLASH
        /* ENV protection ON by default */
        flash_protect(FLAG_PROTECT_SET,
-                     CFG_ENV_ADDR,
-                     CFG_ENV_ADDR+CFG_ENV_SIZE-1,
-                     flash_get_info(CFG_ENV_ADDR));
+                     CONFIG_ENV_ADDR,
+                     CONFIG_ENV_ADDR+CONFIG_ENV_SIZE-1,
+                     flash_get_info(CONFIG_ENV_ADDR));
 #endif
 
 
@@ -172,14 +156,14 @@ static flash_info_t *flash_get_info(ulong base)
 {
        int i;
        flash_info_t * info;
-       
-       for (i = 0; i < CFG_MAX_FLASH_BANKS; i ++) {
+
+       for (i = 0; i < CONFIG_SYS_MAX_FLASH_BANKS; i ++) {
                info = & flash_info[i];
                if (info->start[0] <= base && base < info->start[0] + info->size)
                        break;
        }
-       
-       return i == CFG_MAX_FLASH_BANKS ? 0 : info;
+
+       return i == CONFIG_SYS_MAX_FLASH_BANKS ? 0 : info;
 }
 
 /*-----------------------------------------------------------------------
@@ -190,7 +174,7 @@ void flash_print_info (flash_info_t *info)
        int i;
        uchar *boottype;
        uchar *bootletter;
-       uchar *fmt;
+       char *fmt;
        uchar botbootletter[] = "B";
        uchar topbootletter[] = "T";
        uchar botboottype[] = "bottom boot sector";
@@ -225,32 +209,32 @@ void flash_print_info (flash_info_t *info)
        case FLASH_AM640U:
                fmt = "29LV641D (64 Mbit, uniform sectors)\n";
                break;
-        case FLASH_28F800C3B:
-        case FLASH_28F800C3T:
+       case FLASH_28F800C3B:
+       case FLASH_28F800C3T:
                fmt = "28F800C3%s (8 Mbit, %s)\n";
                break;
        case FLASH_INTEL800B:
        case FLASH_INTEL800T:
                fmt = "28F800B3%s (8 Mbit, %s)\n";
                break;
-        case FLASH_28F160C3B:
-        case FLASH_28F160C3T:
+       case FLASH_28F160C3B:
+       case FLASH_28F160C3T:
                fmt = "28F160C3%s (16 Mbit, %s)\n";
                break;
        case FLASH_INTEL160B:
        case FLASH_INTEL160T:
                fmt = "28F160B3%s (16 Mbit, %s)\n";
                break;
-        case FLASH_28F320C3B:
-        case FLASH_28F320C3T:
+       case FLASH_28F320C3B:
+       case FLASH_28F320C3T:
                fmt = "28F320C3%s (32 Mbit, %s)\n";
                break;
        case FLASH_INTEL320B:
        case FLASH_INTEL320T:
                fmt = "28F320B3%s (32 Mbit, %s)\n";
                break;
-        case FLASH_28F640C3B:
-        case FLASH_28F640C3T:
+       case FLASH_28F640C3B:
+       case FLASH_28F640C3T:
                fmt = "28F640C3%s (64 Mbit, %s)\n";
                break;
        case FLASH_INTEL640B:
@@ -484,7 +468,7 @@ int flash_erase (flash_info_t *info, int s_first, int s_last)
                udelay (1000);
 
                while ((*addr & (FPW)0x00800080) != (FPW)0x00800080) {
-                       if ((now = get_timer(start)) > CFG_FLASH_ERASE_TOUT) {
+                       if ((now = get_timer(start)) > CONFIG_SYS_FLASH_ERASE_TOUT) {
                                printf ("Timeout\n");
 
                                if (intel) {
@@ -498,14 +482,14 @@ int       flash_erase (flash_info_t *info, int s_first, int s_last)
                        }
 
                        /* show that we're waiting */
-                       if ((get_timer(last)) > CFG_HZ) {/* every second */
+                       if ((get_timer(last)) > CONFIG_SYS_HZ) {/* every second */
                                putc ('.');
                                last = get_timer(0);
                        }
                }
 
                /* show that we're waiting */
-               if ((get_timer(last)) > CFG_HZ) {       /* every second */
+               if ((get_timer(last)) > CONFIG_SYS_HZ) {        /* every second */
                        putc ('.');
                        last = get_timer(0);
                }
@@ -534,15 +518,15 @@ int write_buff (flash_info_t *info, uchar *src, ulong addr, ulong cnt)
         left > 0 && res == 0;
         addr += sizeof(data), left -= sizeof(data) - bytes) {
 
-        bytes = addr & (sizeof(data) - 1);
-        addr &= ~(sizeof(data) - 1);
+       bytes = addr & (sizeof(data) - 1);
+       addr &= ~(sizeof(data) - 1);
 
        /* combine source and destination data so can program
         * an entire word of 16 or 32 bits
         */
-        for (i = 0; i < sizeof(data); i++) {
-            data <<= 8;
-            if (i < bytes || i - bytes >= left )
+       for (i = 0; i < sizeof(data); i++) {
+           data <<= 8;
+           if (i < bytes || i - bytes >= left )
                data += *((uchar *)addr + i);
            else
                data += *src++;
@@ -609,7 +593,7 @@ static int write_word_amd (flash_info_t *info, FPWV *dest, FPW data)
 
     /* data polling for D7 */
     while (res == 0 && (*dest & (FPW)0x00800080) != (data & (FPW)0x00800080)) {
-       if (get_timer(start) > CFG_FLASH_WRITE_TOUT) {
+       if (get_timer(start) > CONFIG_SYS_FLASH_WRITE_TOUT) {
            *dest = (FPW)0x00F000F0;    /* reset bank */
            res = 1;
        }
@@ -655,7 +639,7 @@ static int write_word_intel (flash_info_t *info, FPWV *dest, FPW data)
     start = get_timer (0);
 
     while (res == 0 && (*dest & (FPW)0x00800080) != (FPW)0x00800080) {
-       if (get_timer(start) > CFG_FLASH_WRITE_TOUT) {
+       if (get_timer(start) > CONFIG_SYS_FLASH_WRITE_TOUT) {
            *dest = (FPW)0x00B000B0;    /* Suspend program      */
            res = 1;
        }