]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
arm64: zynqmp: Also support JTAG as alternative boot mode
authorMichal Simek <michal.simek@amd.com>
Wed, 20 Mar 2024 11:18:35 +0000 (12:18 +0100)
committerMichal Simek <michal.simek@amd.com>
Mon, 25 Mar 2024 14:15:15 +0000 (15:15 +0100)
if (reg >> BOOT_MODE_ALT_SHIFT) condition rules out alternative jtag boot
mode which is 0. When 0 was used origin(HW) boot mode was used instead.
That's why directly fill reg variable with requested boot mode and don't
let code to read value back. "else" part of code remain unchanged.

Reviewed-by: Sean Anderson <sean.anderson@linux.dev>
Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/ed51a9d51948ab939a53e0b9dc6c2d2546f97a4f.1710933505.git.michal.simek@amd.com
arch/arm/mach-zynqmp/spl.c

index 5af735aa5cef0224d4fadbe1d9c63e206029cef4..979ff3aef6c28c4f1bde36f8e11312c07201fdca 100644 (file)
@@ -91,13 +91,14 @@ u32 spl_boot_device(void)
 
 #if defined(CONFIG_SPL_ZYNQMP_ALT_BOOTMODE_ENABLED)
        /* Change default boot mode at run-time */
+       reg = CONFIG_SPL_ZYNQMP_ALT_BOOTMODE;
        writel(CONFIG_SPL_ZYNQMP_ALT_BOOTMODE << BOOT_MODE_ALT_SHIFT,
               &crlapb_base->boot_mode);
-#endif
-
+#else
        reg = readl(&crlapb_base->boot_mode);
        if (reg >> BOOT_MODE_ALT_SHIFT)
                reg >>= BOOT_MODE_ALT_SHIFT;
+#endif
 
        bootmode = reg & BOOT_MODES_MASK;