ARM: stm32: Pass ROM API table pointer to U-Boot proper

The ROM API table pointer is no longer accessible from U-Boot, fix
this by passing the ROM API pointer through. This makes it possible
for U-Boot to call ROM API functions to authenticate payload like
signed fitImages.

Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Signed-off-by: Marek Vasut <marex@denx.de>
This commit is contained in:
Marek Vasut 2023-01-12 18:58:41 +01:00 committed by Patrice Chotard
parent dbeaca79b7
commit 6eea541514

View File

@ -22,6 +22,7 @@
#include <dm/device.h> #include <dm/device.h>
#include <dm/uclass.h> #include <dm/uclass.h>
#include <linux/bitops.h> #include <linux/bitops.h>
#include <spl.h>
/* /*
* early TLB into the .data section so that it not get cleared * early TLB into the .data section so that it not get cleared
@ -413,3 +414,17 @@ uintptr_t get_stm32mp_bl2_dtb(void)
{ {
return nt_fw_dtb; return nt_fw_dtb;
} }
#ifdef CONFIG_SPL_BUILD
void __noreturn jump_to_image_no_args(struct spl_image_info *spl_image)
{
typedef void __noreturn (*image_entry_stm32_t)(u32 romapi);
uintptr_t romapi = get_stm32mp_rom_api_table();
image_entry_stm32_t image_entry =
(image_entry_stm32_t)spl_image->entry_point;
printf("image entry point: 0x%lx\n", spl_image->entry_point);
image_entry(romapi);
}
#endif