X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=board%2Fhermes%2Fhermes.c;h=7490324cb0e7a5c86e2d57c5935b7cf1b96bf35a;hb=b3b0fd552e11cb47cded66c42274acd710c8aee2;hp=97a7745708eb1d7fb14d963da1f4a0622e4b0ea0;hpb=16f217049a70da97bc61eff7a95b4b6313850909;p=u-boot diff --git a/board/hermes/hermes.c b/board/hermes/hermes.c index 97a7745708..7490324cb0 100644 --- a/board/hermes/hermes.c +++ b/board/hermes/hermes.c @@ -225,42 +225,10 @@ static long int dram_size (long int mamr_value, long int *base, { volatile immap_t *immap = (immap_t *) CFG_IMMR; volatile memctl8xx_t *memctl = &immap->im_memctl; - volatile long int *addr; - ulong cnt, val; - ulong save[32]; /* to make test non-destructive */ - unsigned char i = 0; memctl->memc_mamr = mamr_value; - for (cnt = maxsize / sizeof (long); cnt > 0; cnt >>= 1) { - addr = base + cnt; /* pointer arith! */ - - save[i++] = *addr; - *addr = ~cnt; - } - - /* write 0 to base address */ - addr = base; - save[i] = *addr; - *addr = 0; - - /* check at base address */ - if ((val = *addr) != 0) { - *addr = save[i]; - return (0); - } - - for (cnt = 1; cnt <= maxsize / sizeof (long); cnt <<= 1) { - addr = base + cnt; /* pointer arith! */ - - val = *addr; - *addr = save[--i]; - - if (val != (~cnt)) { - return (cnt * sizeof (long)); - } - } - return (maxsize); + return (get_ram_size(base, maxsize)); } /* ------------------------------------------------------------------------- */