x86: Enable debug UART for Minnowmax
authorSimon Glass <sjg@chromium.org>
Mon, 3 Aug 2015 00:07:21 +0000 (18:07 -0600)
committerSimon Glass <sjg@chromium.org>
Thu, 6 Aug 2015 13:44:30 +0000 (07:44 -0600)
Enable the debug UART and emit a single 'a' early in the init sequence to
show that it is working.

Unfortunately the debug UART implementation needs a stack to work. I cannot
seem to remove this limitation as the absolute 'jmp %eax' instruction goes
off into the weeds.

So this means that the character output cannot be any earlier than
car_init_ret, where memory is available for a stack.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
arch/x86/cpu/start.S
configs/minnowmax_defconfig

index e5c1733e594b0a4b2be7ae7f0f1849433382aedd..313fa3ff969f9c48c732c0e1fb2694e1bfc9de4f 100644 (file)
@@ -128,6 +128,15 @@ car_init_ret:
        andl    $0xfffffff0, %esp
        post_code(POST_START_STACK)
 
+       /*
+        * Debug UART is available here although it may not be plumbed out
+        * to pins depending on the board. To use it:
+        *
+        * call  debug_uart_init
+        * mov   $'a', %eax
+        * call  printch
+        */
+
        /* Zero the global data since it won't happen later */
        xorl    %eax, %eax
        movl    $GENERATED_GBL_DATA_SIZE, %ecx
index e98f5eb5cee3b9f4bd325ddfb3b52d781d83df8a..a67597d8d6635a24104f61e7b2041061c0de7947 100644 (file)
@@ -24,3 +24,7 @@ CONFIG_FRAMEBUFFER_VESA_MODE_11A=y
 CONFIG_DM_RTC=y
 CONFIG_USE_PRIVATE_LIBGCC=y
 CONFIG_SYS_VSNPRINTF=y
+CONFIG_DEBUG_UART=y
+CONFIG_DEBUG_UART_NS16550=y
+CONFIG_DEBUG_UART_BASE=0x3f8
+CONFIG_DEBUG_UART_CLOCK=1843200