summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorFederico G. Schwindt <fgsch@cvs.openbsd.org>2007-11-09 02:05:17 +0000
committerFederico G. Schwindt <fgsch@cvs.openbsd.org>2007-11-09 02:05:17 +0000
commitc7e6e6a0e0ed3d294892b476d13de4034b1e9fcd (patch)
treebd400aeb4b1ac9279833ca67e876c2060d3bbede /sys
parent9a48818de04a3f7b3cd32057d73d9b24d8415237 (diff)
Add Exar UARTs XR17C152, XR17C154 and XR17C158.
From Daniel Neri (daniel dot neri at sigicom dot se) via PR/5618.
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/pci/pucdata.c54
1 files changed, 53 insertions, 1 deletions
diff --git a/sys/dev/pci/pucdata.c b/sys/dev/pci/pucdata.c
index f25fb22c30d..8131d4d334d 100644
--- a/sys/dev/pci/pucdata.c
+++ b/sys/dev/pci/pucdata.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pucdata.c,v 1.51 2007/11/02 16:13:10 henning Exp $ */
+/* $OpenBSD: pucdata.c,v 1.52 2007/11/09 02:05:16 fgsch Exp $ */
/* $NetBSD: pucdata.c,v 1.6 1999/07/03 05:55:23 cgd Exp $ */
/*
@@ -1387,6 +1387,58 @@ const struct puc_device_description puc_devices[] = {
{ PUC_PORT_TYPE_COM, 0x10, 0x0e00, COM_FREQ * 8 },
},
},
+
+ /*
+ * Multi-Tech ISI5634PCI/4 4-port modem board.
+ * Has a 4-channel Exar XR17C154 UART, but with bogus product ID in its
+ * config EEPROM.
+ */
+ {
+ { PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17C158, 0x2205, 0x2003 },
+ { 0xffff, 0xffff, 0xffff, 0xffff },
+ {
+ { PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 },
+ { PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 },
+ { PUC_PORT_TYPE_COM, 0x10, 0x0400, COM_FREQ * 8 },
+ { PUC_PORT_TYPE_COM, 0x10, 0x0600, COM_FREQ * 8 },
+ },
+ },
+
+ { /* EXAR XR17C152 Dual UART */
+ { PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17C152, 0, 0 },
+ { 0xffff, 0xffff, 0, 0 },
+ {
+ { PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 },
+ { PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 },
+ },
+ },
+
+ { /* Exar XR17C154 Quad UART */
+ { PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17C154, 0, 0 },
+ { 0xffff, 0xffff, 0, 0 },
+ {
+ { PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 },
+ { PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 },
+ { PUC_PORT_TYPE_COM, 0x10, 0x0400, COM_FREQ * 8 },
+ { PUC_PORT_TYPE_COM, 0x10, 0x0600, COM_FREQ * 8 },
+ },
+ },
+
+ { /* Exar XR17C158 Eight Channel UART */
+ { PCI_VENDOR_EXAR, PCI_PRODUCT_EXAR_XR17C158, 0, 0 },
+ { 0xffff, 0xffff, 0, 0 },
+ {
+ { PUC_PORT_TYPE_COM, 0x10, 0x0000, COM_FREQ * 8 },
+ { PUC_PORT_TYPE_COM, 0x10, 0x0200, COM_FREQ * 8 },
+ { PUC_PORT_TYPE_COM, 0x10, 0x0400, COM_FREQ * 8 },
+ { PUC_PORT_TYPE_COM, 0x10, 0x0600, COM_FREQ * 8 },
+ { PUC_PORT_TYPE_COM, 0x10, 0x0800, COM_FREQ * 8 },
+ { PUC_PORT_TYPE_COM, 0x10, 0x0a00, COM_FREQ * 8 },
+ { PUC_PORT_TYPE_COM, 0x10, 0x0c00, COM_FREQ * 8 },
+ { PUC_PORT_TYPE_COM, 0x10, 0x0e00, COM_FREQ * 8 },
+ },
+ },
+
{ /* NULL, */
{ 0, 0, 0, 0 },