diff mbox series

[3/3] ARM: imx: mx5: Add altbootcmd and resets to M53Menlo

Message ID 20210911224000.98908-3-marex@denx.de
State Accepted
Commit abc6eee0e76f5418f64f8a95878ac2bd6d2b2e69
Delegated to: Stefano Babic
Headers show
Series [1/3] ARM: imx: mx5: Enable BMODE command on MX53 Menlo board | expand

Commit Message

Marek Vasut Sept. 11, 2021, 10:40 p.m. UTC
Bulletproof the default boot command with reset statements in case
any command in the chain would fail. In case a failure were to happen,
the board will reset, increment boot counter and retry the procedure.
In case the failures persist and the boot counter reaches the bootlimit,
U-Boot starts altbootcmd instead of the default bootcmd boot command.

The altbootcmd swaps the default boot partition for the other boot
partition, which is an identical copy or an older copy, and tries
booting from that one instead.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
---
 include/configs/m53menlo.h | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

Comments

Stefano Babic Oct. 20, 2021, 12:21 p.m. UTC | #1
> Bulletproof the default boot command with reset statements in case
> any command in the chain would fail. In case a failure were to happen,
> the board will reset, increment boot counter and retry the procedure.
> In case the failures persist and the boot counter reaches the bootlimit,
> U-Boot starts altbootcmd instead of the default bootcmd boot command.
> The altbootcmd swaps the default boot partition for the other boot
> partition, which is an identical copy or an older copy, and tries
> booting from that one instead.
> Signed-off-by: Marek Vasut <marex@denx.de>
> Cc: Stefano Babic <sbabic@denx.de>
Applied to u-boot-imx, master, thanks !

Best regards,
Stefano Babic
diff mbox series

Patch

diff --git a/include/configs/m53menlo.h b/include/configs/m53menlo.h
index bd117daf063..9bec05bf0bd 100644
--- a/include/configs/m53menlo.h
+++ b/include/configs/m53menlo.h
@@ -184,6 +184,13 @@ 
 	"splashfile=boot/usplash.bmp.gz\0"				\
 	"splashimage=0x88000000\0"					\
 	"splashpos=m,m\0"						\
+	"altbootcmd="							\
+		"if test ${mmcpart} -eq 1 ; then "			\
+			"setenv mmcpart 2 ; "				\
+		"else "							\
+			"setenv mmcpart 1 ; "				\
+		"fi ; "							\
+		"boot\0"						\
 	"stdout=serial,vidconsole\0"					\
 	"stderr=serial,vidconsole\0"					\
 	"addcons="							\
@@ -198,14 +205,14 @@ 
 		"setenv bootargs ${bootargs} ${miscargs}\0"		\
 	"addargs=run addcons addmisc addmtd\0"				\
 	"mmcload="							\
-		"mmc rescan ; load mmc ${mmcdev}:${mmcpart} "		\
-		"${kernel_addr_r} ${bootfile}\0"			\
+		"mmc rescan || reset ; load mmc ${mmcdev}:${mmcpart} "	\
+		"${kernel_addr_r} ${bootfile} || reset\0"		\
 	"miscargs=nohlt panic=1\0"					\
 	"mmcargs=setenv bootargs root=/dev/mmcblk0p${mmcpart} rw "	\
 		"rootwait\0"						\
 	"mmc_mmc="							\
-		"run mmcload mmcargs addargs ; "			\
-		"bootm ${kernel_addr_r}\0"				\
+		"run mmcload mmcargs addargs || reset ; "		\
+		"bootm ${kernel_addr_r} ; reset\0"			\
 	"netload=tftp ${kernel_addr_r} ${hostname}/${bootfile}\0"	\
 	"net_nfs="							\
 		"run netload nfsargs addip addargs ; "			\