[PATCH] cfa10036: Retrieve the RAM size at runtime
Alexandre Belloni
alexandre.belloni at free-electrons.com
Mon Mar 25 08:58:40 EDT 2013
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 ?
Regards,
--
Alexandre Belloni, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
More information about the barebox
mailing list