[U-Boot] u-boot on beagleboard finds incorrect memory size.

Tom Rini tom.rini at gmail.com
Fri Jan 27 16:58:40 CET 2012


On Fri, Jan 27, 2012 at 8:50 AM, wilsonjonathan
<piercing_male at hotmail.com> wrote:
> I think the area of code that needs investigating is in
> arch/arm/cpu/armv7/omap3/sdrc.c
>
> line 82 onwards :-
>
>
>> u32 get_sdr_cs_size(u32 cs)
>> {
>>       u32 size;
>>
>>       /* get ram size field */
>>       size = readl(&sdrc_base->cs[cs].mcfg) >> 8;
>>       size &= 0x3FF;          /* remove unwanted bits */
>>       size <<= 21;            /* multiply by 2 MiB to find size in MB */
>>       return size;
>> }
>>
>
> Which I think is set in arc/arm/include/asm/arch-omap3/cpu.h but I don't
> understand how the -> stuff works.

This is all correct.  However, what's going wrong is we're programming
the size of memory found incorrectly and we don't yet have a safe
method to probe how much memory is really there (aside:
get_ram_size(...) goes off into the weeds on omap3 and it's on my TODO
list, and rising fast, to get my flyswatter out, hooked up and see
what's really happening).  So what I really need to know is which of
the cases in beagle.c this board is falling into (I suspect it's the
top half of that else, but it's 2x128MB not 1x256).  Thanks again!

-- 
Tom


More information about the U-Boot mailing list