NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/49819: Add support for SystemBase SB16C1050 card



>Number:         49819
>Category:       kern
>Synopsis:       Add support for SystemBase SB16C1050 card
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    kern-bug-people
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Mon Apr 06 12:50:00 +0000 2015
>Originator:     Roberto E. Vargas Caballero
>Release:        6.1.5
>Organization:
>Environment:
NetBSD  6.1.5_PATCH NetBSD 6.1.5_PATCH (K0GA) #12: Mon Apr  6 12:51:13 CEST 2015  k0ga@:/usr/src/sys/arch/i386/compile/K0GA i386
>Description:
NetBSD lacks support for the multiport serial card made by SystemBase with PCI id 0x4d0214a1, although it has support for the related cards with PCI ids 0x000414a1 and
0x000814a1.
>How-To-Repeat:

>Fix:
cvs diff: Diffing .
Index: pcidevs.h
===================================================================
RCS file: /cvsroot/src/sys/dev/pci/pcidevs.h,v
retrieving revision 1.1097.2.11
diff -u -r1.1097.2.11 pcidevs.h
--- pcidevs.h	22 Nov 2012 17:47:10 -0000	1.1097.2.11
+++ pcidevs.h	6 Apr 2015 12:27:55 -0000
@@ -4761,6 +4761,7 @@
 /* System Base products */
 #define	PCI_PRODUCT_SYSTEMBASE_SB16C1054	0x0004		/* SB16C1054 UARTs */
 #define	PCI_PRODUCT_SYSTEMBASE_SB16C1058	0x0008		/* SB16C1058 UARTs */
+#define	PCI_PRODUCT_SYSTEMBASE_SB16C1050	0x4d02		/* SB16C1050 UARTs */
 
 /* Schneider & Koch (really SysKonnect) products */
 #define	PCI_PRODUCT_SCHNEIDERKOCH_SKNET_FDDI	0x4000		/* SK-NET FDDI-xP */
Index: puc.c
===================================================================
RCS file: /cvsroot/src/sys/dev/pci/puc.c,v
retrieving revision 1.32
diff -u -r1.32 puc.c
--- puc.c	28 May 2011 10:48:50 -0000	1.32
+++ puc.c	6 Apr 2015 12:27:55 -0000
@@ -249,7 +249,8 @@
 	/* SB16C10xx board specific initialization */
 	if (PCI_VENDOR(pa->pa_id) == PCI_VENDOR_SYSTEMBASE &&
 	    (PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_SYSTEMBASE_SB16C1054 ||
-	    PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_SYSTEMBASE_SB16C1058)) {
+	    PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_SYSTEMBASE_SB16C1058  ||
+	    PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_SYSTEMBASE_SB16C1050)) {
 		if (!sc->sc_bar_mappings[1].mapped) {
 			aprint_error_dev(self,
 			    "optional register is not mapped\n");
Index: pucdata.c
===================================================================
RCS file: /cvsroot/src/sys/dev/pci/pucdata.c,v
retrieving revision 1.76.8.1
diff -u -r1.76.8.1 pucdata.c
--- pucdata.c	31 Oct 2012 17:27:01 -0000	1.76.8.1
+++ pucdata.c	6 Apr 2015 12:27:56 -0000
@@ -2412,6 +2412,15 @@
 		{ PUC_PORT_TYPE_COM, 0x10, 0x38, COM_FREQ },
 	    },
 	},
+	/* PCI_PRODUCT_SYSTEMBASE_SB16C1050 */
+	{   "SystemBase SB16C1050",
+	    {   PCI_VENDOR_SYSTEMBASE, PCI_PRODUCT_SYSTEMBASE_SB16C1050, 0, 0 },
+	    {	0xffff,	0xffff,						 0, 0 },
+	    {
+		{ PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8},
+		{ PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8},
+	    },
+	},
 
 	/*
 	 * VScom PCI 010L



Home | Main Index | Thread Index | Old Index