summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2018-06-07 06:00:20 -0700
committerSascha Hauer <s.hauer@pengutronix.de>2018-06-11 08:54:10 +0200
commitee47ee97c9928afd6c7b7fee5bf23183e75f7865 (patch)
tree81e5c48e2c562954c3230cd551e662c91c92efa3
parentaa6f3af708c07524e6a71742f61cf171aefff355 (diff)
downloadbarebox-ee47ee97c9928afd6c7b7fee5bf23183e75f7865.tar.gz
barebox-ee47ee97c9928afd6c7b7fee5bf23183e75f7865.tar.xz
aarch64: Add i.MX8 debug UART support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> [andrew.smirnov@gmail.com: Added imx8_uart_setup_ll()] Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--arch/arm/mach-imx/include/mach/debug_ll.h11
-rw-r--r--common/Kconfig8
2 files changed, 19 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/include/mach/debug_ll.h b/arch/arm/mach-imx/include/mach/debug_ll.h
index d54d601db0..1550e059ed 100644
--- a/arch/arm/mach-imx/include/mach/debug_ll.h
+++ b/arch/arm/mach-imx/include/mach/debug_ll.h
@@ -15,6 +15,7 @@
#include <mach/imx53-regs.h>
#include <mach/imx6-regs.h>
#include <mach/imx7-regs.h>
+#include <mach/imx8mq-regs.h>
#include <mach/vf610-regs.h>
#include <serial/imx-uart.h>
@@ -47,6 +48,8 @@
#define IMX_DEBUG_SOC MX6
#elif defined CONFIG_DEBUG_IMX7D_UART
#define IMX_DEBUG_SOC MX7
+#elif defined CONFIG_DEBUG_IMX8MQ_UART
+#define IMX_DEBUG_SOC MX8MQ
#elif defined CONFIG_DEBUG_VF610_UART
#define IMX_DEBUG_SOC VF610
#else
@@ -95,6 +98,13 @@ static inline void vf610_uart_setup_ll(void)
lpuart_setup(base, 66000000);
}
+static inline void imx8_uart_setup_ll(void)
+{
+ void *base = IOMEM(IMX_UART_BASE(IMX_DEBUG_SOC,
+ CONFIG_DEBUG_IMX_UART_PORT));
+ imx8mq_uart_setup(base);
+}
+
static inline void PUTC_LL(int c)
{
void __iomem *base = IOMEM(IMX_UART_BASE(IMX_DEBUG_SOC,
@@ -117,6 +127,7 @@ static inline void imx53_uart_setup_ll(void) {}
static inline void imx6_uart_setup_ll(void) {}
static inline void imx7_uart_setup_ll(void) {}
static inline void vf610_uart_setup_ll(void) {}
+static inline void imx8_uart_setup_ll(void) {}
#endif /* CONFIG_DEBUG_LL */
diff --git a/common/Kconfig b/common/Kconfig
index b7000c4d73..75aea460a3 100644
--- a/common/Kconfig
+++ b/common/Kconfig
@@ -1099,6 +1099,13 @@ config DEBUG_IMX7D_UART
Say Y here if you want barebox low-level debugging support
on i.MX7D.
+config DEBUG_IMX8MQ_UART
+ bool "i.MX8MQ Debug UART"
+ depends on ARCH_IMX8MQ
+ help
+ Say Y here if you want barebox low-level debugging support
+ on i.MX8MQ.
+
config DEBUG_VF610_UART
bool "VF610 Debug UART"
depends on ARCH_VF610
@@ -1163,6 +1170,7 @@ config DEBUG_IMX_UART_PORT
DEBUG_IMX6Q_UART || \
DEBUG_IMX6SL_UART || \
DEBUG_IMX7D_UART || \
+ DEBUG_IMX8MQ_UART || \
DEBUG_VF610_UART
default 1
depends on ARCH_IMX