]> git.sur5r.net Git - u-boot/blobdiff - board/snmc/qs850/qs850.c
Change initdram() return type to phys_size_t
[u-boot] / board / snmc / qs850 / qs850.c
index 7448eb112e1dc7ba7e0e0bbd1ed7cb84af489370..ba5a8fb0a1f6a89a01f25975ca3ef5278dfbd2f8 100644 (file)
@@ -89,8 +89,8 @@ const uint sdram_table[] =
 
 int checkboard (void)
 {
-       unsigned char *s, *e;
-       unsigned char buf[64];
+       char *s, *e;
+       char buf[64];
        int i;
 
        i = getenv_r("serial#", buf, sizeof(buf));
@@ -143,7 +143,7 @@ int checkboard (void)
 #define REFRESH_INIT_LOOPS (0)
 
 
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
        volatile immap_t     *immap  = (immap_t *)CFG_IMMR;
        volatile memctl8xx_t *memctl = &immap->im_memctl;
@@ -192,7 +192,7 @@ long int initdram (int board_type)
        * Check for 32M SDRAM Memory Size
        */
        size = dram_size(CFG_32M_MAMR|MAMR_PTAE,
-       (ulong *)SDRAM_BASE, SDRAM_32M_MAX_SIZE);
+       (long *)SDRAM_BASE, SDRAM_32M_MAX_SIZE);
        udelay (1000);
 
        /*
@@ -200,7 +200,7 @@ long int initdram (int board_type)
        */
        if (size != SDRAM_32M_MAX_SIZE) {
        size = dram_size(CFG_16M_MAMR|MAMR_PTAE,
-       (ulong *)SDRAM_BASE, SDRAM_16M_MAX_SIZE);
+       (long *)SDRAM_BASE, SDRAM_16M_MAX_SIZE);
        udelay (1000);
        }
 
@@ -222,32 +222,8 @@ static long int dram_size (long int mamr_value, long int *base, long int maxsize
 {
        volatile immap_t *immap = (immap_t *)CFG_IMMR;
        volatile memctl8xx_t *memctl = &immap->im_memctl;
-       volatile long int *addr;
-       long int cnt, val;
 
        memctl->memc_mamr = mamr_value;
 
-       for (cnt = maxsize/sizeof(long); cnt > 0; cnt >>= 1) {
-               addr = base + cnt; /* pointer arith! */
-               *addr = ~cnt;
-       }
-
-       /* write 0 to base address */
-       addr = base;
-       *addr = 0;
-
-       /* check at base address */
-       if ((val = *addr) != 0) {
-               return (0);
-       }
-
-       for (cnt = 1; ; cnt <<= 1) {
-               addr = base + cnt; /* pointer arith! */
-               val = *addr;
-
-               if (val != (~cnt)) {
-                       return (cnt * sizeof(long));
-               }
-       }
-       /* NOTREACHED */
+       return (get_ram_size(base, maxsize));
 }