kern/151365: [patch] Two new Moxa puc(4) devices
Joerg Niendorf
f5d10a at internode.on.net
Sun Oct 10 15:00:07 UTC 2010
>Number: 151365
>Category: kern
>Synopsis: [patch] Two new Moxa puc(4) devices
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Sun Oct 10 15:00:06 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator: Joerg Niendorf <f5d10a at internode.on.net>
>Release: FreeBSD 9.0-CURRENT amd64
>Organization:
none
>Environment:
FreeBSD fbsd.jn.local 9.0-CURRENT FreeBSD 9.0-CURRENT #1: Sun Oct 10 21:44:36 EST 2010
root at fbsd.jn.local:/usr/obj/usr/src/sys/GENERIC amd64
>Description:
The below patch adds support for two Moxa puc(4) devices, the
CP-104EL-A and the CP-104JU. I have tested all four ports on both
cards.
Maybe someone can commit the patch. Thanks.
The relevant dmesg output:
puc0: <Moxa Technologies, Smartio CP-104EL-A/PCIe> port 0xc800-0xc83f,0xc400-0xc40f mem 0xfbdff000-0xfbdfffff irq 28 at device 0.0 on pci3
uart2: <16950 or compatible> on puc0
uart3: <16950 or compatible> on puc0
uart4: <16950 or compatible> on puc0
uart5: <16950 or compatible> on puc0
puc1: <Moxa Technologies, Smartio CP-104JU/PCI> port 0xe800-0xe81f,0xe400-0xe43f,0xe000-0xe00f irq 16 at device 6.0 on pci5
uart6: <16950 or compatible> on puc1
uart7: <16950 or compatible> on puc1
uart8: <16950 or compatible> on puc1
uart9: <16950 or compatible> on puc1
>How-To-Repeat:
N/A
>Fix:
Index: pucdata.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/puc/pucdata.c,v
retrieving revision 1.75
diff -u -r1.75 pucdata.c
--- pucdata.c 20 May 2010 13:16:42 -0000 1.75
+++ pucdata.c 10 Oct 2010 08:41:03 -0000
@@ -51,6 +51,7 @@
static puc_config_f puc_config_cronyx;
static puc_config_f puc_config_diva;
static puc_config_f puc_config_icbook;
+static puc_config_f puc_config_moxa;
static puc_config_f puc_config_quatech;
static puc_config_f puc_config_syba;
static puc_config_f puc_config_siig;
@@ -517,12 +518,25 @@
PUC_PORT_4S, 0x18, 0, 8,
},
+ { 0x1393, 0x1042, 0xffff, 0,
+ "Moxa Technologies, Smartio CP-104JU/PCI",
+ DEFAULT_RCLK * 8,
+ PUC_PORT_4S, 0x18, 0, 8,
+ },
+
{ 0x1393, 0x1043, 0xffff, 0,
"Moxa Technologies, Smartio CP-104EL/PCIe",
DEFAULT_RCLK * 8,
PUC_PORT_4S, 0x18, 0, 8,
},
+ { 0x1393, 0x1045, 0xffff, 0,
+ "Moxa Technologies, Smartio CP-104EL-A/PCIe",
+ DEFAULT_RCLK * 8,
+ PUC_PORT_4S, 0x14, 0, -1,
+ .config_function = puc_config_moxa
+ },
+
{ 0x1393, 0x1141, 0xffff, 0,
"Moxa Technologies, Industio CP-114",
DEFAULT_RCLK * 8,
@@ -971,6 +985,19 @@
}
static int
+puc_config_moxa(struct puc_softc *sc, enum puc_cfg_cmd cmd, int port,
+ intptr_t *res)
+{
+ const struct puc_cfg *cfg = sc->sc_cfg;
+
+ if (cmd == PUC_CFG_GET_OFS && cfg->device == 0x1045) {
+ *res = ((port == 3) ? 7 : port) * 0x200;
+ return 0;
+ }
+ return (ENXIO);
+}
+
+static int
puc_config_quatech(struct puc_softc *sc, enum puc_cfg_cmd cmd, int port,
intptr_t *res)
{
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list