[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