mrfioc2  2.3.0
mrfcsr.h
Go to the documentation of this file.
1 /*************************************************************************\
2 * Copyright (c) 2010 Brookhaven Science Associates, as Operator of
3 * Brookhaven National Laboratory.
4 * mrfioc2 is distributed subject to a Software License Agreement found
5 * in file LICENSE that is included with this distribution.
6 \*************************************************************************/
7 /*
8  * Author: Michael Davidsaver <mdavidsaver@gmail.com>
9  */
10 
11 #ifndef MRFCSR_H
12 #define MRFCSR_H
13 
14 
15 #define MRF_VME_IEEE_OUI 0x000EB2 /* VME Organizationally Unique Identifier (OUI) for MRF */
16 
17 #define MRF_VME_EVG_BID 0x45470000 /* VME Event Generator */
18 #define MRF_VME_EVR_BID 0x45520000 /* VME Event Receiver */
19 #define MRF_VME_EVR_RF_BID 0x45524600 /* VME Event Receiver with RF Recovery */
20 #define MRF_VME_EVM_BID 0x4547012c /* VME-EVM-300 */
21 
22 #define MRF_SERIES_200 0x000000C8 /* Series 200 Code */
23 #define MRF_SERIES_220 0x000000DC /* Series 220 Code */
24 #define MRF_SERIES_230 0x000000E6 /* Series 230 Code */
25 
26 /**************************************************************************************************/
27 /* Board ID Field Masks */
28 /**************************************************************************************************/
29 
30 #define MRF_BID_TYPE_MASK 0xFFFFFF00 /* Mask for Board ID Field */
31 #define MRF_BID_SERIES_MASK 0x000000FF /* Mask for Board Series Field */
32 
33 /**************************************************************************************************/
34 /* Series 200 Board ID Codes */
35 /**************************************************************************************************/
36 
37 #define MRF_VME_EVG200_BID (MRF_VME_EVG_BID | MRF_SERIES_200) /* VME Event Generator 200 */
38 #define MRF_VME_EVR200_BID (MRF_VME_EVR_BID | MRF_SERIES_200) /* VME Event Receiver 200 */
39 #define MRF_VME_EVR200RF_BID (MRF_VME_EVR_RF_BID | MRF_SERIES_200) /* VME EVR 200 w/ RF Recovery */
40 
41 #define MRF_VME_GTX200_BID (MRF_VME_GTX_BID | MRF_SERIES_200) /* VME Electron Gun Trigger */
42 #define MRF_VME_4CT200_BID (MRF_VME_4CT_BID | MRF_SERIES_200) /* VME Four Channel Trigger */
43 
44 
45 /**************************************************************************************************/
46 /* Series 230 Board ID Codes */
47 /**************************************************************************************************/
48 
49 #define MRF_VME_EVG230_BID (MRF_VME_EVG_BID | MRF_SERIES_230) /* VME Event Generator 230 */
50 #define MRF_VME_EVR230_BID (MRF_VME_EVR_BID | MRF_SERIES_230) /* VME Event Receiver 230 */
51 #define MRF_VME_EVR230RF_BID (MRF_VME_EVR_RF_BID | MRF_SERIES_230) /* VME EVR 230 w/ RF Recovery */
52 
53 /**************************************************************************************************/
54 /* CR/CSR User-CSR Space Offsets (MRF Specific) */
55 /* */
56 /* Register address is slot base address + read(base + CR_BEG_UCSR) + UCSR_* */
57 /**************************************************************************************************/
58 
59 #define UCSR_IRQ_LEVEL 0x0000 /* Interrupt request level */
60 #define UCSR_IRQ_VECTOR 0x0004 /* Interrupt request vector */
61 #define UCSR_SERIAL_NUMBER 0x0010 /* Board serial number (MAC Address) */
62 
63 #define UCSR_SN_BYTES 6
64 
65 #endif /* MRFCSR_H */