New 8250 device -- XR16550.

From: David Vrabel
Date: Fri Sep 24 2004 - 03:36:05 EST


Hi,

This adds support for the two 16550 compatible UARTs in an Exar XR16L2551 chip to the 8250 driver. They have a sleep mode like the ST16650V2s but a smaller (16 byte) Rx fifo.

Index: linux-2.6-armbe/drivers/serial/8250.c
===================================================================
--- linux-2.6-armbe.orig/drivers/serial/8250.c 2004-09-22 17:12:19.000000000 +0100
+++ linux-2.6-armbe/drivers/serial/8250.c 2004-09-23 17:53:37.000000000 +0100
@@ -174,6 +174,7 @@
{ "RSA", 2048, 2048, UART_CAP_FIFO },
{ "NS16550A", 16, 16, UART_CAP_FIFO | UART_NATSEMI },
{ "XScale", 32, 32, UART_CAP_FIFO },
+ { "XR16550", 16, 16, UART_CAP_FIFO | UART_CAP_SLEEP | UART_CAP_EFR },
};

static _INLINE_ unsigned int serial_in(struct uart_8250_port *up, int offset)
@@ -477,8 +478,10 @@
*/
if (size_fifo(up) == 64)
up->port.type = PORT_16654;
- else
+ else if(size_fifo(up) == 32)
up->port.type = PORT_16650V2;
+ else
+ up->port.type = PORT_XR16550;
}

/*
Index: linux-2.6-armbe/include/linux/serial_core.h
===================================================================
--- linux-2.6-armbe.orig/include/linux/serial_core.h 2004-09-23 17:01:32.000000000 +0100
+++ linux-2.6-armbe/include/linux/serial_core.h 2004-09-23 17:03:10.000000000 +0100
@@ -37,7 +37,8 @@
#define PORT_RSA 13
#define PORT_NS16550A 14
#define PORT_XSCALE 15
-#define PORT_MAX_8250 15 /* max port ID */
+#define PORT_XR16550 16
+#define PORT_MAX_8250 16 /* max port ID */

/*
* ARM specific type numbers. These are not currently guaranteed

David Vrabel
--
David Vrabel, Design Engineer

Arcom, Clifton Road Tel: +44 (0)1223 411200 ext. 3233
Cambridge CB1 7EA, UK Web: http://www.arcom.com/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/