[U-Boot] [PATCH] enable debug uart

rick at andestech.com rick at andestech.com
Wed Nov 15 03:17:39 UTC 2017


Hi, All

This is wrong patch sending.

Please ignore it.

Rick

-----Original Message-----
From: Open Source Project uboot
Sent: Wednesday, November 15, 2017 10:48 AM
To: u-boot at lists.denx.de; wd at denx.de; dzu at denx.de; sjg at chromium.org
Cc: Rick Jian-Zhi Chen(陳建志)
Subject: [PATCH] enable debug uart

From: rick <rick at andestech.com>

---
 common/board_f.c            |    2 ++
 configs/adp-ae3xx_defconfig |    5 +++++
 drivers/serial/Kconfig      |    8 ++++++++
 drivers/serial/ns16550.c    |    5 +++--
 include/debug_uart.h        |    2 ++
 lib/display_options.c       |    2 ++
 6 files changed, 22 insertions(+), 2 deletions(-)  mode change 100644 => 100755 common/board_f.c  mode change 100644 => 100755 common/init/board_init.c  mode change 100644 => 100755 configs/adp-ae3xx_defconfig  mode change 100644 => 100755 drivers/serial/Kconfig  mode change 100644 => 100755 drivers/serial/ns16550.c  mode change 100644 => 100755 include/debug_uart.h  mode change 100644 => 100755 lib/display_options.c

diff --git a/common/board_f.c b/common/board_f.c old mode 100644 new mode 100755 index 104d144..1024987
--- a/common/board_f.c
+++ b/common/board_f.c
@@ -902,6 +902,8 @@ static const init_fnc_t init_sequence_f[] = {

 void board_init_f(ulong boot_flags)
 {
+//printf("board_init_f\n");
+//while(1);
        gd->flags = boot_flags;
        gd->have_console = 0;

diff --git a/common/init/board_init.c b/common/init/board_init.c old mode 100644 new mode 100755 diff --git a/configs/adp-ae3xx_defconfig b/configs/adp-ae3xx_defconfig old mode 100644 new mode 100755 index db9ee61..02386d6
--- a/configs/adp-ae3xx_defconfig
+++ b/configs/adp-ae3xx_defconfig
@@ -38,3 +38,8 @@ CONFIG_DM_SPI=y
 CONFIG_NDS_AE3XX_SPI=y
 CONFIG_TIMER=y
 CONFIG_AE3XX_TIMER=y
+CONFIG_DEBUG_UART=y
+CONFIG_DEBUG_UART_BASE=0xf0300000
+CONFIG_DEBUG_UART_CLOCK=14745600
+CONFIG_DEBUG_UART_SHIFT=2
+CONFIG_DEBUG_UART_OFFSET=32
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig old mode 100644 new mode 100755 index aeed538..34d49be
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
@@ -319,6 +319,14 @@ config DEBUG_UART_SHIFT
          value. Use this value to specify the shift to use, where 0=byte
          registers, 2=32-bit word registers, etc.

+config DEBUG_UART_OFFSET
+       int "UART register offset"
+       depends on DEBUG_UART
+       default 0 if DEBUG_UART
+       help
+         Offset to apply to the mapbase from the start of the registers.
+
+
 config DEBUG_UART_BOARD_INIT
        bool "Enable board-specific debug UART init"
        depends on DEBUG_UART
diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c old mode 100644 new mode 100755 index c702304..b67af3d
--- a/drivers/serial/ns16550.c
+++ b/drivers/serial/ns16550.c
@@ -31,8 +31,9 @@ DECLARE_GLOBAL_DATA_PTR;
 #define serial_out(x, y)       out_le32(y, x)
 #define serial_in(y)           in_le32(y)
 #else
-#define serial_out(x, y)       writeb(x, y)
-#define serial_in(y)           readb(y)
+@
+#define serial_out(x, y)       writeb(x, y+CONFIG_SYS_NS16550_REG_OFFSET)
+#define serial_in(y)           readb(y+CONFIG_SYS_NS16550_REG_OFFSET)
 #endif
 #endif /* !CONFIG_DM_SERIAL */

diff --git a/include/debug_uart.h b/include/debug_uart.h old mode 100644 new mode 100755 index 6f0b0c5..a369fb2
--- a/include/debug_uart.h
+++ b/include/debug_uart.h
@@ -113,11 +113,13 @@ void printhex8(uint value);

 #define serial_dout(reg, value)        \
        serial_out_shift((char *)com_port + \
+               CONFIG_DEBUG_UART_OFFSET + \
                ((char *)reg - (char *)com_port) * \
                        (1 << CONFIG_DEBUG_UART_SHIFT), \
                CONFIG_DEBUG_UART_SHIFT, value)
 #define serial_din(reg) \
        serial_in_shift((char *)com_port + \
+               CONFIG_DEBUG_UART_OFFSET + \
                ((char *)reg - (char *)com_port) * \
                        (1 << CONFIG_DEBUG_UART_SHIFT), \
                CONFIG_DEBUG_UART_SHIFT)
diff --git a/lib/display_options.c b/lib/display_options.c old mode 100644 new mode 100755 index 4ea27ca..8ee63ce
--- a/lib/display_options.c
+++ b/lib/display_options.c
@@ -41,6 +41,8 @@ char *display_options_get_banner(bool newlines, char *buf, int size)

 int display_options(void)
 {
+printf("display_options\n");
+//while(1);
        char buf[DISPLAY_OPTIONS_BANNER_LENGTH];

        display_options_get_banner(true, buf, sizeof(buf));
--
1.7.9.5

CONFIDENTIALITY NOTICE:

This e-mail (and its attachments) may contain confidential and legally privileged information or information protected from disclosure. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or use of the information contained herein is strictly prohibited. In this case, please immediately notify the sender by return e-mail, delete the message (and any accompanying documents) and destroy all printed hard copies. Thank you for your cooperation.

Copyright ANDES TECHNOLOGY CORPORATION - All Rights Reserved.


More information about the U-Boot mailing list