On 1/19/26 09:38, Patrice CHOTARD wrote:
> 
> 
> On 1/18/26 11:48, Dario Binacchi wrote:
>> Following the commit 95b5a7de30f6 (“FWU: STM32MP1: Add support to read
>> boot index from backup register”), this patch enables reading the boot
>> index from backup registers on STM32MP2 platforms.
>>
>> Signed-off-by: Dario Binacchi <[email protected]>
>>
>> ---
>>
>>  arch/arm/mach-stm32mp/include/mach/stm32.h |  4 ++++
>>  board/st/stm32mp2/stm32mp2.c               | 21 +++++++++++++++++++++
>>  2 files changed, 25 insertions(+)
>>
>> diff --git a/arch/arm/mach-stm32mp/include/mach/stm32.h 
>> b/arch/arm/mach-stm32mp/include/mach/stm32.h
>> index 2bf50c755cbd..90f06a052d3f 100644
>> --- a/arch/arm/mach-stm32mp/include/mach/stm32.h
>> +++ b/arch/arm/mach-stm32mp/include/mach/stm32.h
>> @@ -188,8 +188,12 @@ enum forced_boot_mode {
>>  /* TAMP registers x = 0 to 127 : hardcoded description, waiting NVMEM node 
>> in DT */
>>  #define TAMP_BACKUP_REGISTER(x)             (STM32_TAMP_BASE + 0x100 + 4 * 
>> (x))
>>  
>> +#define TAMP_FWU_BOOT_INFO_REG              TAMP_BACKUP_REGISTER(48)
>>  /* TAMP registers zone 3 RIF 1 (RW) at 96*/
>>  #define TAMP_BOOT_CONTEXT           TAMP_BACKUP_REGISTER(96)
>> +
>> +#define TAMP_FWU_BOOT_IDX_MASK              GENMASK(3, 0)
>> +#define TAMP_FWU_BOOT_IDX_OFFSET    0
>>  #endif /* defined(CONFIG_STM32MP23X) || defined(CONFIG_STM32MP25X) */
>>  
>>  /* offset used for BSEC driver: misc_read and misc_write */
>> diff --git a/board/st/stm32mp2/stm32mp2.c b/board/st/stm32mp2/stm32mp2.c
>> index 7bc7d2a608fd..43bc583378e6 100644
>> --- a/board/st/stm32mp2/stm32mp2.c
>> +++ b/board/st/stm32mp2/stm32mp2.c
>> @@ -188,3 +188,24 @@ void board_quiesce_devices(void)
>>  {
>>      led_boot_off();
>>  }
>> +
>> +#if defined(CONFIG_FWU_MULTI_BANK_UPDATE)
>> +
>> +#include <fwu.h>
>> +
>> +/**
>> + * fwu_plat_get_bootidx() - Get the value of the boot index
>> + * @boot_idx: Boot index value
>> + *
>> + * Get the value of the bank(partition) from which the platform
>> + * has booted. This value is passed to U-Boot from the earlier
>> + * stage bootloader which loads and boots all the relevant
>> + * firmware images
>> + *
>> + */
>> +void fwu_plat_get_bootidx(uint *boot_idx)
>> +{
>> +    *boot_idx = (readl(TAMP_FWU_BOOT_INFO_REG) >>
>> +                TAMP_FWU_BOOT_IDX_OFFSET) & TAMP_FWU_BOOT_IDX_MASK;
>> +}
>> +#endif /* CONFIG_FWU_MULTI_BANK_UPDATE */
> 
> Hi Dario
> 
> Reviewed-by: Patrice Chotard <[email protected]>
> 
> Thanks
> Patrice
> 
Applied to u-boot-stm32/master

Thanks
Patrice

Reply via email to