diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2006-12-28 20:52:37 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2006-12-28 20:52:37 +0000 |
commit | 0b01b38b841191cb2c45c1ac48294a8ecba73490 (patch) | |
tree | b571ab45711288b7d6add03ac44fce4017e6e5c4 /sys/dev/pci/puc.c | |
parent | 7df7a9c02c60213ba2c07ae53c1852476ae8877d (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.c | 13 |
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); } |