hwdrv_apci2200.h revision 25417922694e60f04cd4dc8448ada9236f18c532
1/*
2 * Copyright (C) 2004,2005  ADDI-DATA GmbH for the source code of this module.
3 *
4 *	ADDI-DATA GmbH
5 *	Dieselstrasse 3
6 *	D-77833 Ottersweier
7 *	Tel: +19(0)7223/9493-0
8 *	Fax: +49(0)7223/9493-92
9 *	http://www.addi-data.com
10 *	info@addi-data.com
11 *
12 * This program is free software; you can redistribute it and/or modify it
13 * under the terms of the GNU General Public License as published by the Free
14 * Software Foundation; either version 2 of the License, or (at your option)
15 * any later version.
16 */
17
18/*********      Definitions for APCI-2200 card  *****/
19
20/* Card Specific information */
21#define APCI2200_BOARD_VENDOR_ID                 0x15b8
22#define APCI2200_ADDRESS_RANGE                   64
23
24/* DIGITAL INPUT-OUTPUT DEFINE */
25
26#define APCI2200_DIGITAL_OP                 	4
27#define APCI2200_DIGITAL_IP                     0
28
29/* TIMER COUNTER WATCHDOG DEFINES */
30
31#define APCI2200_WATCHDOG                          0x08
32#define APCI2200_WATCHDOG_ENABLEDISABLE            12
33#define APCI2200_WATCHDOG_RELOAD_VALUE             4
34#define APCI2200_WATCHDOG_STATUS                   16
35
36/* Hardware Layer  functions for Apci2200 */
37
38/* Digital Input */
39int i_APCI2200_ReadMoreDigitalInput(struct comedi_device *dev, struct comedi_subdevice *s,
40				    struct comedi_insn *insn, unsigned int *data);
41int i_APCI2200_Read1DigitalInput(struct comedi_device *dev, struct comedi_subdevice *s,
42				 struct comedi_insn *insn, unsigned int *data);
43
44/* Digital Output */
45int i_APCI2200_ConfigDigitalOutput(struct comedi_device *dev, struct comedi_subdevice *s,
46				   struct comedi_insn *insn, unsigned int *data);
47int i_APCI2200_WriteDigitalOutput(struct comedi_device *dev, struct comedi_subdevice *s,
48				  struct comedi_insn *insn, unsigned int *data);
49int i_APCI2200_ReadDigitalOutput(struct comedi_device *dev, struct comedi_subdevice *s,
50				 struct comedi_insn *insn, unsigned int *data);
51
52/* TIMER */
53int i_APCI2200_ConfigWatchdog(struct comedi_device *dev, struct comedi_subdevice *s,
54			      struct comedi_insn *insn, unsigned int *data);
55int i_APCI2200_StartStopWriteWatchdog(struct comedi_device *dev, struct comedi_subdevice *s,
56				      struct comedi_insn *insn, unsigned int *data);
57int i_APCI2200_ReadWatchdog(struct comedi_device *dev, struct comedi_subdevice *s,
58			    struct comedi_insn *insn, unsigned int *data);
59
60/* reset */
61int i_APCI2200_Reset(struct comedi_device *dev);
62