[U-Boot] [PATCH 3/3] ARM: at91: sama5: update the spi flash mapping

Josh Wu josh.wu at atmel.com
Tue Jul 7 13:08:20 CEST 2015


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 at 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
-- 
1.9.1



More information about the U-Boot mailing list