sandbox: Add a debug UART
authorSimon Glass <sjg@chromium.org>
Mon, 1 Oct 2018 17:55:15 +0000 (11:55 -0600)
committerSimon Glass <sjg@chromium.org>
Tue, 9 Oct 2018 10:40:27 +0000 (04:40 -0600)
Add support for the debug UART so that sandbox provides build testing for
this feature.

Signed-off-by: Simon Glass <sjg@chromium.org>
configs/sandbox_defconfig
drivers/serial/Kconfig
drivers/serial/sandbox.c

index 1c4a3330b4f4f4c61804c3f361a79d970c403116..2ce336fc81c2caa4262a9bc0b098234f651c4bc7 100644 (file)
@@ -1,5 +1,6 @@
 CONFIG_SYS_TEXT_BASE=0
 CONFIG_SYS_MALLOC_F_LEN=0x2000
+CONFIG_DEBUG_UART=y
 CONFIG_DISTRO_DEFAULTS=y
 CONFIG_NR_DRAM_BANKS=1
 CONFIG_ANDROID_BOOT_IMAGE=y
@@ -173,6 +174,7 @@ CONFIG_REMOTEPROC_SANDBOX=y
 CONFIG_DM_RESET=y
 CONFIG_SANDBOX_RESET=y
 CONFIG_DM_RTC=y
+CONFIG_DEBUG_UART_SANDBOX=y
 CONFIG_SANDBOX_SERIAL=y
 CONFIG_SMEM=y
 CONFIG_SANDBOX_SMEM=y
index 5fa27254e3053a7520c3e2bb6df67ab7636bc246..83f8c94d028ccc036ec5121f16dea37ca3146c35 100644 (file)
@@ -324,6 +324,15 @@ config DEBUG_UART_MXC
          will need to provide parameters to make this work. The driver will
          be available until the real driver model serial is running.
 
+config DEBUG_UART_SANDBOX
+       bool "sandbox"
+       depends on SANDBOX_SERIAL
+       help
+         Select this to enable the debug UART using the sandbox driver. This
+         provides basic serial output from the console without needing to
+         start up driver model. The driver will be available until the real
+         driver model serial is running.
+
 config DEBUG_UART_STM32
        bool "STMicroelectronics STM32"
        depends on STM32_SERIAL
@@ -354,6 +363,7 @@ endchoice
 config DEBUG_UART_BASE
        hex "Base address of UART"
        depends on DEBUG_UART
+       default 0 if DEBUG_UART_SANDBOX
        help
          This is the base address of your UART for memory-mapped UARTs.
 
@@ -363,6 +373,7 @@ config DEBUG_UART_BASE
 config DEBUG_UART_CLOCK
        int "UART input clock"
        depends on DEBUG_UART
+       default 0 if DEBUG_UART_SANDBOX
        help
          The UART input clock determines the speed of the internal UART
          circuitry. The baud rate is derived from this by dividing the input
index 94b4fdfb17148cd4a30a0bf9c5cc56fa09a4de84..4fbc5956b76694e9066428ba810b5328e6ecdfd8 100644 (file)
@@ -143,6 +143,23 @@ static int sandbox_serial_getc(struct udevice *dev)
        return result;
 }
 
+#ifdef CONFIG_DEBUG_UART_SANDBOX
+
+#include <debug_uart.h>
+
+static inline void _debug_uart_init(void)
+{
+}
+
+static inline void _debug_uart_putc(int ch)
+{
+       os_putc(ch);
+}
+
+DEBUG_UART_FUNCS
+
+#endif /* CONFIG_DEBUG_UART_SANDBOX */
+
 static int sandbox_serial_setconfig(struct udevice *dev, uint serial_config)
 {
        u8 parity = SERIAL_GET_PARITY(serial_config);