[PATCH 3/3] ARM: imx: Add support for detecting primary/secondary bmode on MX8M

Marek Vasut marex at denx.de
Tue Oct 17 03:34:27 CEST 2023


On 10/16/23 08:44, Stefano Babic wrote:
> Hi Fedor, Marek,
> 
> On 29.07.23 17:09, Marek Vasut wrote:
>> From: Fedor Ross <fedor.ross at ifm.com>
>>
>> Implement the 'getprisec' subcommand of 'bmode' command for i.MX8M by
>> reading out the ROM log events. This event is set by the BootROM if it
>> switched to the secondary copy due to primary copy being corrupted.
>>
>> Signed-off-by: Fedor Ross <fedor.ross at ifm.com>
>> Signed-off-by: Marek Vasut <marex at denx.de>
>> ---
>> Cc: Fabio Estevam <festevam at gmail.com>
>> Cc: Peng Fan <peng.fan at nxp.com>
>> Cc: Stefano Babic <sbabic at denx.de>
>> ---
>>   arch/arm/mach-imx/Kconfig     | 2 +-
>>   arch/arm/mach-imx/imx8m/soc.c | 5 +++++
>>   2 files changed, 6 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig
>> index d94b5828d0d..982d542b1c8 100644
>> --- a/arch/arm/mach-imx/Kconfig
>> +++ b/arch/arm/mach-imx/Kconfig
>> @@ -70,7 +70,7 @@ config CSF_SIZE
>>   config CMD_BMODE
>>       bool "Support the 'bmode' command"
>>       default y
>> -    depends on ARCH_MX7 || ARCH_MX6 || ARCH_MX5
>> +    depends on ARCH_IMX8M || ARCH_MX7 || ARCH_MX6 || ARCH_MX5
>>       help
>>         This enables the 'bmode' (bootmode) command for forcing
>>         a boot from specific media.
>> diff --git a/arch/arm/mach-imx/imx8m/soc.c 
>> b/arch/arm/mach-imx/imx8m/soc.c
>> index 2234ef947a1..10e5aeb48a2 100644
>> --- a/arch/arm/mach-imx/imx8m/soc.c
>> +++ b/arch/arm/mach-imx/imx8m/soc.c
>> @@ -726,6 +726,11 @@ int spl_mmc_emmc_boot_partition(struct mmc *mmc)
>>       return part;
>>   }
>> +
>> +int boot_mode_getprisec(void)
>> +{
>> +    return !!imx8m_detect_secondary_image_boot();
>> +}
>>   #endif
>>   #if defined(CONFIG_IMX8MN) || defined(CONFIG_IMX8MP)
> 
> 
> This breaks several board, I bisected imx8mm-cl-iot-gate because those 
> boards don't define boot_mode_apply:
> 
> +arch/arm/mach-imx/cmd_bmode.c:86: undefined reference to `boot_mode_apply'
> +make[1]: *** [Makefile:1765: u-boot] Error 139
> 
> I cannot apply this, please check and repost, thanks.

I sent a slightly more extensive V2 which passes CI.


More information about the U-Boot mailing list