19#ifndef __ANALOGY_NI_MIO_H__
20#define __ANALOGY_NI_MIO_H__
24#ifdef CONFIG_DEBUG_MIO
25#define MDPRINTK(fmt, args...) pr_debug(fmt, ##args)
27#define MDPRINTK(fmt, args...)
33#define AIMODE_HALF_FULL 1
35#define AIMODE_SAMPLE 3
39#define NI_DIO_SUBDEV 2
40#define NI_8255_DIO_SUBDEV 3
41#define NI_UNUSED_SUBDEV 4
42#define NI_CALIBRATION_SUBDEV 5
43#define NI_EEPROM_SUBDEV 6
44#define NI_PFI_DIO_SUBDEV 7
45#define NI_CS5529_CALIBRATION_SUBDEV 8
46#define NI_SERIAL_SUBDEV 9
47#define NI_RTSI_SUBDEV 10
48#define NI_GPCT0_SUBDEV 11
49#define NI_GPCT1_SUBDEV 12
50#define NI_FREQ_OUT_SUBDEV 13
51#define NI_NUM_SUBDEVICES 14
53#define NI_GPCT_SUBDEV(x) ((x == 1) ? NI_GPCT1_SUBDEV : NI_GPCT0_SUBDEV)
55#define TIMEBASE_1_NS 50
56#define TIMEBASE_2_NS 10000
58#define SERIAL_DISABLED 0
59#define SERIAL_600NS 600
60#define SERIAL_1_2US 1200
61#define SERIAL_10US 10000
65#define NI_PFI_FILTER_OFF 0x0
66#define NI_PFI_FILTER_125ns 0x1
67#define NI_PFI_FILTER_6425ns 0x2
68#define NI_PFI_FILTER_2550us 0x3
75#define NI_PFI_OUTPUT_PFI_DEFAULT 0
76#define NI_PFI_OUTPUT_AI_START1 1
77#define NI_PFI_OUTPUT_AI_START2 2
78#define NI_PFI_OUTPUT_AI_CONVERT 3
79#define NI_PFI_OUTPUT_G_SRC1 4
80#define NI_PFI_OUTPUT_G_GATE1 5
81#define NI_PFI_OUTPUT_AO_UPDATE_N 6
82#define NI_PFI_OUTPUT_AO_START1 7
83#define NI_PFI_OUTPUT_AI_START_PULSE 8
84#define NI_PFI_OUTPUT_G_SRC0 9
85#define NI_PFI_OUTPUT_G_GATE0 10
86#define NI_PFI_OUTPUT_EXT_STROBE 11
87#define NI_PFI_OUTPUT_AI_EXT_MUX_CLK 12
88#define NI_PFI_OUTPUT_GOUT0 13
89#define NI_PFI_OUTPUT_GOUT1 14
90#define NI_PFI_OUTPUT_FREQ_OUT 15
91#define NI_PFI_OUTPUT_PFI_DO 16
92#define NI_PFI_OUTPUT_I_ATRIG 17
93#define NI_PFI_OUTPUT_RTSI0 18
94#define NI_PFI_OUTPUT_PXI_STAR_TRIGGER_IN 26
95#define NI_PFI_OUTPUT_SCXI_TRIG1 27
96#define NI_PFI_OUTPUT_DIO_CHANGE_DETECT_RTSI 28
97#define NI_PFI_OUTPUT_CDI_SAMPLE 29
98#define NI_PFI_OUTPUT_CDO_UPDATE 30
100static inline unsigned int NI_PFI_OUTPUT_RTSI(
unsigned rtsi_channel) {
101 return NI_PFI_OUTPUT_RTSI0 + rtsi_channel;
106extern struct a4l_rngdesc a4l_range_ni_E_ai;
107extern struct a4l_rngdesc a4l_range_ni_E_ai_limited;
108extern struct a4l_rngdesc a4l_range_ni_E_ai_limited14;
109extern struct a4l_rngdesc a4l_range_ni_E_ai_bipolar4;
110extern struct a4l_rngdesc a4l_range_ni_E_ai_611x;
111extern struct a4l_rngdesc range_ni_E_ai_622x;
112extern struct a4l_rngdesc range_ni_E_ai_628x;
113extern struct a4l_rngdesc a4l_range_ni_S_ai_6143;
114extern struct a4l_rngdesc a4l_range_ni_E_ao_ext;
118int a4l_ni_E_interrupt(
unsigned int irq,
void *d);
119int a4l_ni_E_init(
struct a4l_device *dev);