
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.