[U-Boot] [PATCH V4 0/5] ARM: OMAP4/5: Add support to boot with device tree as default

With the kernel moving all towards device tree, this series adds support to make the device tree boot as the default for OMAP4/5 platforms.
Nishanth Menon (1): omap5: Allow use of a plain text env file
Sricharan R (4): ARM: OMAP5: Rename omap5_evm to omap5_uevm ARM: OMAP5: Set fdt_high to enable booting with Device tree ARM: OMAP4/5: Change the default boot command to work with device tree ARM: OMAP4/5: Make bootz as the default boot command
board/ti/{omap5_evm => omap5_uevm}/Makefile | 0 board/ti/{omap5_evm => omap5_uevm}/evm.c | 0 board/ti/{omap5_evm => omap5_uevm}/mux_data.h | 0 boards.cfg | 2 +- include/configs/omap4_common.h | 22 +++++++++++++--- include/configs/omap5_common.h | 35 +++++++++++++++++++++---- include/configs/{omap5_evm.h => omap5_uevm.h} | 0 7 files changed, 50 insertions(+), 9 deletions(-) rename board/ti/{omap5_evm => omap5_uevm}/Makefile (100%) rename board/ti/{omap5_evm => omap5_uevm}/evm.c (100%) rename board/ti/{omap5_evm => omap5_uevm}/mux_data.h (100%) rename include/configs/{omap5_evm.h => omap5_uevm.h} (100%)

The omap5-uevm is the reference board name for OMAP5 soc based platform. So rename it accordingly.
Acked-by: Nishanth Menon nm@ti.com Signed-off-by: Sricharan R r.sricharan@ti.com Tested-by: Nishanth Menon nm@ti.com --- board/ti/{omap5_evm => omap5_uevm}/Makefile | 0 board/ti/{omap5_evm => omap5_uevm}/evm.c | 0 board/ti/{omap5_evm => omap5_uevm}/mux_data.h | 0 boards.cfg | 2 +- include/configs/{omap5_evm.h => omap5_uevm.h} | 0 5 files changed, 1 insertion(+), 1 deletion(-) rename board/ti/{omap5_evm => omap5_uevm}/Makefile (100%) rename board/ti/{omap5_evm => omap5_uevm}/evm.c (100%) rename board/ti/{omap5_evm => omap5_uevm}/mux_data.h (100%) rename include/configs/{omap5_evm.h => omap5_uevm.h} (100%)
diff --git a/board/ti/omap5_evm/Makefile b/board/ti/omap5_uevm/Makefile similarity index 100% rename from board/ti/omap5_evm/Makefile rename to board/ti/omap5_uevm/Makefile diff --git a/board/ti/omap5_evm/evm.c b/board/ti/omap5_uevm/evm.c similarity index 100% rename from board/ti/omap5_evm/evm.c rename to board/ti/omap5_uevm/evm.c diff --git a/board/ti/omap5_evm/mux_data.h b/board/ti/omap5_uevm/mux_data.h similarity index 100% rename from board/ti/omap5_evm/mux_data.h rename to board/ti/omap5_uevm/mux_data.h diff --git a/boards.cfg b/boards.cfg index ee68fdd..c9ad3ff 100644 --- a/boards.cfg +++ b/boards.cfg @@ -291,7 +291,7 @@ twister arm armv7 twister technex nokia_rx51 arm armv7 rx51 nokia omap3 omap4_panda arm armv7 panda ti omap4 omap4_sdp4430 arm armv7 sdp4430 ti omap4 -omap5_evm arm armv7 omap5_evm ti omap5 +omap5_uevm arm armv7 omap5_uevm ti omap5 dra7xx_evm arm armv7 dra7xx ti omap5 s5p_goni arm armv7 goni samsung s5pc1xx smdkc100 arm armv7 smdkc100 samsung s5pc1xx diff --git a/include/configs/omap5_evm.h b/include/configs/omap5_uevm.h similarity index 100% rename from include/configs/omap5_evm.h rename to include/configs/omap5_uevm.h

While booting with dt blob, if fdt_high is not set to 0xffffffff, the dt blob gets relocated to a high ram address, which the kernel is not able to use without HIGHMEM.
So set it to 0xffffffff to avoid the issue.
Acked-by: Nishanth Menon nm@ti.com Signed-off-by: Sricharan R r.sricharan@ti.com Tested-by: Nishanth Menon nm@ti.com --- include/configs/omap5_common.h | 1 + 1 file changed, 1 insertion(+)
diff --git a/include/configs/omap5_common.h b/include/configs/omap5_common.h index af97564..f0416df 100644 --- a/include/configs/omap5_common.h +++ b/include/configs/omap5_common.h @@ -143,6 +143,7 @@ #define CONFIG_EXTRA_ENV_SETTINGS \ "loadaddr=0x82000000\0" \ "console=ttyO2,115200n8\0" \ + "fdt_high=0xffffffff\0" \ "usbtty=cdc_acm\0" \ "vram=16M\0" \ "mmcdev=0\0" \

From: Nishanth Menon nm@ti.com
For production systems it is better to use script images since they are protected by checksums and carry valuable information like name and timestamp. Also, you can't validate the content passed to env import.
But for development, it is easier to use the env import command and plain text files instead of script-images.
Since both OMAP5evm/uevm boards are used primarily for development, we allow U-Boot to load env var from a text file in case that an boot.scr script-image is not present.
The variable uenvcmd (if existent) will be executed (using run) after uEnv.txt was loaded. If uenvcmd doesn't exist the default boot sequence will be started.
Inspired by commit: d70f54808dfa83b574e1239c3eccbcf3317343e1 (omap4: allow the use of a plain text env file instead boot scripts)
Signed-off-by: Sricharan R r.sricharan@ti.com Signed-off-by: Nishanth Menon nm@ti.com Tested-by: Sricharan R r.sricharan@ti.com --- include/configs/omap5_common.h | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/include/configs/omap5_common.h b/include/configs/omap5_common.h index f0416df..6d7aa7b 100644 --- a/include/configs/omap5_common.h +++ b/include/configs/omap5_common.h @@ -156,6 +156,9 @@ "loadbootscript=fatload mmc ${mmcdev} ${loadaddr} boot.scr\0" \ "bootscript=echo Running bootscript from mmc${mmcdev} ...; " \ "source ${loadaddr}\0" \ + "loadbootenv=fatload mmc ${mmcdev} ${loadaddr} uEnv.txt\0" \ + "importbootenv=echo Importing environment from mmc${mmcdev} ...; " \ + "env import -t ${loadaddr} ${filesize}\0" \ "loaduimage=fatload mmc ${mmcdev} ${loadaddr} uImage\0" \ "mmcboot=echo Booting from mmc${mmcdev} ...; " \ "run mmcargs; " \ @@ -166,9 +169,16 @@ "if run loadbootscript; then " \ "run bootscript; " \ "else " \ - "if run loaduimage; then " \ - "run mmcboot; " \ - "fi; " \ + "if run loadbootenv; then " \ + "run importbootenv; " \ + "fi;" \ + "if test -n ${uenvcmd}; then " \ + "echo Running uenvcmd ...;" \ + "run uenvcmd;" \ + "fi;" \ + "fi;" \ + "if run loaduimage; then " \ + "run mmcboot; " \ "fi; " \ "fi"

Now with kernel moving to all device tree, the default boot command is changed to pass the device tree blob. Also, adding the findfdt command to get the dt-blob based on the board.
Thanks to Tom Rini trini@ti.com for suggesting this.
Signed-off-by: Sricharan R r.sricharan@ti.com --- [V4] Added environment variables bootdir, bootpart and added loadimage, loadfdt commands as per Tom's suggestion.
include/configs/omap4_common.h | 22 +++++++++++++++++++--- include/configs/omap5_common.h | 20 +++++++++++++++++--- 2 files changed, 36 insertions(+), 6 deletions(-)
diff --git a/include/configs/omap4_common.h b/include/configs/omap4_common.h index 6ae6a0f..18cd98f 100644 --- a/include/configs/omap4_common.h +++ b/include/configs/omap4_common.h @@ -138,6 +138,10 @@ */
#define CONFIG_BOOTDELAY 3 +#define CONFIG_ENV_VARS_UBOOT_CONFIG +#define CONFIG_CMD_FS_GENERIC +#define CONFIG_CMD_EXT2 +#define CONFIG_CMD_EXT4
#define CONFIG_ENV_OVERWRITE
@@ -145,6 +149,10 @@ "loadaddr=0x82000000\0" \ "console=ttyO2,115200n8\0" \ "fdt_high=0xffffffff\0" \ + "fdtaddr=0x80f80000\0" \ + "bootpart=0:1\0" \ + "bootdir=\0" \ + "bootfile=uImage\0" \ "usbtty=cdc_acm\0" \ "vram=16M\0" \ "mmcdev=0\0" \ @@ -160,12 +168,19 @@ "loadbootenv=fatload mmc ${mmcdev} ${loadaddr} uEnv.txt\0" \ "importbootenv=echo Importing environment from mmc${mmcdev} ...; " \ "env import -t ${loadaddr} ${filesize}\0" \ - "loaduimage=fatload mmc ${mmcdev} ${loadaddr} uImage\0" \ + "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ "mmcboot=echo Booting from mmc${mmcdev} ...; " \ "run mmcargs; " \ - "bootm ${loadaddr}\0" \ + "bootm ${loadaddr} - ${fdtaddr}\0" \ + "findfdt="\ + "if test $board_name = sdp4430; then " \ + "setenv fdtfile omap4-sdp.dtb; fi; " \ + "if test $board_name = panda; then " \ + "setenv fdtfile omap4-panda-es.dtb; fi\0" \ + "loadfdt=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}\0" \
#define CONFIG_BOOTCOMMAND \ + "run findfdt; " \ "mmc dev ${mmcdev}; if mmc rescan; then " \ "echo SD/MMC found on device ${mmcdev};" \ "if run loadbootscript; then " \ @@ -179,7 +194,8 @@ "run uenvcmd;" \ "fi;" \ "fi;" \ - "if run loaduimage; then " \ + "if run loadimage; then " \ + "run loadfdt;" \ "run mmcboot; " \ "fi; " \ "fi" diff --git a/include/configs/omap5_common.h b/include/configs/omap5_common.h index 6d7aa7b..24c9ecc 100644 --- a/include/configs/omap5_common.h +++ b/include/configs/omap5_common.h @@ -137,6 +137,10 @@ */
#define CONFIG_BOOTDELAY 3 +#define CONFIG_ENV_VARS_UBOOT_CONFIG +#define CONFIG_CMD_FS_GENERIC +#define CONFIG_CMD_EXT2 +#define CONFIG_CMD_EXT4
#define CONFIG_ENV_OVERWRITE
@@ -144,6 +148,10 @@ "loadaddr=0x82000000\0" \ "console=ttyO2,115200n8\0" \ "fdt_high=0xffffffff\0" \ + "fdtaddr=0x80f80000\0" \ + "bootpart=0:1\0" \ + "bootdir=\0" \ + "bootfile=uImage\0" \ "usbtty=cdc_acm\0" \ "vram=16M\0" \ "mmcdev=0\0" \ @@ -159,12 +167,17 @@ "loadbootenv=fatload mmc ${mmcdev} ${loadaddr} uEnv.txt\0" \ "importbootenv=echo Importing environment from mmc${mmcdev} ...; " \ "env import -t ${loadaddr} ${filesize}\0" \ - "loaduimage=fatload mmc ${mmcdev} ${loadaddr} uImage\0" \ + "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ "mmcboot=echo Booting from mmc${mmcdev} ...; " \ "run mmcargs; " \ - "bootm ${loadaddr}\0" \ + "bootm ${loadaddr} - ${fdtaddr}\0" \ + "findfdt="\ + "if test $board_name = omap5_uevm; then " \ + "setenv fdtfile omap5-uevm.dtb; fi;\0 " \ + "loadfdt=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile};\0" \
#define CONFIG_BOOTCOMMAND \ + "run findfdt; " \ "mmc dev ${mmcdev}; if mmc rescan; then " \ "if run loadbootscript; then " \ "run bootscript; " \ @@ -177,7 +190,8 @@ "run uenvcmd;" \ "fi;" \ "fi;" \ - "if run loaduimage; then " \ + "if run loadimage; then " \ + "run loadfdt; " \ "run mmcboot; " \ "fi; " \ "fi"

On Mon, Apr 01, 2013 at 09:22:41PM +0530, Sricharan R wrote:
Now with kernel moving to all device tree, the default boot command is changed to pass the device tree blob. Also, adding the findfdt command to get the dt-blob based on the board.
Thanks to Tom Rini trini@ti.com for suggesting this.
Signed-off-by: Sricharan R r.sricharan@ti.com
[snip]
@@ -145,6 +149,10 @@ "loadaddr=0x82000000\0" \ "console=ttyO2,115200n8\0" \ "fdt_high=0xffffffff\0" \
- "fdtaddr=0x80f80000\0" \
- "bootpart=0:1\0" \
- "bootdir=\0" \
- "bootfile=uImage\0" \
What about 0:2 and /boot, ala am335x_evm as well? I'm not aware of any distributions being really clever and mounting the FAT partition to /boot and I know some that have been expecting and using their ext*-located kernels for a while for various TI platforms. And wer're moving in that latter direction too :) Thanks!

Hi Tom,
On Tuesday 02 April 2013 12:50 AM, Tom Rini wrote:
On Mon, Apr 01, 2013 at 09:22:41PM +0530, Sricharan R wrote:
Now with kernel moving to all device tree, the default boot command is changed to pass the device tree blob. Also, adding the findfdt command to get the dt-blob based on the board.
Thanks to Tom Rini trini@ti.com for suggesting this.
Signed-off-by: Sricharan R r.sricharan@ti.com
[snip]
@@ -145,6 +149,10 @@ "loadaddr=0x82000000\0" \ "console=ttyO2,115200n8\0" \ "fdt_high=0xffffffff\0" \
- "fdtaddr=0x80f80000\0" \
- "bootpart=0:1\0" \
- "bootdir=\0" \
- "bootfile=uImage\0" \
What about 0:2 and /boot, ala am335x_evm as well? I'm not aware of any distributions being really clever and mounting the FAT partition to /boot and I know some that have been expecting and using their ext*-located kernels for a while for various TI platforms. And wer're moving in that latter direction too :) Thanks!
Sorry, i am not clear here. You mean default partition should be '2' and not '1'. why ?. Is there any ordering like FAT-1, EXT2-2, etc ? The reason i added 0:1, was we generally have boot FAT as partition '1' and directly take images from there, without any hierarchies (/boot)
Regards, Sricharan

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 04/02/2013 11:33 AM, Sricharan R wrote:
Hi Tom,
On Tuesday 02 April 2013 12:50 AM, Tom Rini wrote:
On Mon, Apr 01, 2013 at 09:22:41PM +0530, Sricharan R wrote:
Now with kernel moving to all device tree, the default boot command is changed to pass the device tree blob. Also, adding the findfdt command to get the dt-blob based on the board.
Thanks to Tom Rini trini@ti.com for suggesting this.
Signed-off-by: Sricharan R r.sricharan@ti.com
[snip]
@@ -145,6 +149,10 @@ "loadaddr=0x82000000\0" \ "console=ttyO2,115200n8\0" \ "fdt_high=0xffffffff\0" \ + "fdtaddr=0x80f80000\0" \ + "bootpart=0:1\0" \ + "bootdir=\0" \
- "bootfile=uImage\0" \
What about 0:2 and /boot, ala am335x_evm as well? I'm not aware of any distributions being really clever and mounting the FAT partition to /boot and I know some that have been expecting and using their ext*-located kernels for a while for various TI platforms. And wer're moving in that latter direction too :) Thanks!
Sorry, i am not clear here. You mean default partition should be '2' and not '1'. why ?. Is there any ordering like FAT-1, EXT2-2, etc ? The reason i added 0:1, was we generally have boot FAT as partition '1' and directly take images from there, without any hierarchies (/boot)
Right. I'm saying we should be pulling from the Linux filesystem for our kernel / device tree and move people toward pulling from EXT* (where the distro or vendor has provided them with a reasonable kernel, or they've updated their own there) and away from FAT.
- -- Tom

On Tuesday 02 April 2013 09:43 PM, Tom Rini wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 04/02/2013 11:33 AM, Sricharan R wrote:
Hi Tom,
On Tuesday 02 April 2013 12:50 AM, Tom Rini wrote:
On Mon, Apr 01, 2013 at 09:22:41PM +0530, Sricharan R wrote:
Now with kernel moving to all device tree, the default boot command is changed to pass the device tree blob. Also, adding the findfdt command to get the dt-blob based on the board.
Thanks to Tom Rini trini@ti.com for suggesting this.
Signed-off-by: Sricharan R r.sricharan@ti.com
[snip]
@@ -145,6 +149,10 @@ "loadaddr=0x82000000\0" \ "console=ttyO2,115200n8\0" \ "fdt_high=0xffffffff\0" \ + "fdtaddr=0x80f80000\0" \ + "bootpart=0:1\0" \ + "bootdir=\0" \
- "bootfile=uImage\0" \
What about 0:2 and /boot, ala am335x_evm as well? I'm not aware of any distributions being really clever and mounting the FAT partition to /boot and I know some that have been expecting and using their ext*-located kernels for a while for various TI platforms. And wer're moving in that latter direction too :) Thanks!
Sorry, i am not clear here. You mean default partition should be '2' and not '1'. why ?. Is there any ordering like FAT-1, EXT2-2, etc ? The reason i added 0:1, was we generally have boot FAT as partition '1' and directly take images from there, without any hierarchies (/boot)
Right. I'm saying we should be pulling from the Linux filesystem for our kernel / device tree and move people toward pulling from EXT* (where the distro or vendor has provided them with a reasonable kernel, or they've updated their own there) and away from FAT.
ok, get it. Will change then.
Regards, Sricharan

Now with kernel moving to all device tree, the default boot command is changed to pass the device tree blob. Also, adding the findfdt command to get the dt-blob based on the board.
Thanks to Tom Rini trini@ti.com for suggesting this.
Signed-off-by: Sricharan R r.sricharan@ti.com --- [V4] Added environment variables bootdir, bootpart and added loadimage, loadfdt commands as per Tom's suggestion.
include/configs/omap4_common.h | 22 +++++++++++++++++++--- include/configs/omap5_common.h | 20 +++++++++++++++++--- 2 files changed, 36 insertions(+), 6 deletions(-)
diff --git a/include/configs/omap4_common.h b/include/configs/omap4_common.h index 6ae6a0f..7af3989 100644 --- a/include/configs/omap4_common.h +++ b/include/configs/omap4_common.h @@ -138,6 +138,10 @@ */
#define CONFIG_BOOTDELAY 3 +#define CONFIG_ENV_VARS_UBOOT_CONFIG +#define CONFIG_CMD_FS_GENERIC +#define CONFIG_CMD_EXT2 +#define CONFIG_CMD_EXT4
#define CONFIG_ENV_OVERWRITE
@@ -145,6 +149,10 @@ "loadaddr=0x82000000\0" \ "console=ttyO2,115200n8\0" \ "fdt_high=0xffffffff\0" \ + "fdtaddr=0x80f80000\0" \ + "bootpart=0:2\0" \ + "bootdir=/boot\0" \ + "bootfile=uImage\0" \ "usbtty=cdc_acm\0" \ "vram=16M\0" \ "mmcdev=0\0" \ @@ -160,12 +168,19 @@ "loadbootenv=fatload mmc ${mmcdev} ${loadaddr} uEnv.txt\0" \ "importbootenv=echo Importing environment from mmc${mmcdev} ...; " \ "env import -t ${loadaddr} ${filesize}\0" \ - "loaduimage=fatload mmc ${mmcdev} ${loadaddr} uImage\0" \ + "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ "mmcboot=echo Booting from mmc${mmcdev} ...; " \ "run mmcargs; " \ - "bootm ${loadaddr}\0" \ + "bootm ${loadaddr} - ${fdtaddr}\0" \ + "findfdt="\ + "if test $board_name = sdp4430; then " \ + "setenv fdtfile omap4-sdp.dtb; fi; " \ + "if test $board_name = panda; then " \ + "setenv fdtfile omap4-panda-es.dtb; fi\0" \ + "loadfdt=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}\0" \
#define CONFIG_BOOTCOMMAND \ + "run findfdt; " \ "mmc dev ${mmcdev}; if mmc rescan; then " \ "echo SD/MMC found on device ${mmcdev};" \ "if run loadbootscript; then " \ @@ -179,7 +194,8 @@ "run uenvcmd;" \ "fi;" \ "fi;" \ - "if run loaduimage; then " \ + "if run loadimage; then " \ + "run loadfdt;" \ "run mmcboot; " \ "fi; " \ "fi" diff --git a/include/configs/omap5_common.h b/include/configs/omap5_common.h index 6d7aa7b..6fb0253 100644 --- a/include/configs/omap5_common.h +++ b/include/configs/omap5_common.h @@ -137,6 +137,10 @@ */
#define CONFIG_BOOTDELAY 3 +#define CONFIG_ENV_VARS_UBOOT_CONFIG +#define CONFIG_CMD_FS_GENERIC +#define CONFIG_CMD_EXT2 +#define CONFIG_CMD_EXT4
#define CONFIG_ENV_OVERWRITE
@@ -144,6 +148,10 @@ "loadaddr=0x82000000\0" \ "console=ttyO2,115200n8\0" \ "fdt_high=0xffffffff\0" \ + "fdtaddr=0x80f80000\0" \ + "bootpart=0:2\0" \ + "bootdir=/boot\0" \ + "bootfile=uImage\0" \ "usbtty=cdc_acm\0" \ "vram=16M\0" \ "mmcdev=0\0" \ @@ -159,12 +167,17 @@ "loadbootenv=fatload mmc ${mmcdev} ${loadaddr} uEnv.txt\0" \ "importbootenv=echo Importing environment from mmc${mmcdev} ...; " \ "env import -t ${loadaddr} ${filesize}\0" \ - "loaduimage=fatload mmc ${mmcdev} ${loadaddr} uImage\0" \ + "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ "mmcboot=echo Booting from mmc${mmcdev} ...; " \ "run mmcargs; " \ - "bootm ${loadaddr}\0" \ + "bootm ${loadaddr} - ${fdtaddr}\0" \ + "findfdt="\ + "if test $board_name = omap5_uevm; then " \ + "setenv fdtfile omap5-uevm.dtb; fi;\0 " \ + "loadfdt=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile};\0" \
#define CONFIG_BOOTCOMMAND \ + "run findfdt; " \ "mmc dev ${mmcdev}; if mmc rescan; then " \ "if run loadbootscript; then " \ "run bootscript; " \ @@ -177,7 +190,8 @@ "run uenvcmd;" \ "fi;" \ "fi;" \ - "if run loaduimage; then " \ + "if run loadimage; then " \ + "run loadfdt; " \ "run mmcboot; " \ "fi; " \ "fi"

So with OMAP added to multi platform kernel, the uImage no more contains a valid load address. With the uboot already supporting zImage, change the default boot command to bootz instead.
Acked-by: Nishanth Menon nm@ti.com Signed-off-by: Sricharan R r.sricharan@ti.com Tested-by: Nishanth Menon nm@ti.com --- include/configs/omap4_common.h | 4 ++-- include/configs/omap5_common.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/include/configs/omap4_common.h b/include/configs/omap4_common.h index 7af3989..1fd3097 100644 --- a/include/configs/omap4_common.h +++ b/include/configs/omap4_common.h @@ -152,7 +152,7 @@ "fdtaddr=0x80f80000\0" \ "bootpart=0:2\0" \ "bootdir=/boot\0" \ - "bootfile=uImage\0" \ + "bootfile=zImage\0" \ "usbtty=cdc_acm\0" \ "vram=16M\0" \ "mmcdev=0\0" \ @@ -171,7 +171,7 @@ "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ "mmcboot=echo Booting from mmc${mmcdev} ...; " \ "run mmcargs; " \ - "bootm ${loadaddr} - ${fdtaddr}\0" \ + "bootz ${loadaddr} - ${fdtaddr}\0" \ "findfdt="\ "if test $board_name = sdp4430; then " \ "setenv fdtfile omap4-sdp.dtb; fi; " \ diff --git a/include/configs/omap5_common.h b/include/configs/omap5_common.h index 6fb0253..da0ead9 100644 --- a/include/configs/omap5_common.h +++ b/include/configs/omap5_common.h @@ -151,7 +151,7 @@ "fdtaddr=0x80f80000\0" \ "bootpart=0:2\0" \ "bootdir=/boot\0" \ - "bootfile=uImage\0" \ + "bootfile=zImage\0" \ "usbtty=cdc_acm\0" \ "vram=16M\0" \ "mmcdev=0\0" \ @@ -170,7 +170,7 @@ "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ "mmcboot=echo Booting from mmc${mmcdev} ...; " \ "run mmcargs; " \ - "bootm ${loadaddr} - ${fdtaddr}\0" \ + "bootz ${loadaddr} - ${fdtaddr}\0" \ "findfdt="\ "if test $board_name = omap5_uevm; then " \ "setenv fdtfile omap5-uevm.dtb; fi;\0 " \

Hi Sricharan,
On Fri, 5 Apr 2013 11:24:34 +0530, Sricharan R r.sricharan@ti.com wrote:
So with OMAP added to multi platform kernel, the uImage no more contains a valid load address. With the uboot already supporting zImage, change the default boot command to bootz instead.
Acked-by: Nishanth Menon nm@ti.com Signed-off-by: Sricharan R r.sricharan@ti.com Tested-by: Nishanth Menon nm@ti.com
include/configs/omap4_common.h | 4 ++-- include/configs/omap5_common.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)
Is there a reason why this patch does not have history?
Amicalement,

Hi Albert,
On Friday 05 April 2013 12:36 PM, Albert ARIBAUD wrote:
Hi Sricharan,
On Fri, 5 Apr 2013 11:24:34 +0530, Sricharan R r.sricharan@ti.com wrote:
So with OMAP added to multi platform kernel, the uImage no more contains a valid load address. With the uboot already supporting zImage, change the default boot command to bootz instead.
Acked-by: Nishanth Menon nm@ti.com Signed-off-by: Sricharan R r.sricharan@ti.com Tested-by: Nishanth Menon nm@ti.com
include/configs/omap4_common.h | 4 ++-- include/configs/omap5_common.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)
Is there a reason why this patch does not have history?
Amicalement,
I had a minor change only in these two from the series. So reposted only these two with 'in-reply-to' threads. If this is not the right etiquette, then should it be update/appended in the original patch ?
Regards, Sricharan

Hi Sricharan,
On Fri, 5 Apr 2013 12:44:45 +0530, Sricharan R r.sricharan@ti.com wrote:
Hi Albert,
On Friday 05 April 2013 12:36 PM, Albert ARIBAUD wrote:
Hi Sricharan,
On Fri, 5 Apr 2013 11:24:34 +0530, Sricharan R r.sricharan@ti.com wrote:
So with OMAP added to multi platform kernel, the uImage no more contains a valid load address. With the uboot already supporting zImage, change the default boot command to bootz instead.
Acked-by: Nishanth Menon nm@ti.com Signed-off-by: Sricharan R r.sricharan@ti.com Tested-by: Nishanth Menon nm@ti.com
include/configs/omap4_common.h | 4 ++-- include/configs/omap5_common.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)
Is there a reason why this patch does not have history?
Amicalement,
I had a minor change only in these two from the series. So reposted only these two with 'in-reply-to' threads. If this is not the right etiquette, then should it be update/appended in the original patch ?
My question is not about the series but only about 5/5 which has no patch history after the commit message delimiter (---) whereas 4/5 has history.
If 5/5 has a minor change in V4, then it should have a history log indicating which minor change it was.
Regards, Sricharan
Amicalement,

On Friday 05 April 2013 01:38 PM, Albert ARIBAUD wrote:
Hi Sricharan,
On Fri, 5 Apr 2013 12:44:45 +0530, Sricharan R r.sricharan@ti.com wrote:
Hi Albert,
On Friday 05 April 2013 12:36 PM, Albert ARIBAUD wrote:
Hi Sricharan,
On Fri, 5 Apr 2013 11:24:34 +0530, Sricharan R r.sricharan@ti.com wrote:
So with OMAP added to multi platform kernel, the uImage no more contains a valid load address. With the uboot already supporting zImage, change the default boot command to bootz instead.
Acked-by: Nishanth Menon nm@ti.com Signed-off-by: Sricharan R r.sricharan@ti.com Tested-by: Nishanth Menon nm@ti.com
include/configs/omap4_common.h | 4 ++-- include/configs/omap5_common.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)
Is there a reason why this patch does not have history?
Amicalement,
I had a minor change only in these two from the series. So reposted only these two with 'in-reply-to' threads. If this is not the right etiquette, then should it be update/appended in the original patch ?
My question is not about the series but only about 5/5 which has no patch history after the commit message delimiter (---) whereas 4/5 has history.
If 5/5 has a minor change in V4, then it should have a history log indicating which minor change it was.
ok. 5/5 was just rebase on 4/5. Will add it though. Sorry for the miss.
Regards, Sricharan

Now with kernel moving to all device tree, the default boot command is changed to pass the device tree blob. Also, adding the findfdt command to get the dt-blob based on the board.
Thanks to Tom Rini trini@ti.com for suggesting this.
Signed-off-by: Sricharan R r.sricharan@ti.com --- [V4] Added environment variables bootdir, bootpart and added loadimage, loadfdt commands as per Tom's suggestion.
include/configs/omap4_common.h | 22 +++++++++++++++++++--- include/configs/omap5_common.h | 20 +++++++++++++++++--- 2 files changed, 36 insertions(+), 6 deletions(-)
diff --git a/include/configs/omap4_common.h b/include/configs/omap4_common.h index 6ae6a0f..7af3989 100644 --- a/include/configs/omap4_common.h +++ b/include/configs/omap4_common.h @@ -138,6 +138,10 @@ */
#define CONFIG_BOOTDELAY 3 +#define CONFIG_ENV_VARS_UBOOT_CONFIG +#define CONFIG_CMD_FS_GENERIC +#define CONFIG_CMD_EXT2 +#define CONFIG_CMD_EXT4
#define CONFIG_ENV_OVERWRITE
@@ -145,6 +149,10 @@ "loadaddr=0x82000000\0" \ "console=ttyO2,115200n8\0" \ "fdt_high=0xffffffff\0" \ + "fdtaddr=0x80f80000\0" \ + "bootpart=0:2\0" \ + "bootdir=/boot\0" \ + "bootfile=uImage\0" \ "usbtty=cdc_acm\0" \ "vram=16M\0" \ "mmcdev=0\0" \ @@ -160,12 +168,19 @@ "loadbootenv=fatload mmc ${mmcdev} ${loadaddr} uEnv.txt\0" \ "importbootenv=echo Importing environment from mmc${mmcdev} ...; " \ "env import -t ${loadaddr} ${filesize}\0" \ - "loaduimage=fatload mmc ${mmcdev} ${loadaddr} uImage\0" \ + "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ "mmcboot=echo Booting from mmc${mmcdev} ...; " \ "run mmcargs; " \ - "bootm ${loadaddr}\0" \ + "bootm ${loadaddr} - ${fdtaddr}\0" \ + "findfdt="\ + "if test $board_name = sdp4430; then " \ + "setenv fdtfile omap4-sdp.dtb; fi; " \ + "if test $board_name = panda; then " \ + "setenv fdtfile omap4-panda-es.dtb; fi\0" \ + "loadfdt=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}\0" \
#define CONFIG_BOOTCOMMAND \ + "run findfdt; " \ "mmc dev ${mmcdev}; if mmc rescan; then " \ "echo SD/MMC found on device ${mmcdev};" \ "if run loadbootscript; then " \ @@ -179,7 +194,8 @@ "run uenvcmd;" \ "fi;" \ "fi;" \ - "if run loaduimage; then " \ + "if run loadimage; then " \ + "run loadfdt;" \ "run mmcboot; " \ "fi; " \ "fi" diff --git a/include/configs/omap5_common.h b/include/configs/omap5_common.h index 6d7aa7b..6fb0253 100644 --- a/include/configs/omap5_common.h +++ b/include/configs/omap5_common.h @@ -137,6 +137,10 @@ */
#define CONFIG_BOOTDELAY 3 +#define CONFIG_ENV_VARS_UBOOT_CONFIG +#define CONFIG_CMD_FS_GENERIC +#define CONFIG_CMD_EXT2 +#define CONFIG_CMD_EXT4
#define CONFIG_ENV_OVERWRITE
@@ -144,6 +148,10 @@ "loadaddr=0x82000000\0" \ "console=ttyO2,115200n8\0" \ "fdt_high=0xffffffff\0" \ + "fdtaddr=0x80f80000\0" \ + "bootpart=0:2\0" \ + "bootdir=/boot\0" \ + "bootfile=uImage\0" \ "usbtty=cdc_acm\0" \ "vram=16M\0" \ "mmcdev=0\0" \ @@ -159,12 +167,17 @@ "loadbootenv=fatload mmc ${mmcdev} ${loadaddr} uEnv.txt\0" \ "importbootenv=echo Importing environment from mmc${mmcdev} ...; " \ "env import -t ${loadaddr} ${filesize}\0" \ - "loaduimage=fatload mmc ${mmcdev} ${loadaddr} uImage\0" \ + "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ "mmcboot=echo Booting from mmc${mmcdev} ...; " \ "run mmcargs; " \ - "bootm ${loadaddr}\0" \ + "bootm ${loadaddr} - ${fdtaddr}\0" \ + "findfdt="\ + "if test $board_name = omap5_uevm; then " \ + "setenv fdtfile omap5-uevm.dtb; fi;\0 " \ + "loadfdt=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile};\0" \
#define CONFIG_BOOTCOMMAND \ + "run findfdt; " \ "mmc dev ${mmcdev}; if mmc rescan; then " \ "if run loadbootscript; then " \ "run bootscript; " \ @@ -177,7 +190,8 @@ "run uenvcmd;" \ "fi;" \ "fi;" \ - "if run loaduimage; then " \ + "if run loadimage; then " \ + "run loadfdt; " \ "run mmcboot; " \ "fi; " \ "fi"

So with OMAP added to multi platform kernel, the uImage no more contains a valid load address. With the uboot already supporting zImage, change the default boot command to bootz instead.
Acked-by: Nishanth Menon nm@ti.com Signed-off-by: Sricharan R r.sricharan@ti.com Tested-by: Nishanth Menon nm@ti.com --- [V4] Just rebased on top of 4/5 th patch.
include/configs/omap4_common.h | 4 ++-- include/configs/omap5_common.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/include/configs/omap4_common.h b/include/configs/omap4_common.h index 7af3989..1fd3097 100644 --- a/include/configs/omap4_common.h +++ b/include/configs/omap4_common.h @@ -152,7 +152,7 @@ "fdtaddr=0x80f80000\0" \ "bootpart=0:2\0" \ "bootdir=/boot\0" \ - "bootfile=uImage\0" \ + "bootfile=zImage\0" \ "usbtty=cdc_acm\0" \ "vram=16M\0" \ "mmcdev=0\0" \ @@ -171,7 +171,7 @@ "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ "mmcboot=echo Booting from mmc${mmcdev} ...; " \ "run mmcargs; " \ - "bootm ${loadaddr} - ${fdtaddr}\0" \ + "bootz ${loadaddr} - ${fdtaddr}\0" \ "findfdt="\ "if test $board_name = sdp4430; then " \ "setenv fdtfile omap4-sdp.dtb; fi; " \ diff --git a/include/configs/omap5_common.h b/include/configs/omap5_common.h index 6fb0253..da0ead9 100644 --- a/include/configs/omap5_common.h +++ b/include/configs/omap5_common.h @@ -151,7 +151,7 @@ "fdtaddr=0x80f80000\0" \ "bootpart=0:2\0" \ "bootdir=/boot\0" \ - "bootfile=uImage\0" \ + "bootfile=zImage\0" \ "usbtty=cdc_acm\0" \ "vram=16M\0" \ "mmcdev=0\0" \ @@ -170,7 +170,7 @@ "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ "mmcboot=echo Booting from mmc${mmcdev} ...; " \ "run mmcargs; " \ - "bootm ${loadaddr} - ${fdtaddr}\0" \ + "bootz ${loadaddr} - ${fdtaddr}\0" \ "findfdt="\ "if test $board_name = omap5_uevm; then " \ "setenv fdtfile omap5-uevm.dtb; fi;\0 " \

So with OMAP added to multi platform kernel, the uImage no more contains a valid load address. With the uboot already supporting zImage, change the default boot command to bootz instead.
Acked-by: Nishanth Menon nm@ti.com Signed-off-by: Sricharan R r.sricharan@ti.com Tested-by: Nishanth Menon nm@ti.com --- include/configs/omap4_common.h | 4 ++-- include/configs/omap5_common.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/include/configs/omap4_common.h b/include/configs/omap4_common.h index 18cd98f..5ad606e 100644 --- a/include/configs/omap4_common.h +++ b/include/configs/omap4_common.h @@ -152,7 +152,7 @@ "fdtaddr=0x80f80000\0" \ "bootpart=0:1\0" \ "bootdir=\0" \ - "bootfile=uImage\0" \ + "bootfile=zImage\0" \ "usbtty=cdc_acm\0" \ "vram=16M\0" \ "mmcdev=0\0" \ @@ -171,7 +171,7 @@ "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ "mmcboot=echo Booting from mmc${mmcdev} ...; " \ "run mmcargs; " \ - "bootm ${loadaddr} - ${fdtaddr}\0" \ + "bootz ${loadaddr} - ${fdtaddr}\0" \ "findfdt="\ "if test $board_name = sdp4430; then " \ "setenv fdtfile omap4-sdp.dtb; fi; " \ diff --git a/include/configs/omap5_common.h b/include/configs/omap5_common.h index 24c9ecc..44c35b1 100644 --- a/include/configs/omap5_common.h +++ b/include/configs/omap5_common.h @@ -151,7 +151,7 @@ "fdtaddr=0x80f80000\0" \ "bootpart=0:1\0" \ "bootdir=\0" \ - "bootfile=uImage\0" \ + "bootfile=zImage\0" \ "usbtty=cdc_acm\0" \ "vram=16M\0" \ "mmcdev=0\0" \ @@ -170,7 +170,7 @@ "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ "mmcboot=echo Booting from mmc${mmcdev} ...; " \ "run mmcargs; " \ - "bootm ${loadaddr} - ${fdtaddr}\0" \ + "bootz ${loadaddr} - ${fdtaddr}\0" \ "findfdt="\ "if test $board_name = omap5_uevm; then " \ "setenv fdtfile omap5-uevm.dtb; fi;\0 " \

On Mon, Apr 01, 2013 at 09:22:37PM +0530, Sricharan R wrote:
With the kernel moving all towards device tree, this series adds support to make the device tree boot as the default for OMAP4/5 platforms.
Nishanth Menon (1): omap5: Allow use of a plain text env file
Sricharan R (4): ARM: OMAP5: Rename omap5_evm to omap5_uevm ARM: OMAP5: Set fdt_high to enable booting with Device tree ARM: OMAP4/5: Change the default boot command to work with device tree ARM: OMAP4/5: Make bootz as the default boot command
board/ti/{omap5_evm => omap5_uevm}/Makefile | 0 board/ti/{omap5_evm => omap5_uevm}/evm.c | 0 board/ti/{omap5_evm => omap5_uevm}/mux_data.h | 0 boards.cfg | 2 +- include/configs/omap4_common.h | 22 +++++++++++++--- include/configs/omap5_common.h | 35 +++++++++++++++++++++---- include/configs/{omap5_evm.h => omap5_uevm.h} | 0 7 files changed, 50 insertions(+), 9 deletions(-) rename board/ti/{omap5_evm => omap5_uevm}/Makefile (100%) rename board/ti/{omap5_evm => omap5_uevm}/evm.c (100%) rename board/ti/{omap5_evm => omap5_uevm}/mux_data.h (100%) rename include/configs/{omap5_evm.h => omap5_uevm.h} (100%)
Along with what would be v5 of 4/5 and 5/5, applied to u-boot-ti/master, thanks!
participants (3)
-
Albert ARIBAUD
-
Sricharan R
-
Tom Rini