board: apalis-tk1: launch toradex easy installer in usb recovery
authorMarcel Ziswiler <marcel.ziswiler@toradex.com>
Wed, 11 Aug 2021 13:12:56 +0000 (15:12 +0200)
committerTom Warren <twarren@nvidia.com>
Mon, 16 Aug 2021 19:17:07 +0000 (12:17 -0700)
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>
Signed-off-by: Tom Warren <twarren@nvidia.com>
board/toradex/apalis-tk1/apalis-tk1.c

index b97617c..2769b54 100644 (file)
 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");