u-boot 2011.12: fix beagleboard C4 memory detection
[glsdk/meta-ti-glsdk.git] / recipes-bsp / u-boot / u-boot / 2011.12 / 0010-OMAP3-Correct-get_sdr_cs_offset-mask.patch
1 From 351fcc22c10beb005f589584b91298269a81aa52 Mon Sep 17 00:00:00 2001
2 From: Tom Rini <trini@ti.com>
3 Date: Wed, 18 Jan 2012 08:28:50 +0000
4 Subject: [PATCH 10/10] OMAP3: Correct get_sdr_cs_offset mask
6 OMAP3: Correct get_sdr_cs_offset mask
8 The function get_sdr_cs_offset reads the CS_CFG register in the SDRC
9 to determine where CS1 is mapped to.  make_cs1_contiguous() will set
10 CS1 to follow after CS0.  The CS_CFG register has values in bits 9:8
11 and 3:0 but we had erroneously been testing 5:4 and 3:0 resulting in
12 incorrect offsets on platforms with less than 128MB as 3:0 describe
13 128MB hunks and 9:8 describe 32MB offsets after the 128MB hunk.
15 Tested-by: Grant Erickson <marathon96@gmail.com>
16 Signed-off-by: Tom Rini <trini@ti.com>
17 Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
18 ---
19  arch/arm/cpu/armv7/omap3/sdrc.c |    2 +-
20  1 files changed, 1 insertions(+), 1 deletions(-)
22 diff --git a/arch/arm/cpu/armv7/omap3/sdrc.c b/arch/arm/cpu/armv7/omap3/sdrc.c
23 index a27b4b1..91f42c0 100644
24 --- a/arch/arm/cpu/armv7/omap3/sdrc.c
25 +++ b/arch/arm/cpu/armv7/omap3/sdrc.c
26 @@ -102,7 +102,7 @@ u32 get_sdr_cs_offset(u32 cs)
27                 return 0;
28  
29         offset = readl(&sdrc_base->cs_cfg);
30 -       offset = (offset & 15) << 27 | (offset & 0x30) << 17;
31 +       offset = (offset & 15) << 27 | (offset & 0x300) << 17;
32  
33         return offset;
34  }
35 -- 
36 1.7.2.5