board: stm32mp2: read boot index from backup register
Following the 'commit 95b5a7de30 ("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 <dario.binacchi@amarulasolutions.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
This commit is contained in:
committed by
Patrice Chotard
parent
a370c2b406
commit
07cd29b175
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
Reference in New Issue
Block a user