diff options
Diffstat (limited to 'board/siemens/CCM/ccm.c')
| -rw-r--r-- | board/siemens/CCM/ccm.c | 34 | 
1 files changed, 1 insertions, 33 deletions
| diff --git a/board/siemens/CCM/ccm.c b/board/siemens/CCM/ccm.c index f2283b760..b54f3c134 100644 --- a/board/siemens/CCM/ccm.c +++ b/board/siemens/CCM/ccm.c @@ -333,42 +333,10 @@ 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; -    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));  }  /* ------------------------------------------------------------------------- */ |