diff mbox series

[8/8] board: apalis-tk1: launch toradex easy installer in usb recovery

Message ID 20210722154943.127775-9-oleksandr.suvorov@toradex.com
State Changes Requested
Delegated to: Stefano Babic
Headers show
Series Patches for Toradex boards | expand

Commit Message

Oleksandr Suvorov July 22, 2021, 3:49 p.m. UTC
From: Marcel Ziswiler <marcel.ziswiler@toradex.com>

The USB recovery mode is used by Toradex to load the Toradex Easy
Installer image which supports further system images installation.
Prepare for loading and launching the Toradex Easy Installer if the
USB Recovery mode is activated.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
---

 board/toradex/apalis-tk1/apalis-tk1.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/board/toradex/apalis-tk1/apalis-tk1.c b/board/toradex/apalis-tk1/apalis-tk1.c
index b97617cfca..f418f2c39f 100644
--- a/board/toradex/apalis-tk1/apalis-tk1.c
+++ b/board/toradex/apalis-tk1/apalis-tk1.c
@@ -38,8 +38,17 @@ 
 int arch_misc_init(void)
 {
 	if (readl(NV_PA_BASE_SRAM + NVBOOTINFOTABLE_BOOTTYPE) ==
-	    NVBOOTTYPE_RECOVERY)
-		printf("USB recovery mode\n");
+	    NVBOOTTYPE_RECOVERY) {
+		printf("USB recovery mode, attempting to boot Toradex Easy Installer\n");
+		env_set("bootdelay", "-2");
+		env_set("defargs", "pcie_aspm=off user_debug=30");
+		env_set("fdt_high", "");
+		env_set("initrd_high", "");
+		env_set("setup", "env set setupargs igb_mac=${ethaddr} consoleblank=0 no_console_suspend=1 console=${console},${baudrate}n8 ${memargs}");
+		env_set("teziargs", "rootfstype=squashfs root=/dev/ram quiet autoinstall");
+		env_set("vidargs", "video=HDMI-A-1:640x480-16@60D");
+		env_set("bootcmd", "run setup; env set bootargs ${defargs} ${setupargs} ${vidargs} ${teziargs}; bootm 0x80208000#config@${soc}-${fdt_module}-${fdt_board}.dtb");
+	}
 
 	/* PCB Version Indication: V1.2 and later have GPIO_PV0 wired to GND */
 	gpio_request(TEGRA_GPIO(V, 0), "PCB Version Indication");