Merge branch 'for-2.6.30' into for-2.6.31
[pandora-kernel.git] / drivers / staging / comedi / drivers / addi-data / hwdrv_apci1032.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-1032 card  *****/
19
20 #define APCI1032_BOARD_VENDOR_ID 0x15B8
21 #define APCI1032_ADDRESS_RANGE  20
22 //DIGITAL INPUT DEFINE
23
24 #define APCI1032_DIGITAL_IP                     0
25 #define APCI1032_DIGITAL_IP_INTERRUPT_MODE1     4
26 #define APCI1032_DIGITAL_IP_INTERRUPT_MODE2     8
27 #define APCI1032_DIGITAL_IP_IRQ                 16
28
29 //Digital Input IRQ Function Selection
30 #define ADDIDATA_OR                  0
31 #define ADDIDATA_AND                 1
32
33 //Digital Input Interrupt Status
34 #define APCI1032_DIGITAL_IP_INTERRUPT_STATUS    12
35
36 //Digital Input Interrupt Enable Disable.
37 #define APCI1032_DIGITAL_IP_INTERRUPT_ENABLE    0x4
38 #define APCI1032_DIGITAL_IP_INTERRUPT_DISABLE   0xFFFFFFFB
39
40 //ADDIDATA Enable Disable
41
42 #define ADDIDATA_ENABLE                            1
43 #define ADDIDATA_DISABLE                           0
44
45 // Hardware Layer  functions for Apci1032
46
47 //DI
48 // for di read
49
50 INT i_APCI1032_ConfigDigitalInput(struct comedi_device *dev, struct comedi_subdevice *s,
51                                   struct comedi_insn *insn, unsigned int *data);
52
53 INT i_APCI1032_Read1DigitalInput(struct comedi_device *dev, struct comedi_subdevice *s,
54                                  struct comedi_insn *insn, unsigned int *data);
55
56 INT i_APCI1032_ReadMoreDigitalInput(struct comedi_device *dev, struct comedi_subdevice *s,
57                                     struct comedi_insn *insn, unsigned int *data);
58
59 // Interrupt functions.....
60
61 static void v_APCI1032_Interrupt(int irq, void *d);
62 //Reset
63 INT i_APCI1032_Reset(struct comedi_device *dev);