arm: stm32mp: disable console for UART serial boot
authorPatrice Chotard <patrice.chotard@foss.st.com>
Thu, 3 Apr 2025 13:04:35 +0000 (15:04 +0200)
committerPatrice Chotard <patrice.chotard@foss.st.com>
Fri, 25 Apr 2025 14:00:23 +0000 (16:00 +0200)
For UART serial boot, the console need to be deactivated to avoid issue
with tools STM32CubeProgrammer.

This patch adds also the missing dependency for CMD_STM32PROG_SERIAL,
to allow the silent and disable console. This avoid to add is on
board level for STM32MP15 (with TARGET_ST_STM32MP15X or
TARGET_ST_STM32MP13X)

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
arch/arm/mach-stm32mp/cmd_stm32prog/Kconfig
arch/arm/mach-stm32mp/stm32mp2/cpu.c

index 5892762..490097e 100644 (file)
@@ -27,6 +27,8 @@ config CMD_STM32PROG_USB
 config CMD_STM32PROG_SERIAL
        bool "support stm32prog over UART"
        depends on CMD_STM32PROG
+       imply DISABLE_CONSOLE
+       imply SILENT_CONSOLE
        default y
        help
                activate the command "stm32prog serial" for STM32MP soc family
index 9548b27..c3b87d7 100644 (file)
@@ -55,6 +55,19 @@ int arch_cpu_init(void)
        return 0;
 }
 
+int mach_cpu_init(void)
+{
+       u32 boot_mode;
+
+       boot_mode = get_bootmode();
+
+       if (IS_ENABLED(CONFIG_CMD_STM32PROG_SERIAL) &&
+           (boot_mode & TAMP_BOOT_DEVICE_MASK) == BOOT_SERIAL_UART)
+               gd->flags |= GD_FLG_SILENT | GD_FLG_DISABLE_CONSOLE;
+
+       return 0;
+}
+
 void enable_caches(void)
 {
        /* deactivate the data cache, early enabled in arch_cpu_init() */