summaryrefslogtreecommitdiff
path: root/sys/dev/pci/puc.c
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2006-12-28 20:52:37 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2006-12-28 20:52:37 +0000
commit0b01b38b841191cb2c45c1ac48294a8ecba73490 (patch)
treeb571ab45711288b7d6add03ac44fce4017e6e5c4 /sys/dev/pci/puc.c
parent7df7a9c02c60213ba2c07ae53c1852476ae8877d (diff)
Add support for the Cronyx Omega serial ports card; this particular card
forces the com(4) uart type to ST16C654 since that's what's on it; from Alexei G. Malinin (alexei.malinin@inetcomm.ru)
Diffstat (limited to 'sys/dev/pci/puc.c')
-rw-r--r--sys/dev/pci/puc.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/sys/dev/pci/puc.c b/sys/dev/pci/puc.c
index 7bc2d954ae4..5f96ea35c71 100644
--- a/sys/dev/pci/puc.c
+++ b/sys/dev/pci/puc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: puc.c,v 1.10 2006/08/01 20:10:29 jolan Exp $ */
+/* $OpenBSD: puc.c,v 1.11 2006/12/28 20:52:36 miod Exp $ */
/* $NetBSD: puc.c,v 1.3 1999/02/06 06:29:54 cgd Exp $ */
/*
@@ -61,6 +61,8 @@
#include <dev/pci/pcivar.h>
#include <dev/pci/pucvar.h>
+#include <dev/pci/pcidevs.h>
+
struct puc_pci_softc {
struct puc_softc sc_psc;
@@ -214,6 +216,15 @@ puc_pci_attach(parent, self, aux)
paa.hwtype = 0; /* autodetect */
paa.intr_string = &puc_pci_intr_string;
paa.intr_establish = &puc_pci_intr_establish;
+
+ /*
+ * If this is a serial card with a known specific chip, provide
+ * the UART type.
+ */
+ if (PCI_VENDOR(pa->pa_id) == PCI_VENDOR_PLX &&
+ PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_PLX_CRONYX_OMEGA)
+ paa.hwtype = 0x08; /* XXX COM_UART_ST16C654 */
+
puc_common_attach(sc, &paa);
}