amd64/171746: Add support for MosChip MCS9901 based Quad UART PCIe card

Terrence Koeman terrence at mediamonks.net
Tue Sep 18 16:20:07 UTC 2012


>Number:         171746
>Category:       amd64
>Synopsis:       Add support for MosChip MCS9901 based Quad UART PCIe card
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-amd64
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Tue Sep 18 16:20:07 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Terrence Koeman
>Release:        9.1-PRERELEASE
>Organization:
MediaMonks B.V.
>Environment:
FreeBSD xxx 9.1-PRERELEASE FreeBSD 9.1-PRERELEASE #15: Tue Sep 18 18:09:19 CEST 2012     terrence at xxx:/usr/obj/usr/src/sys/CONTROL-SMP  amd64
>Description:
The MosChip MCS9901 based Quad UART PCIe card is not detected.
>How-To-Repeat:

>Fix:
See patch.

Patch attached with submission follows:

diff -r -u /usr/src/sys/dev/puc/pucdata.c new/puc/pucdata.c
--- /usr/src/sys/dev/puc/pucdata.c      2012-09-04 17:23:26.000000000 +0200
+++ new/puc/pucdata.c   2012-09-17 18:35:59.000000000 +0200
@@ -1069,6 +1069,12 @@
            PUC_PORT_2P, 0x10, 4, 0,
        },
 
+        {   0x9710, 0x9904, 0xa000, 0x1000,
+            "MosChip MCS9901 based Quad UART",
+            DEFAULT_RCLK,
+            PUC_PORT_4S, 0x10, 4, 0,
+        },
+
        {   0xb00c, 0x021c, 0xffff, 0,
            "IC Book Labs Gunboat x4 Lite",
            DEFAULT_RCLK,
diff -r -u /usr/src/sys/dev/uart/uart_bus_pci.c new/uart/uart_bus_pci.c
--- /usr/src/sys/dev/uart/uart_bus_pci.c        2012-03-18 02:01:41.000000000 +0100
+++ new/uart/uart_bus_pci.c     2012-09-17 18:37:47.000000000 +0200
@@ -127,6 +127,8 @@
        "MosChip MCS9900 PCIe to Peripheral Controller", 0x10 },
 { 0x9710, 0x9901, 0xa000, 0x1000,
        "MosChip MCS9901 PCIe to Peripheral Controller", 0x10 },
+{ 0x9710, 0x9904, 0xa000, 0x1000,
+        "MosChip MCS9901 PCIe to 4 Serial", 0x10 },
 { 0xdeaf, 0x9051, 0xffff, 0, "Middle Digital PC Weasel Serial Port", 0x10 },
 { 0xffff, 0, 0xffff, 0, NULL, 0, 0}
 };
diff -r -u /usr/src/sys/dev/uart/uart_dev_ns8250.c new/uart/uart_dev_ns8250.c
--- /usr/src/sys/dev/uart/uart_dev_ns8250.c     2011-09-23 02:51:37.000000000 +0200
+++ new/uart/uart_dev_ns8250.c  2012-09-17 18:41:39.000000000 +0200
@@ -747,6 +747,9 @@
        } else if (count >= 112 && count <= 128) {
                sc->sc_rxfifosz = 128;
                device_set_desc(sc->sc_dev, "16950 or compatible");
+        } else if (count >= 224 && count <= 256) {
+                sc->sc_rxfifosz = 256;
+                device_set_desc(sc->sc_dev, "16650 or compatible with 256byte FIFOs");
        } else {
                sc->sc_rxfifosz = 16;
                device_set_desc(sc->sc_dev,


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-amd64 mailing list