The Diamond Systems OPMM-1616-XT board is a PC/104 module with 16
optoisolated inputs and 16 relay outputs.

The PEARL-MM-P board is a PC/104 module with 16 relay outputs.

Both of these boards can be supported by the pcl730 driver.

Signed-off-by: H Hartley Sweeten <hswee...@visionengravers.com>
Cc: Ian Abbott <abbo...@mev.co.uk>
Cc: Greg Kroah-Hartman <gr...@linuxfoundation.org>
---
 drivers/staging/comedi/Kconfig          | 22 +++++++++++---------
 drivers/staging/comedi/drivers/pcl730.c | 36 +++++++++++++++++++++++++++++++++
 2 files changed, 48 insertions(+), 10 deletions(-)

diff --git a/drivers/staging/comedi/Kconfig b/drivers/staging/comedi/Kconfig
index 703c5d4..5d56428 100644
--- a/drivers/staging/comedi/Kconfig
+++ b/drivers/staging/comedi/Kconfig
@@ -160,16 +160,18 @@ config COMEDI_PCL730
          Enable support for various simple ISA or PC/104 Digital I/O boards.
          These boards all use 8-bit I/O ports.
 
-         Advantech PCL-730   isolated - 16 in/16 out  ttl - 16 in/16 out
-         ICP ISO-730         isolated - 16 in/16 out  ttl - 16 in/16 out
-         ADlink ACL-7130     isolated - 16 in/16 out  ttl - 16 in/16 out
-         Advantech PCM-3730  isolated - 8 in/8 out    ttl - 16 in/16 out
-         Advantech PCL-725   isolated - 8 in/8 out
-         ICP P8R8-DIO        isolated - 8 in/8 out
-         ADlink ACL-7225b    isolated - 16 in/16 out
-         ICP P16R16-DIO      isolated - 16 in/16 out
-         Advantech PCL-733   isolated - 32 in
-         Advantech PCL-734   isolated - 32 out
+         Advantech PCL-730             iso - 16 in/16 out  ttl - 16 in/16 out
+         ICP ISO-730                   iso - 16 in/16 out  ttl - 16 in/16 out
+         ADlink ACL-7130               iso - 16 in/16 out  ttl - 16 in/16 out
+         Advantech PCM-3730            iso - 8 in/8 out    ttl - 16 in/16 out
+         Advantech PCL-725             iso - 8 in/8 out
+         ICP P8R8-DIO                  iso - 8 in/8 out
+         ADlink ACL-7225b              iso - 16 in/16 out
+         ICP P16R16-DIO                iso - 16 in/16 out
+         Advantech PCL-733             iso - 32 in
+         Advantech PCL-734             iso - 32 out
+         Diamond Systems OPMM-1616-XT  iso - 16 in/16 out
+         Diamond Systems PEARL-MM-P    iso - 16 out
 
          To compile this driver as a module, choose M here: the module will be
          called pcl730.
diff --git a/drivers/staging/comedi/drivers/pcl730.c 
b/drivers/staging/comedi/drivers/pcl730.c
index 2baaf1d..7fb044c 100644
--- a/drivers/staging/comedi/drivers/pcl730.c
+++ b/drivers/staging/comedi/drivers/pcl730.c
@@ -17,6 +17,8 @@
  *         (ICP) P16R16-DIO [p16r16dio]
  *         (Advantech) PCL-733 [pcl733]
  *         (Advantech) PCL-734 [pcl734]
+ *         (Diamond Systems) OPMM-1616-XT [opmm-1616-xt]
+ *         (Diamond Systems) PEARL-MM-P [prearl-mm-p]
  * Author: José Luis Sánchez (jsanch...@teleline.es)
  * Status: untested
  *
@@ -70,6 +72,27 @@
  *     BASE+1  Isolated outputs 8-15 (write) or inputs 8-15 (read)
  *     BASE+2  Isolated outputs 16-23 (write) or inputs 16-23 (read)
  *     BASE+3  Isolated outputs 24-31 (write) or inputs 24-31 (read)
+ *
+ * The opmm-1616-xt board has this register mapping:
+ *
+ *     BASE+0  Isolated outputs 0-7 (write) (read back)
+ *     BASE+1  Isolated outputs 8-15 (write) (read back)
+ *     BASE+2  Isolated inputs 0-7 (read)
+ *     BASE+3  Isolated inputs 8-15 (read)
+ *
+ *     These registers are not currently supported:
+ *
+ *     BASE+2  Relay select register (write)
+ *     BASE+3  Board reset control register (write)
+ *     BASE+4  Interrupt control register (write)
+ *     BASE+4  Change detect 7-0 status register (read)
+ *     BASE+5  LED control register (write)
+ *     BASE+5  Change detect 15-8 status register (read)
+ *
+ * The pearl-mm-p board has this register mapping:
+ *
+ *     BASE+0  Isolated outputs 0-7 (write)
+ *     BASE+1  Isolated outputs 8-15 (write)
  */
 
 struct pcl730_board {
@@ -158,6 +181,19 @@ static const struct pcl730_board pcl730_boards[] = {
                .io_range       = 0x04,
                .n_subdevs      = 1,
                .n_iso_out_chan = 32,
+       }, {
+               .name           = "opmm-1616-xt",
+               .io_range       = 0x10,
+               .is_acl7225b    = 1,
+               .has_readback   = 1,
+               .n_subdevs      = 2,
+               .n_iso_out_chan = 16,
+               .n_iso_in_chan  = 16,
+       }, {
+               .name           = "pearl-mm-p",
+               .io_range       = 0x02,
+               .n_subdevs      = 1,
+               .n_iso_out_chan = 16,
        },
 };
 
-- 
1.9.2

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to