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