ARM: at91: sama5: update the spi flash mapping
authorWu, Josh <Josh.wu@atmel.com>
Wed, 19 Aug 2015 11:11:21 +0000 (19:11 +0800)
committerAndreas Bießmann <andreas.devel@googlemail.com>
Fri, 21 Aug 2015 13:47:05 +0000 (15:47 +0200)
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>
Reviewed-by: Jagan Teki <jteki@openedev.com>
include/configs/at91-sama5_common.h
include/configs/sama5d3xek.h
include/configs/sama5d4_xplained.h
include/configs/sama5d4ek.h

index 9c3ebd0e1700dca42dde25aa26c161fc55284dfc..de5f12ebb05a0c2b3b64b9a155ae63157d4150c4 100644 (file)
 #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
index dc26ba74573e3bded44b9d865f322e3b5157c3b7..61b4bdaab2571f34638c74fc3fa530a581018c8b 100644 (file)
 #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
 #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
 
index c5adf6d2ef31711f39ef788e55d804b8260cdbc6..139031d30766d180362919e0ded611302e49d6bb 100644 (file)
 #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
 #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
index be2c2cec3df29f210c75b148d56f8f6684bea6a0..cde549a2143fff2ebfbfb73895bda2ca2ac65d1e 100644 (file)
 #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
 #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