]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - board/rbc823/rbc823.c
cros_ec: Add an enum for the number of flash regions
[karo-tx-uboot.git] / board / rbc823 / rbc823.c
index 5b62af61467648867de300fcd92ace28f9f00409..5881111c70e7c43bfcf6fdc0eb568757fe7b6742 100644 (file)
@@ -2,23 +2,7 @@
  * (C) Copyright 2000
  * 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>
@@ -94,7 +78,7 @@ const uint static_table[] =
        0x0FFFFC04, 0x0FF3FC04, 0x0FF3CC04, 0x0FF3CC04,
        0x0FF3EC04, 0x0FF3CC00, 0x0FF7FC04, 0x3FFFFC04,
        0xFFFFFC04, 0xFFFFFC05, /* last */
-                               _NOT_USED_, _NOT_USED_,
+                               _NOT_USED_, _NOT_USED_,
        _NOT_USED_, _NOT_USED_, _NOT_USED_, _NOT_USED_,
        _NOT_USED_, _NOT_USED_, _NOT_USED_, _NOT_USED_,
        _NOT_USED_, _NOT_USED_, _NOT_USED_, _NOT_USED_,
@@ -127,15 +111,16 @@ const uint static_table[] =
 
 int checkboard (void)
 {
-       char *s = getenv ("serial#");
+       char buf[64];
+       int i = getenv_f("serial#", buf, sizeof(buf));
 
-       if (!s || strncmp (s, "TQM8", 4)) {
+       if (i < 0 || strncmp(buf, "TQM8", 4)) {
                printf ("### No HW ID - assuming RBC823\n");
                return (0);
        }
 
-       puts (s);
-       putc ('\n');
+       puts(buf);
+       putc('\n');
 
        return (0);
 }
@@ -144,7 +129,7 @@ int checkboard (void)
 
 phys_size_t initdram (int board_type)
 {
-       volatile immap_t *immap = (immap_t *) CFG_IMMR;
+       volatile immap_t *immap = (immap_t *) CONFIG_SYS_IMMR;
        volatile memctl8xx_t *memctl = &immap->im_memctl;
        long int size_b0, size8, size9;
 
@@ -154,15 +139,15 @@ phys_size_t initdram (int board_type)
        /*
         * 1 Bank of 64Mbit x 2 devices
         */
-       memctl->memc_mptpr = CFG_MPTPR_1BK_4K;
+       memctl->memc_mptpr = CONFIG_SYS_MPTPR_1BK_4K;
        memctl->memc_mar = 0x00000088;
 
        /*
         * Map controller SDRAM bank 0
         */
-       memctl->memc_or4 = CFG_OR4_PRELIM;
-       memctl->memc_br4 = CFG_BR4_PRELIM;
-       memctl->memc_mamr = CFG_MAMR_8COL & (~(MAMR_PTAE));     /* no refresh yet */
+       memctl->memc_or4 = CONFIG_SYS_OR4_PRELIM;
+       memctl->memc_br4 = CONFIG_SYS_BR4_PRELIM;
+       memctl->memc_mamr = CONFIG_SYS_MAMR_8COL & (~(MAMR_PTAE));      /* no refresh yet */
        udelay (200);
 
        /*
@@ -170,11 +155,11 @@ phys_size_t initdram (int board_type)
         */
        memctl->memc_mcr = 0x80008105;  /* SDRAM bank 0 */
        udelay (1);
-       memctl->memc_mamr = (CFG_MAMR_8COL & ~(MAMR_TLFA_MSK)) | MAMR_TLFA_8X;
+       memctl->memc_mamr = (CONFIG_SYS_MAMR_8COL & ~(MAMR_TLFA_MSK)) | MAMR_TLFA_8X;
        udelay (200);
        memctl->memc_mcr = 0x80008130;  /* SDRAM bank 0 - execute twice */
        udelay (1);
-       memctl->memc_mamr = (CFG_MAMR_8COL & ~(MAMR_TLFA_MSK)) | MAMR_TLFA_4X;
+       memctl->memc_mamr = (CONFIG_SYS_MAMR_8COL & ~(MAMR_TLFA_MSK)) | MAMR_TLFA_4X;
        udelay (200);
 
        memctl->memc_mamr |= MAMR_PTAE; /* enable refresh */
@@ -186,21 +171,21 @@ phys_size_t initdram (int board_type)
         * with two SDRAM banks or four cycles every 31.2 us with one
         * bank. It will be adjusted after memory sizing.
         */
-       memctl->memc_mptpr = CFG_MPTPR_2BK_4K;  /* 16: but should be: CFG_MPTPR_1BK_4K */
+       memctl->memc_mptpr = CONFIG_SYS_MPTPR_2BK_4K;   /* 16: but should be: CONFIG_SYS_MPTPR_1BK_4K */
 
        /*
         * Check Bank 0 Memory Size for re-configuration
         *
         * try 8 column mode
         */
-       size8 = dram_size (CFG_MAMR_8COL, (long *) SDRAM_BASE4_PRELIM,
+       size8 = dram_size (CONFIG_SYS_MAMR_8COL, (long *) SDRAM_BASE4_PRELIM,
                           SDRAM_MAX_SIZE);
        udelay (1000);
 
        /*
         * try 9 column mode
         */
-       size9 = dram_size (CFG_MAMR_9COL, (long *) SDRAM_BASE4_PRELIM,
+       size9 = dram_size (CONFIG_SYS_MAMR_9COL, (long *) SDRAM_BASE4_PRELIM,
                           SDRAM_MAX_SIZE);
 
        if (size8 < size9) {    /* leave configuration at 9 columns     */
@@ -208,7 +193,7 @@ phys_size_t initdram (int board_type)
 /*     debug ("SDRAM Bank 0 in 9 column mode: %ld MB\n", size >> 20);  */
        } else {                /* back to 8 columns                    */
                size_b0 = size8;
-               memctl->memc_mamr = CFG_MAMR_8COL;
+               memctl->memc_mamr = CONFIG_SYS_MAMR_8COL;
                udelay (500);
 /*     debug ("SDRAM Bank 0 in 8 column mode: %ld MB\n", size >> 20);  */
        }
@@ -221,14 +206,14 @@ phys_size_t initdram (int board_type)
         */
        if ((size_b0 < 0x02000000)) {
                /* reduce to 15.6 us (62.4 us / quad) */
-               memctl->memc_mptpr = CFG_MPTPR_2BK_4K;
+               memctl->memc_mptpr = CONFIG_SYS_MPTPR_2BK_4K;
                udelay (1000);
        }
 
        /* SDRAM Bank 0 is bigger - map first       */
 
-       memctl->memc_or4 = ((-size_b0) & 0xFFFF0000) | CFG_OR_TIMING_SDRAM;
-       memctl->memc_br4 = (CFG_SDRAM_BASE & BR_BA_MSK) | BR_MS_UPMA | BR_V;
+       memctl->memc_or4 = ((-size_b0) & 0xFFFF0000) | CONFIG_SYS_OR_TIMING_SDRAM;
+       memctl->memc_br4 = (CONFIG_SYS_SDRAM_BASE & BR_BA_MSK) | BR_MS_UPMA | BR_V;
 
        udelay (10000);
 
@@ -248,7 +233,7 @@ phys_size_t initdram (int board_type)
 static long int dram_size (long int mamr_value, long int *base,
                           long int maxsize)
 {
-       volatile immap_t *immap = (immap_t *) CFG_IMMR;
+       volatile immap_t *immap = (immap_t *) CONFIG_SYS_IMMR;
        volatile memctl8xx_t *memctl = &immap->im_memctl;
 
        memctl->memc_mamr = mamr_value;
@@ -256,9 +241,10 @@ static long int dram_size (long int mamr_value, long int *base,
        return (get_ram_size (base, maxsize));
 }
 
+#ifdef CONFIG_CMD_DOC
 void doc_init (void)
 {
-       volatile immap_t *immap = (immap_t *) CFG_IMMR;
+       volatile immap_t *immap = (immap_t *) CONFIG_SYS_IMMR;
        volatile memctl8xx_t *memctl = &immap->im_memctl;
 
        upmconfig (UPMB, (uint *) static_table,
@@ -267,3 +253,4 @@ void doc_init (void)
 
        doc_probe (FLASH_BASE1_PRELIM);
 }
+#endif