29#define INDIV_ADDR(addr, ch) (0x02000000 | ((addr) & 0xFFFF) | ((ch)<<16))
30#define BCAST_ADDR(addr) (0x03000000 | ((addr) & 0xFFFF))
40#define a_acq_ctrl 0x01000000
41#define a_run_mask 0x01000004
42#define a_trg_mask 0x01000008
43#define a_tref_mask 0x0100000C
44#define a_t0_out_mask 0x01000014
45#define a_t1_out_mask 0x01000018
46#define a_veto_mask 0x0100001C
47#define a_tref_delay 0x01000048
48#define a_tref_window 0x0100004C
49#define a_dwell_time 0x01000050
50#define a_list_size 0x01000054
51#define a_pck_maxcnt 0x01000064
52#define a_channel_mask_0 0x01000100
53#define a_channel_mask_1 0x01000104
54#define a_fw_rev 0x01000300
55#define a_acq_status 0x01000304
56#define a_real_time 0x01000308
57#define a_dead_time 0x01000310
58#define a_board_temp 0x01000340
59#define a_fpga_temp 0x01000348
60#define a_pid 0x01000400
61#define a_pcb_rev 0x01000404
62#define a_fers_code 0x01000408
63#define a_rebootfpga 0x0100FFF0
64#define a_test_led 0x01000228
65#define a_tdc_mode 0x0100022C
66#define a_tdc_data 0x01000230
68#define a_sw_compatib 0x01004000
69#define a_commands 0x01008000
74#define a_validation_mask 0x01000010
75#define a_acq_ctrl2 0x01000020
76#define a_dprobe_5202 0x01000068
77#define a_citiroc_cfg 0x01000108
78#define a_citiroc_en 0x0100010C
79#define a_citiroc_probe 0x01000110
80#define a_qd_coarse_thr 0x01000114
81#define a_td_coarse_thr 0x01000118
82#define a_lg_sh_time 0x0100011C
83#define a_hg_sh_time 0x01000120
84#define a_hold_delay 0x01000124
85#define a_amux_seq_ctrl 0x01000128
86#define a_wave_length 0x0100012C
87#define a_scbs_ctrl 0x01000130
88#define a_scbs_data 0x01000134
89#define a_qdiscr_mask_0 0x01000138
90#define a_qdiscr_mask_1 0x0100013C
91#define a_tdiscr_mask_0 0x01000140
92#define a_tdiscr_mask_1 0x01000144
93#define a_tpulse_ctrl 0x01000200
94#define a_tpulse_dac 0x01000204
95#define a_hv_regaddr 0x01000210
96#define a_hv_regdata 0x01000214
97#define a_trgho 0x01000218
98#define a_dc_offset 0x01000220
99#define a_spi_data 0x01000224
100#define a_test_led 0x01000228
101#define a_tdc_mode 0x0100022C
102#define a_tdc_data 0x01000230
103#define a_tlogic_def 0x01000234
104#define a_tlogic_width 0x0100023C
105#define a_hit_width 0x01000238
106#define a_i2c_addr_5202 0x01000240
107#define a_i2c_data_5202 0x01000244
108#define a_t_or_cnt 0x01000350
109#define a_q_or_cnt 0x01000354
110#define a_hv_Vmon 0x01000356
111#define a_hv_Imon 0x01000358
112#define a_hv_status 0x01000360
113#define a_uC_status 0x01000600
114#define a_uC_shutdown 0x01000604
115#define a_zs_lgthr 0x02000000
116#define a_zs_hgthr 0x02000004
117#define a_qd_fine_thr 0x02000008
118#define a_td_fine_thr 0x0200000C
119#define a_lg_gain 0x02000010
120#define a_hg_gain 0x02000014
121#define a_hv_adj 0x02000018
122#define a_hitcnt 0x02000800
127#define a_io_ctrl 0x01000020
128#define a_trg_delay 0x01000060
129#define a_dprobe_5203 0x01000110
130#define a_lsof_almfull_bsy 0x01000068
131#define a_lsof_almfull_skp 0x0100006C
132#define a_trgf_almfull 0x01000070
133#define a_tot_rej_lthr 0x01000074
134#define a_tot_rej_hthr 0x01000078
135#define a_trg_hold_off 0x0100007A
136#define a_strm_ptrg 0x0100007C
137#define a_i2c_addr_5203 0x01000200
138#define a_i2c_data_5203 0x01000204
139#define a_trg_cnt 0x01000318
140#define a_tdcro_status 0x0100031A
141#define a_rej_trg_cnt 0x0100031C
142#define a_zs_trg_cnt 0x01000320
143#define a_clk_out_phase 0x01000330
144#define a_tdc0_temp 0x01000354
145#define a_tdc1_temp 0x01000358
146#define a_spi_data 0x01000224
151#define a_tlogic_mask_0 0x01000140
152#define a_tlogic_mask_1 0x01000144
160#define STATUS_READY (1 << 0)
161#define STATUS_FAIL (1 << 1)
162#define STATUS_RUNNING (1 << 2)
163#define STATUS_TDL_SYNC (1 << 3)
164#define STATUS_FPGA_OVERTEMP (1 << 4)
165#define STATUS_TDC_RO_ERR (1 << 5)
166#define STATUS_TDLINK_LOL (1 << 6)
167#define STATUS_TDC0_LOL (1 << 7)
168#define STATUS_TDC1_LOL (1 << 8)
169#define STATUS_RO_CLK_LOL (1 << 9)
170#define STATUS_TDL_DISABLED (1 << 10)
171#define STATUS_TDC0_OVERTEMP (1 << 11)
172#define STATUS_TDC1_OVERTEMP (1 << 12)
173#define STATUS_BOARD_OVERTEMP (1 << 13)
174#define STATUS_CRC_ERROR (1 << 14)
175#define STATUS_UNUSED_15 (1 << 15)
176#define STATUS_SPI_BUSY (1 << 16)
177#define STATUS_I2C_BUSY (1 << 17)
178#define STATUS_I2C_FAIL (1 << 18)
189#define CMD_TIME_RESET 0x11
190#define CMD_ACQ_START 0x12
191#define CMD_ACQ_STOP 0x13
193#define CMD_RESET 0x15
194#define CMD_TPULSE 0x16
195#define CMD_RES_PTRG 0x17
196#define CMD_CLEAR 0x18
197#define CMD_VALIDATION 0x19
198#define CMD_SET_VETO 0x1A
199#define CMD_CLEAR_VETO 0x1B
200#define CMD_TDL_SYNC 0x1C
201#define CMD_USE_ICLK 0x1E
202#define CMD_USE_ECLK 0x1F
203#define CMD_CFG_ASIC 0x20
210#define crcfg_qdiscr_latch 0
211#define crcfg_sca_bias 1
212#define crcfg_pdet_mode_hg 2
213#define crcfg_pdet_mode_lg 3
214#define crcfg_ps_ctrl_logic 4
215#define crcfg_ps_trg_source 5
216#define crcfg_lg_pa_bias 6
217#define crcfg_pa_fast_sh 7
218#define crcfg_8bit_dac_ref 8
219#define crcfg_ota_bias 9
220#define crcfg_trg_polarity 10
221#define crcfg_enable_chtrg 11
222#define crcfg_enable_gtrg 16
223#define crcfg_enable_veto 17
224#define crcfg_repeat_raz 18
226#define SHAPING_TIME_12_5NS 6
227#define SHAPING_TIME_25NS 5
228#define SHAPING_TIME_37_5NS 4
229#define SHAPING_TIME_50NS 3
230#define SHAPING_TIME_62_5NS 2
231#define SHAPING_TIME_75NS 1
232#define SHAPING_TIME_87_5NS 0
234#define TEST_PULSE_SOURCE_EXT 0
235#define TEST_PULSE_SOURCE_T0_IN 1
236#define TEST_PULSE_SOURCE_T1_IN 2
237#define TEST_PULSE_SOURCE_PTRG 3
238#define TEST_PULSE_SOURCE_SW_CMD 4
240#define TEST_PULSE_PREAMP_LG 1
241#define TEST_PULSE_PREAMP_HG 2
242#define TEST_PULSE_PREAMP_BOTH 3
244#define TEST_PULSE_DEST_ALL 1
245#define TEST_PULSE_DEST_EVEN 2
246#define TEST_PULSE_DEST_ODD 3
247#define TEST_PULSE_DEST_NONE 4
250#define DPROBE_PEAK_LG 1
251#define DPROBE_PEAK_HG 2
253#define DPROBE_START_CONV 4
254#define DPROBE_DATA_COMMIT 5
255#define DPROBE_DATA_VALID 6
256#define DPROBE_CLK_1024 7
257#define DPROBE_VAL_WINDOW 8
259#define DPROBE_Q_OR 10
260#define DPROBE_XROC_TRG 11
262#define GAIN_SEL_AUTO 0
263#define GAIN_SEL_HIGH 1
264#define GAIN_SEL_LOW 2
265#define GAIN_SEL_BOTH 3
267#define FAST_SHAPER_INPUT_HGPA 0
268#define FAST_SHAPER_INPUT_LGPA 1
280#define a_XR_ChControl(i) (0x0000 + (63-i))
281#define a_XR_ASIC_bias 0x0040
282#define a_XR_common_cfg 0x0041
283#define a_XR_out_cfg 0x0042
284#define a_XR_event_val 0x0043
337 uint8_t r2_DAC1b_DAC2a;
338 uint8_t r3_DAC2b_DACqa;
340 uint8_t r5_Ib_thrDac;
341 uint8_t r6_Ib_thrDac;
362#define a_pTDC_Control 0x0004
363#define a_pTDC_Enable 0x0008
364#define a_pTDC_Header 0x000C
365#define a_pTDC_TrgWindow 0x0010
366#define a_pTDC_Trg0Del_ToT 0x0014
367#define a_pTDC_BunchCount 0x0018
368#define a_pTDC_EventID 0x001C
369#define a_pTDC_Ch_Control(i) (0x0020 + (i)*4)
370#define a_pTDC_Buffers 0x0120
371#define a_pTDC_Hit_RX_TX 0x0124
372#define a_pTDC_DLL_TG 0x0128
373#define a_pTDC_PLL1 0x0130
374#define a_pTDC_PLL2 0x0134
375#define a_pTDC_Clocks 0x0138
376#define a_pTDC_ClockShift 0x013C
377#define a_pTDC_Hit_RXen_T 0x0140
378#define a_pTDC_Hit_RXen_B 0x0144
379#define a_pTDC_PulseGen1 0x0148
380#define a_pTDC_PulseGen2 0x014C
381#define a_pTDC_PulseGen3 0x0150
382#define a_pTDC_ErrorFlagCtrl 0x0154
383#define a_pTDC_Ch_Status(i) (0x0160 + (i)*4)
384#define a_pTDC_Trg_Status(i) (0x0260 + (i)*4)
385#define a_pTDC_RO_Status(i) (0x0270 + (i)*4)
386#define a_pTDC_Cfg_Parity(i) (0x0280 + (i)*4)
387#define a_pTDC_PLL_Caps 0x28C
388#define a_pTDC_DelayAdjust 0xFFFC
413 uint32_t reserved1 : 1;
629 uint32_t reserved1 : 4;
769#define I2C_ADDR_TDC(i) (0x63 - (i))
770#define I2C_ADDR_PLL0 0x68
771#define I2C_ADDR_PLL1 0x69
772#define I2C_ADDR_PLL2 0x70
773#define I2C_ADDR_EEPROM_MEM 0x57
774#define I2C_ADDR_XR 0x78
uint8_t r66_ProbeSwitchCmd
uint8_t r7_FCNpdet_FCPpdet
uint8_t r8_FCNpbuf_FCPpbuf
uint8_t r6_pdbuff_pdetect
uint32_t bunchcount_offset
uint32_t tot_leadingstartbit
uint32_t bunchcount_reset
uint32_t tg_cal_parity_in
uint32_t eventid_overflow
uint32_t errorcnts_saturate
uint32_t hrx_bot_filter_leading
uint32_t tg_bot_nen_coarse
uint32_t trigger_buffer_size
uint32_t pll_vco_igen_start
uint32_t bunchcount_overflow
uint32_t pll_afc_override
uint32_t hrx_bot_filter_trailing
uint32_t channel_buffer_size
uint32_t pll_cp_irefcpset
uint32_t hrx_top_filter_trailing
uint32_t readout_buffer_size
uint32_t shift_clk320M_ref
uint32_t pll_railmode_vco
uint32_t tg_top_nen_coarse
uint32_t single_readout_en
uint32_t hrx_top_filter_leading
uint32_t disable_ro_reject
uint32_t pll_afc_overrideval
uint32_t trigger_create_single
uint32_t pll_afc_overridesig