git: 9front

Download patch

ref: 509b19405d581ba5dcfa4fad4f24605cc609c06f
parent: c463beb98994bad3fb885ddb2e5f7d2cf9bbdd1d
author: stanley lieber <stanley.lieber@gmail.com>
date: Wed Apr 27 10:57:11 EDT 2011

add Uart2 for serial tablets

--- a/sys/src/9/pc/uarti8250.c
+++ b/sys/src/9/pc/uarti8250.c
@@ -14,6 +14,8 @@
 	Uart0IRQ	= 4,
 	Uart1		= 0x2F8,	/* COM2 */
 	Uart1IRQ	= 3,
+	Uart2		= 0x200, /* COM3 */
+	Uart2IRQ	= 5,
 
 	UartFREQ	= 1843200,
 };
@@ -121,7 +123,7 @@
 
 extern PhysUart i8250physuart;
 
-static Ctlr i8250ctlr[2] = {
+static Ctlr i8250ctlr[3] = {
 {	.io	= Uart0,
 	.irq	= Uart0IRQ,
 	.tbdf	= BUSUNKNOWN, },
@@ -129,9 +131,13 @@
 {	.io	= Uart1,
 	.irq	= Uart1IRQ,
 	.tbdf	= BUSUNKNOWN, },
+
+{	.io	= Uart2,
+	.irq	= Uart2IRQ,
+	.tbdf	= BUSUNKNOWN, },
 };
 
-static Uart i8250uart[2] = {
+static Uart i8250uart[3] = {
 {	.regs	= &i8250ctlr[0],
 	.name	= "COM1",
 	.freq	= UartFREQ,
@@ -144,6 +150,13 @@
 	.freq	= UartFREQ,
 	.phys	= &i8250physuart,
 	.special= 0,
+	.next	= &i8250uart[2], },
+
+{	.regs	= &i8250ctlr[2],
+	.name	= "COM3",
+	.freq	= UartFREQ,
+	.phys	= &i8250physuart,
+	.special= 0,
 	.next	= nil, },
 };
 
@@ -701,7 +714,10 @@
 		break;
 	case 1:
 		uart = &i8250uart[1];
-		break;	
+		break;
+	case 2:
+		uart = &i8250uart[2];
+		break;
 	}
 
 	(*uart->phys->enable)(uart, 0);
--