Skip to contentSkip to conversation

OMAP3: am3517_evm: SD/MMC boot with uEnv.txt, zImage, and FDT

PATCH In review Derald D. Woods 2 participants 5 messages Feb 8, 2016 – Feb 15, 2016

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 OMAP3: am3517_evm: SD/MMC boot with uEnv.txt, zImage, and FDT

Boot with the Linux zImage and am3517-evm.dtb pair, when SD/MMC media is present. This behavior can be overridden by creating a 'uEnv.txt' file with 'uenvcmd' defined.

To boot an existing 'uImage', create the following 'uEnv.txt':

[start]-----------------------------------------------------------------

loaduimage=fatload mmc 0:1 ${loadaddr} ${bootfile} uenvcmd=run loaduimage; run mmcargs; bootm ${loadaddr}

[end]-------------------------------------------------------------------

Inspired by similar patches, for other OMAP3 boards, from EEWiki
- https://github.com/eewiki/u-boot-patches/tree/master/v2016.01

---
 include/configs/am3517_evm.h | 48 ++++++++++++++++++++++++++++++++++----------
 1 file changed, 37 insertions(+), 11 deletions(-)
include/configs/am3517_evm.h +37 -11
index 4547d7f..4d662ad 100644
@@ -132,6 +132,10 @@
 #define CONFIG_CMD_EXT2		/* EXT2 Support			*/
 #define CONFIG_CMD_FAT		/* FAT support			*/
 #define CONFIG_CMD_JFFS2	/* JFFS2 Support		*/
+#define CONFIG_CMD_EXT4
+#define CONFIG_CMD_EXT4_WRITE
+
+#define CONFIG_CMD_BOOTZ
 
 #define CONFIG_CMD_I2C		/* I2C serial bus support	*/
 #define CONFIG_CMD_MMC		/* MMC support			*/
@@ -184,19 +188,34 @@
 #define CONFIG_EXTRA_ENV_SETTINGS \
 	"loadaddr=0x82000000\0" \
 	"console=ttyO2,115200n8\0" \
+	"fdtfile=am3517-evm.dtb\0" \
+	"fdtaddr=0x82C00000\0" \
+	"vram=16M\0" \
+	"bootenv=uEnv.txt\0" \
+	"cmdline=\0" \
+	"optargs=\0" \
 	"mmcdev=0\0" \
+	"mmcpart=1\0" \
+	"mmcroot=/dev/mmcblk0p2 rw\0" \
+	"mmcrootfstype=ext4 rootwait fixrtc\0" \
 	"mmcargs=setenv bootargs console=${console} " \
-		"root=/dev/mmcblk0p2 rw rootwait\0" \
+		"${optargs} " \
+		"root=${mmcroot} " \
+		"rootfstype=${mmcrootfstype} " \
+		"${cmdline}\0" \
 	"nandargs=setenv bootargs console=${console} " \
 		"root=/dev/mtdblock4 rw " \
 		"rootfstype=jffs2\0" \
-	"loadbootscript=fatload mmc ${mmcdev} ${loadaddr} boot.scr\0" \
+	"loadbootenv=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${bootenv}\0"\
+	"importbootenv=echo Importing environment from mmc ...; " \
+		"env import -t ${loadaddr} ${filesize}\0" \
 	"bootscript=echo Running bootscript from mmc ...; " \
 		"source ${loadaddr}\0" \
-	"loaduimage=fatload mmc ${mmcdev} ${loadaddr} uImage\0" \
+	"loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${bootfile}\0" \
+	"loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdtaddr} ${fdtfile}\0" \
 	"mmcboot=echo Booting from mmc ...; " \
 		"run mmcargs; " \
-		"bootm ${loadaddr}\0" \
+		"bootz ${loadaddr} - ${fdtaddr}\0" \
 	"nandboot=echo Booting from nand ...; " \
 		"run nandargs; " \
 		"nand read ${loadaddr} 280000 400000; " \
@@ -204,13 +223,20 @@
 
 #define CONFIG_BOOTCOMMAND \
 	"mmc dev ${mmcdev}; if mmc rescan; then " \
-		"if run loadbootscript; then " \
-			"run bootscript; " \
-		"else " \
-			"if run loaduimage; then " \
-				"run mmcboot; " \
-			"else run nandboot; " \
-			"fi; " \
+		"echo SD/MMC found on device $mmcdev; " \
+		"if run loadbootenv; then " \
+			"run importbootenv; " \
+		"fi; " \
+		"echo Checking if uenvcmd is set ...; " \
+		"if test -n $uenvcmd; then " \
+			"echo Running uenvcmd ...; " \
+			"run uenvcmd; " \
+		"fi; " \
+		"echo Running default loadimage ...; " \
+		"setenv bootfile zImage; " \
+		"if run loadimage; then " \
+			"run loadfdt; " \
+			"run mmcboot; " \
 		"fi; " \
 	"else run nandboot; fi"
 
Signature · 1 line
2.7.1
#1 lore raw

PATCH 1/1 OMAP3: am3517_evm: SD/MMC boot with uEnv.txt, zImage, and FDT

Quoted 11 lines · Derald D. Woods

Boot with the Linux zImage and am3517-evm.dtb pair, when SD/MMC media is present. This behavior can be overridden by creating a 'uEnv.txt' file with 'uenvcmd' defined.

To boot an existing 'uImage', create the following 'uEnv.txt':

[start]-----------------------------------------------------------------

loaduimage=fatload mmc 0:1 ${loadaddr} ${bootfile} uenvcmd=run loaduimage; run mmcargs; bootm ${loadaddr}

Quoted 6 lines

[end]-------------------------------------------------------------------

Inspired by similar patches, for other OMAP3 boards, from EEWiki
- https://github.com/eewiki/u-boot-patches/tree/master/v2016.01

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160208/77389ae0/attachment.sig>
#2 lore raw

PATCH 1/1 OMAP3: am3517_evm: SD/MMC boot with uEnv.txt, zImage, and FDT

Quoted 13 lines · Tom Rini
Quoted 11 lines · Derald D. Woods

Boot with the Linux zImage and am3517-evm.dtb pair, when SD/MMC media is present. This behavior can be overridden by creating a 'uEnv.txt' file with 'uenvcmd' defined.

To boot an existing 'uImage', create the following 'uEnv.txt':

[start]-----------------------------------------------------------------

loaduimage=fatload mmc 0:1 ${loadaddr} ${bootfile} uenvcmd=run loaduimage; run mmcargs; bootm ${loadaddr}

Quoted 8 lines
Quoted 6 lines

[end]-------------------------------------------------------------------

Inspired by similar patches, for other OMAP3 boards, from EEWiki
- https://github.com/eewiki/u-boot-patches/tree/master/v2016.01

Gentle nudge.

I know that there is not much support for this board and its variants. That being said, one can still buy the SOM's at Digi-Key and other outlets. The Zoom AM3517 eXperimenter, which I have, is still a decent platform for development. So for those who may still care, it would be good to keep this updated.

Derald

#3 lore raw

PATCH 1/1 OMAP3: am3517_evm: SD/MMC boot with uEnv.txt, zImage, and FDT

Quoted 27 lines · Derald D. Woods
Quoted 14 lines · Tom Rini
Quoted 12 lines · Derald D. Woods

Boot with the Linux zImage and am3517-evm.dtb pair, when SD/MMC media is present. This behavior can be overridden by creating a 'uEnv.txt' file with 'uenvcmd' defined.

To boot an existing 'uImage', create the following 'uEnv.txt':

[start]-----------------------------------------------------------------

loaduimage=fatload mmc 0:1 ${loadaddr} ${bootfile} uenvcmd=run loaduimage; run mmcargs; bootm ${loadaddr}

Quoted 9 lines
Quoted 7 lines

[end]-------------------------------------------------------------------

Inspired by similar patches, for other OMAP3 boards, from EEWiki
- https://github.com/eewiki/u-boot-patches/tree/master/v2016.01

Gentle nudge.

Quoted 7 lines

I know that there is not much support for this board and its variants. That being said, one can still buy the SOM's at Digi-Key and other outlets. The Zoom AM3517 eXperimenter, which I have, is still a decent platform for development. So for those who may still care, it would be good to keep this updated.

Derald

I just missed seeing your application to master. Thanks!

#4 lore raw
In reply to Derald D. Woods
Quoted 11 lines · Derald D. Woods

Boot with the Linux zImage and am3517-evm.dtb pair, when SD/MMC media is present. This behavior can be overridden by creating a 'uEnv.txt' file with 'uenvcmd' defined.

To boot an existing 'uImage', create the following 'uEnv.txt':

[start]-----------------------------------------------------------------

loaduimage=fatload mmc 0:1 ${loadaddr} ${bootfile} uenvcmd=run loaduimage; run mmcargs; bootm ${loadaddr}

Quoted 7 lines

[end]-------------------------------------------------------------------

Inspired by similar patches, for other OMAP3 boards, from EEWiki
- https://github.com/eewiki/u-boot-patches/tree/master/v2016.01

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160215/1eaec360/attachment.sig>