Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
adl_pci9118.c File Reference
#include "../comedidev.h"
#include <linux/delay.h>
#include <linux/gfp.h>
#include <linux/interrupt.h>
#include <linux/io.h>
#include "amcc_s5933.h"
#include "8253.h"
#include "comedi_fc.h"

Go to the source code of this file.

Data Structures

struct  boardtype
 
struct  pci9118_private
 

Macros

#define PCI_VENDOR_ID_AMCC   0x10e8
 
#define IORANGE_9118   64 /* I hope */
 
#define PCI9118_CHANLEN
 
#define PCI9118_CNT0   0x00 /* R/W: 8254 counter 0 */
 
#define PCI9118_CNT1   0x04 /* R/W: 8254 counter 0 */
 
#define PCI9118_CNT2   0x08 /* R/W: 8254 counter 0 */
 
#define PCI9118_CNTCTRL   0x0c /* W: 8254 counter control */
 
#define PCI9118_AD_DATA   0x10 /* R: A/D data */
 
#define PCI9118_DA1   0x10 /* W: D/A registers */
 
#define PCI9118_DA2   0x14
 
#define PCI9118_ADSTAT   0x18 /* R: A/D status register */
 
#define PCI9118_ADCNTRL   0x18 /* W: A/D control register */
 
#define PCI9118_DI   0x1c /* R: digi input register */
 
#define PCI9118_DO   0x1c /* W: digi output register */
 
#define PCI9118_SOFTTRG   0x20 /* W: soft trigger for A/D */
 
#define PCI9118_GAIN   0x24 /* W: A/D gain/channel register */
 
#define PCI9118_BURST   0x28 /* W: A/D burst number register */
 
#define PCI9118_SCANMOD   0x2c /* W: A/D auto scan mode */
 
#define PCI9118_ADFUNC   0x30 /* W: A/D function register */
 
#define PCI9118_DELFIFO   0x34 /* W: A/D data FIFO reset */
 
#define PCI9118_INTSRC   0x38 /* R: interrupt reason register */
 
#define PCI9118_INTCTRL   0x38 /* W: interrupt control register */
 
#define AdControl_UniP   0x80 /* 1=bipolar, 0=unipolar */
 
#define AdControl_Diff   0x40 /* 1=differential, 0= single end inputs */
 
#define AdControl_SoftG   0x20 /* 1=8254 counter works, 0=counter stops */
 
#define AdControl_ExtG
 
#define AdControl_ExtM
 
#define AdControl_TmrTr
 
#define AdControl_Int   0x02 /* 1=enable INT, 0=disable */
 
#define AdControl_Dma   0x01 /* 1=enable DMA, 0=disable */
 
#define AdFunction_PDTrg
 
#define AdFunction_PETrg
 
#define AdFunction_BSSH   0x20 /* 1=with sample&hold, 0=without */
 
#define AdFunction_BM   0x10 /* 1=burst mode, 0=normal mode */
 
#define AdFunction_BS
 
#define AdFunction_PM
 
#define AdFunction_AM
 
#define AdFunction_Start   0x01 /* 1=trigger start, 0=trigger stop */
 
#define AdStatus_nFull   0x100 /* 0=FIFO full (fatal), 1=not full */
 
#define AdStatus_nHfull   0x080 /* 0=FIFO half full, 1=FIFO not half full */
 
#define AdStatus_nEpty   0x040 /* 0=FIFO empty, 1=FIFO not empty */
 
#define AdStatus_Acmp   0x020 /* */
 
#define AdStatus_DTH   0x010 /* 1=external digital trigger */
 
#define AdStatus_Bover   0x008 /* 1=burst mode overrun (fatal) */
 
#define AdStatus_ADOS   0x004 /* 1=A/D over speed (warning) */
 
#define AdStatus_ADOR   0x002 /* 1=A/D overrun (fatal) */
 
#define AdStatus_ADrdy   0x001 /* 1=A/D already ready, 0=not ready */
 
#define Int_Timer   0x08 /* timer interrupt */
 
#define Int_About   0x04 /* about trigger complete */
 
#define Int_Hfull   0x02 /* A/D FIFO hlaf full */
 
#define Int_DTrg   0x01 /* external digital trigger */
 
#define START_AI_EXT   0x01 /* start measure on external trigger */
 
#define STOP_AI_EXT   0x02 /* stop measure on external trigger */
 
#define START_AI_INT   0x04 /* start measure on internal trigger */
 
#define STOP_AI_INT   0x08 /* stop measure on internal trigger */
 
#define EXTTRG_AI   0 /* ext trg is used by AI */
 
#define PCI9118_BIPOLAR_RANGES
 

Functions

 MODULE_DEVICE_TABLE (pci, adl_pci9118_pci_table)
 
 module_comedi_pci_driver (adl_pci9118_driver, adl_pci9118_pci_driver)
 
 MODULE_AUTHOR ("Comedi http://www.comedi.org")
 
 MODULE_DESCRIPTION ("Comedi low-level driver")
 
 MODULE_LICENSE ("GPL")
 

Macro Definition Documentation

#define AdControl_Diff   0x40 /* 1=differential, 0= single end inputs */

Definition at line 109 of file adl_pci9118.c.

#define AdControl_Dma   0x01 /* 1=enable DMA, 0=disable */

Definition at line 115 of file adl_pci9118.c.

#define AdControl_ExtG
Value:
0x10 /*
* 1=8254 countrol controlled by TGIN(pin 46),
* 0=controlled by SoftG
*/

Definition at line 111 of file adl_pci9118.c.

#define AdControl_ExtM
Value:
0x08 /*
* 1=external hardware trigger (pin 44),
* 0=internal trigger
*/

Definition at line 112 of file adl_pci9118.c.

#define AdControl_Int   0x02 /* 1=enable INT, 0=disable */

Definition at line 114 of file adl_pci9118.c.

#define AdControl_SoftG   0x20 /* 1=8254 counter works, 0=counter stops */

Definition at line 110 of file adl_pci9118.c.

#define AdControl_TmrTr
Value:
0x04 /*
* 1=8254 is iternal trigger source,
* 0=software trigger is source
* (register PCI9118_SOFTTRG)
*/

Definition at line 113 of file adl_pci9118.c.

#define AdControl_UniP   0x80 /* 1=bipolar, 0=unipolar */

Definition at line 108 of file adl_pci9118.c.

#define AdFunction_AM
Value:
0x02 /*
* 1=about trigger mode,
* 0=not about trigger
*/

Definition at line 124 of file adl_pci9118.c.

#define AdFunction_BM   0x10 /* 1=burst mode, 0=normal mode */

Definition at line 121 of file adl_pci9118.c.

#define AdFunction_BS
Value:
0x08 /*
* 1=burst mode start,
* 0=burst mode stop
*/

Definition at line 122 of file adl_pci9118.c.

#define AdFunction_BSSH   0x20 /* 1=with sample&hold, 0=without */

Definition at line 120 of file adl_pci9118.c.

#define AdFunction_PDTrg
Value:
0x80 /*
* 1=positive,
* 0=negative digital trigger
* (only positive is correct)
*/

Definition at line 118 of file adl_pci9118.c.

#define AdFunction_PETrg
Value:
0x40 /*
* 1=positive,
* 0=negative external trigger
* (only positive is correct)
*/

Definition at line 119 of file adl_pci9118.c.

#define AdFunction_PM
Value:
0x04 /*
* 1=post trigger mode,
* 0=not post trigger
*/

Definition at line 123 of file adl_pci9118.c.

#define AdFunction_Start   0x01 /* 1=trigger start, 0=trigger stop */

Definition at line 125 of file adl_pci9118.c.

#define AdStatus_Acmp   0x020 /* */

Definition at line 131 of file adl_pci9118.c.

#define AdStatus_ADOR   0x002 /* 1=A/D overrun (fatal) */

Definition at line 135 of file adl_pci9118.c.

#define AdStatus_ADOS   0x004 /* 1=A/D over speed (warning) */

Definition at line 134 of file adl_pci9118.c.

#define AdStatus_ADrdy   0x001 /* 1=A/D already ready, 0=not ready */

Definition at line 136 of file adl_pci9118.c.

#define AdStatus_Bover   0x008 /* 1=burst mode overrun (fatal) */

Definition at line 133 of file adl_pci9118.c.

#define AdStatus_DTH   0x010 /* 1=external digital trigger */

Definition at line 132 of file adl_pci9118.c.

#define AdStatus_nEpty   0x040 /* 0=FIFO empty, 1=FIFO not empty */

Definition at line 130 of file adl_pci9118.c.

#define AdStatus_nFull   0x100 /* 0=FIFO full (fatal), 1=not full */

Definition at line 128 of file adl_pci9118.c.

#define AdStatus_nHfull   0x080 /* 0=FIFO half full, 1=FIFO not half full */

Definition at line 129 of file adl_pci9118.c.

#define EXTTRG_AI   0 /* ext trg is used by AI */

Definition at line 150 of file adl_pci9118.c.

#define Int_About   0x04 /* about trigger complete */

Definition at line 141 of file adl_pci9118.c.

#define Int_DTrg   0x01 /* external digital trigger */

Definition at line 143 of file adl_pci9118.c.

#define Int_Hfull   0x02 /* A/D FIFO hlaf full */

Definition at line 142 of file adl_pci9118.c.

#define Int_Timer   0x08 /* timer interrupt */

Definition at line 140 of file adl_pci9118.c.

#define IORANGE_9118   64 /* I hope */

Definition at line 84 of file adl_pci9118.c.

#define PCI9118_AD_DATA   0x10 /* R: A/D data */

Definition at line 91 of file adl_pci9118.c.

#define PCI9118_ADCNTRL   0x18 /* W: A/D control register */

Definition at line 95 of file adl_pci9118.c.

#define PCI9118_ADFUNC   0x30 /* W: A/D function register */

Definition at line 102 of file adl_pci9118.c.

#define PCI9118_ADSTAT   0x18 /* R: A/D status register */

Definition at line 94 of file adl_pci9118.c.

#define PCI9118_BIPOLAR_RANGES
Value:
4 /*
* used for test on mixture
* of BIP/UNI ranges
*/

Definition at line 176 of file adl_pci9118.c.

#define PCI9118_BURST   0x28 /* W: A/D burst number register */

Definition at line 100 of file adl_pci9118.c.

#define PCI9118_CHANLEN
Value:
255 /*
* len of chanlist, some source say 256,
* but reality looks like 255 :-(
*/

Definition at line 85 of file adl_pci9118.c.

#define PCI9118_CNT0   0x00 /* R/W: 8254 counter 0 */

Definition at line 87 of file adl_pci9118.c.

#define PCI9118_CNT1   0x04 /* R/W: 8254 counter 0 */

Definition at line 88 of file adl_pci9118.c.

#define PCI9118_CNT2   0x08 /* R/W: 8254 counter 0 */

Definition at line 89 of file adl_pci9118.c.

#define PCI9118_CNTCTRL   0x0c /* W: 8254 counter control */

Definition at line 90 of file adl_pci9118.c.

#define PCI9118_DA1   0x10 /* W: D/A registers */

Definition at line 92 of file adl_pci9118.c.

#define PCI9118_DA2   0x14

Definition at line 93 of file adl_pci9118.c.

#define PCI9118_DELFIFO   0x34 /* W: A/D data FIFO reset */

Definition at line 103 of file adl_pci9118.c.

#define PCI9118_DI   0x1c /* R: digi input register */

Definition at line 96 of file adl_pci9118.c.

#define PCI9118_DO   0x1c /* W: digi output register */

Definition at line 97 of file adl_pci9118.c.

#define PCI9118_GAIN   0x24 /* W: A/D gain/channel register */

Definition at line 99 of file adl_pci9118.c.

#define PCI9118_INTCTRL   0x38 /* W: interrupt control register */

Definition at line 105 of file adl_pci9118.c.

#define PCI9118_INTSRC   0x38 /* R: interrupt reason register */

Definition at line 104 of file adl_pci9118.c.

#define PCI9118_SCANMOD   0x2c /* W: A/D auto scan mode */

Definition at line 101 of file adl_pci9118.c.

#define PCI9118_SOFTTRG   0x20 /* W: soft trigger for A/D */

Definition at line 98 of file adl_pci9118.c.

#define PCI_VENDOR_ID_AMCC   0x10e8

Definition at line 76 of file adl_pci9118.c.

#define START_AI_EXT   0x01 /* start measure on external trigger */

Definition at line 145 of file adl_pci9118.c.

#define START_AI_INT   0x04 /* start measure on internal trigger */

Definition at line 147 of file adl_pci9118.c.

#define STOP_AI_EXT   0x02 /* stop measure on external trigger */

Definition at line 146 of file adl_pci9118.c.

#define STOP_AI_INT   0x08 /* stop measure on internal trigger */

Definition at line 148 of file adl_pci9118.c.

Function Documentation

MODULE_AUTHOR ( "Comedi http://www.comedi.org"  )
module_comedi_pci_driver ( adl_pci9118_driver  ,
adl_pci9118_pci_driver   
)
MODULE_DESCRIPTION ( "Comedi low-level driver )
MODULE_DEVICE_TABLE ( pci  ,
adl_pci9118_pci_table   
)
MODULE_LICENSE ( "GPL"  )