[PATCH] cfa10036: Retrieve the RAM size at runtime
Maxime Ripard
maxime.ripard at free-electrons.com
Mon Mar 25 09:02:42 EDT 2013
HI,
Le 25/03/2013 13:58, Alexandre Belloni a écrit :
> On 25/03/2013 13:51, Sascha Hauer wrote:
>>
>> index 1bc20cf..37cc17e 100644
>> --- a/arch/arm/boards/crystalfontz-cfa10036/cfa10036.c
>> +++ b/arch/arm/boards/crystalfontz-cfa10036/cfa10036.c
>> @@ -39,6 +39,8 @@
>> #include <asm/armlinux.h>
>> #include <asm/mmu.h>
>>
>> +#include <asm-generic/sections.h>
>> +
>> #include <mach/fb.h>
>>
>> #include <generated/mach-types.h>
>> @@ -90,9 +92,77 @@ static struct i2c_gpio_platform_data i2c_gpio_pdata = {
>> .udelay = 5, /* ~100 kHz */
>> };
>>
>> +/*
>> + * Copied from get_ram_size in common/memory.c
>> + */
>> +long cfa10036_get_ram_size(volatile long *base, long maxsize)
>> +{
>> When I asked for a local version of this function I had something like
>> this in mind, not a complete copy of the function.
>>
>> volatile u32 *base = (void *)IMX_MEMORY_BASE;
>> volatile u32 *ofs = base + SZ_128M;
>>
>> *base = *ofs = 0xdeadbeef;
>>
>> *ofs = 0x11223344;
>> if (*base == 0x11223344)
>> return SZ_128M;
>> else
>> return SZ_256M;
>>
>
> Yeah, I was also thinking about stripping it. But, for the sake of being
> future proof, I finally chose to keep the full version.
>
> Maybe, we can assume that we will never have less than 128M of ram if
> you want to simplify it ?
>
> Maxime, any input ?
For now, we only have 128M or 256M, so I guess it's a safe assumption, yes.
Maxime
--
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
More information about the barebox
mailing list