exynos: Enable the debug UART in SPL
authorSimon Glass <sjg@chromium.org>
Fri, 3 Jul 2015 00:15:55 +0000 (18:15 -0600)
committerSimon Glass <sjg@chromium.org>
Thu, 6 Aug 2015 03:06:11 +0000 (21:06 -0600)
As a debugging aid, allow UART3 to be used as a debug UART in SPL. This
is a precursor to proper UART support, which requires a substantial
refactor.

Signed-off-by: Simon Glass <sjg@chromium.org>
arch/arm/cpu/armv7/exynos/lowlevel_init.c
drivers/serial/serial_s5p.c

index 120aaf8b961f3484932ae31a93c1633e9532ef2d..37746078487eda5b6339b6321754bbaafae30d37 100644 (file)
@@ -25,6 +25,7 @@
 
 #include <common.h>
 #include <config.h>
+#include <debug_uart.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/dmc.h>
 #include <asm/arch/power.h>
@@ -216,6 +217,10 @@ int do_lowlevel_init(void)
 
        if (actions & DO_CLOCKS) {
                system_clock_init();
+#ifdef CONFIG_DEBUG_UART
+               exynos_pinmux_config(PERIPH_ID_UART3, PINMUX_FLAG_NONE);
+               debug_uart_init();
+#endif
                mem_ctrl_init(actions & DO_MEM_RESET);
                tzpc_init();
        }
index 4a553a37b8f55d1aff2fd2ceda4aa8c798696548..21cb566c2906cb01d9dd911c3581bd9458122359 100644 (file)
@@ -85,6 +85,7 @@ static void __maybe_unused s5p_serial_baud(struct s5p_uart *uart, uint uclk,
                writeb(val % 16, &uart->rest.value);
 }
 
+#ifndef CONFIG_SPL_BUILD
 int s5p_serial_setbrg(struct udevice *dev, int baudrate)
 {
        struct s5p_serial_platdata *plat = dev->platdata;
@@ -200,6 +201,7 @@ U_BOOT_DRIVER(serial_s5p) = {
        .ops    = &s5p_serial_ops,
        .flags = DM_FLAG_PRE_RELOC,
 };
+#endif
 
 #ifdef CONFIG_DEBUG_UART_S5P