]> git.karo-electronics.de Git - karo-tx-linux.git/blob - drivers/staging/comedi/drivers/addi_apci_3001.c
d5bc24660d838a4356a4e9219786551a4cf92a89
[karo-tx-linux.git] / drivers / staging / comedi / drivers / addi_apci_3001.c
1 #include "../comedidev.h"
2 #include "comedi_fc.h"
3
4 #include "addi-data/addi_common.h"
5 #include "addi-data/addi_amcc_s5933.h"
6
7 #define CONFIG_APCI_3001 1
8
9 #define ADDIDATA_DRIVER_NAME    "addi_apci_3001"
10
11 #include "addi-data/addi_eeprom.c"
12 #include "addi-data/hwdrv_apci3120.c"
13
14 static const struct addi_board boardtypes[] = {
15         {
16                 .pc_DriverName          = "apci3001",
17                 .i_VendorId             = PCI_VENDOR_ID_ADDIDATA_OLD,
18                 .i_DeviceId             = 0x828D,
19                 .i_IorangeBase0         = AMCC_OP_REG_SIZE,
20                 .i_IorangeBase1         = APCI3120_ADDRESS_RANGE,
21                 .i_IorangeBase2         = 8,
22                 .i_PCIEeprom            = ADDIDATA_NO_EEPROM,
23                 .i_NbrAiChannel         = 16,
24                 .i_NbrAiChannelDiff     = 8,
25                 .i_AiChannelList        = 16,
26                 .i_AiMaxdata            = 0xfff,
27                 .pr_AiRangelist         = &range_apci3120_ai,
28                 .i_NbrDiChannel         = 4,
29                 .i_NbrDoChannel         = 4,
30                 .i_DoMaxdata            = 0x0f,
31                 .i_Dma                  = 1,
32                 .i_Timer                = 1,
33                 .b_AvailableConvertUnit = 1,
34                 .ui_MinAcquisitiontimeNs = 10000,
35                 .ui_MinDelaytimeNs      = 100000,
36                 .interrupt              = v_APCI3120_Interrupt,
37                 .reset                  = i_APCI3120_Reset,
38                 .ai_config              = i_APCI3120_InsnConfigAnalogInput,
39                 .ai_read                = i_APCI3120_InsnReadAnalogInput,
40                 .ai_cmdtest             = i_APCI3120_CommandTestAnalogInput,
41                 .ai_cmd                 = i_APCI3120_CommandAnalogInput,
42                 .ai_cancel              = i_APCI3120_StopCyclicAcquisition,
43                 .di_read                = i_APCI3120_InsnReadDigitalInput,
44                 .di_bits                = i_APCI3120_InsnBitsDigitalInput,
45                 .do_config              = i_APCI3120_InsnConfigDigitalOutput,
46                 .do_write               = i_APCI3120_InsnWriteDigitalOutput,
47                 .do_bits                = i_APCI3120_InsnBitsDigitalOutput,
48                 .timer_config           = i_APCI3120_InsnConfigTimer,
49                 .timer_write            = i_APCI3120_InsnWriteTimer,
50                 .timer_read             = i_APCI3120_InsnReadTimer,
51         },
52 };
53
54 static DEFINE_PCI_DEVICE_TABLE(addi_apci_tbl) = {
55         { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA_OLD, 0x828d) },
56         { 0 }
57 };
58 MODULE_DEVICE_TABLE(pci, addi_apci_tbl);
59
60 #include "addi-data/addi_common.c"
61
62 MODULE_AUTHOR("Comedi http://www.comedi.org");
63 MODULE_DESCRIPTION("Comedi low-level driver");
64 MODULE_LICENSE("GPL");