]> git.sur5r.net Git - u-boot/commitdiff
OMAP3: Correct get_sdr_cs_offset mask
authorTom Rini <trini@ti.com>
Wed, 18 Jan 2012 08:28:50 +0000 (08:28 +0000)
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>
Sun, 12 Feb 2012 09:11:23 +0000 (10:11 +0100)
The function get_sdr_cs_offset reads the CS_CFG register in the SDRC
to determine where CS1 is mapped to.  make_cs1_contiguous() will set
CS1 to follow after CS0.  The CS_CFG register has values in bits 9:8
and 3:0 but we had erroneously been testing 5:4 and 3:0 resulting in
incorrect offsets on platforms with less than 128MB as 3:0 describe
128MB hunks and 9:8 describe 32MB offsets after the 128MB hunk.

Tested-by: Grant Erickson <marathon96@gmail.com>
Signed-off-by: Tom Rini <trini@ti.com>
arch/arm/cpu/armv7/omap3/sdrc.c

index a27b4b124e7c4c1726d28c3eca3e051921e9e9da..91f42c0e2cd1dc9df1d7a30633f30e6137ef6cdf 100644 (file)
@@ -102,7 +102,7 @@ u32 get_sdr_cs_offset(u32 cs)
                return 0;
 
        offset = readl(&sdrc_base->cs_cfg);
-       offset = (offset & 15) << 27 | (offset & 0x30) << 17;
+       offset = (offset & 15) << 27 | (offset & 0x300) << 17;
 
        return offset;
 }