From: Doug Anderson <diand...@chromium.org>

This works together with a kernel change that looks at the scratchpad
register to determine which of the many UARTs it should use for early
printing:

http://www.spinics.net/lists/arm-kernel/msg154633.html

While it is unfortunate to need to pass this information in a second way
(it's already in the device tree), this does allow the very early boot
code (decompressing stub and early assembly code) to print to the right
port.

At the moment, I'm adding this to the UART init function. Alternatively,
we could add a more complex patch to key off of the 'console' setting.

Signed-off-by: Doug Anderson <diand...@chromium.org>
[swarren: Limited the change to Tegra platforms]
Signed-off-by: Stephen Warren <swar...@nvidia.com>
---
 drivers/serial/ns16550.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c
index 0c23955..19a28cd 100644
--- a/drivers/serial/ns16550.c
+++ b/drivers/serial/ns16550.c
@@ -62,6 +62,13 @@ void NS16550_init(NS16550_t com_port, int baud_divisor)
        serial_out(0, &com_port->mdr1);
 #endif
 #endif /* CONFIG_OMAP */
+#if defined(CONFIG_TEGRA2)
+       /*
+        * Put a 'D' in the scratchpad to let the kernel know which UART
+        * for earlyprintk [D]ebugging.
+        */
+       serial_out('D', &com_port->spr);
+#endif
 }
 
 #ifndef CONFIG_NS16550_MIN_FUNCTIONS
-- 
1.7.0.4

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to