When the TF-A is configured to have some output on the UART it does not set up the UART on its own, but just expects a pre-existing configuration. If Barebox did not set up the UART in the !DEBUG_LL case, TF-A will just hang without any user accessible debug output, which is a very non-obvious failure, so better be safe and always set up the UART in case TF-A wants to use it. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> --- arch/arm/boards/nxp-imx8mm-evk/lowlevel.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/arch/arm/boards/nxp-imx8mm-evk/lowlevel.c b/arch/arm/boards/nxp-imx8mm-evk/lowlevel.c index cd1f7d168bc6..082aefb8c1c5 100644 --- a/arch/arm/boards/nxp-imx8mm-evk/lowlevel.c +++ b/arch/arm/boards/nxp-imx8mm-evk/lowlevel.c @@ -32,9 +32,12 @@ static void setup_uart(void) imx8mm_setup_pad(IMX8MM_PAD_UART2_TXD_UART2_TX | UART_PAD_CTRL); - imx8m_uart_setup_ll(); + imx8mq_uart_setup((void *)MX8M_UART2_BASE_ADDR); - putc_ll('>'); + if (IS_ENABLED(CONFIG_DEBUG_LL)) { + imx8m_uart_setup_ll(); + putc_ll('>'); + } } static void pmic_reg_write(void *i2c, int reg, uint8_t val) @@ -157,8 +160,7 @@ static void start_atf(void) */ static __noreturn noinline void nxp_imx8mm_evk_start(void) { - if (IS_ENABLED(CONFIG_DEBUG_LL)) - setup_uart(); + setup_uart(); start_atf(); -- 2.20.1 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox