[PATCH 1/3] Uartlite: Flush RX fifo in bootwrapper

Grant Likely grant.likely at secretlab.ca
Mon Oct 1 07:46:55 EST 2007


From: Grant Likely <grant.likely at secretlab.ca>

Flush the uartlite RX fifo so that characters typed before entry into
the zImage wrapper do not muck up the kernel command line.

Signed-off-by: Grant Likely <grant.likely at secretlab.ca>
---

 arch/ppc/boot/simple/misc-embedded.c |    4 +++-
 arch/ppc/boot/simple/uartlite_tty.c  |    8 ++++++++
 2 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/arch/ppc/boot/simple/misc-embedded.c b/arch/ppc/boot/simple/misc-embedded.c
index 8a08ad3..d5a00eb 100644
--- a/arch/ppc/boot/simple/misc-embedded.c
+++ b/arch/ppc/boot/simple/misc-embedded.c
@@ -89,7 +89,9 @@ load_kernel(unsigned long load_addr, int num_words, unsigned long cksum, bd_t *b
 	 * initialize the serial console port.
 	 */
 	embed_config(&bp);
-#if defined(CONFIG_SERIAL_CPM_CONSOLE) || defined(CONFIG_SERIAL_8250_CONSOLE)
+#if defined(CONFIG_SERIAL_CPM_CONSOLE) || \
+    defined(CONFIG_SERIAL_8250_CONSOLE) || \
+    defined(CONFIG_SERIAL_UARTLITE_CONSOLE)
 	com_port = serial_init(0, bp);
 #endif
 
diff --git a/arch/ppc/boot/simple/uartlite_tty.c b/arch/ppc/boot/simple/uartlite_tty.c
index 0eae1ea..ca1743e 100644
--- a/arch/ppc/boot/simple/uartlite_tty.c
+++ b/arch/ppc/boot/simple/uartlite_tty.c
@@ -16,6 +16,14 @@
 
 #define UARTLITE_BASEADDR ((void*)(XPAR_UARTLITE_0_BASEADDR))
 
+unsigned long
+serial_init(int chan, void *ignored)
+{
+	/* Clear the RX FIFO */
+	out_be32(UARTLITE_BASEADDR + 0x0C, 0x2);
+	return 0;
+}
+
 void
 serial_putc(unsigned long com_port, unsigned char c)
 {




More information about the Linuxppc-dev mailing list