Go to the documentation of this file.
57 #define ADF4377_REG(x) (x)
60 #define ADF4377_SOFT_RESET_R_MSK NO_OS_BIT(7)
61 #define ADF4377_SOFT_RESET_R(x) no_os_field_prep(ADF4377_SOFT_RESET_R_MSK, x)
62 #define ADF4377_SOFT_RESET_MSK NO_OS_BIT(0)
63 #define ADF4377_SOFT_RESET(x) no_os_field_prep(ADF4377_SOFT_RESET_MSK, x)
64 #define ADF4377_LSB_FIRST_R_MSK NO_OS_BIT(6)
65 #define ADF4377_LSB_FIRST_R(x) no_os_field_prep(ADF4377_LSB_FIRST_R_MSK, x)
66 #define ADF4377_LSB_FIRST_MSK NO_OS_BIT(1)
67 #define ADF4377_LSB_FIRST(x) no_os_field_prep(ADF4377_LSB_FIRST_MSK, x)
68 #define ADF4377_ADDRESS_ASC_R_MSK NO_OS_BIT(5)
69 #define ADF4377_ADDRESS_ASC_R(x) no_os_field_prep(ADF4377_ADDRESS_ASC_R_MSK, x)
70 #define ADF4377_ADDRESS_ASC_MSK NO_OS_BIT(2)
71 #define ADF4377_ADDRESS_ASC(x) no_os_field_prep(ADF4377_ADDRESS_ASC_MSK, x)
72 #define ADF4377_SDO_ACTIVE_R_MSK NO_OS_BIT(4)
73 #define ADF4377_SDO_ACTIVE_R(x) no_os_field_prep(ADF4377_SDO_ACTIVE_R_MSK, x)
74 #define ADF4377_SDO_ACTIVE_MSK NO_OS_BIT(3)
75 #define ADF4377_SDO_ACTIVE(x) no_os_field_prep(ADF4377_SDO_ACTIVE_MSK, x)
78 #define ADF4377_SDO_ACTIVE_SPI_3W 0x0
79 #define ADF4377_SDO_ACTIVE_SPI_4W 0x1
81 #define ADF4377_ADDR_ASC_AUTO_DECR 0x0
82 #define ADF4377_ADDR_ASC_AUTO_INCR 0x1
84 #define ADF4377_LSB_FIRST_MSB 0x0
85 #define ADF4377_LSB_FIRST_LSB 0x1
87 #define ADF4377_SOFT_RESET_N_OP 0x0
88 #define ADF4377_SOFT_RESET_EN 0x1
91 #define ADF4377_SINGLE_INSTR_MSK NO_OS_BIT(7)
92 #define ADF4377_SINGLE_INSTR(x) no_os_field_prep(ADF4377_SINGLE_INSTRUCTION_MSK, x)
93 #define ADF4377_MASTER_RB_CTRL_MSK NO_OS_BIT(5)
94 #define ADF4377_MASTER_RB_CTRL(x) no_os_field_prep(ADF4377_MASTER_RB_CTRL_MSK, x)
97 #define ADF4377_SPI_STREAM_EN 0x0
98 #define ADF4377_SPI_STREAM_DIS 0x1
100 #define ADF4377_RB_SLAVE_REG 0x0
101 #define ADF4377_RB_MASTER_REG 0x1
104 #define ADF4377_CHIP_TYPE 0x06
107 #define ADF4377_PRODUCT_ID_LSB 0x0005
110 #define ADF4377_PRODUCT_ID_MSB 0x0005
113 #define ADF4377_SCRATCHPAD_MSK NO_OS_GENMASK(7, 0)
114 #define ADF4377_SCRATCHPAD(x) no_os_field_prep(ADF4377_SCRATCHPAD_MSK, x)
117 #define ADF4377_SPI_REVISION 0x01
120 #define ADF4377_VENDOR_ID_LSB 0x456
123 #define ADF4377_VENDOR_ID_MSB 0x456
126 #define ADF4377_R00F_RSV1 0x14
129 #define ADF4377_N_INT_LSB_MSK NO_OS_GENMASK(7, 0)
130 #define ADF4377_N_INT_LSB(x) no_os_field_prep(ADF4377_N_INT_LSB_MSK, x)
133 #define ADF4377_EN_AUTOCAL_MSK NO_OS_BIT(7)
134 #define ADF4377_EN_AUTOCAL(x) no_os_field_prep(ADF4377_EN_AUTOCAL_MSK, x)
135 #define ADF4377_EN_RDBLR_MSK NO_OS_BIT(6)
136 #define ADF4377_EN_RDBLR(x) no_os_field_prep(ADF4377_EN_RDBLR_MSK, x)
137 #define ADF4377_DCLK_DIV2_MSK NO_OS_GENMASK(5,4)
138 #define ADF4377_DCLK_DIV2(x) no_os_field_prep(ADF4377_DCLK_DIV2_MSK, x)
139 #define ADF4377_N_INT_MSB_MSK NO_OS_GENMASK(3,0)
140 #define ADF4377_N_INT_MSB(x) no_os_field_prep(ADF4377_N_INT_MSB_MSK, x)
143 #define ADF4377_VCO_CALIB_DIS 0x0
144 #define ADF4377_VCO_CALIB_EN 0x1
146 #define ADF4377_REF_DBLR_DIS 0x0
147 #define ADF4377_REF_DBLR_EN 0x1
149 #define ADF4377_DCLK_DIV2_1 0x0
150 #define ADF4377_DCLK_DIV2_2 0x1
151 #define ADF4377_DCLK_DIV2_4 0x2
152 #define ADF4377_DCLK_DIV2_8 0x3
155 #define ADF4377_CLKOUT_DIV_MSK NO_OS_GENMASK(7, 6)
156 #define ADF4377_CLKOUT_DIV(x) no_os_field_prep(ADF4377_CLKOUT_DIV_MSK, x)
157 #define ADF4377_R_DIV_MSK NO_OS_GENMASK(5, 0)
158 #define ADF4377_R_DIV(x) no_os_field_prep(ADF4377_R_DIV_MSK, x)
161 #define ADF4377_CLKOUT_DIV_1 0x0
162 #define ADF4377_CLKOUT_DIV_2 0x1
163 #define ADF4377_CLKOUT_DIV_4 0x2
164 #define ADF4377_CLKOUT_DIV_8 0x3
166 #define ADF4377_MIN_R_DIV 0x00
167 #define ADF4378_MAX_R_DIV 0x3F
170 #define ADF4377_M_VCO_CORE_MSK NO_OS_GENMASK(5,4)
171 #define ADF4377_M_VCO_CORE(x) no_os_field_prep(ADF4377_M_VCO_CORE_MSK, x)
172 #define ADF4377_M_VCO_BIAS_MSK NO_OS_GENMASK(3,0)
173 #define ADF4377_M_VCO_BIAS(x) no_os_field_prep(ADF4377_M_VCO_BIAS_MSK, x)
176 #define ADF4377_M_VCO_0 0x0
177 #define ADF4377_M_VCO_1 0x1
178 #define ADF4377_M_VCO_2 0x2
179 #define ADF4377_M_VCO_3 0x3
181 #define M_VCO_BIAS_MIN 0xF
182 #define M_VCO_BIAS_MAX 0x0
185 #define ADF4377_M_VCO_BAND_MSK NO_OS_GENMASK(7,0)
186 #define ADF4377_M_VCO_BAND(x) no_os_field_prep(ADF4377_M_VCO_BAND_MSK, x)
189 #define ADF4377_VCO_BAND_MIN 0xFF
190 #define ADF4377_VCO_BAND_MAX 0x00
193 #define ADF4377_BLEED_I_LSB_MSK NO_OS_GENMASK(7, 6)
194 #define ADF4377_BLEED_I_LSB(x) no_os_field_prep(ADF4377_BLEED_I_LSB_MSK, x)
195 #define ADF4377_BLEED_POL_MSK NO_OS_BIT(5)
196 #define ADF4377_BLEED_POL(x) no_os_field_prep(ADF4377_BLEED_POL_MSK, x)
197 #define ADF4377_EN_BLEED_MSK NO_OS_BIT(4)
198 #define ADF4377_EN_BLEED(x) no_os_field_prep(ADF4377_EN_BLEED_MSK, x)
199 #define ADF4377_CP_I_MSK NO_OS_GENMASK(3, 0)
200 #define ADF4377_CP_I(x) no_os_field_prep(ADF4377_CP_I_MSK, x)
203 #define ADF4377_CURRENT_SINK 0x0
204 #define ADF4377_CURRENT_SOURCE 0x1
206 #define ADF4377_CP_0MA7 0x0
207 #define ADF4377_CP_0MA9 0x1
208 #define ADF4377_CP_1MA1 0x2
209 #define ADF4377_CP_1MA3 0x3
210 #define ADF4377_CP_1MA4 0x4
211 #define ADF4377_CP_1MA8 0x5
212 #define ADF4377_CP_2MA2 0x6
213 #define ADF4377_CP_2MA5 0x7
214 #define ADF4377_CP_2MA9 0x8
215 #define ADF4377_CP_3MA6 0x9
216 #define ADF4377_CP_4MA3 0xA
217 #define ADF4377_CP_5MA0 0xB
218 #define ADF4377_CP_5MA7 0xC
219 #define ADF4377_CP_7MA2 0xD
220 #define ADF4377_CP_8MA6 0xE
221 #define ADF4377_CP_10MA1 0xF
224 #define ADF4377_BLEED_I_MSB_MSK NO_OS_GENMASK(7, 0)
225 #define ADF4377_BLEED_I_MSB(x) no_os_field_prep(ADF4377_BLEED_I_MSB_MSK, x)
228 #define ADF4377_INV_CLKOUT_MSK NO_OS_BIT(7)
229 #define ADF4377_INV_CLKOUT(x) no_os_field_prep(ADF4377_INV_CLKOUT_MSK, x)
230 #define ADF4377_N_DEL_MSK NO_OS_GENMASK(6, 0)
231 #define ADF4377_N_DEL(x) no_os_field_prep(ADF4377_N_DEL_MSK, x)
234 #define ADF4377_CMOS_OV_MSK NO_OS_BIT(7)
235 #define ADF4377_CMOS_OV(x) no_os_field_prep(ADF4377_CMOS_OV_MSK, x)
236 #define ADF4377_R_DEL_MSK NO_OS_GENMASK(6, 0)
237 #define ADF4377_R_DEL(x) no_os_field_prep(ADF4377_R_DEL_MSK, x)
240 #define ADF4377_1V8_LOGIC 0x0
241 #define ADF4377_3V3_LOGIC 0x1
243 #define ADF4377_R_DEL_MIN 0x00
244 #define ADF4377_R_DEL_MAX 0x7F
247 #define ADF4377_CLKOUT2_OP_MSK NO_OS_GENMASK(7, 6)
248 #define ADF4377_CLKOUT2_OP(x) no_os_field_prep(ADF4377_CLKOUT2_OP_MSK, x)
249 #define ADF4377_CLKOUT1_OP_MSK NO_OS_GENMASK(5, 4)
250 #define ADF4377_CLKOUT1_OP(x) no_os_field_prep(ADF4377_CLKOUT1_OP_MSK, x)
251 #define ADF4377_PD_CLK_MSK NO_OS_BIT(3)
252 #define ADF4377_PD_CLK(x) no_os_field_prep(ADF4377_PD_CLK_MSK, x)
253 #define ADF4377_PD_RDET_MSK NO_OS_BIT(2)
254 #define ADF4377_PD_RDET(x) no_os_field_prep(ADF4377_PD_RDET_MSK, x)
255 #define ADF4377_PD_ADC_MSK NO_OS_BIT(1)
256 #define ADF4377_PD_ADC(x) no_os_field_prep(ADF4377_PD_ADC_MSK, x)
257 #define ADF4377_PD_CALADC_MSK NO_OS_BIT(0)
258 #define ADF4377_PD_CALADC(x) no_os_field_prep(ADF4377_PD_CALADC_MSK, x)
261 #define ADF4377_CLKOUT_320MV 0x0
262 #define ADF4377_CLKOUT_420MV 0x1
263 #define ADF4377_CLKOUT_530MV 0x2
264 #define ADF4377_CLKOUT_640MV 0x3
266 #define ADF4377_PD_CLK_N_OP 0x0
267 #define ADF4377_PD_CLK_PD 0x1
269 #define ADF4377_PD_RDET_N_OP 0x0
270 #define ADF4377_PD_RDET_PD 0x1
272 #define ADF4377_PD_ADC_N_OP 0x0
273 #define ADF4377_PD_ADC_PD 0x1
275 #define ADF4377_PD_CALADC_N_OP 0x0
276 #define ADF4377_PD_CALADC_PD 0x1
279 #define ADF4377_PD_ALL_MSK NO_OS_BIT(7)
280 #define ADF4377_PD_ALL(x) no_os_field_prep(ADF4377_PD_ALL_MSK, x)
281 #define ADF4377_PD_RDIV_MSK NO_OS_BIT(6)
282 #define ADF4377_PD_RDIV(x) no_os_field_prep(ADF4377_PD_RDIV_MSK, x)
283 #define ADF4377_PD_NDIV_MSK NO_OS_BIT(5)
284 #define ADF4377_PD_NDIV(x) no_os_field_prep(ADF4377_PD_NDIV_MSK, x)
285 #define ADF4377_PD_VCO_MSK NO_OS_BIT(4)
286 #define ADF4377_PD_VCO(x) no_os_field_prep(ADF4377_PD_VCO_MSK, x)
287 #define ADF4377_PD_LD_MSK NO_OS_BIT(3)
288 #define ADF4377_PD_LD(x) no_os_field_prep(ADF4377_PD_LD_MSK, x)
289 #define ADF4377_PD_PFDCP_MSK NO_OS_BIT(2)
290 #define ADF4377_PD_PFDCP(x) no_os_field_prep(ADF4377_PD_PFDCP_MSK, x)
291 #define ADF4377_PD_CLKOUT1_MSK NO_OS_BIT(1)
292 #define ADF4377_PD_CLKOUT1(x) no_os_field_prep(ADF4377_PD_CLKOUT1_MSK, x)
293 #define ADF4377_PD_CLKOUT2_MSK NO_OS_BIT(0)
294 #define ADF4377_PD_CLKOUT2(x) no_os_field_prep(ADF4377_PD_CLKOUT2_MSK, x)
297 #define ADF4377_PD_ALL_N_OP 0x0
298 #define ADF4377_PD_ALL_PD 0x1
300 #define ADF4377_PD_RDIV_N_OP 0x0
301 #define ADF4377_PD_RDIV_PD 0x1
303 #define ADF4377_PD_NDIV_N_OP 0x0
304 #define ADF4377_PD_NDIV_PD 0x1
306 #define ADF4377_PD_VCO_N_OP 0x0
307 #define ADF4377_PD_VCO_PD 0x1
309 #define ADF4377_PD_LD_N_OP 0x0
310 #define ADF4377_PD_LD_PD 0x1
312 #define ADF4377_PD_PFDCP_N_OP 0x0
313 #define ADF4377_PD_PFDCP_PD 0x1
315 #define ADF4377_PD_CLKOUT1_N_OP 0x0
316 #define ADF4377_PD_CLKOUT1_PD 0x1
318 #define ADF4377_PD_CLKOUT2_N_OP 0x0
319 #define ADF4377_PD_CLKOUT2_PD 0x1
322 #define ADF4377_EN_LOL_MSK NO_OS_BIT(7)
323 #define ADF4377_EN_LOL(x) no_os_field_prep(ADF4377_EN_LOL_MSK, x)
324 #define ADF4377_LDWIN_PW_MSK NO_OS_BIT(6)
325 #define ADF4377_LDWIN_PW(x) no_os_field_prep(ADF4377_LDWIN_PW_MSK, x)
326 #define ADF4377_EN_LDWIN_MSK NO_OS_BIT(5)
327 #define ADF4377_EN_LDWIN(x) no_os_field_prep(ADF4377_EN_LDWIN_MSK, x)
328 #define ADF4377_LD_COUNT_MSK NO_OS_GENMASK(4, 0)
329 #define ADF4377_LD_COUNT(x) no_os_field_prep(ADF4377_LD_COUNT_MSK, x)
333 #define ADF4377_LDWIN_PW_NARROW 0x0
334 #define ADF4377_LDWIN_PW_WIDE 0x1
337 #define ADF4377_EN_DNCLK_MSK NO_OS_BIT(7)
338 #define ADF4377_EN_DNCLK(x) no_os_field_prep(ADF4377_EN_DNCLK_MSK, x)
339 #define ADF4377_EN_DRCLK_MSK NO_OS_BIT(6)
340 #define ADF4377_EN_DRCLK(x) no_os_field_prep(ADF4377_EN_DRCLK_MSK, x)
341 #define ADF4377_RST_LD_MSK NO_OS_BIT(2)
342 #define ADF4377_RST_LD(x) no_os_field_prep(ADF4377_RST_LD_MSK, x)
343 #define ADF4377_R01C_RSV1_MSK NO_OS_BIT(0)
344 #define ADF4377_R01C_RSV1(x) no_os_field_prep(ADF4377_R01C_RSV1_MSK, x)
347 #define ADF4377_EN_DNCLK_OFF 0x0
348 #define ADF4377_EN_DNCLK_ON 0x1
350 #define ADF4377_EN_DRCLK_OFF 0x0
351 #define ADF4377_EN_DRCLK_ON 0x1
353 #define ADF4377_RST_LD_INACTIVE 0x0
354 #define ADF4377_RST_LD_ACTIVE 0x1
357 #define ADF4377_MUXOUT_MSK NO_OS_GENMASK(7, 4)
358 #define ADF4377_MUXOUT(x) no_os_field_prep(ADF4377_MUXOUT_MSK, x)
359 #define ADF4377_EN_CPTEST_MSK NO_OS_BIT(2)
360 #define ADF4377_EN_CPTEST(x) no_os_field_prep(ADF4377_EN_CPTEST_MSK, x)
361 #define ADF4377_CP_DOWN_MSK NO_OS_BIT(1)
362 #define ADF4377_CP_DOWN(x) no_os_field_prep(ADF4377_CP_DOWN_MSK, x)
363 #define ADF4377_CP_UP_MSK NO_OS_BIT(0)
364 #define ADF4377_CP_UP(x) no_os_field_prep(ADF4377_CP_UP_MSK, x)
367 #define ADF4377_MUXOUT_HIGH_Z 0x0
368 #define ADF4377_MUXOUT_LKDET 0x1
369 #define ADF4377_MUXOUT_LOW 0x2
370 #define ADF4377_MUXOUT_DIV_RCLK_2 0x4
371 #define ADF4377_MUXOUT_DIV_NCLK_2 0x5
372 #define ADF4377_MUXOUT_HIGH 0x8
374 #define ADF4377_EN_CPTEST_OFF 0x0
375 #define ADF4377_EN_CPTEST_ON 0x1
377 #define ADF4377_CP_DOWN_OFF 0x0
378 #define ADF4377_CP_DOWN_ON 0x1
380 #define ADF4377_CP_UP_OFF 0x0
381 #define ADF4377_CP_UP_ON 0x1
384 #define ADF4377_BST_REF_MSK NO_OS_BIT(7)
385 #define ADF4377_BST_REF(x) no_os_field_prep(ADF4377_BST_REF_MSK, x)
386 #define ADF4377_FILT_REF_MSK NO_OS_BIT(6)
387 #define ADF4377_FILT_REF(x) no_os_field_prep(ADF4377_FILT_REF_MSK, x)
388 #define ADF4377_REF_SEL_MSK NO_OS_BIT(5)
389 #define ADF4377_REF_SEL(x) no_os_field_prep(ADF4377_REF_SEL_MSK, x)
390 #define ADF4377_R01F_RSV1_MSK NO_OS_GENMASK(2, 0)
391 #define ADF4377_R01F_RSV1(x) no_os_field_prep(ADF4377_R01F_RSV1_MSK, x)
394 #define ADF4377_BST_LARGE_REF_IN 0x0
395 #define ADF4377_BST_SMALL_REF_IN 0x1
397 #define ADF4377_FILT_REF_OFF 0x0
398 #define ADF4377_FILT_REF_ON 0x1
400 #define ADF4377_REF_SEL_DMA 0x0
401 #define ADF4377_REF_SEL_LNA 0x1
404 #define ADF4377_RST_SYS_MSK NO_OS_BIT(4)
405 #define ADF4377_RST_SYS(x) no_os_field_prep(ADF4377_RST_SYS_MSK, x)
406 #define ADF4377_EN_ADC_CLK_MSK NO_OS_BIT(3)
407 #define ADF4377_EN_ADC_CLK(x) no_os_field_prep(ADF4377_EN_ADC_CLK_MSK, x)
408 #define ADF4377_R020_RSV1_MSK NO_OS_BIT(0)
409 #define ADF4377_R020_RSV1(x) no_os_field_prep(ADF4377_R020_RSV1_MSK, x)
412 #define ADF4377_RST_SYS_INACTIVE 0x0
413 #define ADF4377_RST_SYS_ACTIVE 0x1
416 #define ADF4377_R021_RSV1 0xD3
419 #define ADF4377_R022_RSV1 0x32
422 #define ADF4377_R023_RSV1 0x18
425 #define ADF4377_DCLK_MODE_MSK NO_OS_BIT(2)
426 #define ADF4377_DCLK_MODE(x) no_os_field_prep(ADF4377_DCLK_MODE_MSK, x)
429 #define ADF4377_CLKODIV_DB_MSK NO_OS_BIT(7)
430 #define ADF4377_CLKODIV_DB(x) no_os_field_prep(ADF4377_CLKODIV_DB_MSK, x)
431 #define ADF4377_DCLK_DB_MSK NO_OS_BIT(6)
432 #define ADF4377_DCLK_DB(x) no_os_field_prep(ADF4377_DCLK_DB_MSK, x)
433 #define ADF4377_R025_RSV1_MSK NO_OS_BIT(4) | NO_OS_BIT(2) | NO_OS_BIT(1)
434 #define ADF4377_R025_RSV1(x) no_os_field_prep(ADF4377_R025_RSV1_MSK, x)
437 #define ADF4377_VCO_BAND_DIV_MSK NO_OS_GENMASK(7, 0)
438 #define ADF4377_VCO_BAND_DIV(x) no_os_field_prep(ADF4377_VCO_BAND_DIV_MSK, x)
441 #define ADF4377_VCO_BAND_DIV_MIN 0x00
442 #define ADF4377_VCO_BAND_DIV_MAX 0xFF
445 #define ADF4377_SYNTH_LOCK_TO_LSB_MSK NO_OS_GENMASK(7, 0)
446 #define ADF4377_SYNTH_LOCK_TO_LSB(x) no_os_field_prep(ADF4377_SYNTH_LOCK_TO_LSB_MSK, x)
449 #define ADF4377_O_VCO_DB_MSK NO_OS_BIT(7)
450 #define ADF4377_O_VCO_DB(x) no_os_field_prep(ADF4377_O_VCO_DB_MSK, x)
451 #define ADF4377_SYNTH_LOCK_TO_MSB_MSK NO_OS_GENMASK(6, 0)
452 #define ADF4377_SYNTH_LOCK_TO_MSB(x) no_os_field_prep(ADF4377_SYNTH_LOCK_TO_MSB_MSK, x)
455 #define ADF4377_VCO_ALC_TO_LSB_MSK NO_OS_GENMASK(7, 0)
456 #define ADF4377_VCO_ALC_TO_LSB(x) no_os_field_prep(ADF4377_VCO_ALC_TO_LSB_MSK, x)
459 #define ADF4377_DEL_CTRL_DB_MSK NO_OS_BIT(7)
460 #define ADF4377_DEL_CTRL_DB(x) no_os_field_prep(ADF4377_DEL_CTRL_DB_MSK, x)
461 #define ADF4377_VCO_ALC_TO_MSB_MSK NO_OS_GENMASK(6, 0)
462 #define ADF4377_VCO_ALC_TO_MSB(x) no_os_field_prep(ADF4377_VCO_ALC_TO_MSB_MSK, x)
465 #define ADF4377_R02C_RSV1 0xC0
468 #define ADF4377_ADC_CLK_DIV_MSK NO_OS_GENMASK(7, 0)
469 #define ADF4377_ADC_CLK_DIV(x) no_os_field_prep(ADF4377_ADC_CLK_DIV_MSK, x)
472 #define ADF4377_EN_ADC_CNV_MSK NO_OS_BIT(7)
473 #define ADF4377_EN_ADC_CNV(x) no_os_field_prep(ADF4377_EN_ADC_CNV_MSK, x)
474 #define ADF4377_EN_ADC_MSK NO_OS_BIT(1)
475 #define ADF4377_EN_ADC(x) no_os_field_prep(ADF4377_EN_ADC_MSK, x)
476 #define ADF4377_ADC_A_CONV_MSK NO_OS_BIT(0)
477 #define ADF4377_ADC_A_CONV(x) no_os_field_prep(ADF4377_ADC_A_CONV_MSK, x)
480 #define ADF4377_ADC_A_CONV_ADC_ST_CNV 0x0
481 #define ADF4377_ADC_A_CONV_VCO_CALIB 0x1
484 #define ADF4377_DCLK_DIV1_MSK NO_OS_GENMASK(1, 0)
485 #define ADF4377_DCLK_DIV1(x) no_os_field_prep(ADF4377_DCLK_DIV1_MSK, x)
488 #define ADF4377_DCLK_DIV1_1 0x0
489 #define ADF4377_DCLK_DIV1_2 0x1
490 #define ADF4377_DCLK_DIV1_8 0x2
491 #define ADF4377_DCLK_DIV1_32 0x3
494 #define ADF4377_R031_RSV1 0x09
497 #define ADF4377_ADC_CLK_SEL_MSK NO_OS_BIT(6)
498 #define ADF4377_ADC_CLK_SEL(x) no_os_field_prep(ADF4377_ADC_CLK_SEL_MSK, x)
499 #define ADF4377_R032_RSV1_MSK NO_OS_BIT(3) | NO_OS_BIT(0)
500 #define ADF4377_R032_RSV1(x) no_os_field_prep(ADF4377_R032_RSV1_MSK, x)
503 #define ADF4377_ADC_CLK_SEL_N_OP 0x0
504 #define ADF4377_ADC_CLK_SEL_SPI_CLK 0x1
507 #define ADF4377_R033_RSV1 0x18
510 #define ADF4377_R034_RSV1 0x08
513 #define ADF4377_R03A_RSV1 0x5C
516 #define ADF4377_R03B_RSV1 0x2B
519 #define ADF4377_O_VCO_BAND_MSK NO_OS_BIT(3)
520 #define ADF4377_O_VCO_BAND(x) no_os_field_prep(ADF4377_O_VCO_BAND_MSK, x)
521 #define ADF4377_O_VCO_CORE_MSK NO_OS_BIT(2)
522 #define ADF4377_O_VCO_CORE(x) no_os_field_prep(ADF4377_O_VCO_CORE_MSK, x)
523 #define ADF4377_O_VCO_BIAS_MSK NO_OS_BIT(1)
524 #define ADF4377_O_VCO_BIAS(x) no_os_field_prep(ADF4377_O_VCO_BIAS_MSK, x)
527 #define ADF4377_O_VCO_BAND_VCO_CALIB 0x0
528 #define ADF4377_O_VCO_BAND_M_VCO 0x1
530 #define ADF4377_O_VCO_CORE_VCO_CALIB 0x0
531 #define ADF4377_O_VCO_CORE_M_VCO 0x1
533 #define ADF4377_O_VCO_BIAS_VCO_CALIB 0x0
534 #define ADF4377_O_VCO_BIAS_M_VCO 0x1
537 #define ADF4377_R042_RSV1 0x05
540 #define ADF4377_ADC_ST_CNV_MSK NO_OS_BIT(0)
541 #define ADF4377_ADC_ST_CNV(x) no_os_field_prep(ADF4377_ADC_ST_CNV_MSK, x)
544 #define ADF4377_EN_CLK2_MSK NO_OS_BIT(7)
545 #define ADF4377_EN_CLK2(x) no_os_field_prep(ADF4377_EN_CLK2_MSK, x)
546 #define ADF4377_EN_CLK1_MSK NO_OS_BIT(6)
547 #define ADF4377_EN_CLK1(x) no_os_field_prep(ADF4377_EN_CLK1_MSK, x)
548 #define ADF4377_REF_OK_MSK NO_OS_BIT(3)
549 #define ADF4377_REF_OK(x) no_os_field_prep(ADF4377_REF_OK_MSK, x)
550 #define ADF4377_ADC_BUSY_MSK NO_OS_BIT(2)
551 #define ADF4377_ADC_BUSY(x) no_os_field_prep(ADF4377_ADC_BUSY_MSK, x)
552 #define ADF4377_FSM_BUSY_MSK NO_OS_BIT(1)
553 #define ADF4377_FSM_BUSY(x) no_os_field_prep(ADF4377_FSM_BUSY_MSK, x)
554 #define ADF4377_LOCKED_MSK NO_OS_BIT(0)
555 #define ADF4377_LOCKED(x) no_os_field_prep(ADF4377_LOCKED_MSK, x)
558 #define ADF4377_VCO_CORE_MSK NO_OS_GENMASK(1, 0)
559 #define ADF4377_VCO_CORE(x) no_os_field_prep(ADF4377_VCO_CORE_MSK, x)
562 #define ADF4377_CHIP_TEMP_LSB_MSK NO_OS_GENMASK(7, 0)
563 #define ADF4377_CHIP_TEMP_LSB(x) no_os_field_prep(ADF4377_CHIP_TEMP_LSB_MSK, x)
566 #define ADF4377_CHIP_TEMP_MSB_MSK NO_OS_BIT(0)
567 #define ADF4377_CHIP_TEMP_MSB(x) no_os_field_prep(ADF4377_CHIP_TEMP_MSB_MSK, x)
570 #define ADF4377_VCO_BAND_MSK NO_OS_GENMASK(7, 0)
571 #define ADF4377_VCO_BAND(x) no_os_field_prep(ADF4377_VCO_BAND_MSK, x)
574 #define ADF4377_CHIP_VERSION_MSK NO_OS_GENMASK(7, 0)
575 #define ADF4377_CHIP_VERSION(x) no_os_field_prep(ADF4377_CHIP_VERSION_MSK, x)
578 #define ADF4377_SPI_WRITE_CMD 0x0
579 #define ADF4377_SPI_READ_CMD NO_OS_BIT(7)
580 #define ADF4377_BUFF_SIZE_BYTES 3
581 #define ADF4377_MAX_VCO_FREQ 12800000000ull
582 #define ADF4377_MIN_VCO_FREQ 6400000000ull
583 #define ADF4377_MAX_REFIN_FREQ 1000000000
584 #define ADF4377_MIN_REFIN_FREQ 10000000
585 #define ADF4377_MAX_FREQ_PFD 500000000
586 #define ADF4377_MIN_FREQ_PFD 3000000
587 #define ADF4377_MAX_CLKPN_FREQ ADF4377_MAX_VCO_FREQ
588 #define ADF4377_MIN_CLKPN_FREQ (ADF4377_MIN_VCO_FREQ / 8)
589 #define ADF4377_FREQ_PFD_80MHZ 80000000
590 #define ADF4377_FREQ_PFD_125MHZ 125000000
591 #define ADF4377_FREQ_PFD_160MHZ 160000000
592 #define ADF4377_FREQ_PFD_250MHZ 250000000
593 #define ADF4377_FREQ_PFD_320MHZ 320000000
596 #define ADF4377_SPI_SCRATCHPAD_TEST_A 0xA5u
597 #define ADF4377_SPI_SCRATCHPAD_TEST_B 0x5Au
598 #define ADF4377_SPI_DUMMY_DATA 0x00
599 #define ADF4377_CHECK_RANGE(freq, range) \
600 ((freq > ADF4377_MAX_ ## range) || (freq < ADF4377_MIN_ ## range))
697 uint8_t mask, uint8_t data);
#define ADF4377_EN_DNCLK_ON
Definition: adf4377.h:348
#define ADF4377_R020_RSV1(x)
Definition: adf4377.h:409
#define ADF4377_FREQ_PFD_125MHZ
Definition: adf4377.h:590
uint32_t f_pfd
Definition: adf4377.h:664
#define ADF4377_CLKOUT1_OP(x)
Definition: adf4377.h:250
uint32_t timeout
Definition: ad413x.c:55
Structure holding the parameters for GPIO initialization.
Definition: no_os_gpio.h:85
uint8_t ref_doubler_en
Definition: adf4377.h:676
#define ADF4377_CLKOUT_DIV(x)
Definition: adf4377.h:156
#define ADF4377_PD_CLKOUT1(x)
Definition: adf4377.h:292
uint8_t clkout_div_sel
Definition: adf4377.h:680
#define ADF4377_ADC_A_CONV_VCO_CALIB
Definition: adf4377.h:481
#define ADF4377_PD_ALL_N_OP
Definition: adf4377.h:297
uint64_t f_vco
Definition: adf4377.h:668
#define ADF4377_SYNTH_LOCK_TO_MSB_MSK
Definition: adf4377.h:451
int32_t adf4377_spi_write(struct adf4377_dev *dev, uint8_t reg_addr, uint8_t data)
Writes data to ADF4377 over SPI.
Definition: adf4377.c:60
#define ADF4377_EN_DRCLK(x)
Definition: adf4377.h:340
#define ADF4377_R01F_RSV1_MSK
Definition: adf4377.h:390
#define ADF4377_PD_LD(x)
Definition: adf4377.h:288
uint8_t cp_i
Definition: adf4377.h:637
#define ADF4377_SPI_SCRATCHPAD_TEST_B
Definition: adf4377.h:597
int32_t no_os_spi_write_and_read(struct no_os_spi_desc *desc, uint8_t *data, uint16_t bytes_number)
Write and read data to/from SPI.
Definition: no_os_spi.c:95
int32_t adf4377_spi_read(struct adf4377_dev *dev, uint8_t reg_addr, uint8_t *data)
Reads data from ADF4377 over SPI.
Definition: adf4377.c:109
#define ADF4377_R03B_RSV1
Definition: adf4377.h:516
#define ADF4377_N_INT_LSB(x)
Definition: adf4377.h:130
#define ADF4377_CLKOUT2_OP_MSK
Definition: adf4377.h:247
#define ADF4377_N_INT_MSB(x)
Definition: adf4377.h:140
ADF4377 Initialization Parameters structure.
Definition: adf4377.h:619
Header file of SPI Interface.
#define ADF4377_R01C_RSV1(x)
Definition: adf4377.h:344
#define ADF4377_ADC_CLK_DIV(x)
Definition: adf4377.h:469
#define ADF4377_EN_DRCLK_MSK
Definition: adf4377.h:339
#define ADF4377_LSB_FIRST_R(x)
Definition: adf4377.h:65
#define ADF4377_CLKOUT2_OP(x)
Definition: adf4377.h:248
int32_t adf4377_init(struct adf4377_dev **device, struct adf4377_init_param *init_param)
Initializes the ADF4377.
Definition: adf4377.c:520
Header file of Delay functions.
uint32_t clkin_freq
Definition: adf4377.h:633
#define ADF4377_SDO_ACTIVE_R(x)
Definition: adf4377.h:73
#define ADF4377_PD_NDIV(x)
Definition: adf4377.h:284
#define ADF4377_CLKOUT_DIV_MSK
Definition: adf4377.h:155
int32_t adf4377_soft_reset(struct adf4377_dev *dev)
Software reset.
Definition: adf4377.c:251
int32_t adf4377_remove(struct adf4377_dev *dev)
Free resoulces allocated for ADF4377.
Definition: adf4377.c:651
#define ADF4377_DCLK_DIV2(x)
Definition: adf4377.h:138
#define ADF4377_EN_AUTOCAL_MSK
Definition: adf4377.h:133
#define ADF4377_SYNTH_LOCK_TO_MSB(x)
Definition: adf4377.h:452
#define ADF4377_VCO_ALC_TO_MSB_MSK
Definition: adf4377.h:461
Header file for adf4377 Driver.
#define ADF4377_EN_AUTOCAL(x)
Definition: adf4377.h:134
Definition: ad9361_util.h:75
#define ADF4377_R032_RSV1(x)
Definition: adf4377.h:500
@ NO_OS_GPIO_HIGH
Definition: no_os_gpio.h:123
#define ADF4377_R025_RSV1_MSK
Definition: adf4377.h:433
uint8_t ref_doubler_en
Definition: adf4377.h:641
#define ADF4377_ADC_BUSY(x)
Definition: adf4377.h:551
#define ADF4377_BUFF_SIZE_BYTES
Definition: adf4377.h:580
#define ADF4377_EN_ADC_CLK_MSK
Definition: adf4377.h:406
#define ADF4377_R01C_RSV1_MSK
Definition: adf4377.h:343
void * no_os_calloc(size_t nitems, size_t size)
uint32_t clkin_freq
Definition: adf4377.h:670
#define ADF4377_DCLK_DIV2_2
Definition: adf4377.h:150
#define ADF4377_N_INT_MSB_MSK
Definition: adf4377.h:139
#define ADF4377_SOFT_RESET_EN
Definition: adf4377.h:88
#define ADF4377_R033_RSV1
Definition: adf4377.h:507
#define ADF4377_CP_I(x)
Definition: adf4377.h:200
uint64_t f_clk
Definition: adf4377.h:635
#define ADF4377_FREQ_PFD_160MHZ
Definition: adf4377.h:591
#define ADF4377_ADDRESS_ASC_R(x)
Definition: adf4377.h:69
struct no_os_gpio_desc * gpio_enclk2
Definition: adf4377.h:656
uint8_t muxout_default
Definition: adf4377.h:674
ADF4377 Device Descriptor.
Definition: adf4377.h:650
#define ADF4377_DCLK_DIV1_1
Definition: adf4377.h:488
#define ADF4377_PD_CLKOUT2_N_OP
Definition: adf4377.h:318
#define ADF4377_EN_ADC_CNV(x)
Definition: adf4377.h:473
#define NO_OS_DIV_ROUND_UP(x, y)
Definition: no_os_util.h:56
#define ADF4377_EN_ADC_CNV_MSK
Definition: adf4377.h:472
#define ADF4377_SPI_SCRATCHPAD_TEST_A
Definition: adf4377.h:596
#define ADF4377_FSM_BUSY(x)
Definition: adf4377.h:553
#define ADF4377_PD_LD_N_OP
Definition: adf4377.h:309
#define ADF4377_CHECK_RANGE(freq, range)
Definition: adf4377.h:599
#define ADF4377_R022_RSV1
Definition: adf4377.h:419
#define ADF4377_R021_RSV1
Definition: adf4377.h:416
#define ADF4377_DCLK_DIV2_1
Definition: adf4377.h:149
#define ADF4377_EN_DRCLK_ON
Definition: adf4377.h:351
struct no_os_gpio_desc * gpio_enclk1
Definition: adf4377.h:654
uint16_t n_int
Definition: adf4377.h:682
#define ADF4377_FREQ_PFD_80MHZ
Definition: adf4377.h:589
#define ADF4377_SOFT_RESET(x)
Definition: adf4377.h:63
bool spi4wire
Definition: adf4377.h:662
#define ADF4377_R_DIV(x)
Definition: adf4377.h:158
#define ADF4377_PD_ALL(x)
Definition: adf4377.h:280
#define ADF4377_SDO_ACTIVE(x)
Definition: adf4377.h:75
#define ADF4377_R020_RSV1_MSK
Definition: adf4377.h:408
struct no_os_gpio_desc * gpio_ce
Definition: adf4377.h:658
#define ADF4377_R034_RSV1
Definition: adf4377.h:510
#define ADF4377_CLKOUT1_OP_MSK
Definition: adf4377.h:249
uint32_t muxout_select
Definition: adf4377.h:639
#define ADF4377_EN_ADC_MSK
Definition: adf4377.h:474
uint8_t cp_i
Definition: adf4377.h:672
#define ADF4377_EN_RDBLR_MSK
Definition: adf4377.h:135
#define ADF4377_DCLK_DIV1(x)
Definition: adf4377.h:485
#define ADF4377_PD_CLKOUT2(x)
Definition: adf4377.h:294
enum no_os_spi_bit_order bit_order
Definition: no_os_spi.h:153
int32_t no_os_gpio_remove(struct no_os_gpio_desc *desc)
Free the resources allocated by no_os_gpio_get().
Definition: no_os_gpio.c:110
Structure holding SPI descriptor.
Definition: no_os_spi.h:143
#define ADF4377_EN_DNCLK_OFF
Definition: adf4377.h:347
#define ADF4377_PD_VCO(x)
Definition: adf4377.h:286
#define ADF4377_EN_RDBLR(x)
Definition: adf4377.h:136
#define ADF4377_SOFT_RESET_R(x)
Definition: adf4377.h:61
int32_t adf4377_init(struct adf4377_dev **device, struct adf4377_init_param *init_param)
Initializes the ADF4377.
Definition: adf4377.c:520
int32_t adf4377_spi_write_mask(struct adf4377_dev *dev, uint8_t reg_addr, uint8_t mask, uint8_t data)
Update ADF4377 register.
Definition: adf4377.c:86
enum adf4377_dev_id dev_id
Definition: adf4377.h:660
@ ADF4377
Definition: adf4377.h:611
#define ADF4377_MIN_VCO_FREQ
Definition: adf4377.h:582
#define ADF4377_PD_VCO_N_OP
Definition: adf4377.h:306
Structure holding the GPIO descriptor.
Definition: no_os_gpio.h:102
#define ADF4377_DCLK_DIV2_MSK
Definition: adf4377.h:137
#define ADF4377_EN_DRCLK_OFF
Definition: adf4377.h:350
#define ADF4377_MUXOUT(x)
Definition: adf4377.h:358
int32_t adf4377_soft_reset(struct adf4377_dev *dev)
Software reset.
Definition: adf4377.c:251
#define ADF4377_EN_ADC_CLK(x)
Definition: adf4377.h:407
int32_t adf4377_spi_write(struct adf4377_dev *dev, uint8_t reg_addr, uint8_t data)
Writes data to ADF4377 over SPI.
Definition: adf4377.c:60
#define ADF4377_R02C_RSV1
Definition: adf4377.h:465
struct no_os_spi_init_param * spi_init
Definition: adf4377.h:621
#define ADF4377_LSB_FIRST(x)
Definition: adf4377.h:67
#define ADF4377_R042_RSV1
Definition: adf4377.h:537
#define ADF4377_MUXOUT_MSK
Definition: adf4377.h:357
#define ADF4377_SOFT_RESET_R_MSK
Definition: adf4377.h:60
#define ADF4377_PD_PFDCP(x)
Definition: adf4377.h:290
int32_t adf4377_check_scratchpad(struct adf4377_dev *dev)
ADF4377 SPI Scratchpad check.
Definition: adf4377.c:139
#define ADF4377_R023_RSV1
Definition: adf4377.h:422
void no_os_free(void *ptr)
struct no_os_spi_desc * spi_desc
Definition: adf4377.h:652
#define ADF4377_R032_RSV1_MSK
Definition: adf4377.h:499
#define ADF4377_R01F_RSV1(x)
Definition: adf4377.h:391
int32_t adf4377_spi_read(struct adf4377_dev *dev, uint8_t reg_addr, uint8_t *data)
Reads data from ADF4377 over SPI.
Definition: adf4377.c:109
@ ADF4378
Definition: adf4377.h:612
#define ADF4377_R_DIV_MSK
Definition: adf4377.h:157
uint8_t clkout_op
Definition: adf4377.h:643
struct ad7616_init_param init_param
Definition: ad7616_sdz.c:96
#define ADF4377_FREQ_PFD_250MHZ
Definition: adf4377.h:592
#define ADF4377_ADDRESS_ASC(x)
Definition: adf4377.h:71
#define ADF4377_R031_RSV1
Definition: adf4377.h:494
#define ADF4377_R025_RSV1(x)
Definition: adf4377.h:434
#define ADF4377_SOFT_RESET_MSK
Definition: adf4377.h:62
#define ADF4377_MAX_FREQ_PFD
Definition: adf4377.h:585
#define ADF4377_VCO_BAND_DIV(x)
Definition: adf4377.h:438
bool spi4wire
Definition: adf4377.h:631
#define ADF4377_R00F_RSV1
Definition: adf4377.h:126
struct no_os_gpio_init_param * gpio_enclk2_param
Definition: adf4377.h:627
int32_t adf4377_spi_write_mask(struct adf4377_dev *dev, uint8_t reg_addr, uint8_t mask, uint8_t data)
Update ADF4377 register.
Definition: adf4377.c:86
#define ADF4377_VCO_ALC_TO_MSB(x)
Definition: adf4377.h:462
#define ADF4377_EN_DNCLK_MSK
Definition: adf4377.h:337
#define ADF4377_CHIP_TYPE
Definition: adf4377.h:104
#define ADF4377_FREQ_PFD_320MHZ
Definition: adf4377.h:593
#define ADF4377_SPI_DUMMY_DATA
Definition: adf4377.h:598
int32_t no_os_spi_remove(struct no_os_spi_desc *desc)
Free the resources allocated by no_os_spi_init().
Definition: no_os_spi.c:77
#define ADF4377_ADDR_ASC_AUTO_DECR
Definition: adf4377.h:81
#define ADF4377_PD_CLKOUT1_N_OP
Definition: adf4377.h:315
Header file of GPIO Interface.
uint8_t clkout_op
Definition: adf4377.h:684
#define ADF4377_PD_RDIV_N_OP
Definition: adf4377.h:300
#define ADF4377_DCLK_DIV1_2
Definition: adf4377.h:489
#define ADF4377_CP_I_MSK
Definition: adf4377.h:199
#define ADF4377_PD_RDIV(x)
Definition: adf4377.h:282
int32_t no_os_spi_init(struct no_os_spi_desc **desc, const struct no_os_spi_init_param *param)
Initialize the SPI communication peripheral.
Definition: no_os_spi.c:51
int32_t adf4377_check_scratchpad(struct adf4377_dev *dev)
ADF4377 SPI Scratchpad check.
Definition: adf4377.c:139
#define ADF4377_REG(x)
Definition: adf4377.h:57
int32_t adf4377_remove(struct adf4377_dev *dev)
Free resoulces allocated for ADF4377.
Definition: adf4377.c:651
Header file of utility functions.
struct no_os_gpio_init_param * gpio_enclk1_param
Definition: adf4377.h:625
int32_t adf4377_set_freq(struct adf4377_dev *dev, uint64_t freq)
Definition: adf4377.c:281
uint64_t f_clk
Definition: adf4377.h:666
#define ADF4377_SPI_WRITE_CMD
Definition: adf4377.h:578
#define ADF4377_ADC_A_CONV_MSK
Definition: adf4377.h:476
adf4377_dev_id
ID of Devices supported by the driver.
Definition: adf4377.h:610
enum adf4377_dev_id dev_id
Definition: adf4377.h:629
#define ADF4377_R03A_RSV1
Definition: adf4377.h:513
#define ADF4377_PD_PFDCP_N_OP
Definition: adf4377.h:312
int32_t no_os_gpio_direction_output(struct no_os_gpio_desc *desc, uint8_t value)
Enable the output direction of the specified GPIO.
Definition: no_os_gpio.c:153
#define ADF4377_DCLK_MODE(x)
Definition: adf4377.h:426
uint32_t ref_div_factor
Definition: adf4377.h:678
#define ADF4377_SYNTH_LOCK_TO_LSB(x)
Definition: adf4377.h:446
#define no_os_bit_swap_constant_8(x)
Definition: no_os_util.h:100
#define ADF4377_SPI_READ_CMD
Definition: adf4377.h:579
#define ADF4377_PD_NDIV_N_OP
Definition: adf4377.h:303
#define ADF4377_EN_ADC(x)
Definition: adf4377.h:475
#define ADF4377_DCLK_DIV1_MSK
Definition: adf4377.h:484
int32_t adf4377_set_freq(struct adf4377_dev *dev, uint64_t freq)
Definition: adf4377.c:281
#define ADF4377_EN_DNCLK(x)
Definition: adf4377.h:338
#define ADF4377_VCO_CALIB_EN
Definition: adf4377.h:144
Structure holding the parameters for SPI initialization.
Definition: no_os_spi.h:121
#define ADF4377_VCO_ALC_TO_LSB(x)
Definition: adf4377.h:456
#define ADF4377_ADC_A_CONV(x)
Definition: adf4377.h:477
#define ADF4377_DCLK_MODE_MSK
Definition: adf4377.h:425
int32_t no_os_gpio_get_optional(struct no_os_gpio_desc **desc, const struct no_os_gpio_init_param *param)
Get the value of an optional GPIO.
Definition: no_os_gpio.c:81
struct no_os_gpio_init_param * gpio_ce_param
Definition: adf4377.h:623