[U-Boot-Users] [PATCH] PPC440: Add flow control for serial port (Third try)

Niklaus Giger niklausgiger at gmx.ch
Mon Dec 3 14:17:12 CET 2007


This has be layouten tested on our HCU5 PPC440EPx based board, where we
have only one serial port. Changes compared to my last try are:
- HW-flow control is off by default.
- returns the  correct state of the hwflow
- coding style corrected

Signed-off-by: Niklaus Giger <niklaus.giger at netstal.com>
---
 cpu/ppc4xx/serial.c |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/cpu/ppc4xx/serial.c b/cpu/ppc4xx/serial.c
index 60712b1..8f36fef 100644
--- a/cpu/ppc4xx/serial.c
+++ b/cpu/ppc4xx/serial.c
@@ -490,6 +490,31 @@ static void serial_divs (int baudrate, unsigned long *pudiv,
 }
 #endif /* defined(CONFIG_440) && !defined(CFG_EXT_SERIAL_CLK) */
 
+#if defined(CONFIG_CMD_HWFLOW) && defined(CONFIG_440) && !defined(CONFIG_SERIAL_MULTI)
+static int hwflow = 0; /* turned off by default */
+int hwflow_onoff(int on)
+{
+	switch(on) {
+	case 0:
+	default:
+		break; /* return current */
+	case 1:
+		/* The OUT2 bit may be written and read
+		 * but it provides no function
+		 */
+		out8(UART_BASE + UART_MCR, 0x0b);
+		hwflow = 1; /* turn on */
+		break;
+	case -1:
+		/* no modem control DTR RTS */
+		out8(UART_BASE + UART_MCR, 0x00);
+		hwflow = 0; /* turn off */
+		break;
+	}
+	return hwflow;
+}
+#endif
+
 /*
  * Minimal serial functions needed to use one of the SMC ports
  * as serial console interface.
-- 
1.5.2




More information about the U-Boot mailing list