PERFORCE change 94942 for review

Marcel Moolenaar marcel at FreeBSD.org
Mon Apr 10 19:09:32 UTC 2006


http://perforce.freebsd.org/chv.cgi?CH=94942

Change 94942 by marcel at marcel_nfs on 2006/04/10 19:08:57

	Allow non-standard rclk values for PCI cards and attach
	those single-UART PCI boards with uart(4) and not puc(4).

Affected files ...

.. //depot/projects/uart/dev/puc/pucdata.c#17 edit
.. //depot/projects/uart/dev/uart/uart_bus_pci.c#12 edit

Differences ...

==== //depot/projects/uart/dev/puc/pucdata.c#17 (text+ko) ====

@@ -798,16 +798,6 @@
 	    },
 	},
 
-	/* Oxford Semiconductor OXCB950 PCI/CardBus UARTs */
-	{   "Oxford Semiconductor OXCB950 UART",
-	    {	0x1415,	0x950b,	0,	0	},
-	    {	0xffff,	0xffff,	0,	0	},
-	    {
-		/* { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ }, */
-		{ PUC_PORT_TYPE_COM, 0x10, 0x00, 16384000 },
-	    },
-	},
-
 	/*
 	 * Oxford Semiconductor OX9160/OX16PCI954 PCI UARTS
 	 * Second chip on Exsys EX-41098 8x cards
@@ -1165,21 +1155,6 @@
 		},
 	},
 
-	{   "Dell RAC III Virtual UART",
-	    {	0x1028,	0x0008,	0,	0	},
-	    {	0xffff,	0xffff,	0,	0	},
-	    {
-		{ PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ * 128 },
-	    },
-	},
-
-	{   "Dell RAC IV/ERA Virtual UART",
-	    {	0x1028,	0x0012,	0,	0	},
-	    {	0xffff,	0xffff,	0,	0	},
-	    {
-		{ PUC_PORT_TYPE_COM, 0x14, 0x00, DEFAULT_RCLK * 128 },
-	    },
-	},
 	{	/* "VScom 200Li" 00=14D2 02=8028 uart at 20 uart at +8 */
 	    "VScom 200Li",
 	    {	0x14d2,	0x8028,	0,	0	},

==== //depot/projects/uart/dev/uart/uart_bus_pci.c#12 (text+ko) ====

@@ -40,6 +40,8 @@
 #include <dev/uart/uart.h>
 #include <dev/uart/uart_bus.h>
 
+#define	DEFAULT_RCLK	1843200
+
 static int uart_pci_probe(device_t dev);
 
 static device_method_t uart_pci_methods[] = {
@@ -60,13 +62,17 @@
 	uint32_t	type;
 	const char	*desc;
 	int		rid;
+	int		rclk;
 };
 
 static struct pci_id pci_ns8250_ids[] = {
 	{ 0x048011c1, "Actiontec 56K PCI Master", 0x14 },
+	{ 0x00081028, "Dell RAC III Virtual UART", 0x14, 128*DEFAULT_RCLK },
+	{ 0x00121028, "Dell RAC IV/ERA Virtual UART", 0x14, 128*DEFAULT_RCLK },
 	{ 0x01101407, "Lava Computers serial port", 0x10 },
 	{ 0x01111407, "Lava Computers serial port", 0x10 },
 	{ 0x9051deaf, "Middle Digital, Inc. Weasel serial port", 0x10 },
+	{ 0x950b1415, "Oxford Semiconductor OXCB950 UART", 0x10, 16384000 },
 	{ 0x01c0135c, "Quatech SSCLP-200/300", 0x18 
 		/* 
 		 * NB: You must mount the "SPAD" jumper to correctly detect
@@ -115,7 +121,7 @@
  match:
 	if (id->desc)
 		device_set_desc(dev, id->desc);
-	return (uart_bus_probe(dev, 0, 0, id->rid, 0));
+	return (uart_bus_probe(dev, 0, id->rclk, id->rid, 0));
 }
 
 DRIVER_MODULE(uart, pci, uart_pci_driver, uart_devclass, 0, 0);


More information about the p4-projects mailing list