8 #ifndef EVRFRIBREGMAP_H
9 #define EVRFRIBREGMAP_H
11 #include <mrfBitOps.h>
16 #define REGLEN (4*0x900)
19 #define U32_FWInfo (4*0)
20 # define FWInfo_Version_mask (0x000000ff)
21 # define FWInfo_Version_shift 0
22 # define FWInfo_Flavor_mask (0x0000ff00)
23 # define FWInfo_Flavor_shift 8
24 # define FWInfo_Flavor_EVR (0xe1)
25 # define FWInfo_Flavor_EVG (0xe8)
26 # define FWInfo_Flavor_BPM (0xb1)
29 #define U32_Status (4*1)
30 # define Status_Alive (0x1)
31 # define Status_Sim (0x2)
32 # define Status_CycleCnt_mask (0xffff0000)
33 # define Status_CycleCnt_shift 16
36 #define U32_Config (4*2)
37 # define Config_TestPatt (0x1)
38 # define Config_FPSSim (0x2)
39 # define Config_EVGSim (0x4)
40 # define Config_BeamOn (0x8)
43 #define U32_OutSelect (4*3)
44 # define OutSelect_Divider_mask (0xffff)
45 # define OutSelect_Divider_shift 0
46 # define OutSelect_Enable (0x80000000)
49 #define U32_Command (4*4)
50 # define Command_ResetEVR (0x1)
51 # define Command_ResetFPSComm (0x2)
52 # define Command_ForceNPermit (0x4)
53 # define Command_NOKClear (0x8)
54 # define Command_NOKForce (0x10)
57 #define U32_FPSComm (4*5)
58 # define FPSComm_HBLost_mask (0xffff0000)
59 # define FPSComm_HBLost_shift 16
60 # define FPSComm_HBPresent_mask (0x0000ffff)
61 # define FPSComm_HBPresent_shift 0
64 #define U32_TimeSec (4*6)
66 #define U32_TimeFrac (4*7)
69 #define U32_FPSSource (4*8)
72 #define U32_FPSStatus (4*9)
73 # define FPSStatus_NPERMIT (0x1)
74 # define FPSStatus_NOK_AUTO (0x2)
75 # define FPSStatus_NOK_LATCH (0x4)
76 # define FPSStatus_NOK (0x8)
79 #define U32_NOKTimeSec (4*0xa)
81 #define U32_NOKTimeFrac (4*0xb)
83 #define U32_BeamDuty (4*0xc)
86 #define U32_FIFOCode (4*0x20)
88 #define U32_FIFOSec (4*0x21)
90 #define U32_FIFOFrac (4*0x22)
92 #define U32_FIFOSts (4*0x23)
94 #define U32_FIFOEna (4*0x24)
97 #define U32_EvtConfig(N) (4*(0x100+(N)))
98 # define EvtConfig_FIFOUnMap (1u<<24u)
99 # define EvtConfig_Pulse(N) (1u<<(16u+(N)))
100 # define EvtConfig_Set(N) (1u<<(8u+(N)))
101 # define EvtConfig_Clear(N) (1u<<(0u+(N)))
104 #define U32_PulserDelay(N) (4*(0x200+2*(N)))
106 #define U32_PulserWidth(N) (4*(0x201+2*(N)))
109 #define U32_FlashLockout (4*0x801)
111 #define U32_FlashCmdAddr (4*0x802)
113 #define U32_FlashData (4*0x803)
115 #define U32_FlashDataRB (4*0x804)
117 #define U32_FlashCmdWord (4*0x805)
119 #define U32_FlashCmdExec (4*0x806)