From 5aa79f26762d197324866a0d0c2b31601a7fc8ee Mon Sep 17 00:00:00 2001 From: Mike Looijmans Date: Tue, 26 Jul 2016 07:34:07 +0200 Subject: [PATCH] spl_nor.c: Support devicetree sizes different from 16k The devicetrees for various platforms already exceed 16k. Add a define CONFIG_SYS_FDT_SIZE to specify the FDT size, and set to 16k for the two boards that define this CONFIG_SYS_FDT_BASE parameter. This allows platforms with larger devicetree blobs to boot from NOR. Signed-off-by: Mike Looijmans --- common/spl/spl_nor.c | 4 ++-- include/configs/a3m071.h | 1 + include/configs/microblaze-generic.h | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/common/spl/spl_nor.c b/common/spl/spl_nor.c index da2422f305..8ea874c888 100644 --- a/common/spl/spl_nor.c +++ b/common/spl/spl_nor.c @@ -40,11 +40,11 @@ int spl_nor_load_image(void) /* * Copy DT blob (fdt) to SDRAM. Passing pointer to - * flash doesn't work (16 KiB should be enough for DT) + * flash doesn't work */ memcpy((void *)CONFIG_SYS_SPL_ARGS_ADDR, (void *)(CONFIG_SYS_FDT_BASE), - (16 << 10)); + CONFIG_SYS_FDT_SIZE); return 0; } else { diff --git a/include/configs/a3m071.h b/include/configs/a3m071.h index 8f17dd18c7..ab2477c4d5 100644 --- a/include/configs/a3m071.h +++ b/include/configs/a3m071.h @@ -334,6 +334,7 @@ #define CONFIG_SYS_OS_BASE 0xfc200000 #define CONFIG_SYS_FDT_BASE 0xfc1e0000 +#define CONFIG_SYS_FDT_SIZE (16<<10) #define CONFIG_EXTRA_ENV_SETTINGS \ "netdev=eth0\0" \ diff --git a/include/configs/microblaze-generic.h b/include/configs/microblaze-generic.h index 047e756e71..e5bf700853 100644 --- a/include/configs/microblaze-generic.h +++ b/include/configs/microblaze-generic.h @@ -305,6 +305,7 @@ 0x60000) #define CONFIG_SYS_FDT_BASE (CONFIG_SYS_FLASH_BASE + \ 0x40000) +#define CONFIG_SYS_FDT_SIZE (16<<10) #define CONFIG_SYS_SPL_ARGS_ADDR (CONFIG_SYS_TEXT_BASE + \ 0x1000000)