summaryrefslogtreecommitdiffstats
path: root/configs/platform-v8a/patches/barebox-2020.08.1/0001-ARM-nxp-imx8mm-evk-always-set-up-UART.patch
diff options
context:
space:
mode:
Diffstat (limited to 'configs/platform-v8a/patches/barebox-2020.08.1/0001-ARM-nxp-imx8mm-evk-always-set-up-UART.patch')
-rw-r--r--configs/platform-v8a/patches/barebox-2020.08.1/0001-ARM-nxp-imx8mm-evk-always-set-up-UART.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/configs/platform-v8a/patches/barebox-2020.08.1/0001-ARM-nxp-imx8mm-evk-always-set-up-UART.patch b/configs/platform-v8a/patches/barebox-2020.08.1/0001-ARM-nxp-imx8mm-evk-always-set-up-UART.patch
new file mode 100644
index 0000000..377b2f6
--- /dev/null
+++ b/configs/platform-v8a/patches/barebox-2020.08.1/0001-ARM-nxp-imx8mm-evk-always-set-up-UART.patch
@@ -0,0 +1,46 @@
+From: Lucas Stach <l.stach@pengutronix.de>
+Date: Tue, 11 Aug 2020 11:43:29 +0200
+Subject: [PATCH] ARM: nxp-imx8mm-evk: always set up UART
+
+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@pengutronix.de>
+Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
+---
+ 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();
+