public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* New 8250 device -- XR16550.
@ 2004-09-24  8:32 David Vrabel
  2004-09-24  8:59 ` David Vrabel
  0 siblings, 1 reply; 3+ messages in thread
From: David Vrabel @ 2004-09-24  8:32 UTC (permalink / raw)
  To: Linux Kernel

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/

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: New 8250 device -- XR16550.
  2004-09-24  8:32 New 8250 device -- XR16550 David Vrabel
@ 2004-09-24  8:59 ` David Vrabel
  2004-09-24 13:36   ` Russell King
  0 siblings, 1 reply; 3+ messages in thread
From: David Vrabel @ 2004-09-24  8:59 UTC (permalink / raw)
  To: Linux Kernel

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/

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: New 8250 device -- XR16550.
  2004-09-24  8:59 ` David Vrabel
@ 2004-09-24 13:36   ` Russell King
  0 siblings, 0 replies; 3+ messages in thread
From: Russell King @ 2004-09-24 13:36 UTC (permalink / raw)
  To: David Vrabel; +Cc: Linux Kernel

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2004-09-24 13:36 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-09-24  8:32 New 8250 device -- XR16550 David Vrabel
2004-09-24  8:59 ` David Vrabel
2004-09-24 13:36   ` Russell King

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox