]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
arch: imx8qxp: Override weak fb_mmc_get_boot_offset function
authorAdrian Freihofer <adrian.freihofer@siemens.com>
Tue, 17 Feb 2026 10:36:04 +0000 (11:36 +0100)
committerMattijs Korpershoek <mkorpershoek@kernel.org>
Thu, 19 Feb 2026 10:27:51 +0000 (11:27 +0100)
Add IMX8QXP SoCs specific implementation of fb_mmc_get_boot_offset()

This is needed as bootloader offset is different dependent on SoC
revision!

For revision B0 the bootloader starts at 32k offset. On offset
0x0 the bootloaders environment is stored.

On C0 revisions of the SoC bootloader image starts at offset 0x0

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Heiko Schocher <hs@nabladev.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Acked-by: Fabio Estevam <festevam@gmail.com>
Link: https://lore.kernel.org/r/20260217103604.71029-3-hs@nabladev.com
Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
arch/arm/mach-imx/imx8/cpu.c

index 0e112af661c113e197a3af7a60982b5dd272a889..f4738e3fda8b185fbe4c59a62fae19b64217d9d9 100644 (file)
@@ -899,3 +899,24 @@ bool m4_parts_booted(void)
 
        return false;
 }
+
+#ifdef CONFIG_IMX8QXP
+#include <blk.h>
+
+/*
+ * On B0 revision SoCs the bootloader is on 32k offset
+ * and at offset 0x0 is the U-Boot Environment stored
+ *
+ * So we cannot flash bootloader images to offset 0x0
+ *
+ * On C0 revisions of the SoC bootloader image starts
+ * at offset 0x0 ...
+ */
+lbaint_t fb_mmc_get_boot_offset(void)
+{
+       if ((get_cpu_rev() & 0xF) < CHIP_REV_C)
+               return 0x40;
+
+       return 0;
+}
+#endif