Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 53030b13 authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman
Browse files

staging: comedi: pcl730: add support for Diamond Systems PC/104 modules



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: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: default avatarIan Abbott <abbotti@mev.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent af50b31b
Loading
Loading
Loading
Loading
+12 −10
Original line number Diff line number Diff line
@@ -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.
+36 −0
Original line number Diff line number Diff line
@@ -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 (jsanchezv@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,
	},
};