AlcapDAQ  1
vmedrv_params.h
Go to the documentation of this file.
1 /* vmedrv_params.h */
2 /* VME device driver for Bit3 Model 617 on Linux 2.0.x */
3 /* Created by Enomoto Sanshiro on 28 November 1999. */
4 /* Last updated by Enomoto Sanshiro on 19 January 2007. */
5 
6 
7 #ifndef __VMEDRV_PARAMS_H__
8 #define __VMEDRV_PARAMS_H__
9 
10 #include <linux/pci.h>
11 
13  idANY = 0,
14  idA16D16 = 1,
15  idA16D32 = 2,
16  idA24D16 = 3,
17  idA24D32 = 4,
18  idA32D16 = 5,
19  idA32D32 = 6,
29 };
30 
31 static const int minor_to_access_mode[] = {
32  /* idANY */ VMEDRV_A32D32,
33  /* idA16D16 */ VMEDRV_A16D16,
34  /* idA16D32 */ VMEDRV_A16D32,
35  /* idA24D16 */ VMEDRV_A24D16,
36  /* idA24D32 */ VMEDRV_A24D32,
37  /* idA32D16 */ VMEDRV_A32D16,
38  /* idA32D32 */ VMEDRV_A32D32,
39  /* idA24D16DMA */ VMEDRV_A24D16,
40  /* idA24D32DMA */ VMEDRV_A24D32,
41  /* idA32D16DMA */ VMEDRV_A32D16,
42  /* idA32D32DMA */ VMEDRV_A32D32,
43  /* idA24D16NBDMA */ VMEDRV_A24D16,
44  /* idA24D32NBDMA */ VMEDRV_A24D32,
45  /* idA32D16NBDMA */ VMEDRV_A32D16,
46  /* idA32D32NBDMA */ VMEDRV_A32D32,
47 };
48 
49 static const int minor_to_transfer_method[] = {
50  /* idANY */ VMEDRV_PIO,
51  /* idA16D16 */ VMEDRV_PIO,
52  /* idA16D32 */ VMEDRV_PIO,
53  /* idA24D16 */ VMEDRV_PIO,
54  /* idA24D32 */ VMEDRV_PIO,
55  /* idA32D16 */ VMEDRV_PIO,
56  /* idA32D32 */ VMEDRV_PIO,
57  /* idA24D16DMA */ VMEDRV_DMA,
58  /* idA24D32DMA */ VMEDRV_DMA,
59  /* idA32D16DMA */ VMEDRV_DMA,
60  /* idA32D32DMA */ VMEDRV_DMA,
61  /* idA24D16NBDMA */ VMEDRV_NBDMA,
62  /* idA24D32NBDMA */ VMEDRV_NBDMA,
63  /* idA32D16NBDMA */ VMEDRV_NBDMA,
64  /* idA32D32NBDMA */ VMEDRV_NBDMA,
65 };
66 
67 
69  viSBS = 0x108a,
70 };
72  di616 = 0x0003,
73  di617 = 0x0001,
74  di618 = 0x0010,
75 };
76 
77 static const struct pci_device_id vmedrv_device_id_table[] = {
78  { PCI_DEVICE(viSBS, di616), .driver_data = 0, },
79  { PCI_DEVICE(viSBS, di617), .driver_data = 1, },
80  { PCI_DEVICE(viSBS, di618), .driver_data = 2, },
81  { }
82 };
83 static const char* vmedrv_model_name_table[] = {
84  "SBS(Bit3) Model 616 VME-PCI Bus Adapter",
85  "SBS(Bit3) Model 617 VME-PCI Bus Adapter",
86  "SBS(Bit3) Model 618/620 VME-PCI Bus Adapter",
87  NULL
88 };
89 
96  bit3_MAPPING_REGISTERS_SIZE = 65536, /* 4 [byte] * [(8+4+4) k regs] */
99  bit3_WINDOW_REGION_SIZE = 0x02000000, /* 32MB */
100  bit3_WINDOW_SIZE = 0x1000, /* 4kB */
104  bit3_DMA_MAPPING_SIZE = 0x01000000, /* 16MB */
105  bit3_DMA_WINDOW_SIZE = 0x1000, /* 4kB */
108 };
109 
111  bit3_PAGE_BASE_MASK = 0xfffff000,
112  bit3_PAGE_OFFSET_MASK = 0x00000fff,
116  bit3_AM_MASK = 0x003f,
124 };
125 
127  dwBYTE = 1,
128  dwWORD = 2,
129  dwLONG = 4,
130 };
131 
133  tdREAD = 1,
134  tdWRITE = 2,
135 };
136 
138  tmPIO = 1,
139  tmDMA = 2,
140  tmNBDMA = 3,
141 };
142 
144  amA16 = 0x29,
145  amA24DATA = 0x39,
146  amA24PROGRAM = 0x3a,
147  amA24BLOCK = 0x3b,
148  amA32DATA = 0x09,
149  amA32PROGRAM = 0x0a,
150  amA32BLOCK = 0x0b,
151  amINVALID = 0xff,
152 };
153 
157  fcREMOTE_DPM = 0x03,
158 };
159 
161  bsNONE = 0x00,
165 };
166 
169 };
170 
171 
172 /* register offset addresses */
173 
180 };
181 
188  regIACK_READ = 0x0e,
191 };
192 
201 };
202 
210 };
211 
212 
213 /* function of bits */
214 
219 };
220 
228 };
229 
235  lsLRC_ERROR = 0x02,
238 };
239 
248 };
249 
254 };
255 
264 };
265 
267  dcSTART_DMA = 0x80,
268  dcDMA_DP = 0x40,
278 };
279 
280 
281 #endif