Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Jul 2012 17:42:57 +0000 (UTC)
From:      Max Khon <fjoe@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
Subject:   svn commit: r238775 - stable/8/sys/dev/puc
Message-ID:  <201207251742.q6PHgvDj083177@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: fjoe
Date: Wed Jul 25 17:42:57 2012
New Revision: 238775
URL: http://svn.freebsd.org/changeset/base/238775

Log:
  MFC: r227457, r237350, r237357
  
  Add support for the following Moxa PCIe multiport serial boards:
  - CP102E
  - CP102EL
  - CP104EL-A
  - CP104JU
  - CP114EL
  - CP118EL-A
  - CP168EL-A

Modified:
  stable/8/sys/dev/puc/puc_cfg.h
  stable/8/sys/dev/puc/pucdata.c
Directory Properties:
  stable/8/   (props changed)
  stable/8/sys/   (props changed)
  stable/8/sys/dev/   (props changed)

Modified: stable/8/sys/dev/puc/puc_cfg.h
==============================================================================
--- stable/8/sys/dev/puc/puc_cfg.h	Wed Jul 25 17:25:44 2012	(r238774)
+++ stable/8/sys/dev/puc/puc_cfg.h	Wed Jul 25 17:42:57 2012	(r238775)
@@ -79,7 +79,7 @@ struct puc_cfg {
 	int8_t		ports;
 	int8_t		rid;		/* Rid of first port */
 	int8_t		d_rid;		/* Delta rid of next ports */
-	int8_t		d_ofs;		/* Delta offset of next ports */
+	int16_t		d_ofs;		/* Delta offset of next ports */
 	puc_config_f 	*config_function;
 };
 

Modified: stable/8/sys/dev/puc/pucdata.c
==============================================================================
--- stable/8/sys/dev/puc/pucdata.c	Wed Jul 25 17:25:44 2012	(r238774)
+++ stable/8/sys/dev/puc/pucdata.c	Wed Jul 25 17:42:57 2012	(r238775)
@@ -51,6 +51,7 @@ static puc_config_f puc_config_amc;
 static puc_config_f puc_config_diva;
 static puc_config_f puc_config_exar;
 static puc_config_f puc_config_icbook;
+static puc_config_f puc_config_moxa;
 static puc_config_f puc_config_oxford_pcie;
 static puc_config_f puc_config_quatech;
 static puc_config_f puc_config_syba;
@@ -506,6 +507,18 @@ const struct puc_cfg puc_pci_devices[] =
 	    .config_function = puc_config_quatech
 	},
 
+	{   0x1393, 0x1024, 0xffff, 0,
+	    "Moxa Technologies, Smartio CP-102E/PCIe",
+	    DEFAULT_RCLK * 8,
+	    PUC_PORT_2S, 0x14, 0, 0x200
+	},
+
+	{   0x1393, 0x1025, 0xffff, 0,
+	    "Moxa Technologies, Smartio CP-102EL/PCIe",
+	    DEFAULT_RCLK * 8,
+	    PUC_PORT_2S, 0x14, 0, 0x200,
+	},
+
 	{   0x1393, 0x1040, 0xffff, 0,
 	    "Moxa Technologies, Smartio C104H/PCI",
 	    DEFAULT_RCLK * 8,
@@ -518,12 +531,25 @@ const struct puc_cfg puc_pci_devices[] =
 	    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, 0x1120, 0xffff, 0,
 	    "Moxa Technologies, CP-112UL",
 	    DEFAULT_RCLK * 8,
@@ -536,6 +562,19 @@ const struct puc_cfg puc_pci_devices[] =
 	    PUC_PORT_4S, 0x18, 0, 8,
 	},
 
+	{   0x1393, 0x1144, 0xffff, 0,
+	    "Moxa Technologies, Smartio CP-114EL/PCIe",
+	    DEFAULT_RCLK * 8,
+	    PUC_PORT_4S, 0x14, 0, -1,
+		.config_function = puc_config_moxa
+	},
+
+	{   0x1393, 0x1182, 0xffff, 0,
+	    "Moxa Technologies, Smartio CP-118EL-A/PCIe",
+	    DEFAULT_RCLK * 8,
+	    PUC_PORT_8S, 0x14, 0, 0x200,
+	},
+
 	{   0x1393, 0x1680, 0xffff, 0,
 	    "Moxa Technologies, C168H/PCI",
 	    DEFAULT_RCLK * 8,
@@ -554,6 +593,12 @@ const struct puc_cfg puc_pci_devices[] =
 	    PUC_PORT_8S, 0x18, 0, 8,
 	},
 
+	{   0x1393, 0x1683, 0xffff, 0,
+	    "Moxa Technologies, Smartio CP-168EL-A/PCIe",
+	    DEFAULT_RCLK * 8,
+	    PUC_PORT_8S, 0x14, 0, 0x200,
+	},
+
 	{   0x13a8, 0x0152, 0xffff, 0,
 	    "Exar XR17C/D152",
 	    DEFAULT_RCLK * 8,
@@ -1104,6 +1149,17 @@ puc_config_icbook(struct puc_softc *sc, 
 }
 
 static int
+puc_config_moxa(struct puc_softc *sc, enum puc_cfg_cmd cmd, int port,
+    intptr_t *res)
+{
+	if (cmd == PUC_CFG_GET_OFS) {
+		*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)
 {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201207251742.q6PHgvDj083177>