sca-ip-drivers
xtdc_hw.h
1 #include "xil_io.h"
2 
3 #define XTDC_WORD_SIZE 4
4 
5 #define XTDC_DATA_OFFSET 0x00
6 #define XTDC_STATE_OFFSET 0x04
7 
8 #define XTDC_SEL_OFFSET 0x08
9 #define XTDC_COARSE_OFFSET 0x0c
10 #define XTDC_FINE_OFFSET 0x10
11 
12 #define XTDC_DEFAULT_CALIBRATE_IT 8192
13 #define XTDC_CALIBRATE_TARGET 16
14 #define XTDC_COARSE_MAX 0x3
15 #define XTDC_FINE_MAX 0xf
16 
17 #define XTDC_Delay_64(fine, coarse) \
18  ((((u64)(coarse) << 32) | ((u64)(fine) & 0xffffffff)))
19 #define XTDC_Fine_Mask(id) \
20  ~((u32)(0x0000000f << (4 * (id))))
21 #define XTDC_Coarse_Mask(id) \
22  ~((u32)(0x00000003 << (2 * (id))))
23 #define XTDC_Weight_Mask(id) \
24  ~((u32)(0x000000ff << (8 * (id))))
25 #define XTDC_Weight(weights, id) \
26  ((u32)(((weights) & ~XTDC_Weight_Mask(id)) >> (8 * (id))))
27 
28 #define XTDC_ReadReg(addr, offset) \
29  Xil_In32((addr) + (offset))
30 #define XTDC_WriteReg(addr, offset, data) \
31  Xil_Out32((addr) + (offset), (data))
32 
33 #define XTDC_Offset(count, len) \
34  count * len * 2