[U-Boot] [PATCH 3/3] ARM: uniphier: switch to raw U-Boot image

Masahiro Yamada yamada.masahiro at socionext.com
Tue Mar 22 17:40:05 CET 2016


Now everything is done to load a raw U-Boot proper image instead of
an mkimage-processed one (as far as I tested on NAND, eMMC, NOR).

The SPL already knows the load address of the U-Boot proper without
parsing its uImage header because the load address is defined by
CONFIG_SYS_TEXT_BASE, assuming that the two images are generated from
the same build.

My main motivation of this switch is to use u-boot-with-spl.bin, a
concatenation of u-boot-spl.bin and u-boot.bin.  (I wish there were
a concatenation of u-boot-spl.bin and u-boot.img...)  Anyway, this
commit would be useful for one-shot image burn.

Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
---

 doc/README.uniphier        | 22 ++++++++++++++++------
 include/configs/uniphier.h |  9 ++++++---
 2 files changed, 22 insertions(+), 9 deletions(-)

diff --git a/doc/README.uniphier b/doc/README.uniphier
index 47863a4..49045a0 100644
--- a/doc/README.uniphier
+++ b/doc/README.uniphier
@@ -75,12 +75,17 @@ to use your favorite compiler.
 Burn U-Boot images to NAND
 --------------------------
 
-Write two files to the NAND device as follows:
+Write the following to the NAND device:
+
  - spl/u-boot-spl.bin at the offset address 0x00000000
- - u-boot.img         at the offset address 0x00010000
+ - u-boot.bin         at the offset address 0x00010000
+
+or
+
+ - u-boot-with-spl.bin at the offset address 0x00000000
 
 If a TFTP server is available, the images can be easily updated.
-Just copy the u-boot-spl.bin and u-boot.img to the TFTP public directory,
+Just copy the u-boot-spl.bin and u-boot.bin to the TFTP public directory,
 and then run the following command at the U-Boot command line:
 
   => run nandupdate
@@ -89,12 +94,17 @@ and then run the following command at the U-Boot command line:
 Burn U-Boot images to eMMC
 --------------------------
 
-Write two files to the Boot partition 1 of the eMMC device as follows:
+Write the following to the Boot partition 1 of the eMMC device:
+
  - spl/u-boot-spl.bin at the offset address 0x00000000
- - u-boot.img         at the offset address 0x00010000
+ - u-boot.bin         at the offset address 0x00010000
+
+or
+
+ - u-boot-with-spl.bin at the offset address 0x00000000
 
 If a TFTP server is available, the images can be easily updated.
-Just copy the u-boot-spl.bin and u-boot.img to the TFTP public directory,
+Just copy the u-boot-spl.bin and u-boot.bin to the TFTP public directory,
 and then run the following command at the U-Boot command line:
 
   => run emmcupdate
diff --git a/include/configs/uniphier.h b/include/configs/uniphier.h
index dd7b352..5f3d6b8 100644
--- a/include/configs/uniphier.h
+++ b/include/configs/uniphier.h
@@ -61,6 +61,7 @@
 
 #define CONFIG_SYS_MAX_FLASH_SECT	256
 #define CONFIG_SYS_MONITOR_BASE		0
+#define CONFIG_SYS_MONITOR_LEN		0x00080000	/* 512KB */
 #define CONFIG_SYS_FLASH_BASE		0
 
 /*
@@ -233,12 +234,12 @@
 		"mmc erase 0 800 &&"				\
 		"tftpboot u-boot-spl.bin &&"			\
 		"mmc write $loadaddr 0 80 &&"			\
-		"tftpboot u-boot.img &&"			\
+		"tftpboot u-boot.bin &&"			\
 		"mmc write $loadaddr 80 780\0"			\
 	"nandupdate=nand erase 0 0x00100000 &&"			\
 		"tftpboot u-boot-spl.bin &&"			\
 		"nand write $loadaddr 0 0x00010000 &&"		\
-		"tftpboot u-boot.img &&"			\
+		"tftpboot u-boot.bin &&"			\
 		"nand write $loadaddr 0x00010000 0x000f0000\0"	\
 	LINUXBOOT_ENV_SETTINGS
 
@@ -272,9 +273,11 @@
 
 #define CONFIG_SYS_NAND_U_BOOT_OFFS		0x10000
 
-#define CONFIG_SYS_UBOOT_BASE			0x60000
+/* subtract sizeof(struct image_header) */
+#define CONFIG_SYS_UBOOT_BASE			(0x60000 - 0x40)
 #define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR	0x80
 
+#define CONFIG_SPL_TARGET			"u-boot-with-spl.bin"
 #define CONFIG_SPL_MAX_FOOTPRINT		0x10000
 
 #endif /* __CONFIG_UNIPHIER_COMMON_H__ */
-- 
1.9.1



More information about the U-Boot mailing list