
Also move the spi flash configurations to the at91-sama5_common.h.
Current at91 zImage size is about 3.3M, the old mapping is not suitable. So update the spi flash map as following: 0x0 ~ 0x004000: at91bootstrap(16k) 0x04000 ~ 0x008000: u-boot env(16k) 0x08000 ~ 0x060000: u-boot(352k) 0x60000 ~ 0x06c000: dtb (48k) 0x6c000 ~ 0x400000: kernel (3M+592k)
In AT91Bootstrap, the U-Boot in spi flash also update to 0x8000, refer to following commit in AT91Bootstrap: 3e91e54 Kconfig: fix spi flash address
So also update SPL's u-boot load address to 0x8000 in spi flash.
Signed-off-by: Josh Wu josh.wu@atmel.com ---
include/configs/at91-sama5_common.h | 10 ++++++++++ include/configs/sama5d3xek.h | 11 ++--------- include/configs/sama5d4_xplained.h | 14 ++------------ include/configs/sama5d4ek.h | 14 ++------------ 4 files changed, 16 insertions(+), 33 deletions(-)
diff --git a/include/configs/at91-sama5_common.h b/include/configs/at91-sama5_common.h index 90227ad..89fa675 100644 --- a/include/configs/at91-sama5_common.h +++ b/include/configs/at91-sama5_common.h @@ -93,6 +93,16 @@ #define CONFIG_BOOTCOMMAND "nand read 0x21000000 0x180000 0x80000;" \ "nand read 0x22000000 0x200000 0x600000;" \ "bootz 0x22000000 - 0x21000000" +#elif CONFIG_SYS_USE_SERIALFLASH +/* u-boot env in serial flash, by default is bus 0 and cs 0 */ +#define CONFIG_ENV_IS_IN_SPI_FLASH +#define CONFIG_ENV_OFFSET 0x4000 +#define CONFIG_ENV_SIZE 0x4000 +#define CONFIG_ENV_SECT_SIZE 0x1000 +#define CONFIG_BOOTCOMMAND "sf probe 0; " \ + "sf read 0x21000000 0x60000 0xc000; " \ + "sf read 0x22000000 0x6c000 0x394000; " \ + "bootz 0x22000000 - 0x21000000" #endif
#endif diff --git a/include/configs/sama5d3xek.h b/include/configs/sama5d3xek.h index 6a19eb6..d26ef7d 100644 --- a/include/configs/sama5d3xek.h +++ b/include/configs/sama5d3xek.h @@ -158,14 +158,7 @@ #define CONFIG_SYS_LOAD_ADDR 0x22000000 /* load address */
#ifdef CONFIG_SYS_USE_SERIALFLASH -/* bootstrap + u-boot + env + linux in serial flash */ -#define CONFIG_ENV_IS_IN_SPI_FLASH -#define CONFIG_ENV_OFFSET 0x5000 -#define CONFIG_ENV_SIZE 0x3000 -#define CONFIG_ENV_SECT_SIZE 0x1000 -#define CONFIG_BOOTCOMMAND "sf probe 0; " \ - "sf read 0x22000000 0x42000 0x300000; " \ - "bootm 0x22000000" +/* override the bootcmd, bootargs and other configuration for spi flash env*/ #elif CONFIG_SYS_USE_NANDFLASH /* override the bootcmd, bootargs and other configuration nandflash env */ #elif CONFIG_SYS_USE_MMC @@ -218,7 +211,7 @@ #define CONFIG_SPL_SPI_SUPPORT #define CONFIG_SPL_SPI_FLASH_SUPPORT #define CONFIG_SPL_SPI_LOAD -#define CONFIG_SYS_SPI_U_BOOT_OFFS 0x8400 +#define CONFIG_SYS_SPI_U_BOOT_OFFS 0x8000
#endif
diff --git a/include/configs/sama5d4_xplained.h b/include/configs/sama5d4_xplained.h index 917d481..592c99f 100644 --- a/include/configs/sama5d4_xplained.h +++ b/include/configs/sama5d4_xplained.h @@ -120,17 +120,7 @@ #endif
#ifdef CONFIG_SYS_USE_SERIALFLASH -/* bootstrap + u-boot + env + linux in serial flash */ -#define CONFIG_ENV_IS_IN_SPI_FLASH -#define CONFIG_ENV_SPI_BUS CONFIG_SF_DEFAULT_BUS -#define CONFIG_ENV_SPI_CS CONFIG_SF_DEFAULT_CS -#define CONFIG_ENV_OFFSET 0x10000 -#define CONFIG_ENV_SIZE 0x10000 -#define CONFIG_ENV_SECT_SIZE 0x1000 -#define CONFIG_BOOTCOMMAND "sf probe 0; " \ - "sf read 0x21000000 0xa0000 0x60000; " \ - "sf read 0x22000000 0x100000 0x300000; " \ - "bootz 0x22000000 - 0x21000000" +/* override the bootcmd, bootargs and other configuration for spi flash env */ #elif CONFIG_SYS_USE_NANDFLASH /* override the bootcmd, bootargs and other configuration for nandflash env */ #elif CONFIG_SYS_USE_MMC @@ -183,7 +173,7 @@ #define CONFIG_SPL_SPI_SUPPORT #define CONFIG_SPL_SPI_FLASH_SUPPORT #define CONFIG_SPL_SPI_LOAD -#define CONFIG_SYS_SPI_U_BOOT_OFFS 0x20000 +#define CONFIG_SYS_SPI_U_BOOT_OFFS 0x8000
#endif #endif diff --git a/include/configs/sama5d4ek.h b/include/configs/sama5d4ek.h index e21569b..611e575 100644 --- a/include/configs/sama5d4ek.h +++ b/include/configs/sama5d4ek.h @@ -118,17 +118,7 @@ #define CONFIG_SYS_CONSOLE_IS_IN_ENV
#ifdef CONFIG_SYS_USE_SERIALFLASH -/* bootstrap + u-boot + env + linux in serial flash */ -#define CONFIG_ENV_IS_IN_SPI_FLASH -#define CONFIG_ENV_SPI_BUS CONFIG_SF_DEFAULT_BUS -#define CONFIG_ENV_SPI_CS CONFIG_SF_DEFAULT_CS -#define CONFIG_ENV_OFFSET 0x10000 -#define CONFIG_ENV_SIZE 0x10000 -#define CONFIG_ENV_SECT_SIZE 0x1000 -#define CONFIG_BOOTCOMMAND "sf probe 0; " \ - "sf read 0x21000000 0xa0000 0x60000; " \ - "sf read 0x22000000 0x100000 0x300000; " \ - "bootz 0x22000000 - 0x21000000" +/* override the bootcmd, bootargs and other configuration for spi flash env*/ #elif CONFIG_SYS_USE_NANDFLASH /* override the bootcmd, bootargs and other configuration for nandflash env*/ #elif CONFIG_SYS_USE_MMC @@ -181,7 +171,7 @@ #define CONFIG_SPL_SPI_SUPPORT #define CONFIG_SPL_SPI_FLASH_SUPPORT #define CONFIG_SPL_SPI_LOAD -#define CONFIG_SYS_SPI_U_BOOT_OFFS 0x20000 +#define CONFIG_SYS_SPI_U_BOOT_OFFS 0x8000
#endif #endif