2 * Copyright (C) 2004,2005 ADDI-DATA GmbH for the source code of this module.
7 * Tel: +19(0)7223/9493-0
8 * Fax: +49(0)7223/9493-92
9 * http://www.addi-data-com
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)
18 /********* Definitions for APCI-1032 card *****/
20 #define APCI1032_BOARD_VENDOR_ID 0x15B8
21 #define APCI1032_ADDRESS_RANGE 20
22 /* DIGITAL INPUT DEFINE */
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
29 /* Digital Input IRQ Function Selection */
31 #define ADDIDATA_AND 1
33 /* Digital Input Interrupt Status */
34 #define APCI1032_DIGITAL_IP_INTERRUPT_STATUS 12
36 /* Digital Input Interrupt Enable Disable. */
37 #define APCI1032_DIGITAL_IP_INTERRUPT_ENABLE 0x4
38 #define APCI1032_DIGITAL_IP_INTERRUPT_DISABLE 0xFFFFFFFB
40 /* ADDIDATA Enable Disable */
42 #define ADDIDATA_ENABLE 1
43 #define ADDIDATA_DISABLE 0
45 /* Hardware Layer functions for Apci1032 */
51 int i_APCI1032_ConfigDigitalInput(struct comedi_device *dev, struct comedi_subdevice *s,
52 struct comedi_insn *insn, unsigned int *data);
54 int i_APCI1032_Read1DigitalInput(struct comedi_device *dev, struct comedi_subdevice *s,
55 struct comedi_insn *insn, unsigned int *data);
57 int i_APCI1032_ReadMoreDigitalInput(struct comedi_device *dev, struct comedi_subdevice *s,
58 struct comedi_insn *insn, unsigned int *data);
60 /* Interrupt functions..... */
62 static void v_APCI1032_Interrupt(int irq, void *d);
64 int i_APCI1032_Reset(struct comedi_device *dev);