Commit d085ecd6 authored by Masahiro Yamada's avatar Masahiro Yamada

ARM: uniphier: switch to raw U-Boot image

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: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
parent cbbc2d80
...@@ -75,12 +75,17 @@ to use your favorite compiler. ...@@ -75,12 +75,17 @@ to use your favorite compiler.
Burn U-Boot images to NAND 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 - 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. 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: and then run the following command at the U-Boot command line:
=> run nandupdate => run nandupdate
...@@ -89,12 +94,17 @@ and then run the following command at the U-Boot command line: ...@@ -89,12 +94,17 @@ and then run the following command at the U-Boot command line:
Burn U-Boot images to eMMC 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 - 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. 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: and then run the following command at the U-Boot command line:
=> run emmcupdate => run emmcupdate
......
...@@ -61,6 +61,7 @@ ...@@ -61,6 +61,7 @@
#define CONFIG_SYS_MAX_FLASH_SECT 256 #define CONFIG_SYS_MAX_FLASH_SECT 256
#define CONFIG_SYS_MONITOR_BASE 0 #define CONFIG_SYS_MONITOR_BASE 0
#define CONFIG_SYS_MONITOR_LEN 0x00080000 /* 512KB */
#define CONFIG_SYS_FLASH_BASE 0 #define CONFIG_SYS_FLASH_BASE 0
/* /*
...@@ -233,12 +234,12 @@ ...@@ -233,12 +234,12 @@
"mmc erase 0 800 &&" \ "mmc erase 0 800 &&" \
"tftpboot u-boot-spl.bin &&" \ "tftpboot u-boot-spl.bin &&" \
"mmc write $loadaddr 0 80 &&" \ "mmc write $loadaddr 0 80 &&" \
"tftpboot u-boot.img &&" \ "tftpboot u-boot.bin &&" \
"mmc write $loadaddr 80 780\0" \ "mmc write $loadaddr 80 780\0" \
"nandupdate=nand erase 0 0x00100000 &&" \ "nandupdate=nand erase 0 0x00100000 &&" \
"tftpboot u-boot-spl.bin &&" \ "tftpboot u-boot-spl.bin &&" \
"nand write $loadaddr 0 0x00010000 &&" \ "nand write $loadaddr 0 0x00010000 &&" \
"tftpboot u-boot.img &&" \ "tftpboot u-boot.bin &&" \
"nand write $loadaddr 0x00010000 0x000f0000\0" \ "nand write $loadaddr 0x00010000 0x000f0000\0" \
LINUXBOOT_ENV_SETTINGS LINUXBOOT_ENV_SETTINGS
...@@ -272,9 +273,11 @@ ...@@ -272,9 +273,11 @@
#define CONFIG_SYS_NAND_U_BOOT_OFFS 0x10000 #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_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x80
#define CONFIG_SPL_TARGET "u-boot-with-spl.bin"
#define CONFIG_SPL_MAX_FOOTPRINT 0x10000 #define CONFIG_SPL_MAX_FOOTPRINT 0x10000
#endif /* __CONFIG_UNIPHIER_COMMON_H__ */ #endif /* __CONFIG_UNIPHIER_COMMON_H__ */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment