Skip to contentSkip to conversation

ts4800: update environment to boot with device tree

PATCH New Damien Riegel 2 participants 2 messages Apr 21, 2016 – May 24, 2016

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 ts4800: update environment to boot with device tree

This commit updates the environment variables to be able to boot with a device tree. The expected partition layout on the SD card is:
- partition 1: type 0xDA, contains u-boot.bin
- partition 2: type 0xC (fat), contains zImage and device tree
- partition 3: type 0x83, root filesystem.

---
Changes in v2:
- do not mess with LOADADDR anymore

 include/configs/ts4800.h | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)
include/configs/ts4800.h +13 -4
index fcc9d80..b369b27 100644
@@ -106,19 +106,28 @@
 
 #define CONFIG_EXTRA_ENV_SETTINGS \
 	"script=boot.scr\0" \
-	"image=uImage\0" \
+	"image=zImage\0" \
+	"fdt_file=imx51-ts4800.dtb\0" \
+	"fdt_addr=0x90fe0000\0" \
 	"mmcdev=0\0" \
-	"mmcpart=1\0" \
-	"mmcargs=setenv bootargs root=/dev/mmcblk0p2 rootwait rw\0" \
+	"mmcpart=2\0" \
+	"mmcroot=/dev/mmcblk0p3 rootwait rw\0" \
+	"mmcargs=setenv bootargs root=${mmcroot}\0" \
 	"addtty=setenv bootargs ${bootargs} console=ttymxc0,${baudrate}\0" \
 	"loadbootscript=" \
 		"fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
 	"bootscript=echo Running bootscript from mmc ...; " \
 		"source\0" \
 	"loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image};\0" \
+	"loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
 	"mmcboot=echo Booting from mmc ...; " \
 		"run mmcargs addtty; " \
-                "bootm; "
+		"if run loadfdt; then " \
+			"bootz ${loadaddr} - ${fdt_addr}; " \
+		"else " \
+			"echo ERR: cannot load FDT; " \
+		"fi; "
+
 
 #define CONFIG_BOOTCOMMAND \
 	"mmc dev ${mmcdev}; if mmc rescan; then " \
Signature · 1 line
2.5.0
#1 lore raw

PATCH v2 1/1 ts4800: update environment to boot with device tree

Quoted 42 lines · Damien Riegel

This commit updates the environment variables to be able to boot with a device tree. The expected partition layout on the SD card is:
- partition 1: type 0xDA, contains u-boot.bin
- partition 2: type 0xC (fat), contains zImage and device tree
- partition 3: type 0x83, root filesystem.

---
Changes in v2:
- do not mess with LOADADDR anymore

 include/configs/ts4800.h | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)
include/configs/ts4800.h +7 -3
index fcc9d80..b369b27 100644
@@ -106,19 +106,28 @@
 
 #define CONFIG_EXTRA_ENV_SETTINGS \
 	"script=boot.scr\0" \
-	"image=uImage\0" \
+	"image=zImage\0" \
+	"fdt_file=imx51-ts4800.dtb\0" \
+	"fdt_addr=0x90fe0000\0" \
 	"mmcdev=0\0" \
-	"mmcpart=1\0" \
-	"mmcargs=setenv bootargs root=/dev/mmcblk0p2 rootwait rw\0" \
+	"mmcpart=2\0" \
+	"mmcroot=/dev/mmcblk0p3 rootwait rw\0" \
+	"mmcargs=setenv bootargs root=${mmcroot}\0" \
 	"addtty=setenv bootargs ${bootargs} console=ttymxc0,${baudrate}\0" \
 	"loadbootscript=" \
 		"fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
 	"bootscript=echo Running bootscript from mmc ...; " \
 		"source\0" \
 	"loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image};\0" \
+	"loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
 	"mmcboot=echo Booting from mmc ...; " \
 		"run mmcargs addtty; " \

include/configs/ts4800.h line 133

Quoted 10 lines
include/configs/ts4800.h +6 -1
-                "bootm; "
+		"if run loadfdt; then " \
+			"bootz ${loadaddr} - ${fdt_addr}; " \
+		"else " \
+			"echo ERR: cannot load FDT; " \
+		"fi; "
+
 
 #define CONFIG_BOOTCOMMAND \
 	"mmc dev ${mmcdev}; if mmc rescan; then " \

Applied to u-boot-imx, thanks !

Best regards,
Stefano Babic

Signature · 5 lines
=====================================================================
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================