no-OS
ad9208_reg.h
Go to the documentation of this file.
1 // SPDX-License-Identifier: GPL-2.0
14 #ifndef __AD9208_REGISTERS_H__
15 #define __AD9208_REGISTERS_H__
16 
17 #include "api_def.h"
18 
20  struct adi_reg_data *tbl, uint32_t count);
21 
23  const uint16_t address, uint8_t *data,
24  uint32_t count);
25 int ad9208_adc_select_ch(ad9208_handle_t *h, uint8_t ch);
27 int ad9208_is_sync_spi_update_enabled(ad9208_handle_t *h, uint8_t *enabled);
28 
29 /*Device DEFINITION */
30 #define AD9208_JESD_NOF_LANES 8
31 #define AD9208_JESD_NOF_LINKS 2
32 #define AD9208_JESD_NOF_SYNCOUTB 2
33 #define AD9208_ADC_NOF_CH 2
34 #define AD9208_ADC_CH_INDEX(x) (NO_OS_BIT(x)>>1)
35 /*REGISTER SUMMARY : (AD9208_REGMAP_V4)*/
36 #define AD9208_IF_CFG_A_REG 0x000
37 #define AD9208_IF_CFG_B_REG 0x001
38 #define AD9208_DEV_CFG_REG 0x002
39 #define AD9208_PDN_MODE(x) (((x)&0x3)<<0)
40 
41 #define AD9208_CHIP_TYPE_REG 0x003
42 #define AD9208_PROD_ID_LSB_REG 0x004
43 #define AD9208_PROD_ID_MSB_REG 0x005
44 #define AD9208_CHIP_GRADE_REG 0x006
45 #define AD9208_CH_INDEX_REG 0x008
46 #define AD9208_CH_INDEX_SEL(x) (((x)&0x3)<<0)
47 #define AD9208_CHANNEL_PAGE_0 NO_OS_BIT(0)
48 #define AD9208_CHANNEL_PAGE_1 NO_OS_BIT(1)
49 #define AD9208_CHANNEL_PAGE_2 NO_OS_BIT(2)
50 #define AD9208_CHANNEL_PAGE_3 NO_OS_BIT(3)
51 #define AD9208_CHANNEL_PAGE_4 NO_OS_BIT(4)
52 #define AD9208_CHANNEL_PAGE_5 NO_OS_BIT(5)
53 #define AD9208_MAINDAC_PAGE_0 NO_OS_BIT(6)
54 #define AD9208_MAINDAC_PAGE_1 NO_OS_BIT(7)
55 
56 #define AD9208_CHIP_SPI_XFER_REG 0x000F
57 #define AD9208_CHIP_TRIGGER_SPI_XFER NO_OS_BIT(0)
58 
59 #define AD9208_CHIP_PIN_CTRL0_REG 0x03F
60 #define AD9208_CHIP_PDN_PIN_DISABLE NO_OS_BIT(7)
61 #define AD9208_CHIP_PIN_CTRL1_REG 0x040
62 #define AD9208_CHIP_PDN_MODE(x) (((x)&0xC0)<<6)
63 #define AD9208_CHIP_PIN_CTRL_MASK(x) (0x07 << (3 * (x)))
64 
65 #define AD9208_IP_CLK_CFG_REG 0x0108
66 #define AD9208_IP_CLK_DIV(x) (((x)&0x3)<<0)
67 #define AD9208_IP_CLK_PHASE_ADJ_REG 0x0109
68 #define AD9208_IP_CLK_PHASE_ADJ(x) (((x)&0xF)<<0)
69 
70 #define AD9208_IP_CLK_STAT_REG 0x011B
71 #define AD9208_IP_CLK_DCS1_REG 0x011C
72 #define AD9208_IP_CLK_DCS2_REG 0x011E
73 
74 #define AD9208_SYSREF_CTRL_0_REG 0x0120
75 #define AD9208_SYSREF_MODE_SEL(x) (((x)&0x3)<<1)
76 #define AD9208_SYSREF_CTRL_1_REG 0x0121
77 #define AD9208_SYSREF_TRANSITION_SEL(x) (((x)&0x1)<<4)
78 #define AD9208_SYSREF_CLK_EDGE_SEL(x) (((x)&0x1)<<3)
79 #define AD9208_SYSREF_NSHOT_IGNORE(x) (((x)&0xF)<<0)
80 #define AD9208_SYSREF_CTRL_2_REG 0x0122
81 #define AD9208_SYSREF_WIN_NEG(x) (((x)&0x3)<<2)
82 #define AD9208_SYSREF_WIN_POS(x) (((x)&0x3)<<0)
83 #define AD9208_SYSREF_CTRL_3_REG 0x0123
84 #define AD9208_SYSREF_TS_DELAY(x) (((x)&0x7F)<<0)
85 
86 #define AD9208_SYSREF_STAT_0_REG 0x0128
87 #define AD9208_SYSREF_STAT_1_REG 0x0129
88 #define AD9208_SYSREF_STAT_2_REG 0x012A
89 
90 #define AD9208_BUFF_CFG_P_REG 0x1A4C
91 #define AD9208_BUFF_CTRL_P(x) (((x)&0x3F)<<0)
92 #define AD9208_BUFF_CFG_N_REG 0x1A4D
93 #define AD9208_BUFF_CTRL_N(x) (((x)&0x3F)<<0)
94 
95 #define AD9208_CHIP_SYNC_MODE_REG 0x01FF
96 #define AD9208_SYNC_TS_ENABLE NO_OS_BIT(0)
97 
98 #define AD9208_ADC_MODE_REG 0x0200
99 #define AD9208_ADC_MODE(x) (((x)&0x3)<<0)
100 #define AD9208_ADC_Q_IGNORE NO_OS_BIT(5)
101 
102 #define AD9208_ADC_DCM_REG 0x0201
103 #define AD9208_ADC_DCM_RATE(x) (((x)&0xF)<<0)
104 #define AD9208_DCM_NONE 0x0
105 #define AD9208_DCM2_EN NO_OS_BIT(0)
106 #define AD9208_DCM4_EN NO_OS_BIT(1)
107 #define AD9208_DCM16_EN NO_OS_BIT(2)
108 #define AD9208_DCM3_EN NO_OS_BIT(3)
109 
110 #define AD9208_FD_UT_LSB_REG 0x0247
111 #define AD9208_FD_UT_LSB(x) (((x)&0xFF)<<0)
112 #define AD9208_FD_UT_MSB_REG 0x0248
113 #define AD9208_FD_UT_MSB(x) (((x>>8)&0x1F)<<0)
114 #define AD9208_FD_LT_LSB_REG 0x0249
115 #define AD9208_FD_LT_LSB(x) (((x)&0xFF)<<0)
116 #define AD9208_FD_LT_MSB_REG 0x024A
117 #define AD9208_FD_LT_MSB(x) (((x>>8)&0x1F)<<0)
118 
119 #define AD9208_FD_DWELL_LSB_REG 0x024B
120 #define AD9208_FD_DWELL_LSB(x) (((x)&0xFF)<<0)
121 #define AD9208_FD_DWELL_MSB_REG 0x024C
122 #define AD9208_FD_DWELL_MSB(x) (((x>>8)&0xFF)<<0)
123 
124 #define AD9208_DDC_SYNC_CTRL_REG 0x0300
125 #define AD9208_DDC_UPDATE_MODE NO_OS_BIT(7)
126 #define AD9208_NCO_SOFT_RESET NO_OS_BIT(4)
127 #define AD9208_NCO_SYSREF_N_SHOT_MODE NO_OS_BIT(1)
128 #define AD9208_NCO_SYSREF_SYNC_EN NO_OS_BIT(0)
129 
130 #define AD9208_DDCX_REG_OFFSET 0x20
131 #define AD9208_DDCX_CTRL0_REG 0x0310
132 #define AD9208_DDCX_MIXER_SEL NO_OS_BIT(7)
133 #define AD9208_DDCX_GAIN_SEL NO_OS_BIT(6)
134 #define AD9208_DDCX_NCO_IF_MODE(x) (((x)&0x3)<<4)
135 #define AD9208_DDCX_COMPLEX_TO_REAL NO_OS_BIT(3)
136 #define AD9208_DDCX_DCM_FILT_SEL_0(x) (((x)&0x7)<<0)
137 
138 #define AD9208_DDCX_DATA_SEL_REG 0x0311
139 #define AD9208_DDCX_DCM_FILT_SEL_1(x) (((x)&0xF)<<4)
140 #define AD9208_DDCX_Q_IP_CHB_SEL NO_OS_BIT(2)
141 #define AD9208_DDCX_I_IP_CHB_SEL NO_OS_BIT(0)
142 
143 #define AD9208_DDCX_FTW0_REG 0x0316
144 #define AD9208_DDCX_FTW1_REG 0x0317
145 #define AD9208_DDCX_FTW2_REG 0x0318
146 #define AD9208_DDCX_FTW3_REG 0x0319
147 #define AD9208_DDCX_FTW4_REG 0x031A
148 #define AD9208_DDCX_FTW5_REG 0x031B
149 
150 #define AD9208_DDCX_PO0_REG 0x031D
151 #define AD9208_DDCX_PO1_REG 0x031E
152 #define AD9208_DDCX_PO2_REG 0x031F
153 #define AD9208_DDCX_PO3_REG 0x0320
154 #define AD9208_DDCX_PO4_REG 0x0321
155 #define AD9208_DDCX_PO5_REG 0x0322
156 
157 #define AD9208_DDCX_FRAC_REG_OFFSET 0x10
158 #define AD9208_DDCX_MAW0_REG 0x0390
159 #define AD9208_DDCX_MAW1_REG 0x0391
160 #define AD9208_DDCX_MAW2_REG 0x0392
161 #define AD9208_DDCX_MAW3_REG 0x0393
162 #define AD9208_DDCX_MAW4_REG 0x0394
163 #define AD9208_DDCX_MAW5_REG 0x0395
164 
165 #define AD9208_DDCX_MBW0_REG 0x0398
166 #define AD9208_DDCX_MBW1_REG 0x0399
167 #define AD9208_DDCX_MBW2_REG 0x039A
168 #define AD9208_DDCX_MBW3_REG 0x039B
169 #define AD9208_DDCX_MBW4_REG 0x039C
170 #define AD9208_DDCX_MBW5_REG 0x039D
171 
172 #define AD9208_REG_TEST_MODE 0x0550
173 
174 #define AD9208_TESTMODE_OFF 0x0
175 #define AD9208_TESTMODE_MIDSCALE_SHORT 0x1
176 #define AD9208_TESTMODE_POS_FULLSCALE 0x2
177 #define AD9208_TESTMODE_NEG_FULLSCALE 0x3
178 #define AD9208_TESTMODE_ALT_CHECKERBOARD 0x4
179 #define AD9208_TESTMODE_PN23_SEQ 0x5
180 #define AD9208_TESTMODE_PN9_SEQ 0x6
181 #define AD9208_TESTMODE_ONE_ZERO_TOGGLE 0x7
182 #define AD9208_TESTMODE_USER 0x8
183 #define AD9208_TESTMODE_RAMP 0xF
184 
185 #define AD9208_REG_OUTPUT_MODE 0x0561
186 #define AD9208_OUTPUT_MODE_OFFSET_BINARY 0x0
187 #define AD9208_OUTPUT_MODE_TWOS_COMPLEMENT 0x1
188 
189 #define AD9208_OP_MODE_CTRL_1_REG 0x0559
190 #define AD9208_OP_MODE_CTRL_2_REG 0x055A
191 #define AD9208_OP_CONV_CTRL_BIT_SEL(x) (((x)&0xF)>>0)
192 #define AD9208_OP_OVERANGE_CLR_REG 0x0562
193 #define AD9208_OP_OVERANGE_STAT_REG 0x0563
194 
195 #define AD9208_JESD_LMFC_OFFSET_REG 0x0578
196 #define AD9208_JESD_LMFC_OFFSET(x) (((x)&0x1F)>>0)
197 
198 #define AD9208_JESD_SERDES_PLL_CFG_REG 0x056E
199 #define AD9208_JESD_SLR_CTRL(x) (((x)&0xF)<<4)
200 
201 #define AD9208_JESD_SERDES_PLL_REG 0x056F
202 #define AD9208_JESD_PLL_LOCK_STAT NO_OS_BIT(7)
203 
204 #define AD9208_JESD_LINK_CTRL1_REG 0x0571
205 #define AD9208_JESD_LINK_PDN NO_OS_BIT(0)
206 
207 #define AD9208_JESD_ID_CFG_REG_OFFSET 0x3
208 #define AD9208_JESD_DID_CFG_REG 0x0580
209 #define AD9208_JESD_BID_CFG_REG 0x0581
210 #define AD9208_JESD_BID(x) (((x)&0xF)<<0)
211 #define AD9208_JESD_LID0_CFG_REG 0x0583
212 #define AD9208_JESD_LID0(x) (((x)&0x1F)<<0)
213 
214 #define AD9208_JESD_CFG_REG_OFFSET 0x8
215 #define AD9208_JESD_L_SCR_CFG_REG 0x058B
216 #define AD9208_JESD_SCR_EN NO_OS_BIT(7)
217 #define AD9208_JESD_LANES(x) (((x)&0x1F)<<0)
218 
219 #define AD9208_JESD_F_CFG_REG 0x058C
220 #define AD9208_JESD_F(x) (((x)&0xF)<<0)
221 
222 #define AD9208_JESD_K_CFG_REG 0x058D
223 #define AD9208_JESD_K(x) (((x)&0x1F)<<0)
224 
225 #define AD9208_JESD_M_CFG_REG 0x058E
226 #define AD9208_JESD_M(x) (((x)&0x7)<<0)
227 
228 #define AD9208_JESD_CS_N_CFG_REG 0x058F
229 #define AD9208_JESD_CS(x) (((x)&0x3)<<6)
230 #define AD9208_JESD_N(x) (((x)&0x1F)<<0)
231 
232 #define AD9208_JESD_SCV_NP_CFG_REG 0x0590
233 #define AD9208_JESD_SUBCLASS(x) (((x)&0x7)<<5)
234 #define AD9208_JESD_NP(x) (((x)&0x1F)<<0)
235 #define AD9208_JESD_S_CFG_REG 0x0591
236 #define AD9208_JESD_S(x) (((x)&0x1F)<<0)
237 
238 #define AD9208_JESD_HD_CF_CFG_REG 0x0592
239 #define AD9208_JESD_HD NO_OS_BIT(7)
240 #define AD9208_JESD_CF(x) (((x)&0x1F)<<0)
241 
242 #define AD9208_JESD_XBAR_CFG_REG_OFFSET 0x5
243 #define AD9208_JESD_XBAR_CFG_REG 0x05B2
244 #define AD9208_JESD_XBAR_LN_EVEN(x) (((x)&0x7) << 0)
245 #define AD9208_JESD_XBAR_LN_ODD(x) (((x)&0x7) << 4)
246 
247 #define AD9208_DC_OFFSET_CAL_CTRL 0x0701
248 #define AD9208_DC_OFFSET_CAL_EN NO_OS_BIT(7)
249 
250 #define AD9208_VREF_CTRL_REG 0x18A6
251 #define AD9208_EXT_VREF_MODE NO_OS_BIT(0)
252 
253 #define AD9208_EXT_VCM_CTRL_REG 0x18E3
254 #define AD9208_EXT_VCM_BUFF NO_OS_BIT(6)
255 #define AD9208_EXT_VCM_BUFF_CURR(x) (((x)&0x3F) << 0)
256 
257 #define AD9208_TEMP_DIODE_CTRL_REG 0x18E6
258 #define AD9208_CENTRAL_DIODE_1X_EN NO_OS_BIT(0)
259 #define AD9208_CENTRAL_DIODE_20X_EN NO_OS_BIT(1)
260 
261 #define AD9208_ANALOG_CFG_REG 0x1908
262 #define AD9208_DC_COUPLE_EN(x) (((x)&0x1)<<2)
263 
264 #define AD9208_FULL_SCALE_CFG_REG 0x1910
265 #define AD9208_TRM_VREF(x) (((x)&0xF)<<0)
266 
267 #endif /*__AD9208_REG_H__*/
AD9208_JESD_HD
#define AD9208_JESD_HD
Definition: ad9208_reg.h:239
AD9208_JESD_N
#define AD9208_JESD_N(x)
Definition: ad9208_reg.h:230
AD9208_SYSREF_WIN_NEG
#define AD9208_SYSREF_WIN_NEG(x)
Definition: ad9208_reg.h:81
LANE_RATE_MIN_MBPS
#define LANE_RATE_MIN_MBPS
Definition: ad9208_jesd_api.c:27
AD9208_JESD_M_CFG_REG
#define AD9208_JESD_M_CFG_REG
Definition: ad9208_reg.h:225
ad9208_register_write
int ad9208_register_write(ad9208_handle_t *h, const uint16_t address, const uint8_t data)
Perform SPI register write access to AD9208 Device.
Definition: ad9208_reg.c:21
API_ERROR_INVALID_HANDLE_PTR
#define API_ERROR_INVALID_HANDLE_PTR
Definition: api_errors.h:29
adi_reg_data
Definition: api_def.h:156
jesd_param_t::jesd_CS
uint8_t jesd_CS
Definition: api_def.h:242
N_MIN
#define N_MIN
Definition: ad9208_jesd_api.c:24
API_ERROR_INVALID_XFER_PTR
#define API_ERROR_INVALID_XFER_PTR
Definition: api_errors.h:31
AD9208_OP_MODE_CTRL_1_REG
#define AD9208_OP_MODE_CTRL_1_REG
Definition: ad9208_reg.h:189
AD9208_CHIP_SPI_XFER_REG
#define AD9208_CHIP_SPI_XFER_REG
Definition: ad9208_reg.h:56
AD9208_JESD_DID_CFG_REG
#define AD9208_JESD_DID_CFG_REG
Definition: ad9208_reg.h:208
N_MAX
#define N_MAX
Definition: ad9208_jesd_api.c:25
LANE_RATE_MAX_MBPS
#define LANE_RATE_MAX_MBPS
Definition: ad9208_jesd_api.c:28
AD9208_JESD_BID
#define AD9208_JESD_BID(x)
Definition: ad9208_reg.h:210
AD9208_SYSREF_TS_DELAY
#define AD9208_SYSREF_TS_DELAY(x)
Definition: ad9208_reg.h:84
AD9208_CHIP_SYNC_MODE_REG
#define AD9208_CHIP_SYNC_MODE_REG
Definition: ad9208_reg.h:95
AD9208_CB_SIGNAL_MON
@ AD9208_CB_SIGNAL_MON
Definition: ad9208_jesd_api.c:33
jesd_param_t::jesd_L
uint8_t jesd_L
Definition: api_def.h:232
AD9208_JESD_CF
#define AD9208_JESD_CF(x)
Definition: ad9208_reg.h:240
ad9208_jesd_syref_lmfc_offset_set
int ad9208_jesd_syref_lmfc_offset_set(ad9208_handle_t *h, uint8_t offset)
Set JESD LMFC Offset.
Definition: ad9208_jesd_api.c:648
ad9208_handle_t
Definition: ad9208_api.h:79
jesd_param_t::jesd_N
uint8_t jesd_N
Definition: api_def.h:239
ad9208_handle_t::user_data
void * user_data
Definition: ad9208_api.h:80
AD9208_DDC_SYNC_CTRL_REG
#define AD9208_DDC_SYNC_CTRL_REG
Definition: ad9208_reg.h:124
ad9208_register_read
int ad9208_register_read(ad9208_handle_t *h, const uint16_t address, uint8_t *data)
Perform SPI register read access to AD9208 Device.
Definition: ad9208_reg.c:41
AD9208_JESD_SUBCLASS
#define AD9208_JESD_SUBCLASS(x)
Definition: ad9208_reg.h:233
AD9208_JESD_LID0
#define AD9208_JESD_LID0(x)
Definition: ad9208_reg.h:212
ad9208_register_chip_transfer
int ad9208_register_chip_transfer(ad9208_handle_t *h)
Definition: ad9208_reg.c:113
AD9208_JESD_SERDES_PLL_CFG_REG
#define AD9208_JESD_SERDES_PLL_CFG_REG
Definition: ad9208_reg.h:198
ad9208_handle_t::adc_clk_freq_hz
uint64_t adc_clk_freq_hz
Definition: ad9208_api.h:87
ad9208_jesd_get_pll_status
int ad9208_jesd_get_pll_status(ad9208_handle_t *h, uint8_t *pll_status)
Get SERDES PLL Status Flags.
Definition: ad9208_jesd_api.c:418
AD9208_JESD_CS_N_CFG_REG
#define AD9208_JESD_CS_N_CFG_REG
Definition: ad9208_reg.h:228
ad9208_register_write_tbl
int ad9208_register_write_tbl(ad9208_handle_t *h, struct adi_reg_data *tbl, uint32_t count)
Definition: ad9208_reg.c:79
AD9208_JESD_XBAR_LN_ODD
#define AD9208_JESD_XBAR_LN_ODD(x)
Definition: ad9208_reg.h:245
CF_DEFAULT
#define CF_DEFAULT
Definition: ad9208_jesd_api.c:26
AD9208_JESD_XBAR_LN_EVEN
#define AD9208_JESD_XBAR_LN_EVEN(x)
Definition: ad9208_reg.h:244
AD9208_JESD_LINK_CTRL1_REG
#define AD9208_JESD_LINK_CTRL1_REG
Definition: ad9208_reg.h:204
NO_OS_ARRAY_SIZE
#define NO_OS_ARRAY_SIZE(x)
Definition: no_os_util.h:53
jesd_serdes_pll_cfg
Definition: ad9208_jesd_api.c:49
JESD_SUBCLASS_INVALID
@ JESD_SUBCLASS_INVALID
Definition: api_def.h:254
API_ERROR_SPI_XFER
#define API_ERROR_SPI_XFER
Definition: api_errors.h:49
ad9208_is_sync_spi_update_enabled
int ad9208_is_sync_spi_update_enabled(ad9208_handle_t *h, uint8_t *enabled)
Definition: ad9208_reg.c:97
AD9208_JESD_XBAR_CFG_REG
#define AD9208_JESD_XBAR_CFG_REG
Definition: ad9208_reg.h:243
AD9208_JESD_ID_CFG_REG_OFFSET
#define AD9208_JESD_ID_CFG_REG_OFFSET
Definition: ad9208_reg.h:207
AD9208_SYSREF_CTRL_1_REG
#define AD9208_SYSREF_CTRL_1_REG
Definition: ad9208_reg.h:76
AD9208_SYSREF_CTRL_2_REG
#define AD9208_SYSREF_CTRL_2_REG
Definition: ad9208_reg.h:80
ad9208_get_decimation
int ad9208_get_decimation(ad9208_handle_t *h, uint8_t *dcm)
Definition: ad9208_adc_api.c:82
jesd_param_t::jesd_S
uint8_t jesd_S
Definition: api_def.h:235
K_MAX
#define K_MAX
Definition: ad9208_jesd_api.c:20
ad9208_handle_t::dev_xfer
spi_xfer_t dev_xfer
Definition: ad9208_api.h:81
ad9208_is_sync_spi_update_enabled
int ad9208_is_sync_spi_update_enabled(ad9208_handle_t *h, uint8_t *enabled)
Definition: ad9208_reg.c:97
AD9208_SYSREF_MODE_SEL
#define AD9208_SYSREF_MODE_SEL(x)
Definition: ad9208_reg.h:75
ad9208_register_read_block
int ad9208_register_read_block(ad9208_handle_t *h, const uint16_t address, uint8_t *data, uint32_t count)
Definition: ad9208_reg.c:63
jesd_serdes_pll_cfg::slr_lwr_thres
uint64_t slr_lwr_thres
Definition: ad9208_jesd_api.c:50
ad9208_register_write_tbl
int ad9208_register_write_tbl(ad9208_handle_t *h, struct adi_reg_data *tbl, uint32_t count)
Definition: ad9208_reg.c:79
jesd_param_t::jesd_NP
uint8_t jesd_NP
Definition: api_def.h:240
AD9208_SYSREF_STAT_1_REG
#define AD9208_SYSREF_STAT_1_REG
Definition: ad9208_reg.h:87
jesd_param_t
Definition: api_def.h:231
AD9208_CHIP_TRIGGER_SPI_XFER
#define AD9208_CHIP_TRIGGER_SPI_XFER
Definition: ad9208_reg.h:57
AD9208_CB_FAST_DETECT
@ AD9208_CB_FAST_DETECT
Definition: ad9208_jesd_api.c:34
ad9208_control_bit_sel
ad9208_control_bit_sel
Definition: ad9208_jesd_api.c:30
ad9208_adc_select_ch
int ad9208_adc_select_ch(ad9208_handle_t *h, uint8_t ch)
jesd_param_t::jesd_LID0
uint8_t jesd_LID0
Definition: api_def.h:246
jesd_sysref_mode_t
jesd_sysref_mode_t
Definition: api_def.h:222
ad9208_jesd_syref_status_get
int ad9208_jesd_syref_status_get(ad9208_handle_t *h, uint8_t *hold_status, uint8_t *setup_status, uint8_t *phase_status)
Get SYSREF status for sysref monitoring.
Definition: ad9208_jesd_api.c:547
AD9208_SYSREF_CTRL_0_REG
#define AD9208_SYSREF_CTRL_0_REG
Definition: ad9208_reg.h:74
ad9208_jesd_set_if_config
int ad9208_jesd_set_if_config(ad9208_handle_t *h, jesd_param_t jesd_param, uint64_t *lane_rate_kbps)
Configure the JESD Interface for AD9208.
Definition: ad9208_jesd_api.c:163
AD9208_JESD_CS
#define AD9208_JESD_CS(x)
Definition: ad9208_reg.h:229
jesd_param_t::jesd_F
uint8_t jesd_F
Definition: api_def.h:233
NO_OS_DIV_U64
#define NO_OS_DIV_U64(x, y)
Definition: no_os_util.h:113
AD9208_JESD_K_CFG_REG
#define AD9208_JESD_K_CFG_REG
Definition: ad9208_reg.h:222
AD9208_JESD_CFG_REG_OFFSET
#define AD9208_JESD_CFG_REG_OFFSET
Definition: ad9208_reg.h:214
AD9208_JESD_SCR_EN
#define AD9208_JESD_SCR_EN
Definition: ad9208_reg.h:216
AD9208_CB_SYSREF
@ AD9208_CB_SYSREF
Definition: ad9208_jesd_api.c:35
ad9208_register_read_block
int ad9208_register_read_block(ad9208_handle_t *h, const uint16_t address, uint8_t *data, uint32_t count)
Definition: ad9208_reg.c:63
ad9208_register_read
int ad9208_register_read(ad9208_handle_t *h, const uint16_t address, uint8_t *data)
Perform SPI register read access to AD9208 Device.
Definition: ad9208_reg.c:41
ALL
#define ALL
Definition: api_def.h:27
AD9208_JESD_SERDES_PLL_REG
#define AD9208_JESD_SERDES_PLL_REG
Definition: ad9208_reg.h:201
AD9208_SYSREF_CTRL_3_REG
#define AD9208_SYSREF_CTRL_3_REG
Definition: ad9208_reg.h:83
jesd_param_t::jesd_HD
uint8_t jesd_HD
Definition: api_def.h:237
jesd_serdes_pll_cfg::slr_upr_thres
uint64_t slr_upr_thres
Definition: ad9208_jesd_api.c:51
IN_OUT_BUFF_SZ
#define IN_OUT_BUFF_SZ
Definition: ad9208_reg.c:19
AD9208_CB_OVR_RANGE
@ AD9208_CB_OVR_RANGE
Definition: ad9208_jesd_api.c:32
api_errors.h
API error codes header file.
AD9208_JESD_L_SCR_CFG_REG
#define AD9208_JESD_L_SCR_CFG_REG
Definition: ad9208_reg.h:215
jesd_param_t::jesd_BID
uint8_t jesd_BID
Definition: api_def.h:245
AD9208_JESD_LMFC_OFFSET
#define AD9208_JESD_LMFC_OFFSET(x)
Definition: ad9208_reg.h:196
AD9208_OP_CONV_CTRL_BIT_SEL
#define AD9208_OP_CONV_CTRL_BIT_SEL(x)
Definition: ad9208_reg.h:191
AD9208_OP_MODE_CTRL_2_REG
#define AD9208_OP_MODE_CTRL_2_REG
Definition: ad9208_reg.h:190
AD9208_SYSREF_NSHOT_IGNORE
#define AD9208_SYSREF_NSHOT_IGNORE(x)
Definition: ad9208_reg.h:79
ad9208_jesd_set_lane_xbar
int ad9208_jesd_set_lane_xbar(ad9208_handle_t *h, uint8_t logical_lane, uint8_t physical_lane)
Configure the Lane Cross Bar in the JESD datalink layer.
Definition: ad9208_jesd_api.c:335
AD9208_JESD_F
#define AD9208_JESD_F(x)
Definition: ad9208_reg.h:220
AD9208_SYSREF_WIN_POS
#define AD9208_SYSREF_WIN_POS(x)
Definition: ad9208_reg.h:82
SYSREF_MON
@ SYSREF_MON
Definition: api_def.h:226
ad9208_reg.h
AD9208 SPI Register Definition Header File.
ad9208_jesd_subclass_set
int ad9208_jesd_subclass_set(ad9208_handle_t *h, uint8_t subclass)
Set JESD SYNCHRONIZATION Mode.
Definition: ad9208_jesd_api.c:436
ad9208_api.h
K_MIN
#define K_MIN
Definition: ad9208_jesd_api.c:19
ad9208_jesd_get_cfg_param
int ad9208_jesd_get_cfg_param(ad9208_handle_t *h, jesd_param_t *jesd_param)
Read back all current JESD parameter settings.
Definition: ad9208_jesd_api.c:263
ad9208_jesd_get_lane_xbar
int ad9208_jesd_get_lane_xbar(ad9208_handle_t *h, uint8_t *phy_log_map)
Get current Lane Cross Bar configuration for the JESD datalink layer.
Definition: ad9208_jesd_api.c:389
AD9208_JESD_SCV_NP_CFG_REG
#define AD9208_JESD_SCV_NP_CFG_REG
Definition: ad9208_reg.h:232
API_ERROR_INVALID_PARAM
#define API_ERROR_INVALID_PARAM
Definition: api_errors.h:35
api_def.h
API definitions header file.
AD9208_JESD_K
#define AD9208_JESD_K(x)
Definition: ad9208_reg.h:223
ad9208_jesd_sysref_timestamp_set
int ad9208_jesd_sysref_timestamp_set(ad9208_handle_t *h, uint8_t timestamp_en, uint8_t control_bit, uint8_t delay)
Set JESD SYNCHRONIZATION Time Stamp Mode.
Definition: ad9208_jesd_api.c:573
LANE_MAX
#define LANE_MAX
Definition: ad9208_jesd_api.c:22
AD9208_JESD_S
#define AD9208_JESD_S(x)
Definition: ad9208_reg.h:236
jesd_param_t::jesd_K
uint8_t jesd_K
Definition: api_def.h:238
AD9208_DDC_UPDATE_MODE
#define AD9208_DDC_UPDATE_MODE
Definition: ad9208_reg.h:125
ad9208_jesd_enable_link
int ad9208_jesd_enable_link(ad9208_handle_t *h, uint8_t en)
Enable JESD Link.
Definition: ad9208_jesd_api.c:132
NULL
#define NULL
Definition: wrapper.h:64
AD9208_SYSREF_TRANSITION_SEL
#define AD9208_SYSREF_TRANSITION_SEL(x)
Definition: ad9208_reg.h:77
ad9208_jesd_syref_config_set
int ad9208_jesd_syref_config_set(ad9208_handle_t *h, uint8_t sysref_edge_sel, uint8_t clk_edge_sel, uint8_t neg_window_skew, uint8_t pos_window_skew)
Set SYSREF Signal Capture settings.
Definition: ad9208_jesd_api.c:512
jesd_serdes_pll_cfg::vco_cfg
uint8_t vco_cfg
Definition: ad9208_jesd_api.c:52
AD9208_SYSREF_STAT_0_REG
#define AD9208_SYSREF_STAT_0_REG
Definition: ad9208_reg.h:86
AD9208_CB_LOW
@ AD9208_CB_LOW
Definition: ad9208_jesd_api.c:31
AD9208_SYNC_TS_ENABLE
#define AD9208_SYNC_TS_ENABLE
Definition: ad9208_reg.h:96
AD9208_JESD_XBAR_CFG_REG_OFFSET
#define AD9208_JESD_XBAR_CFG_REG_OFFSET
Definition: ad9208_reg.h:242
AD9208_SYSREF_CLK_EDGE_SEL
#define AD9208_SYSREF_CLK_EDGE_SEL(x)
Definition: ad9208_reg.h:78
AD9208_JESD_NP
#define AD9208_JESD_NP(x)
Definition: ad9208_reg.h:234
jesd_param_t::jesd_M
uint8_t jesd_M
Definition: api_def.h:234
ad9208_jesd_syref_mode_set
int ad9208_jesd_syref_mode_set(ad9208_handle_t *h, jesd_sysref_mode_t mode, uint8_t sysref_count)
Set JESD SYNCHRONIZATION Mode.
Definition: ad9208_jesd_api.c:457
API_ERROR_OK
#define API_ERROR_OK
Definition: api_errors.h:25
AD9208_JESD_M
#define AD9208_JESD_M(x)
Definition: ad9208_reg.h:226
jesd_param_t::jesd_CF
uint8_t jesd_CF
Definition: api_def.h:241
AD9208_JESD_LANES
#define AD9208_JESD_LANES(x)
Definition: ad9208_reg.h:217
CS_MAX
#define CS_MAX
Definition: ad9208_jesd_api.c:23
ad9208_jesd_enable_scrambler
int ad9208_jesd_enable_scrambler(ad9208_handle_t *h, uint8_t en)
Enable the scrambler for the JESD Link.
Definition: ad9208_jesd_api.c:311
AD9208_JESD_LMFC_OFFSET_REG
#define AD9208_JESD_LMFC_OFFSET_REG
Definition: ad9208_reg.h:195
jesd_param_t::jesd_DID
uint8_t jesd_DID
Definition: api_def.h:244
AD9208_JESD_LINK_PDN
#define AD9208_JESD_LINK_PDN
Definition: ad9208_reg.h:205
SYSREF_ONESHOT
@ SYSREF_ONESHOT
Definition: api_def.h:224
AD9208_JESD_SLR_CTRL
#define AD9208_JESD_SLR_CTRL(x)
Definition: ad9208_reg.h:199
AD9208_JESD_F_CFG_REG
#define AD9208_JESD_F_CFG_REG
Definition: ad9208_reg.h:219
ad9208_register_chip_transfer
int ad9208_register_chip_transfer(ad9208_handle_t *h)
Definition: ad9208_reg.c:113
ad9208_register_write
int ad9208_register_write(ad9208_handle_t *h, const uint16_t address, const uint8_t data)
Perform SPI register write access to AD9208 Device.
Definition: ad9208_reg.c:21