sca-ip-drivers
xtdc.h
1 
17 #ifndef XTDC_H
18 #define XTDC_H
19 
20 #include "xil_io.h"
21 #include "xstatus.h"
22 #include "xtdc_hw.h"
23 #include <limits.h>
24 #include <stdio.h>
25 
26 #define DIST(a, b) ((a) > (b) ? (a) - (b) : (b) - (a))
27 
28 
29 typedef struct
30 {
31  u16 DeviceId;
32  u32 BaseAddr;
33  u8 Depth;
34  u8 Count;
35 } XTDC_Config;
36 
37 typedef struct
38 {
39  XTDC_Config Config;
40  u32 IsReady;
41  u32 IsStarted;
42  u32 Fine;
43  u32 Coarse;
44 } XTDC;
45 
46 #define XTDC_SetId(BaseAddr, Id) \
47  XTDC_WriteReg((BaseAddr), XTDC_SEL_OFFSET, (Id))
48 
49 #define XTDC_ReadState(BaseAddr) \
50  XTDC_ReadReg((BaseAddr), XTDC_STATE_OFFSET)
51 
52 #define XTDC_ReadData(BaseAddr) \
53  XTDC_ReadReg((BaseAddr), XTDC_DATA_OFFSET)
54 
55 XTDC_Config XTDC_ConfigTable[];
56 
57 u8 XTDC_StateWeight(u32 value);
58 
59 int XTDC_BitPolarity(u32 value);
60 
61 int XTDC_CfgInitialize(XTDC *InstancePtr, XTDC_Config *ConfigPtr);
62 
66 void XTDC_WriteDelay(XTDC *InstancePtr, int Id, u32 fine, u32 coarse);
67 
68 u64 XTDC_ReadDelay(XTDC *InstancePtr, int Id);
69 
81 u64 XTDC_Calibrate(XTDC *InstancePtr, int iterations, int verbose);
82 
83 #endif //XTDC_H
Definition: xtdc.h:37
Definition: xtdc.h:29