summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-stm32mp/stm32mp2/cpu.c16
-rw-r--r--board/microchip/mpfs_icicle/mpfs_icicle.c4
-rw-r--r--board/st/stm32mp1/stm32mp1.c2
3 files changed, 16 insertions, 6 deletions
diff --git a/arch/arm/mach-stm32mp/stm32mp2/cpu.c b/arch/arm/mach-stm32mp/stm32mp2/cpu.c
index c3b87d7f981..e081dc605b8 100644
--- a/arch/arm/mach-stm32mp/stm32mp2/cpu.c
+++ b/arch/arm/mach-stm32mp/stm32mp2/cpu.c
@@ -92,13 +92,21 @@ uintptr_t get_stm32mp_bl2_dtb(void)
}
/*
- * Save the FDT address provided by TF-A in r2 at boot time
+ * Save the FDT address provided by TF-A at boot time
* This function is called from start.S
*/
-void save_boot_params(unsigned long r0, unsigned long r1, unsigned long r2,
- unsigned long r3)
+void save_boot_params(unsigned long x0, unsigned long x1, unsigned long x2,
+ unsigned long x3)
{
- nt_fw_dtb = r2;
+ /* use the ARM64 kernel booting register settings:
+ * x0 = physical address of device tree blob (dtb) in system RAM.
+ * so kernel can replace U-Boot in FIP wihtout BL31 modification
+ * else falback to x2 used in previous TF-A version
+ */
+ if (x0)
+ nt_fw_dtb = x0;
+ else
+ nt_fw_dtb = x2;
save_boot_params_ret();
}
diff --git a/board/microchip/mpfs_icicle/mpfs_icicle.c b/board/microchip/mpfs_icicle/mpfs_icicle.c
index 739a9b6cd76..c99207bc89b 100644
--- a/board/microchip/mpfs_icicle/mpfs_icicle.c
+++ b/board/microchip/mpfs_icicle/mpfs_icicle.c
@@ -74,7 +74,7 @@ int board_fit_config_name_match(const char *name)
int board_fdt_blob_setup(void **fdtp)
{
- fdtp = (void *)_end;
+ *fdtp = (void *)_end;
/*
* The devicetree provided by the previous stage is very minimal due to
@@ -85,7 +85,7 @@ int board_fdt_blob_setup(void **fdtp)
*/
if (IS_ENABLED(CONFIG_OF_BOARD) && !IS_ENABLED(CONFIG_MULTI_DTB_FIT)) {
if (gd->arch.firmware_fdt_addr)
- fdtp = (void *)(uintptr_t)gd->arch.firmware_fdt_addr;
+ *fdtp = (void *)(uintptr_t)gd->arch.firmware_fdt_addr;
}
return 0;
diff --git a/board/st/stm32mp1/stm32mp1.c b/board/st/stm32mp1/stm32mp1.c
index ab7af69d472..cb5cab9f36a 100644
--- a/board/st/stm32mp1/stm32mp1.c
+++ b/board/st/stm32mp1/stm32mp1.c
@@ -751,6 +751,8 @@ enum env_location env_get_location(enum env_operation op, int prio)
case BOOT_FLASH_EMMC:
if (CONFIG_IS_ENABLED(ENV_IS_IN_MMC))
return ENVL_MMC;
+ else if (CONFIG_IS_ENABLED(ENV_IS_IN_EXT4))
+ return ENVL_EXT4;
else
return ENVL_NOWHERE;