Il Thursday 13 March 2008 09:45:26 Thomas Bogendoerfer ha scritto: > On Thu, Mar 13, 2008 at 01:38:55AM +0100, Matteo Croce wrote: > > Il Wednesday 12 March 2008 10:31:46 Thomas Bogendoerfer ha scritto: > > > > diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h > > > > index 289942f..869b6df 100644 > > > > --- a/include/linux/serial_core.h > > > > +++ b/include/linux/serial_core.h > > > > @@ -40,6 +40,7 @@ > > > > #define PORT_NS16550A 14 > > > > #define PORT_XSCALE 15 > > > > #define PORT_RM9000 16 /* PMC-Sierra RM9xxx internal UART */ > > > > +#define PORT_AR7 16 > > > > > > this doesn't look correct. > > > > > > Thomas. > > > > > > > Isn't it 16? > > PORT_RM9000 is 16, how could PORT_AR7 be 16 as well ? And the 16 for > PORT_RM9000 is correct in my counting. > > Thomas. > This is a bit better diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c index 77f7a7f..a3a271d 100644 --- a/drivers/serial/8250.c +++ b/drivers/serial/8250.c @@ -267,6 +267,13 @@ static const struct serial8250_config uart_config[] = { .fcr = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_10, .flags = UART_CAP_FIFO, }, + [PORT_AR7] = { + .name = "TI-AR7", + .fifo_size = 16, + .tx_loadsz = 16, + .fcr = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_00, + .flags = UART_CAP_FIFO | UART_CAP_AFE, + }, }; #if defined (CONFIG_SERIAL_8250_AU1X00) @@ -2455,7 +2462,11 @@ static void serial8250_console_putchar(struct uart_port *port, int ch) { struct uart_8250_port *up = (struct uart_8250_port *)port; +#ifdef CONFIG_AR7 + wait_for_xmitr(up, BOTH_EMPTY); +#else wait_for_xmitr(up, UART_LSR_THRE); +#endif serial_out(up, UART_TX, ch); } diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h index 289942f..15e76c8 100644 --- a/include/linux/serial_core.h +++ b/include/linux/serial_core.h @@ -40,7 +40,8 @@ #define PORT_NS16550A 14 #define PORT_XSCALE 15 #define PORT_RM9000 16 /* PMC-Sierra RM9xxx internal UART */ -#define PORT_MAX_8250 16 /* max port ID */ +#define PORT_AR7 17 +#define PORT_MAX_8250 17 /* max port ID */ /* * ARM specific type numbers. These are not currently guaranteed