2004-09-24 08:32:52

by David Vrabel

[permalink] [raw]
Subject: New 8250 device -- XR16550.

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/


2004-09-24 09:00:07

by David Vrabel

[permalink] [raw]
Subject: Re: New 8250 device -- XR16550.

David Vrabel wrote:
>
> This adds support for the two 16550 compatible UARTs in an Exar
> XR16L2551 chip to the 8250 driver.

Oops. Meant to send this to the linux-serial list instead.

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/

2004-09-24 13:36:10

by Russell King

[permalink] [raw]
Subject: Re: New 8250 device -- XR16550.

On Fri, Sep 24, 2004 at 09:59:55AM +0100, David Vrabel wrote:
> David Vrabel wrote:
> >
> > This adds support for the two 16550 compatible UARTs in an Exar
> > XR16L2551 chip to the 8250 driver.
>
> Oops. Meant to send this to the linux-serial list instead.

I'm glad you didn't because I wouldn't have seen it. The patch looks
good as it stands.

I'm trying to move the 8250 driver away from "port types" and more
towards port capabilities, and this seems to fit nicely into that
model.

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 PCMCIA - http://pcmcia.arm.linux.org.uk/
2.6 Serial core