[U-Boot] [PATCH 04/12] sunxi: Update sunxi-common.h to deal with different DRAM base addr on sun9i

Ian Campbell
2015-01-17T22:44:19Z

On Thu, 2015-01-15 at 15:52 +0100, Hans de Goede wrote:
> The DRAM Base differs between sun9i and the others and we cannot use
> math in various places like the environment setting and linker scripts,
> so "simply" define everything which contains the SDRAM_BASE twice.

Is it really not possible to use maths in linker scripts? How have I
never noticed that...

Anyway, given that things only differ in the most significant nibble of
the RAM base address I think something like this might work:

/* NB: find out if one of these is already available somewhere */
#define __stringify(x) #x
#define stringify(x) __stringify(x)

#define SDRAM_OFFSET(x) 0x2##x /* or 0x4 */
#define CONFIG_SYS_SDRAM_BASE SDRAM_OFFSET(0000000)

#define MEM_LAYOUT_ENV_SETTINGS \
"kernel_addr_r=" stringify(SDRAM_OFFSET(200000)) "\0"
...

Ian.