|
Linux Kernel
3.7.1
|
#include <linux/interrupt.h>#include <linux/slab.h>#include <linux/io.h>#include "../comedidev.h"#include <linux/delay.h>#include <asm/dma.h>#include "8253.h"#include "8255.h"#include "mite.h"#include "comedi_fc.h"#include "ni_labpc.h"Go to the source code of this file.
Macros | |
| #define | DRV_NAME "ni_labpc" |
| #define | LABPC_SIZE 32 |
| #define | LABPC_TIMER_BASE 500 |
| #define | COMMAND1_REG 0x0 |
| #define | ADC_GAIN_MASK (0x7 << 4) |
| #define | ADC_CHAN_BITS(x) ((x) & 0x7) |
| #define | ADC_SCAN_EN_BIT 0x80 |
| #define | COMMAND2_REG 0x1 |
| #define | PRETRIG_BIT 0x1 |
| #define | HWTRIG_BIT 0x2 |
| #define | SWTRIG_BIT 0x4 |
| #define | CASCADE_BIT 0x8 |
| #define | DAC_PACED_BIT(channel) (0x40 << ((channel) & 0x1)) |
| #define | COMMAND3_REG 0x2 |
| #define | DMA_EN_BIT 0x1 |
| #define | DIO_INTR_EN_BIT 0x2 |
| #define | DMATC_INTR_EN_BIT 0x4 |
| #define | TIMER_INTR_EN_BIT 0x8 |
| #define | ERR_INTR_EN_BIT 0x10 |
| #define | ADC_FNE_INTR_EN_BIT 0x20 |
| #define | ADC_CONVERT_REG 0x3 |
| #define | DAC_LSB_REG(channel) (0x4 + 2 * ((channel) & 0x1)) |
| #define | DAC_MSB_REG(channel) (0x5 + 2 * ((channel) & 0x1)) |
| #define | ADC_CLEAR_REG 0x8 |
| #define | DMATC_CLEAR_REG 0xa |
| #define | TIMER_CLEAR_REG 0xc |
| #define | COMMAND6_REG 0xe |
| #define | ADC_COMMON_BIT 0x1 |
| #define | ADC_UNIP_BIT 0x2 |
| #define | DAC_UNIP_BIT(channel) (0x4 << ((channel) & 0x1)) |
| #define | ADC_FHF_INTR_EN_BIT 0x20 |
| #define | A1_INTR_EN_BIT 0x40 |
| #define | ADC_SCAN_UP_BIT 0x80 |
| #define | COMMAND4_REG 0xf |
| #define | INTERVAL_SCAN_EN_BIT 0x1 |
| #define | EXT_SCAN_EN_BIT 0x2 |
| #define | EXT_CONVERT_OUT_BIT 0x4 |
| #define | ADC_DIFF_BIT 0x8 |
| #define | EXT_CONVERT_DISABLE_BIT 0x10 |
| #define | COMMAND5_REG 0x1c |
| #define | EEPROM_WRITE_UNPROTECT_BIT 0x4 |
| #define | DITHER_EN_BIT 0x8 |
| #define | CALDAC_LOAD_BIT 0x10 |
| #define | SCLOCK_BIT 0x20 |
| #define | SDATA_BIT 0x40 |
| #define | EEPROM_EN_BIT 0x80 |
| #define | INTERVAL_COUNT_REG 0x1e |
| #define | INTERVAL_LOAD_REG 0x1f |
| #define | INTERVAL_LOAD_BITS 0x1 |
| #define | STATUS1_REG 0x0 |
| #define | DATA_AVAIL_BIT 0x1 |
| #define | OVERRUN_BIT 0x2 |
| #define | OVERFLOW_BIT 0x4 |
| #define | TIMER_BIT 0x8 |
| #define | DMATC_BIT 0x10 |
| #define | EXT_TRIG_BIT 0x40 |
| #define | STATUS2_REG 0x1d |
| #define | EEPROM_OUT_BIT 0x1 |
| #define | A1_TC_BIT 0x2 |
| #define | FNHF_BIT 0x4 |
| #define | ADC_FIFO_REG 0xa |
| #define | DIO_BASE_REG 0x10 |
| #define | COUNTER_A_BASE_REG 0x14 |
| #define | COUNTER_A_CONTROL_REG (COUNTER_A_BASE_REG + 0x3) |
| #define | INIT_A0_BITS 0x14 |
| #define | INIT_A1_BITS 0x70 |
| #define | COUNTER_B_BASE_REG 0x18 |
| #define | NUM_LABPC_PLUS_AI_RANGES 16 |
| #define | NUM_LABPC_1200_AI_RANGES 14 |
| #define | AO_RANGE_IS_UNIPOLAR 0x1 |
| #define | thisboard ((struct labpc_board_struct *)dev->board_ptr) |
| #define | devpriv ((struct labpc_private *)dev->private) |
Enumerations | |
| enum | scan_mode { MODE_SINGLE_CHAN, MODE_SINGLE_CHAN_INTERVAL, MODE_MULT_CHAN_UP, MODE_MULT_CHAN_DOWN } |
Functions | |
| EXPORT_SYMBOL_GPL (labpc_1200_is_unipolar) | |
| EXPORT_SYMBOL_GPL (labpc_1200_ai_gain_bits) | |
| EXPORT_SYMBOL_GPL (range_labpc_1200_ai) | |
| int | labpc_common_attach (struct comedi_device *dev, unsigned long iobase, unsigned int irq, unsigned int dma_chan) |
| EXPORT_SYMBOL_GPL (labpc_common_attach) | |
| void | labpc_common_detach (struct comedi_device *dev) |
| EXPORT_SYMBOL_GPL (labpc_common_detach) | |
| module_comedi_driver (labpc_driver) | |
| MODULE_AUTHOR ("Comedi http://www.comedi.org") | |
| MODULE_DESCRIPTION ("Comedi low-level driver") | |
| MODULE_LICENSE ("GPL") | |
Variables | |
| const int | labpc_1200_is_unipolar [NUM_LABPC_1200_AI_RANGES] |
| const int | labpc_1200_ai_gain_bits [NUM_LABPC_1200_AI_RANGES] |
| struct comedi_lrange | range_labpc_1200_ai |
| #define A1_INTR_EN_BIT 0x40 |
Definition at line 145 of file ni_labpc.c.
| #define A1_TC_BIT 0x2 |
Definition at line 195 of file ni_labpc.c.
Definition at line 102 of file ni_labpc.c.
| #define ADC_CLEAR_REG 0x8 |
Definition at line 131 of file ni_labpc.c.
| #define ADC_COMMON_BIT 0x1 |
Definition at line 137 of file ni_labpc.c.
| #define ADC_CONVERT_REG 0x3 |
Definition at line 128 of file ni_labpc.c.
| #define ADC_DIFF_BIT 0x8 |
Definition at line 156 of file ni_labpc.c.
| #define ADC_FHF_INTR_EN_BIT 0x20 |
Definition at line 143 of file ni_labpc.c.
| #define ADC_FIFO_REG 0xa |
Definition at line 198 of file ni_labpc.c.
| #define ADC_FNE_INTR_EN_BIT 0x20 |
Definition at line 127 of file ni_labpc.c.
| #define ADC_GAIN_MASK (0x7 << 4) |
Definition at line 101 of file ni_labpc.c.
| #define ADC_SCAN_EN_BIT 0x80 |
Definition at line 104 of file ni_labpc.c.
| #define ADC_SCAN_UP_BIT 0x80 |
Definition at line 147 of file ni_labpc.c.
| #define ADC_UNIP_BIT 0x2 |
Definition at line 139 of file ni_labpc.c.
| #define AO_RANGE_IS_UNIPOLAR 0x1 |
Definition at line 390 of file ni_labpc.c.
| #define CALDAC_LOAD_BIT 0x10 |
Definition at line 165 of file ni_labpc.c.
| #define CASCADE_BIT 0x8 |
Definition at line 113 of file ni_labpc.c.
| #define COMMAND1_REG 0x0 |
Definition at line 100 of file ni_labpc.c.
| #define COMMAND2_REG 0x1 |
Definition at line 105 of file ni_labpc.c.
| #define COMMAND3_REG 0x2 |
Definition at line 115 of file ni_labpc.c.
| #define COMMAND4_REG 0xf |
Definition at line 148 of file ni_labpc.c.
| #define COMMAND5_REG 0x1c |
Definition at line 159 of file ni_labpc.c.
| #define COMMAND6_REG 0xe |
Definition at line 135 of file ni_labpc.c.
| #define COUNTER_A_BASE_REG 0x14 |
Definition at line 201 of file ni_labpc.c.
| #define COUNTER_A_CONTROL_REG (COUNTER_A_BASE_REG + 0x3) |
Definition at line 202 of file ni_labpc.c.
| #define COUNTER_B_BASE_REG 0x18 |
Definition at line 207 of file ni_labpc.c.
| #define DAC_LSB_REG | ( | channel | ) | (0x4 + 2 * ((channel) & 0x1)) |
Definition at line 129 of file ni_labpc.c.
| #define DAC_MSB_REG | ( | channel | ) | (0x5 + 2 * ((channel) & 0x1)) |
Definition at line 130 of file ni_labpc.c.
| #define DAC_PACED_BIT | ( | channel | ) | (0x40 << ((channel) & 0x1)) |
Definition at line 114 of file ni_labpc.c.
| #define DAC_UNIP_BIT | ( | channel | ) | (0x4 << ((channel) & 0x1)) |
Definition at line 141 of file ni_labpc.c.
| #define DATA_AVAIL_BIT 0x1 |
Definition at line 179 of file ni_labpc.c.
| #define devpriv ((struct labpc_private *)dev->private) |
Definition at line 490 of file ni_labpc.c.
| #define DIO_BASE_REG 0x10 |
Definition at line 200 of file ni_labpc.c.
| #define DIO_INTR_EN_BIT 0x2 |
Definition at line 119 of file ni_labpc.c.
| #define DITHER_EN_BIT 0x8 |
Definition at line 163 of file ni_labpc.c.
| #define DMA_EN_BIT 0x1 |
Definition at line 117 of file ni_labpc.c.
| #define DMATC_BIT 0x10 |
Definition at line 187 of file ni_labpc.c.
| #define DMATC_CLEAR_REG 0xa |
Definition at line 132 of file ni_labpc.c.
| #define DMATC_INTR_EN_BIT 0x4 |
Definition at line 121 of file ni_labpc.c.
| #define DRV_NAME "ni_labpc" |
Definition at line 90 of file ni_labpc.c.
| #define EEPROM_EN_BIT 0x80 |
Definition at line 171 of file ni_labpc.c.
| #define EEPROM_OUT_BIT 0x1 |
Definition at line 193 of file ni_labpc.c.
| #define EEPROM_WRITE_UNPROTECT_BIT 0x4 |
Definition at line 161 of file ni_labpc.c.
| #define ERR_INTR_EN_BIT 0x10 |
Definition at line 125 of file ni_labpc.c.
| #define EXT_CONVERT_DISABLE_BIT 0x10 |
Definition at line 157 of file ni_labpc.c.
| #define EXT_CONVERT_OUT_BIT 0x4 |
Definition at line 154 of file ni_labpc.c.
| #define EXT_SCAN_EN_BIT 0x2 |
Definition at line 152 of file ni_labpc.c.
| #define EXT_TRIG_BIT 0x40 |
Definition at line 189 of file ni_labpc.c.
| #define FNHF_BIT 0x4 |
Definition at line 197 of file ni_labpc.c.
| #define HWTRIG_BIT 0x2 |
Definition at line 109 of file ni_labpc.c.
| #define INIT_A0_BITS 0x14 |
Definition at line 204 of file ni_labpc.c.
| #define INIT_A1_BITS 0x70 |
Definition at line 206 of file ni_labpc.c.
| #define INTERVAL_COUNT_REG 0x1e |
Definition at line 172 of file ni_labpc.c.
| #define INTERVAL_LOAD_BITS 0x1 |
Definition at line 174 of file ni_labpc.c.
| #define INTERVAL_LOAD_REG 0x1f |
Definition at line 173 of file ni_labpc.c.
| #define INTERVAL_SCAN_EN_BIT 0x1 |
Definition at line 150 of file ni_labpc.c.
| #define LABPC_SIZE 32 |
Definition at line 93 of file ni_labpc.c.
| #define LABPC_TIMER_BASE 500 |
Definition at line 95 of file ni_labpc.c.
| #define NUM_LABPC_1200_AI_RANGES 14 |
Definition at line 329 of file ni_labpc.c.
| #define NUM_LABPC_PLUS_AI_RANGES 16 |
Definition at line 266 of file ni_labpc.c.
| #define OVERFLOW_BIT 0x4 |
Definition at line 183 of file ni_labpc.c.
| #define OVERRUN_BIT 0x2 |
Definition at line 181 of file ni_labpc.c.
| #define PRETRIG_BIT 0x1 |
Definition at line 107 of file ni_labpc.c.
| #define SCLOCK_BIT 0x20 |
Definition at line 167 of file ni_labpc.c.
| #define SDATA_BIT 0x40 |
Definition at line 169 of file ni_labpc.c.
| #define STATUS1_REG 0x0 |
Definition at line 177 of file ni_labpc.c.
| #define STATUS2_REG 0x1d |
Definition at line 191 of file ni_labpc.c.
| #define SWTRIG_BIT 0x4 |
Definition at line 111 of file ni_labpc.c.
| #define thisboard ((struct labpc_board_struct *)dev->board_ptr) |
Definition at line 483 of file ni_labpc.c.
| #define TIMER_BIT 0x8 |
Definition at line 185 of file ni_labpc.c.
| #define TIMER_CLEAR_REG 0xc |
Definition at line 133 of file ni_labpc.c.
| #define TIMER_INTR_EN_BIT 0x8 |
Definition at line 123 of file ni_labpc.c.
| enum scan_mode |
Definition at line 209 of file ni_labpc.c.
| EXPORT_SYMBOL_GPL | ( | labpc_1200_is_unipolar | ) |
| EXPORT_SYMBOL_GPL | ( | labpc_1200_ai_gain_bits | ) |
| EXPORT_SYMBOL_GPL | ( | range_labpc_1200_ai | ) |
| EXPORT_SYMBOL_GPL | ( | labpc_common_attach | ) |
| EXPORT_SYMBOL_GPL | ( | labpc_common_detach | ) |
| int labpc_common_attach | ( | struct comedi_device * | dev, |
| unsigned long | iobase, | ||
| unsigned int | irq, | ||
| unsigned int | dma_chan | ||
| ) |
Definition at line 504 of file ni_labpc.c.
| void labpc_common_detach | ( | struct comedi_device * | dev | ) |
Definition at line 771 of file ni_labpc.c.
| MODULE_AUTHOR | ( | "Comedi http://www.comedi.org" | ) |
| module_comedi_driver | ( | labpc_driver | ) |
| MODULE_LICENSE | ( | "GPL" | ) |
| const int labpc_1200_ai_gain_bits[NUM_LABPC_1200_AI_RANGES] |
Definition at line 350 of file ni_labpc.c.
| const int labpc_1200_is_unipolar[NUM_LABPC_1200_AI_RANGES] |
Definition at line 331 of file ni_labpc.c.
| struct comedi_lrange range_labpc_1200_ai |
1.8.2