diff mbox

[U-Boot] OMAP3: am3517_evm: SD/MMC boot with uEnv.txt, zImage, and FDT

Message ID 1454900087-31977-1-git-send-email-woods.technical@gmail.com
State Accepted
Commit 45776e36ecb31272b672bf38f099fdf4f277766e
Delegated to: Tom Rini
Headers show

Commit Message

Derald Woods Feb. 8, 2016, 2:54 a.m. UTC
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

Signed-off-by: Derald D. Woods <woods.technical@gmail.com>
---
 include/configs/am3517_evm.h | 48 ++++++++++++++++++++++++++++++++++----------
 1 file changed, 37 insertions(+), 11 deletions(-)

Comments

Tom Rini Feb. 8, 2016, 8:45 p.m. UTC | #1
On Sun, Feb 07, 2016 at 08:54:47PM -0600, Derald D. Woods wrote:

> 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
> 
> Signed-off-by: Derald D. Woods <woods.technical@gmail.com>

Reviewed-by: Tom Rini <trini@konsulko.com>
Tom Rini Feb. 15, 2016, 10:34 p.m. UTC | #2
On Sun, Feb 07, 2016 at 08:54:47PM -0600, Derald D. Woods wrote:

> 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
> 
> Signed-off-by: Derald D. Woods <woods.technical@gmail.com>
> Reviewed-by: Tom Rini <trini@konsulko.com>

Applied to u-boot/master, thanks!
Derald Woods Feb. 15, 2016, 10:54 p.m. UTC | #3
On 02/08/2016 02:45 PM, Tom Rini wrote:
> On Sun, Feb 07, 2016 at 08:54:47PM -0600, Derald D. Woods wrote:
>
>> 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
>>
>> Signed-off-by: Derald D. Woods <woods.technical@gmail.com>
> Reviewed-by: Tom Rini <trini@konsulko.com>
>

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
Derald Woods Feb. 15, 2016, 11:03 p.m. UTC | #4
On 02/15/2016 04:54 PM, Derald D. Woods wrote:
> On 02/08/2016 02:45 PM, Tom Rini wrote:
>> On Sun, Feb 07, 2016 at 08:54:47PM -0600, Derald D. Woods wrote:
>>
>>> 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
>>>
>>> Signed-off-by: Derald D. Woods <woods.technical@gmail.com>
>> Reviewed-by: Tom Rini <trini@konsulko.com>
>>
>
> 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

I just missed seeing your application to master. Thanks!
diff mbox

Patch

diff --git a/include/configs/am3517_evm.h b/include/configs/am3517_evm.h
index 4547d7f..4d662ad 100644
--- a/include/configs/am3517_evm.h
+++ b/include/configs/am3517_evm.h
@@ -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"