Merge branch 'for-2.6.31' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6
[pandora-kernel.git] / drivers / staging / comedi / drivers / addi-data / hwdrv_apci2200.h
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 */
39 int i_APCI2200_ReadMoreDigitalInput(struct comedi_device *dev, struct comedi_subdevice *s,
40                                     struct comedi_insn *insn, unsigned int *data);
41 int i_APCI2200_Read1DigitalInput(struct comedi_device *dev, struct comedi_subdevice *s,
42                                  struct comedi_insn *insn, unsigned int *data);
43
44 /* Digital Output */
45 int i_APCI2200_ConfigDigitalOutput(struct comedi_device *dev, struct comedi_subdevice *s,
46                                    struct comedi_insn *insn, unsigned int *data);
47 int i_APCI2200_WriteDigitalOutput(struct comedi_device *dev, struct comedi_subdevice *s,
48                                   struct comedi_insn *insn, unsigned int *data);
49 int i_APCI2200_ReadDigitalOutput(struct comedi_device *dev, struct comedi_subdevice *s,
50                                  struct comedi_insn *insn, unsigned int *data);
51
52 /* TIMER */
53 int i_APCI2200_ConfigWatchdog(struct comedi_device *dev, struct comedi_subdevice *s,
54                               struct comedi_insn *insn, unsigned int *data);
55 int i_APCI2200_StartStopWriteWatchdog(struct comedi_device *dev, struct comedi_subdevice *s,
56                                       struct comedi_insn *insn, unsigned int *data);
57 int i_APCI2200_ReadWatchdog(struct comedi_device *dev, struct comedi_subdevice *s,
58                             struct comedi_insn *insn, unsigned int *data);
59
60 /* reset */
61 int i_APCI2200_Reset(struct comedi_device *dev);