[PATCH] arm: stm32mp1: force boot_device variable for invalid TAMP register value
Patrice CHOTARD
patrice.chotard at foss.st.com
Fri Jul 9 11:49:23 CEST 2021
Hi Patrick
On 7/8/21 10:53 AM, Patrick Delaunay wrote:
> When the TAMP register 20 have an invalid value (0x0 for example after
> TAMPER error) the "boot_device" U-Boot env variable have no value and
> no error is displayed in U-Boot log.
>
> The STM32MP boot command bootcmd_stm32mp failed with strange trace:
> "Boot over !"
>
> and the next command in bootcmd_stm32mp failed with few indication:
> if test ${boot_device} = serial || test ${boot_device} = usb;
> then stm32prog ${boot_device} ${boot_instance};
>
> As it is difficult to investigate, the current patch avoids this issue:
> - change the debug message to error: "unexpected boot mode" is displayed
> - display trace "Boot over invalid!" in bootcmd_stm32mp
> - execute "run distro_bootcmd" to try all the possible target
>
> Signed-off-by: Patrick Delaunay <patrick.delaunay at foss.st.com>
> ---
>
> arch/arm/mach-stm32mp/cpu.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/mach-stm32mp/cpu.c b/arch/arm/mach-stm32mp/cpu.c
> index 592bfd413d..5ea1ddc497 100644
> --- a/arch/arm/mach-stm32mp/cpu.c
> +++ b/arch/arm/mach-stm32mp/cpu.c
> @@ -542,7 +542,9 @@ static void setup_boot_mode(void)
> env_set("boot_instance", "0");
> break;
> default:
> - log_debug("unexpected boot mode = %x\n", boot_mode);
> + env_set("boot_device", "invalid");
> + env_set("boot_instance", "");
> + log_err("unexpected boot mode = %x\n", boot_mode);
> break;
> }
>
>
Reviewed-by: Patrice Chotard <patrice.chotard at foss.st.com>
Thanks
Patrice
More information about the U-Boot
mailing list