ARM: OMAP5: Align memory used for testing to the power of 2
authorSRICHARAN R <r.sricharan@ti.com>
Thu, 17 May 2012 00:12:08 +0000 (00:12 +0000)
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>
Sat, 7 Jul 2012 12:07:22 +0000 (14:07 +0200)
get_ram_size checks the given memory range for valid ram,
but expects the size of memory to be aligned to the power
of 2. In case of OMAP5 evm board the memory available is
2GB - 16MB(used for TRAP section) = 2032MB.

So always ensure that the size of memory used for testing is
aligned to the power of 2.

Signed-off-by: R Sricharan <r.sricharan@ti.com>
arch/arm/cpu/armv7/omap-common/emif-common.c

index db509c92951cd2ca3dcdd659e54949e135e02d63..389feda7166af3d0e8c39dbae072e5bd7e0c53e7 100644 (file)
@@ -1161,6 +1161,9 @@ void sdram_init(void)
        /* Do some testing after the init */
        if (!in_sdram) {
                size_prog = omap_sdram_size();
+               size_prog = log_2_n_round_down(size_prog);
+               size_prog = (1 << size_prog);
+
                size_detect = get_ram_size((long *)CONFIG_SYS_SDRAM_BASE,
                                                size_prog);
                /* Compare with the size programmed */