Hello NXP Community,
I'm working with an i.MX93-based device that has a dual-purpose console port: it's used both for programming/debugging the device and as an outbound console connection to network equipment (Cisco, Fortigate, etc.).
Problem: When the console cable is connected to external network devices during boot, the U-Boot SPL and ATF/BL31 boot messages are echoed to the external device's console. If the external device is also booting, it can interpret these characters as input commands, potentially corrupting its bootloader or configuration.
What I've successfully silenced: I've successfully silenced U-Boot proper using the following configuration in my defconfig:
CONFIG_SILENT_CONSOLE=y
CONFIG_SILENT_CONSOLE_UPDATE_ON_SET=y
CONFIG_SILENT_CONSOLE_UPDATE_ON_RELOC=y
CONFIG_SILENT_U_BOOT_ONLY=y
CONFIG_SYS_DEVICE_NULLDEV=y
CONFIG_AUTOBOOT_KEYED=y
CONFIG_AUTOBOOT_STOP_STR="\x03"
CONFIG_AUTOBOOT_DELAY_STR=""
I also attempted to silence SPL by adding this to common/spl/spl.c:
void board_init_r(gd_t *dummy1, ulong dummy2)
{
/* Force silent console in SPL */
gd->flags |= GD_FLG_SILENT;
/* ... rest of code ... */
}
```
What still outputs:
Despite these changes, I'm still seeing SPL and ATF output on the console:
U-Boot SPL 2023.04+gf8a2983ec83+p0 (Mar 04 2024 - 07:25:04 +0000)
SOC: 0xa1009300
LC: 0x2040010
PMIC: Low Drive Voltage Mode
DDR: 3733MTS
M33 prepare ok
NOTICE: BL31: v2.8(release):lf-6.6.3-1.0.0-0-g8dbe28631
NOTICE: BL31: Built : 17:57:56, Jan 22 2024
Questions:
- For U-Boot SPL: Does CONFIG_SPL_SILENT_CONSOLE exist in U-Boot 2023.04 for i.MX93? If so, what additional configuration is needed beyond setting gd->flags |= GD_FLG_SILENT?
- For ATF/BL31: What is the recommended way to silence ATF NOTICE messages? Should I rebuild imx-atf with LOG_LEVEL=0? Are there any i.MX93-specific considerations?
- Alternative approaches: Is there a better way to prevent early boot stage output from affecting connected devices? I've considered disabling UART TX at the hardware register level, but I'm unsure if this is the recommended approach.
Environment:
- SoC: i.MX93
- U-Boot version: 2023.04+gf8a2983ec83+p0
- ATF version: v2.8 (lf-6.6.3-1.0.0-0-g8dbe28631)
- Build system: Yocto-based
Any guidance on silencing these early boot stages would be greatly appreciated!
Thank you,
Nitesh
Sprunki Retake Yeah, I’ve dealt with this exact problem on NXP SoCs before—annoying when your boot logs confuse a Cisco switch! For SPL, CONFIG_SPL_SILENT_CONSOLE does exist in recent U-Boot versions (including 2023.04), but you also need to ensure it's respected early in the SPL console init path—some boards re-enable the console later. For ATF/BL31, you're spot on: rebuild with LOG_LEVEL=0 in the ATF make command (e.g., make PLAT=imx93 LOG_LEVEL=0)—no i.MX93-specific catches there, just make sure the Yocto recipe passes that flag.
Hello,
There is no option to add CONFIG_SPL_SILENT_CONSOLE in U-boot.
Other recommendation that I can give is add the variable:
"silent=1\0" \
And give it a value different from "0":
Here you can check the configuration:
Building uboot image with a silent console.
Regarding disable UART TX at the hardware level, it could be viable. Configure pad settings in ATF or SPL to keep TX inactive until U-Boot/Linux boot.
Best regards.