]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
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 b97617cfca363aadbc10ced5c1eb6fe472403696..2769b54601099e5e6e4eb7bf8a256a10e3aa1896 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");