
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@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.