Source-Changes-HG archive

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

[src/trunk]: src/sys/dev/pci Extend support for Nanjing QinHeng Electronics p...



details:   https://anonhg.NetBSD.org/src/rev/729b5b37df2a
branches:  trunk
changeset: 788654:729b5b37df2a
user:      soren <soren%NetBSD.org@localhost>
date:      Wed Jul 17 19:49:11 2013 +0000

description:
Extend support for Nanjing QinHeng Electronics puc(4) devices.

diffstat:

 sys/dev/pci/pcidevs   |   26 ++++-
 sys/dev/pci/pucdata.c |  272 +++++++++++++++++++++++++++++++++++++++++++++++--
 sys/dev/pci/pucvar.h  |    4 +-
 3 files changed, 284 insertions(+), 18 deletions(-)

diffs (truncated from 386 to 300 lines):

diff -r 5d0bf8e83b0d -r 729b5b37df2a sys/dev/pci/pcidevs
--- a/sys/dev/pci/pcidevs       Wed Jul 17 19:24:56 2013 +0000
+++ b/sys/dev/pci/pcidevs       Wed Jul 17 19:49:11 2013 +0000
@@ -1,4 +1,4 @@
-$NetBSD: pcidevs,v 1.1158 2013/06/13 06:11:34 matt Exp $
+$NetBSD: pcidevs,v 1.1159 2013/07/17 19:49:11 soren Exp $
 
 /*
  * Copyright (c) 1995, 1996 Christopher G. Demetriou
@@ -633,6 +633,7 @@
 vendor QUMRANET                0x1af4  Qumranet
 vendor ASMEDIA         0x1b21  ASMedia
 vendor FRESCO          0x1b73  Fresco Logic
+vendor QINHENG2                0x1c00  Nanjing QinHeng Electronics (PCIe)
 vendor SYMPHONY2       0x1c1c  Symphony Labs (2nd PCI Vendor ID)
 vendor TEKRAM2         0x1de1  Tekram Technology (2nd PCI Vendor ID)
 vendor SUNIX2          0x1fd4  SUNIX Co
@@ -4500,8 +4501,27 @@
 product PROMISE PDC20277       0x7275  PDC20277 Ultra/133 IDE Controller
 
 /* Nanjing QinHeng Electronics */
-product QINHENG CH352          0x3253  CH352
-product QINHENG CH353          0x7053  CH353
+product QINHENG CH352_2S       0x3253  CH352 2S
+product QINHENG CH353_4S       0x3453  CH353 4S
+product QINHENG CH356_8S       0x3853  CH356 8S
+product QINHENG CH356_6S       0x3873  CH356 6S
+product QINHENG CH353_2S1PAR   0x5046  CH353 2S, 1P (fixed address)
+product QINHENG CH352_1S1P     0x5053  CH352 1S, 1P
+product QINHENG CH357_4S       0x5334  CH357 4S
+product QINHENG CH358_4S1P     0x5334  CH358 4S, 1P
+product QINHENG CH358_8S       0x5338  CH358 8S
+product QINHENG CH359_16S      0x5838  CH359 16S
+product QINHENG CH353_2S1P     0x7053  CH353 2S, 1P
+product QINHENG CH356_4S1P     0x7073  CH356 4S, 1P
+product QINHENG CH355_4S       0x7173  CH355 4S
+
+/* Nanjing QinHeng Electronics (PCIe) */
+product QINHENG2 CH384_4S1P    0x3450  CH384 4S, 1P
+product QINHENG2 CH384_4S      0x3470  CH384 4S
+product QINHENG2 CH382_2S1P    0x3250  CH382 2S, 1P
+product QINHENG2 CH382_2S      0x3253  CH382 2S
+product QINHENG2 CH384_8S      0x3853  CH384 8S
+product QINHENG2 CH384_28S     0x4353  CH384 28S
 
 /* QLogic products */
 product QLOGIC QLA200  0x0119  QLA200
diff -r 5d0bf8e83b0d -r 729b5b37df2a sys/dev/pci/pucdata.c
--- a/sys/dev/pci/pucdata.c     Wed Jul 17 19:24:56 2013 +0000
+++ b/sys/dev/pci/pucdata.c     Wed Jul 17 19:49:11 2013 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: pucdata.c,v 1.84 2013/06/03 16:21:50 msaitoh Exp $     */
+/*     $NetBSD: pucdata.c,v 1.85 2013/07/17 19:49:11 soren Exp $       */
 
 /*
  * Copyright (c) 1998, 1999 Christopher G. Demetriou.  All rights reserved.
@@ -36,7 +36,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pucdata.c,v 1.84 2013/06/03 16:21:50 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pucdata.c,v 1.85 2013/07/17 19:49:11 soren Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -1229,10 +1229,6 @@
                { PUC_PORT_TYPE_COM, 0x14, 0x08, COM_FREQ * 8},
                { PUC_PORT_TYPE_COM, 0x14, 0x10, COM_FREQ * 8},
                { PUC_PORT_TYPE_COM, 0x14, 0x18, COM_FREQ * 8},
-/*
- * PUC_MAX_PORTS needs to be raised in order to reach these ports
- */
-#if PUC_MAX_PORTS >= 16
                { PUC_PORT_TYPE_COM, 0x14, 0x20, COM_FREQ * 8},
                { PUC_PORT_TYPE_COM, 0x14, 0x28, COM_FREQ * 8},
                { PUC_PORT_TYPE_COM, 0x14, 0x30, COM_FREQ * 8},
@@ -1241,7 +1237,6 @@
                { PUC_PORT_TYPE_COM, 0x14, 0x48, COM_FREQ * 8},
                { PUC_PORT_TYPE_COM, 0x14, 0x50, COM_FREQ * 8},
                { PUC_PORT_TYPE_COM, 0x14, 0x58, COM_FREQ * 8},
-#endif /* PUC_MAX_PORTS >= 16 */
            },
        },
 
@@ -1375,9 +1370,9 @@
         * 2 serial port converter. Product codes from
         * documentation (and physical 2 port serial card)
         */
-       {   "Nanjing QinHeng Electronics 2S",
-           {   PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH352,
-               PCI_VENDOR_QINHENG, 0x3253 },
+       {   "Nanjing QinHeng Electronics CH352",
+           {   PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH352_2S,
+               PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH352_2S },
            {   0xffff, 0xffff, 0xffff, 0xffff  },
            {
                { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
@@ -1385,9 +1380,42 @@
            },
        },
 
-       {   "Nanjing QinHeng Electronics 2S, 1P",
-           {   PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH353,
-               PCI_VENDOR_QINHENG, 0x7053      },
+       {   "Nanjing QinHeng Electronics CH352",
+           {   PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH352_1S1P,
+               PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH352_1S1P },
+           {   0xffff, 0xffff, 0xffff, 0xffff  },
+           {
+               { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
+           },
+       },
+
+       {   "Nanjing QinHeng Electronics CH353",
+           {   PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH353_4S,
+               PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH353_4S },
+           {   0xffff, 0xffff, 0xffff, 0xffff  },
+           {
+               { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
+           },
+       },
+
+       {   "Nanjing QinHeng Electronics CH353",
+           {   PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH353_2S1P,
+               PCI_VENDOR_QINHENG, 0x3253 },
+           {   0xffff, 0xffff, 0xffff, 0xffff  },
+           {
+               { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_LPT, 0x18, 0x00, 0x00 },
+           },
+       },
+
+       {   "Nanjing QinHeng Electronics CH353 (fixed address)",
+           {   PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH353_2S1PAR,
+               PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH353_2S1PAR },
            {   0xffff, 0xffff, 0xffff, 0xffff  },
            {
                { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
@@ -1396,6 +1424,224 @@
            },
        },
 
+       {   "Nanjing QinHeng Electronics CH355",
+           {   PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH355_4S,
+               PCI_VENDOR_QINHENG, 0x3473 },
+           {   0xffff, 0xffff, 0xffff, 0xffff  },
+           {
+               { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
+           },
+       },
+
+       {   "Nanjing QinHeng Electronics CH356",
+           {   PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH356_4S1P,
+               PCI_VENDOR_QINHENG, 0x3473 },
+           {   0xffff, 0xffff, 0xffff, 0xffff  },
+           {
+               { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
+           },
+       },
+
+       {   "Nanjing QinHeng Electronics CH356",
+           {   PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH356_6S,
+               PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH356_6S },
+           {   0xffff, 0xffff, 0xffff, 0xffff  },
+           {
+               { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x20, 0x08, COM_FREQ },
+           },
+       },
+
+       {   "Nanjing QinHeng Electronics CH356",
+           {   PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH356_8S,
+               PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH356_8S },
+           {   0xffff, 0xffff, 0xffff, 0xffff  },
+           {
+               { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x20, 0x08, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x20, 0x10, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x20, 0x18, COM_FREQ },
+           },
+       },
+
+       {   "Nanjing QinHeng Electronics CH357",
+           {   PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH357_4S,
+               PCI_VENDOR_QINHENG, 0x5053 },
+           {   0xffff, 0xffff, 0xffff, 0xffff  },
+           {
+               { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
+           },
+       },
+
+       {   "Nanjing QinHeng Electronics CH358",
+           {   PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH358_4S1P,
+               PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH358_4S1P },
+           {   0xffff, 0xffff, 0xffff, 0xffff  },
+           {
+               { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_LPT, 0x20, 0x00, 0x00 },
+           },
+       },
+
+       {   "Nanjing QinHeng Electronics CH358",
+           {   PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH358_8S,
+               PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH358_8S },
+           {   0xffff, 0xffff, 0xffff, 0xffff  },
+           {
+               { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x14, 0x08, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x1c, 0x08, COM_FREQ },
+           },
+       },
+
+       {   "Nanjing QinHeng Electronics CH359",
+           {   PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH359_16S,
+               PCI_VENDOR_QINHENG, PCI_PRODUCT_QINHENG_CH359_16S },
+           {   0xffff, 0xffff, 0xffff, 0xffff  },
+           {
+               { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x14, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x18, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x1c, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x14, 0x08, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x18, 0x08, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x1c, 0x08, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x20, 0x00, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x20, 0x10, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x20, 0x20, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x20, 0x30, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x20, 0x08, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x20, 0x18, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x20, 0x28, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x20, 0x38, COM_FREQ },
+           },
+       },
+
+       {   "Nanjing QinHeng Electronics CH382",
+           {   PCI_VENDOR_QINHENG2, PCI_PRODUCT_QINHENG2_CH382_2S,
+               PCI_VENDOR_QINHENG2, PCI_PRODUCT_QINHENG2_CH382_2S },
+           {   0xffff, 0xffff, 0xffff, 0xffff  },
+           {
+               { PUC_PORT_TYPE_COM, 0x10, 0xc0, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x10, 0xc8, COM_FREQ },
+           },
+       },
+
+       {   "Nanjing QinHeng Electronics CH382",
+           {   PCI_VENDOR_QINHENG2, PCI_PRODUCT_QINHENG2_CH382_2S1P,
+               PCI_VENDOR_QINHENG2, PCI_PRODUCT_QINHENG2_CH382_2S1P },
+           {   0xffff, 0xffff, 0xffff, 0xffff  },
+           {
+               { PUC_PORT_TYPE_COM, 0x10, 0xc0, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x10, 0xc8, COM_FREQ },
+               { PUC_PORT_TYPE_LPT, 0x14, 0x00, 0x00 },
+           },
+       },
+
+       {   "Nanjing QinHeng Electronics CH384",
+           {   PCI_VENDOR_QINHENG2, PCI_PRODUCT_QINHENG2_CH384_4S,
+               PCI_VENDOR_QINHENG2, PCI_PRODUCT_QINHENG2_CH384_4S },
+           {   0xffff, 0xffff, 0xffff, 0xffff  },
+           {
+               { PUC_PORT_TYPE_COM, 0x10, 0xc0, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x10, 0xc8, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x10, 0xd0, COM_FREQ },
+               { PUC_PORT_TYPE_COM, 0x10, 0xd8, COM_FREQ },
+           },
+       },
+



Home | Main Index | Thread Index | Old Index