[PATCH] ARM: stm32: Auto-detect ROM API table on STM32MP15xx
Patrice CHOTARD
patrice.chotard at foss.st.com
Mon Jun 9 10:55:08 CEST 2025
On 5/21/25 16:40, Patrice CHOTARD wrote:
>
>
> On 5/12/25 18:45, Marek Vasut wrote:
>> The ROM API table location is passed to the SPL by BootROM in register r0,
>> make use of this, store the content of r0 and later use it to access the
>> ROM API table to determine current boot device.
>>
>> Signed-off-by: Marek Vasut <marek.vasut at mailbox.org>
>> ---
>> Cc: Patrice Chotard <patrice.chotard at foss.st.com>
>> Cc: Patrick Delaunay <patrick.delaunay at foss.st.com>
>> Cc: Simon Glass <sjg at chromium.org>
>> Cc: Sughosh Ganu <sughosh.ganu at linaro.org>
>> Cc: Tom Rini <trini at konsulko.com>
>> Cc: u-boot at lists.denx.de
>> Cc: uboot-stm32 at st-md-mailman.stormreply.com
>> ---
>> arch/arm/mach-stm32mp/stm32mp1/cpu.c | 3 +--
>> arch/arm/mach-stm32mp/stm32mp1/stm32mp15x.c | 3 +--
>> 2 files changed, 2 insertions(+), 4 deletions(-)
>>
>> diff --git a/arch/arm/mach-stm32mp/stm32mp1/cpu.c b/arch/arm/mach-stm32mp/stm32mp1/cpu.c
>> index 18175fd12cc..9ab5a3ede52 100644
>> --- a/arch/arm/mach-stm32mp/stm32mp1/cpu.c
>> +++ b/arch/arm/mach-stm32mp/stm32mp1/cpu.c
>> @@ -330,8 +330,7 @@ static uintptr_t nt_fw_dtb __section(".data");
>> void save_boot_params(unsigned long r0, unsigned long r1, unsigned long r2,
>> unsigned long r3)
>> {
>> - if (IS_ENABLED(CONFIG_STM32_ECDSA_VERIFY))
>> - rom_api_table = r0;
>> + rom_api_table = r0;
>>
>> if (IS_ENABLED(CONFIG_TFABOOT))
>> nt_fw_dtb = r2;
>> diff --git a/arch/arm/mach-stm32mp/stm32mp1/stm32mp15x.c b/arch/arm/mach-stm32mp/stm32mp1/stm32mp15x.c
>> index caeeeca863c..07d99034861 100644
>> --- a/arch/arm/mach-stm32mp/stm32mp1/stm32mp15x.c
>> +++ b/arch/arm/mach-stm32mp/stm32mp1/stm32mp15x.c
>> @@ -64,7 +64,6 @@
>> * - boot instance = bit 31:16
>> * - boot device = bit 15:0
>> */
>> -#define BOOTROM_PARAM_ADDR 0x2FFC0078
>> #define BOOTROM_MODE_MASK GENMASK(15, 0)
>> #define BOOTROM_MODE_SHIFT 0
>> #define BOOTROM_INSTANCE_MASK GENMASK(31, 16)
>> @@ -189,7 +188,7 @@ void spl_board_init(void)
>> static void update_bootmode(void)
>> {
>> u32 boot_mode;
>> - u32 bootrom_itf = readl(BOOTROM_PARAM_ADDR);
>> + u32 bootrom_itf = readl(get_stm32mp_rom_api_table());
>> u32 bootrom_device, bootrom_instance;
>>
>> /* enable TAMP clock = RTCAPBEN */
>
> Reviewed-by: Patrice Chotard <patrice.chotard at foss.st.com>
>
> Thanks
> Patrice
Applied to u-boot-stm32/next
Thanks
Patrice
More information about the U-Boot
mailing list