]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - board/cpu86/flash.c
Merge branch 'u-boot-sh/rmobile' into 'u-boot-arm/master'
[karo-tx-uboot.git] / board / cpu86 / flash.c
index 8cf761f1e65512ee3a2cf053a792e51d3ab71ce0..b99a9a089b957a49c69a12ec0975f1e2f4b41fb2 100644 (file)
@@ -5,30 +5,14 @@
  * Flash Routines for Intel devices
  *
  *--------------------------------------------------------------------
- * 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 <mpc8xx.h>
 #include "cpu86.h"
 
-flash_info_t flash_info[CFG_MAX_FLASH_BANKS];
+flash_info_t flash_info[CONFIG_SYS_MAX_FLASH_BANKS];
 
 /*-----------------------------------------------------------------------
  */
@@ -41,10 +25,10 @@ ulong flash_int_get_size (volatile unsigned long *baseaddr,
        info->sector_count = info->size = 0;
        info->flash_id = FLASH_UNKNOWN;
 
-       /* Write query command sequence and test FLASH answer
+       /* Write identify command sequence and test FLASH answer
         */
-       baseaddr[0] = 0x00980098;
-       baseaddr[1] = 0x00980098;
+       baseaddr[0] = 0x00900090;
+       baseaddr[1] = 0x00900090;
 
        flashtest_h = baseaddr[0];      /* manufacturer ID      */
        flashtest_l = baseaddr[1];
@@ -177,7 +161,7 @@ unsigned long flash_init (void)
 
        /* 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;
        }
 
@@ -186,8 +170,8 @@ unsigned long flash_init (void)
 
        /* Static FLASH Bank configuration here (only one bank) */
 
-       size_b0 = flash_int_get_size ((ulong *) CFG_FLASH_BASE, &flash_info[0]);
-       size_b1 = flash_amd_get_size ((uchar *) CFG_BOOTROM_BASE, &flash_info[1]);
+       size_b0 = flash_int_get_size ((ulong *) CONFIG_SYS_FLASH_BASE, &flash_info[0]);
+       size_b1 = flash_amd_get_size ((uchar *) CONFIG_SYS_BOOTROM_BASE, &flash_info[1]);
 
        if (size_b0 > 0 || size_b1 > 0) {
 
@@ -210,40 +194,40 @@ unsigned long flash_init (void)
        /* protect monitor and environment sectors
         */
 
-#if CFG_MONITOR_BASE >= CFG_BOOTROM_BASE
+#if CONFIG_SYS_MONITOR_BASE >= CONFIG_SYS_BOOTROM_BASE
        if (size_b1) {
-               /* If U-Boot is booted from ROM the CFG_MONITOR_BASE > CFG_FLASH_BASE
+               /* If U-Boot is booted from ROM the CONFIG_SYS_MONITOR_BASE > CONFIG_SYS_FLASH_BASE
                 * but we shouldn't protect it.
                 */
 
                flash_protect  (FLAG_PROTECT_SET,
-                               CFG_MONITOR_BASE,
-                               CFG_MONITOR_BASE + CFG_MONITOR_LEN - 1, &flash_info[1]
+                               CONFIG_SYS_MONITOR_BASE,
+                               CONFIG_SYS_MONITOR_BASE + monitor_flash_len - 1, &flash_info[1]
                );
        }
 #else
-#if CFG_MONITOR_BASE >= CFG_FLASH_BASE
+#if CONFIG_SYS_MONITOR_BASE >= CONFIG_SYS_FLASH_BASE
        flash_protect (FLAG_PROTECT_SET,
-                      CFG_MONITOR_BASE,
-                      CFG_MONITOR_BASE + CFG_MONITOR_LEN - 1, &flash_info[0]
+                      CONFIG_SYS_MONITOR_BASE,
+                      CONFIG_SYS_MONITOR_BASE + monitor_flash_len - 1, &flash_info[0]
        );
 #endif
 #endif
 
-#if (CFG_ENV_IS_IN_FLASH == 1) && defined(CFG_ENV_ADDR)
-# ifndef  CFG_ENV_SIZE
-#  define CFG_ENV_SIZE CFG_ENV_SECT_SIZE
+#if defined(CONFIG_ENV_IS_IN_FLASH) && defined(CONFIG_ENV_ADDR)
+# ifndef  CONFIG_ENV_SIZE
+#  define CONFIG_ENV_SIZE      CONFIG_ENV_SECT_SIZE
 # endif
-# if CFG_ENV_ADDR >= CFG_BOOTROM_BASE
+# if CONFIG_ENV_ADDR >= CONFIG_SYS_BOOTROM_BASE
        if (size_b1) {
                flash_protect (FLAG_PROTECT_SET,
-                               CFG_ENV_ADDR,
-                               CFG_ENV_ADDR + CFG_ENV_SIZE - 1, &flash_info[1]);
+                               CONFIG_ENV_ADDR,
+                               CONFIG_ENV_ADDR + CONFIG_ENV_SIZE - 1, &flash_info[1]);
        }
 # else
        flash_protect (FLAG_PROTECT_SET,
-                      CFG_ENV_ADDR,
-                      CFG_ENV_ADDR + CFG_ENV_SIZE - 1, &flash_info[0]);
+                      CONFIG_ENV_ADDR,
+                      CONFIG_ENV_ADDR + CONFIG_ENV_SIZE - 1, &flash_info[0]);
 # endif
 #endif
 
@@ -382,7 +366,7 @@ int flash_erase (flash_info_t * info, int s_first, int s_last)
                last  = start;
                addr = (vu_char *)(info->start[l_sect]);
                while ((addr[0] & 0x80) != 0x80) {
-                       if ((now = get_timer(start)) > CFG_FLASH_ERASE_TOUT) {
+                       if ((now = get_timer(start)) > CONFIG_SYS_FLASH_ERASE_TOUT) {
                                printf ("Timeout\n");
                                return 1;
                        }
@@ -434,7 +418,7 @@ AMD_DONE:
                                last = start;
                                while ((addr[0] & 0x00800080) != 0x00800080 ||
                                   (addr[1] & 0x00800080) != 0x00800080) {
-                                       if ((now = get_timer (start)) > CFG_FLASH_ERASE_TOUT) {
+                                       if ((now = get_timer (start)) > CONFIG_SYS_FLASH_ERASE_TOUT) {
                                                printf ("Timeout (erase suspended!)\n");
                                                /* Suspend erase
                                                 */
@@ -549,7 +533,7 @@ static int write_word (flash_info_t * info, volatile unsigned long *addr,
 
        start = get_timer (0);
        while ((*addr & 0x00800080) != 0x00800080) {
-               if (get_timer (start) > CFG_FLASH_WRITE_TOUT) {
+               if (get_timer (start) > CONFIG_SYS_FLASH_WRITE_TOUT) {
                        /* Suspend program
                         */
                        *addr = 0x00B000B0;
@@ -604,7 +588,7 @@ static int write_byte (flash_info_t *info, ulong dest, uchar data)
        /* data polling for D7 */
        start = get_timer (0);
        while ((*((vu_char *)dest) & 0x80) != (data & 0x80)) {
-               if (get_timer(start) > CFG_FLASH_WRITE_TOUT) {
+               if (get_timer(start) > CONFIG_SYS_FLASH_WRITE_TOUT) {
                        return (1);
                }
        }