summaryrefslogtreecommitdiff
path: root/sys/dev/ic
diff options
context:
space:
mode:
authorMichael Shalayeff <mickey@cvs.openbsd.org>2006-07-31 11:06:37 +0000
committerMichael Shalayeff <mickey@cvs.openbsd.org>2006-07-31 11:06:37 +0000
commita16dbc750c4b285cb2735adb48fe6a70eda9e335 (patch)
tree7f6e8403646ec0915bd64005bbf88141086ae9a2 /sys/dev/ic
parentddc115564e2b438356fee3b26bba010e42273466 (diff)
puc@cardbus (only added (commented out) to whom has puc@pci enabled)
tested on puc@pci by fkr and meself on the cardbus. still needs a bit more work but generally works. deraadt@ ok and some input from miod@
Diffstat (limited to 'sys/dev/ic')
-rw-r--r--sys/dev/ic/com_subr.c13
-rw-r--r--sys/dev/ic/comreg.h4
-rw-r--r--sys/dev/ic/comvar.h3
3 files changed, 16 insertions, 4 deletions
diff --git a/sys/dev/ic/com_subr.c b/sys/dev/ic/com_subr.c
index a7036adf2ed..15e2156f560 100644
--- a/sys/dev/ic/com_subr.c
+++ b/sys/dev/ic/com_subr.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: com_subr.c,v 1.6 2006/05/30 21:31:57 fkr Exp $ */
+/* $OpenBSD: com_subr.c,v 1.7 2006/07/31 11:06:30 mickey Exp $ */
/*
* Copyright (c) 1997 - 1999, Jason Downs. All rights reserved.
@@ -173,6 +173,10 @@ com_attach_subr(sc)
/* Attachment driver presets COM_UART_PXA2X0. */
if (sc->sc_uarttype != COM_UART_PXA2X0)
#endif
+#ifdef COM_UART_OX16C950
+ /* Attachment driver presets COM_UART_OX16C950. */
+ if (sc->sc_uarttype != COM_UART_OX16C950)
+#endif
switch(bus_space_read_1(iot, ioh, com_iir) >> 6) {
case 0:
sc->sc_uarttype = COM_UART_16450;
@@ -307,6 +311,13 @@ com_attach_subr(sc)
SET(sc->sc_hwflags, COM_HW_FIFO);
sc->sc_fifolen = 128;
break;
+#ifdef COM_UART_OX16C950
+ case COM_UART_OX16C950:
+ printf(": ox16c950 (rev %d), 128 byte fifo\n", sc->sc_uartrev);
+ SET(sc->sc_hwflags, COM_HW_FIFO);
+ sc->sc_fifolen = 128;
+ break;
+#endif
#endif
default:
panic("comattach: bad fifo type");
diff --git a/sys/dev/ic/comreg.h b/sys/dev/ic/comreg.h
index 88e86567539..8c2c9841db0 100644
--- a/sys/dev/ic/comreg.h
+++ b/sys/dev/ic/comreg.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: comreg.h,v 1.14 2005/07/03 19:46:45 deraadt Exp $ */
+/* $OpenBSD: comreg.h,v 1.15 2006/07/31 11:06:30 mickey Exp $ */
/* $NetBSD: comreg.h,v 1.8 1996/02/05 23:01:50 scottr Exp $ */
/*
@@ -127,7 +127,7 @@
#define LCR_7BITS 0x02 /* 7 bits */
#define LCR_6BITS 0x01 /* 6 bits */
#define LCR_5BITS 0x00 /* 5 bits */
-#define LCR_EFR 0xbf /* ST16650/XR16850 EFR access enable */
+#define LCR_EFR 0xbf /* ST16650/XR16850/OX16C950 EFR access enable */
/* modem control register */
#define MCR_AFE 0x20 /* auto flow control */
diff --git a/sys/dev/ic/comvar.h b/sys/dev/ic/comvar.h
index 7ee7cb7d7cc..1a04a40c114 100644
--- a/sys/dev/ic/comvar.h
+++ b/sys/dev/ic/comvar.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: comvar.h,v 1.38 2006/03/27 06:14:52 deraadt Exp $ */
+/* $OpenBSD: comvar.h,v 1.39 2006/07/31 11:06:30 mickey Exp $ */
/* $NetBSD: comvar.h,v 1.5 1996/05/05 19:50:47 christos Exp $ */
/*
@@ -104,6 +104,7 @@ struct com_softc {
#define COM_UART_TI16750 0x07 /* 64 byte fifo */
#define COM_UART_XR16850 0x10 /* 128 byte fifo */
#define COM_UART_PXA2X0 0x11 /* 16 byte fifo */
+#define COM_UART_OX16C950 0x12 /* 128 byte fifo */
u_char sc_hwflags;
#define COM_HW_NOIEN 0x01