AlcapDAQ  1
Enumerations | Variables
vmedrv_params.h File Reference
#include <linux/pci.h>

Go to the source code of this file.

Enumerations

enum  vmedrv_minor_id_t {
  idANY = 0, idA16D16 = 1, idA16D32 = 2, idA24D16 = 3,
  idA24D32 = 4, idA32D16 = 5, idA32D32 = 6, idA24D16DMA = 7,
  idA24D32DMA = 8, idA32D16DMA = 9, idA32D32DMA = 10, idA24D16NBDMA = 11,
  idA24D32NBDMA = 12, idA32D16NBDMA = 13, idA32D32NBDMA = 14, vmedrv_NUMBER_OF_MINOR_IDS
}
 
enum  bit3_vendor_id_t { viSBS = 0x108a }
 
enum  bit3_device_id_t { di616 = 0x0003, di617 = 0x0001, di618 = 0x0010 }
 
enum  bit3_parameters_t {
  bit3_IO_NODE_IO_BASE_INDEX = 0, bit3_IO_NODE_IO_SIZE = 32, bit3_MAPPED_NODE_IO_BASE_INDEX = 1, bit3_MAPPED_NODE_IO_SIZE = 32,
  bit3_MAPPING_REGISTERS_BASE_INDEX = 2, bit3_MAPPING_REGISTERS_SIZE = 65536, bit3_MAPPING_REGISTER_WIDTH = 4, bit3_WINDOW_REGION_BASE_INDEX = 3,
  bit3_WINDOW_REGION_SIZE = 0x02000000, bit3_WINDOW_SIZE = 0x1000, bit3_NUMBER_OF_WINDOWS = 8192, bit3_DMA_MAPPING_REGISTERS_BASE_OFFSET = 0x0000c000,
  bit3_DMA_MAPPING_REGISTER_WIDTH = 4, bit3_DMA_MAPPING_SIZE = 0x01000000, bit3_DMA_WINDOW_SIZE = 0x1000, bit3_NUMBER_OF_DMA_WINDOWS = 4096,
  bit3_DMA_PACKET_SIZE = 256
}
 
enum  bit3_bitmasks_t {
  bit3_PAGE_BASE_MASK = 0xfffff000, bit3_PAGE_OFFSET_MASK = 0x00000fff, bit3_DMA_PAGE_BASE_MASK = 0xfffff000, bit3_DMA_PAGE_OFFSET_MASK = 0x00000fff,
  bit3_DMA_MAPPING_REGISTER_INDEX_SHIFT = 12, bit3_AM_MASK = 0x003f, bit3_AM_SHIFT = 6, bit3_FUNCTION_MASK = 0x0003,
  bit3_FUNCTION_SHIFT = 4, bit3_BYTESWAP_MASK = 0x0007, bit3_BYTESWAP_SHIFT = 1, bit3_DMA_BYTESWAP_MASK = 0x0003,
  bit3_DMA_BYTESWAP_SHIFT = 1
}
 
enum  data_width_t { dwBYTE = 1, dwWORD = 2, dwLONG = 4 }
 
enum  transfer_directions_t { tdREAD = 1, tdWRITE = 2 }
 
enum  transfer_methods_t { tmPIO = 1, tmDMA = 2, tmNBDMA = 3 }
 
enum  address_modifiers_t {
  amA16 = 0x29, amA24DATA = 0x39, amA24PROGRAM = 0x3a, amA24BLOCK = 0x3b,
  amA32DATA = 0x09, amA32PROGRAM = 0x0a, amA32BLOCK = 0x0b, amINVALID = 0xff
}
 
enum  function_codes_t { fcREMOTE_BUS_IO = 0x01, fcREMOTE_BUS_RAM = 0x02, fcREMOTE_DPM = 0x03 }
 
enum  byte_swapping_t { bsNONE = 0x00, bsENABLE_BYTE_SWAP_ON_NON_BYTE = 0x01, bsENABLE_WORD_SWAP = 0x02, bsENABLE_BYTE_SWAP_ON_BYTE = 0x04 }
 
enum  vme_parameters_t { vmeNUMBER_OF_IRQ_LINES = 8 }
 
enum  local_node_registers_t {
  regLOCAL_COMMAND = 0x00, regINTERRUPT_CONTROL = 0x01, regLOCAL_STATUS = 0x02, regINTERRUPT_STATUS = 0x03,
  regPCI_CONTROL = 0x04
}
 
enum  remote_node_registers_t {
  regREMOTE_COMMAND_1 = 0x08, regREMOTE_COMMAND_2 = 0x09, regREMOTE_STATUS = 0x08, regADAPTER_ID = 0x0c,
  regADDRESS_MODIFIER = 0x0d, regIACK_READ = 0x0e, regIACK_READ_LOW = 0x0e, regIACK_READ_HIGH = 0x0f
}
 
enum  local_dma_controller_registers_t {
  regDMA_COMMAND = 0x10, regDMA_REMAINDER_COUNT = 0x11, regDMA_PACKET_COUNT_0_7 = 0x12, regDMA_PACKET_COUNT_8_15 = 0x13,
  regDMA_PCI_ADDRESS_2_7 = 0x14, regDMA_PCI_ADDRESS_8_15 = 0x15, regDMA_PCI_ADDRESS_16_23 = 0x16
}
 
enum  remote_dma_controller_registers_t {
  regDMA_REMOTE_REMAINDER_COUNT = 0x18, regDMA_VME_ADDRESS_16_23 = 0x1a, regDMA_VME_ADDRESS_24_31 = 0x1b, regDMA_VME_ADDRESS_0_7 = 0x1c,
  regDMA_VME_ADDRESS_8_15 = 0x1d, regDMA_SLAVE_STATUS = 0x1e
}
 
enum  local_command_register_bits_t { lcCLEAR_STATUS = 0x80, lcCLEAR_PR_INTERRUPT = 0x40, lcSEND_PT_INTERRUPT = 0x20 }
 
enum  interrupt_control_register_bits_t {
  icINTERRUPT_ACTIVE = 0x80, icNORMAL_INTERRUPT_ENABLE = 0x40, icERROR_INTERRUPT_ENABLE = 0x20, icPT_CINT_SEL2 = 0x04,
  icPT_CINT_SEL1 = 0x02, icPT_CINT_SEL0 = 0x01
}
 
enum  local_status_register_bits_t {
  lsINTERFACE_PARITY_ERROR = 0x80, lsREMOTE_BUS_ERROR = 0x40, lsRECEIVING_PR_INTERRUPT = 0x20, lsINTERFACE_TIMEOUT = 0x04,
  lsLRC_ERROR = 0x02, lsREMOTE_BUS_POWER_OFF = 0x01, lsERROR_BITS = 0xe7
}
 
enum  remote_command_1_register_bits_t {
  rcRESET_ADAPTER = 0x80, rcCLEAR_PT_INTERRUPT = 0x40, rcSEND_PR_INTERRUPT = 0x20, rcLOCK_VMEBUS = 0x10,
  rcIACK_ADDRESS_BIT_2 = 0x04, rcIACK_ADDRESS_BIT_1 = 0x02, rcIACK_ADDRESS_BIT_0 = 0x01
}
 
enum  remote_command_2_register_bits_t { rcDMA_PAUSE_ON_16 = 0x80, rcBLOCK_MODE_DMA = 0x20, rcDISABLE_INTERRUPT_PASSING = 0x10 }
 
enum  remote_status_register_bits_t {
  rsVMEBUS_WAS_RESET = 0x80, rsIACK_ADDRESS_BIT_1 = 0x40, rsPR_WAS_SENT = 0x20, rsLOCK_BUS_NOT_SET = 0x10,
  rsIACK_ADDRESS_BIT_2 = 0x04, rsRECEIVING_PT_INTERRUPT = 0x02, rsIACK_ADDRESS_BIT_0 = 0x01
}
 
enum  dma_command_register_bits_t {
  dcSTART_DMA = 0x80, dcDMA_DP = 0x40, dcDMA_TRANSFER_DIRECTION = 0x20, dcDMA_TRANSFER_DIRECTION_WRITE = 0x20,
  dcDMA_TRANSFER_DIRECTION_READ = 0x00, dcDMA_WORD_LONGWORD_SELECT = 0x10, dcDMA_WORD_LONGWORD_SELECT_LONGWORD = 0x10, dcDMA_WORD_LONGWORD_SELECT_WORD = 0x00,
  dcENABLE_DMA_DONE_INTERRUPT = 0x04, dcDMA_DONE_FLAG = 0x02, dcDMA_ACTIVE = 0x01
}
 

Variables

static const int minor_to_access_mode []
 
static const int minor_to_transfer_method []
 
static struct pci_device_id vmedrv_device_id_table []
 
static const char * vmedrv_model_name_table []
 

Enumeration Type Documentation

Enumerator
amA16 
amA24DATA 
amA24PROGRAM 
amA24BLOCK 
amA32DATA 
amA32PROGRAM 
amA32BLOCK 
amINVALID 

Definition at line 143 of file vmedrv_params.h.

143  {
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 };
Enumerator
bit3_PAGE_BASE_MASK 
bit3_PAGE_OFFSET_MASK 
bit3_DMA_PAGE_BASE_MASK 
bit3_DMA_PAGE_OFFSET_MASK 
bit3_DMA_MAPPING_REGISTER_INDEX_SHIFT 
bit3_AM_MASK 
bit3_AM_SHIFT 
bit3_FUNCTION_MASK 
bit3_FUNCTION_SHIFT 
bit3_BYTESWAP_MASK 
bit3_BYTESWAP_SHIFT 
bit3_DMA_BYTESWAP_MASK 
bit3_DMA_BYTESWAP_SHIFT 

Definition at line 110 of file vmedrv_params.h.

110  {
111  bit3_PAGE_BASE_MASK = 0xfffff000,
112  bit3_PAGE_OFFSET_MASK = 0x00000fff,
113  bit3_DMA_PAGE_BASE_MASK = 0xfffff000,
114  bit3_DMA_PAGE_OFFSET_MASK = 0x00000fff,
116  bit3_AM_MASK = 0x003f,
117  bit3_AM_SHIFT = 6,
118  bit3_FUNCTION_MASK = 0x0003,
120  bit3_BYTESWAP_MASK = 0x0007,
122  bit3_DMA_BYTESWAP_MASK = 0x0003,
124 };
Enumerator
di616 
di617 
di618 

Definition at line 71 of file vmedrv_params.h.

71  {
72  di616 = 0x0003,
73  di617 = 0x0001,
74  di618 = 0x0010,
75 };
Enumerator
bit3_IO_NODE_IO_BASE_INDEX 
bit3_IO_NODE_IO_SIZE 
bit3_MAPPED_NODE_IO_BASE_INDEX 
bit3_MAPPED_NODE_IO_SIZE 
bit3_MAPPING_REGISTERS_BASE_INDEX 
bit3_MAPPING_REGISTERS_SIZE 
bit3_MAPPING_REGISTER_WIDTH 
bit3_WINDOW_REGION_BASE_INDEX 
bit3_WINDOW_REGION_SIZE 
bit3_WINDOW_SIZE 
bit3_NUMBER_OF_WINDOWS 
bit3_DMA_MAPPING_REGISTERS_BASE_OFFSET 
bit3_DMA_MAPPING_REGISTER_WIDTH 
bit3_DMA_MAPPING_SIZE 
bit3_DMA_WINDOW_SIZE 
bit3_NUMBER_OF_DMA_WINDOWS 
bit3_DMA_PACKET_SIZE 

Definition at line 90 of file vmedrv_params.h.

90  {
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 */
101  bit3_NUMBER_OF_WINDOWS = 8192,
104  bit3_DMA_MAPPING_SIZE = 0x01000000, /* 16MB */
105  bit3_DMA_WINDOW_SIZE = 0x1000, /* 4kB */
107  bit3_DMA_PACKET_SIZE = 256,
108 };
Enumerator
viSBS 

Definition at line 68 of file vmedrv_params.h.

68  {
69  viSBS = 0x108a,
70 };
Enumerator
bsNONE 
bsENABLE_BYTE_SWAP_ON_NON_BYTE 
bsENABLE_WORD_SWAP 
bsENABLE_BYTE_SWAP_ON_BYTE 

Definition at line 160 of file vmedrv_params.h.

160  {
161  bsNONE = 0x00,
163  bsENABLE_WORD_SWAP = 0x02,
165 };
Enumerator
dwBYTE 
dwWORD 
dwLONG 

Definition at line 126 of file vmedrv_params.h.

126  {
127  dwBYTE = 1,
128  dwWORD = 2,
129  dwLONG = 4,
130 };
Enumerator
dcSTART_DMA 
dcDMA_DP 
dcDMA_TRANSFER_DIRECTION 
dcDMA_TRANSFER_DIRECTION_WRITE 
dcDMA_TRANSFER_DIRECTION_READ 
dcDMA_WORD_LONGWORD_SELECT 
dcDMA_WORD_LONGWORD_SELECT_LONGWORD 
dcDMA_WORD_LONGWORD_SELECT_WORD 
dcENABLE_DMA_DONE_INTERRUPT 
dcDMA_DONE_FLAG 
dcDMA_ACTIVE 

Definition at line 266 of file vmedrv_params.h.

266  {
267  dcSTART_DMA = 0x80,
268  dcDMA_DP = 0x40,
276  dcDMA_DONE_FLAG = 0x02,
277  dcDMA_ACTIVE = 0x01
278 };
Enumerator
fcREMOTE_BUS_IO 
fcREMOTE_BUS_RAM 
fcREMOTE_DPM 

Definition at line 154 of file vmedrv_params.h.

154  {
155  fcREMOTE_BUS_IO = 0x01,
156  fcREMOTE_BUS_RAM = 0x02,
157  fcREMOTE_DPM = 0x03,
158 };
Enumerator
icINTERRUPT_ACTIVE 
icNORMAL_INTERRUPT_ENABLE 
icERROR_INTERRUPT_ENABLE 
icPT_CINT_SEL2 
icPT_CINT_SEL1 
icPT_CINT_SEL0 

Definition at line 221 of file vmedrv_params.h.

221  {
222  icINTERRUPT_ACTIVE = 0x80,
225  icPT_CINT_SEL2 = 0x04,
226  icPT_CINT_SEL1 = 0x02,
227  icPT_CINT_SEL0 = 0x01
228 };
Enumerator
lcCLEAR_STATUS 
lcCLEAR_PR_INTERRUPT 
lcSEND_PT_INTERRUPT 

Definition at line 215 of file vmedrv_params.h.

215  {
216  lcCLEAR_STATUS = 0x80,
217  lcCLEAR_PR_INTERRUPT = 0x40,
218  lcSEND_PT_INTERRUPT = 0x20
219 };
Enumerator
regDMA_COMMAND 
regDMA_REMAINDER_COUNT 
regDMA_PACKET_COUNT_0_7 
regDMA_PACKET_COUNT_8_15 
regDMA_PCI_ADDRESS_2_7 
regDMA_PCI_ADDRESS_8_15 
regDMA_PCI_ADDRESS_16_23 

Definition at line 193 of file vmedrv_params.h.

193  {
194  regDMA_COMMAND = 0x10,
195  regDMA_REMAINDER_COUNT = 0x11,
198  regDMA_PCI_ADDRESS_2_7 = 0x14,
201 };
Enumerator
regLOCAL_COMMAND 
regINTERRUPT_CONTROL 
regLOCAL_STATUS 
regINTERRUPT_STATUS 
regPCI_CONTROL 

Definition at line 174 of file vmedrv_params.h.

174  {
175  regLOCAL_COMMAND = 0x00,
176  regINTERRUPT_CONTROL = 0x01,
177  regLOCAL_STATUS = 0x02,
178  regINTERRUPT_STATUS = 0x03,
179  regPCI_CONTROL = 0x04
180 };
Enumerator
lsINTERFACE_PARITY_ERROR 
lsREMOTE_BUS_ERROR 
lsRECEIVING_PR_INTERRUPT 
lsINTERFACE_TIMEOUT 
lsLRC_ERROR 
lsREMOTE_BUS_POWER_OFF 
lsERROR_BITS 

Definition at line 230 of file vmedrv_params.h.

230  {
232  lsREMOTE_BUS_ERROR = 0x40,
234  lsINTERFACE_TIMEOUT = 0x04,
235  lsLRC_ERROR = 0x02,
236  lsREMOTE_BUS_POWER_OFF = 0x01,
237  lsERROR_BITS = 0xe7
238 };
Enumerator
rcRESET_ADAPTER 
rcCLEAR_PT_INTERRUPT 
rcSEND_PR_INTERRUPT 
rcLOCK_VMEBUS 
rcIACK_ADDRESS_BIT_2 
rcIACK_ADDRESS_BIT_1 
rcIACK_ADDRESS_BIT_0 

Definition at line 240 of file vmedrv_params.h.

240  {
241  rcRESET_ADAPTER = 0x80,
242  rcCLEAR_PT_INTERRUPT = 0x40,
243  rcSEND_PR_INTERRUPT = 0x20,
244  rcLOCK_VMEBUS = 0x10,
245  rcIACK_ADDRESS_BIT_2 = 0x04,
246  rcIACK_ADDRESS_BIT_1 = 0x02,
247  rcIACK_ADDRESS_BIT_0 = 0x01
248 };
Enumerator
rcDMA_PAUSE_ON_16 
rcBLOCK_MODE_DMA 
rcDISABLE_INTERRUPT_PASSING 

Definition at line 250 of file vmedrv_params.h.

250  {
251  rcDMA_PAUSE_ON_16 = 0x80,
252  rcBLOCK_MODE_DMA = 0x20,
254 };
Enumerator
regDMA_REMOTE_REMAINDER_COUNT 
regDMA_VME_ADDRESS_16_23 
regDMA_VME_ADDRESS_24_31 
regDMA_VME_ADDRESS_0_7 
regDMA_VME_ADDRESS_8_15 
regDMA_SLAVE_STATUS 

Definition at line 203 of file vmedrv_params.h.

203  {
207  regDMA_VME_ADDRESS_0_7 = 0x1c,
209  regDMA_SLAVE_STATUS = 0x1e
210 };
Enumerator
regREMOTE_COMMAND_1 
regREMOTE_COMMAND_2 
regREMOTE_STATUS 
regADAPTER_ID 
regADDRESS_MODIFIER 
regIACK_READ 
regIACK_READ_LOW 
regIACK_READ_HIGH 

Definition at line 182 of file vmedrv_params.h.

182  {
183  regREMOTE_COMMAND_1 = 0x08,
184  regREMOTE_COMMAND_2 = 0x09,
185  regREMOTE_STATUS = 0x08,
186  regADAPTER_ID = 0x0c,
187  regADDRESS_MODIFIER = 0x0d,
188  regIACK_READ = 0x0e,
189  regIACK_READ_LOW = 0x0e,
190  regIACK_READ_HIGH = 0x0f
191 };
Enumerator
rsVMEBUS_WAS_RESET 
rsIACK_ADDRESS_BIT_1 
rsPR_WAS_SENT 
rsLOCK_BUS_NOT_SET 
rsIACK_ADDRESS_BIT_2 
rsRECEIVING_PT_INTERRUPT 
rsIACK_ADDRESS_BIT_0 

Definition at line 256 of file vmedrv_params.h.

256  {
257  rsVMEBUS_WAS_RESET = 0x80,
258  rsIACK_ADDRESS_BIT_1 = 0x40,
259  rsPR_WAS_SENT = 0x20,
260  rsLOCK_BUS_NOT_SET = 0x10,
261  rsIACK_ADDRESS_BIT_2 = 0x04,
263  rsIACK_ADDRESS_BIT_0 = 0x01
264 };
Enumerator
tdREAD 
tdWRITE 

Definition at line 132 of file vmedrv_params.h.

132  {
133  tdREAD = 1,
134  tdWRITE = 2,
135 };
Enumerator
tmPIO 
tmDMA 
tmNBDMA 

Definition at line 137 of file vmedrv_params.h.

137  {
138  tmPIO = 1,
139  tmDMA = 2,
140  tmNBDMA = 3,
141 };
Enumerator
vmeNUMBER_OF_IRQ_LINES 

Definition at line 167 of file vmedrv_params.h.

167  {
169 };
Enumerator
idANY 
idA16D16 
idA16D32 
idA24D16 
idA24D32 
idA32D16 
idA32D32 
idA24D16DMA 
idA24D32DMA 
idA32D16DMA 
idA32D32DMA 
idA24D16NBDMA 
idA24D32NBDMA 
idA32D16NBDMA 
idA32D32NBDMA 
vmedrv_NUMBER_OF_MINOR_IDS 

Definition at line 12 of file vmedrv_params.h.

12  {
13  idANY = 0,
14  idA16D16 = 1,
15  idA16D32 = 2,
16  idA24D16 = 3,
17  idA24D32 = 4,
18  idA32D16 = 5,
19  idA32D32 = 6,
20  idA24D16DMA = 7,
21  idA24D32DMA = 8,
22  idA32D16DMA = 9,
23  idA32D32DMA = 10,
24  idA24D16NBDMA = 11,
25  idA24D32NBDMA = 12,
26  idA32D16NBDMA = 13,
27  idA32D32NBDMA = 14,
29 };

Variable Documentation

const int minor_to_access_mode[]
static
const int minor_to_transfer_method[]
static
struct pci_device_id vmedrv_device_id_table[]
static
Initial value:
= {
{ PCI_DEVICE(viSBS, di616), .driver_data = 0, },
{ PCI_DEVICE(viSBS, di617), .driver_data = 1, },
{ PCI_DEVICE(viSBS, di618), .driver_data = 2, },
{ }
}

Definition at line 77 of file vmedrv_params.h.

const char* vmedrv_model_name_table[]
static
Initial value:
= {
"SBS(Bit3) Model 616 VME-PCI Bus Adapter",
"SBS(Bit3) Model 617 VME-PCI Bus Adapter",
"SBS(Bit3) Model 618/620 VME-PCI Bus Adapter",
NULL
}

Definition at line 83 of file vmedrv_params.h.

Referenced by vmedrv_pci_probe().