no-OS
Loading...
Searching...
No Matches
adf4377.h
Go to the documentation of this file.
1/***************************************************************************/
35
36#ifndef ADF4377_H_
37#define ADF4377_H_
38
39#include <stdint.h>
40#include <stdbool.h>
41#include "no_os_spi.h"
42#include "no_os_gpio.h"
43#include "no_os_util.h"
44
45/* Registers Control Bits */
46#define ADF4377_REG(x) (x)
47
48/* ADF4377 REG0000 Map */
49#define ADF4377_SOFT_RESET_R_MSK NO_OS_BIT(7)
50#define ADF4377_SOFT_RESET_R(x) no_os_field_prep(ADF4377_SOFT_RESET_R_MSK, x)
51#define ADF4377_SOFT_RESET_MSK NO_OS_BIT(0)
52#define ADF4377_SOFT_RESET(x) no_os_field_prep(ADF4377_SOFT_RESET_MSK, x)
53#define ADF4377_LSB_FIRST_R_MSK NO_OS_BIT(6)
54#define ADF4377_LSB_FIRST_R(x) no_os_field_prep(ADF4377_LSB_FIRST_R_MSK, x)
55#define ADF4377_LSB_FIRST_MSK NO_OS_BIT(1)
56#define ADF4377_LSB_FIRST(x) no_os_field_prep(ADF4377_LSB_FIRST_MSK, x)
57#define ADF4377_ADDRESS_ASC_R_MSK NO_OS_BIT(5)
58#define ADF4377_ADDRESS_ASC_R(x) no_os_field_prep(ADF4377_ADDRESS_ASC_R_MSK, x)
59#define ADF4377_ADDRESS_ASC_MSK NO_OS_BIT(2)
60#define ADF4377_ADDRESS_ASC(x) no_os_field_prep(ADF4377_ADDRESS_ASC_MSK, x)
61#define ADF4377_SDO_ACTIVE_R_MSK NO_OS_BIT(4)
62#define ADF4377_SDO_ACTIVE_R(x) no_os_field_prep(ADF4377_SDO_ACTIVE_R_MSK, x)
63#define ADF4377_SDO_ACTIVE_MSK NO_OS_BIT(3)
64#define ADF4377_SDO_ACTIVE(x) no_os_field_prep(ADF4377_SDO_ACTIVE_MSK, x)
65#define ADF4377_RESET_CMD 0x81
66
67/* ADF4377 REG0000 Bit Definition */
68#define ADF4377_SDO_ACTIVE_SPI_3W 0x0
69#define ADF4377_SDO_ACTIVE_SPI_4W 0x1
70
71#define ADF4377_ADDR_ASC_AUTO_DECR 0x0
72#define ADF4377_ADDR_ASC_AUTO_INCR 0x1
73
74#define ADF4377_LSB_FIRST_MSB 0x0
75#define ADF4377_LSB_FIRST_LSB 0x1
76
77#define ADF4377_SOFT_RESET_N_OP 0x0
78#define ADF4377_SOFT_RESET_EN 0x1
79
80/* ADF4377 REG0001 Map */
81#define ADF4377_SINGLE_INSTR_MSK NO_OS_BIT(7)
82#define ADF4377_SINGLE_INSTR(x) no_os_field_prep(ADF4377_SINGLE_INSTRUCTION_MSK, x)
83#define ADF4377_MASTER_RB_CTRL_MSK NO_OS_BIT(5)
84#define ADF4377_MASTER_RB_CTRL(x) no_os_field_prep(ADF4377_MASTER_RB_CTRL_MSK, x)
85
86/* ADF4377 REG0001 Bit Definition */
87#define ADF4377_SPI_STREAM_EN 0x0
88#define ADF4377_SPI_STREAM_DIS 0x1
89
90#define ADF4377_RB_SLAVE_REG 0x0
91#define ADF4377_RB_MASTER_REG 0x1
92
93/* ADF4377 REG0003 Bit Definition */
94#define ADF4377_CHIP_TYPE 0x06
95
96/* ADF4377 REG0004 Bit Definition */
97#define ADF4377_PRODUCT_ID_LSB 0x0005
98
99/* ADF4377 REG0005 Bit Definition */
100#define ADF4377_PRODUCT_ID_MSB 0x0005
101
102/* ADF4377 REG000A Map */
103#define ADF4377_SCRATCHPAD_MSK NO_OS_GENMASK(7, 0)
104#define ADF4377_SCRATCHPAD(x) no_os_field_prep(ADF4377_SCRATCHPAD_MSK, x)
105
106/* ADF4377 REG000B Bit Definition */
107#define ADF4377_SPI_REVISION 0x01
108
109/* ADF4377 REG000C Bit Definition */
110#define ADF4377_VENDOR_ID_LSB 0x456
111
112/* ADF4377 REG000D Bit Definition */
113#define ADF4377_VENDOR_ID_MSB 0x456
114
115/* ADF4377 REG000F Bit Definition */
116#define ADF4377_R00F_RSV1 0x14
117
118/* ADF4377 REG0010 Map*/
119#define ADF4377_N_INT_LSB_MSK NO_OS_GENMASK(7, 0)
120#define ADF4377_N_INT_LSB(x) no_os_field_prep(ADF4377_N_INT_LSB_MSK, x)
121
122/* ADF4377 REG0011 Map*/
123#define ADF4377_EN_AUTOCAL_MSK NO_OS_BIT(7)
124#define ADF4377_EN_AUTOCAL(x) no_os_field_prep(ADF4377_EN_AUTOCAL_MSK, x)
125#define ADF4377_EN_RDBLR_MSK NO_OS_BIT(6)
126#define ADF4377_EN_RDBLR(x) no_os_field_prep(ADF4377_EN_RDBLR_MSK, x)
127#define ADF4377_DCLK_DIV2_MSK NO_OS_GENMASK(5,4)
128#define ADF4377_DCLK_DIV2(x) no_os_field_prep(ADF4377_DCLK_DIV2_MSK, x)
129#define ADF4377_N_INT_MSB_MSK NO_OS_GENMASK(3,0)
130#define ADF4377_N_INT_MSB(x) no_os_field_prep(ADF4377_N_INT_MSB_MSK, x)
131
132/* ADF4377 REG0011 Bit Definition */
133#define ADF4377_VCO_CALIB_DIS 0x0
134#define ADF4377_VCO_CALIB_EN 0x1
135
136#define ADF4377_REF_DBLR_DIS 0x0
137#define ADF4377_REF_DBLR_EN 0x1
138
139#define ADF4377_DCLK_DIV2_1 0x0
140#define ADF4377_DCLK_DIV2_2 0x1
141#define ADF4377_DCLK_DIV2_4 0x2
142#define ADF4377_DCLK_DIV2_8 0x3
143
144/* ADF4377 REG0012 Map*/
145#define ADF4377_CLKOUT_DIV_MSK NO_OS_GENMASK(7, 6)
146#define ADF4377_CLKOUT_DIV(x) no_os_field_prep(ADF4377_CLKOUT_DIV_MSK, x)
147#define ADF4377_R_DIV_MSK NO_OS_GENMASK(5, 0)
148#define ADF4377_R_DIV(x) no_os_field_prep(ADF4377_R_DIV_MSK, x)
149
150/* ADF4377 REG0012 Bit Definition */
151#define ADF4377_CLKOUT_DIV_1 0x0
152#define ADF4377_CLKOUT_DIV_2 0x1
153#define ADF4377_CLKOUT_DIV_4 0x2
154#define ADF4377_CLKOUT_DIV_8 0x3
155
156#define ADF4377_MIN_R_DIV 0x00
157#define ADF4378_MAX_R_DIV 0x3F
158
159/* ADF4377 REG0013 Map */
160#define ADF4377_M_VCO_CORE_MSK NO_OS_GENMASK(5,4)
161#define ADF4377_M_VCO_CORE(x) no_os_field_prep(ADF4377_M_VCO_CORE_MSK, x)
162#define ADF4377_M_VCO_BIAS_MSK NO_OS_GENMASK(3,0)
163#define ADF4377_M_VCO_BIAS(x) no_os_field_prep(ADF4377_M_VCO_BIAS_MSK, x)
164
165/* ADF4377 REG0013 Bit Definition */
166#define ADF4377_M_VCO_0 0x0
167#define ADF4377_M_VCO_1 0x1
168#define ADF4377_M_VCO_2 0x2
169#define ADF4377_M_VCO_3 0x3
170
171#define M_VCO_BIAS_MIN 0xF
172#define M_VCO_BIAS_MAX 0x0
173
174/* ADF4377 REG0014 Map */
175#define ADF4377_M_VCO_BAND_MSK NO_OS_GENMASK(7,0)
176#define ADF4377_M_VCO_BAND(x) no_os_field_prep(ADF4377_M_VCO_BAND_MSK, x)
177
178/* ADF4377 REG0014 Bit Definition */
179#define ADF4377_VCO_BAND_MIN 0xFF
180#define ADF4377_VCO_BAND_MAX 0x00
181
182/* ADF4377 REG0015 Map */
183#define ADF4377_BLEED_I_LSB_MSK NO_OS_GENMASK(7, 6)
184#define ADF4377_BLEED_I_LSB(x) no_os_field_prep(ADF4377_BLEED_I_LSB_MSK, x)
185#define ADF4377_BLEED_POL_MSK NO_OS_BIT(5)
186#define ADF4377_BLEED_POL(x) no_os_field_prep(ADF4377_BLEED_POL_MSK, x)
187#define ADF4377_EN_BLEED_MSK NO_OS_BIT(4)
188#define ADF4377_EN_BLEED(x) no_os_field_prep(ADF4377_EN_BLEED_MSK, x)
189#define ADF4377_CP_I_MSK NO_OS_GENMASK(3, 0)
190#define ADF4377_CP_I(x) no_os_field_prep(ADF4377_CP_I_MSK, x)
191
192/* ADF4377 REG0015 Bit Description */
193#define ADF4377_CURRENT_SINK 0x0
194#define ADF4377_CURRENT_SOURCE 0x1
195
196#define ADF4377_CP_0MA7 0x0
197#define ADF4377_CP_0MA9 0x1
198#define ADF4377_CP_1MA1 0x2
199#define ADF4377_CP_1MA3 0x3
200#define ADF4377_CP_1MA4 0x4
201#define ADF4377_CP_1MA8 0x5
202#define ADF4377_CP_2MA2 0x6
203#define ADF4377_CP_2MA5 0x7
204#define ADF4377_CP_2MA9 0x8
205#define ADF4377_CP_3MA6 0x9
206#define ADF4377_CP_4MA3 0xA
207#define ADF4377_CP_5MA0 0xB
208#define ADF4377_CP_5MA7 0xC
209#define ADF4377_CP_7MA2 0xD
210#define ADF4377_CP_8MA6 0xE
211#define ADF4377_CP_10MA1 0xF
212
213/* ADF4377 REG0016 Map */
214#define ADF4377_BLEED_I_MSB_MSK NO_OS_GENMASK(7, 0)
215#define ADF4377_BLEED_I_MSB(x) no_os_field_prep(ADF4377_BLEED_I_MSB_MSK, x)
216
217/* ADF4377 REG0017 Map */
218#define ADF4377_INV_CLKOUT_MSK NO_OS_BIT(7)
219#define ADF4377_INV_CLKOUT(x) no_os_field_prep(ADF4377_INV_CLKOUT_MSK, x)
220#define ADF4377_N_DEL_MSK NO_OS_GENMASK(6, 0)
221#define ADF4377_N_DEL(x) no_os_field_prep(ADF4377_N_DEL_MSK, x)
222
223/* ADF4377 REG0018 Map */
224#define ADF4377_CMOS_OV_MSK NO_OS_BIT(7)
225#define ADF4377_CMOS_OV(x) no_os_field_prep(ADF4377_CMOS_OV_MSK, x)
226#define ADF4377_R_DEL_MSK NO_OS_GENMASK(6, 0)
227#define ADF4377_R_DEL(x) no_os_field_prep(ADF4377_R_DEL_MSK, x)
228
229/* ADF4377 REG0018 Bit Definition */
230#define ADF4377_1V8_LOGIC 0x0
231#define ADF4377_3V3_LOGIC 0x1
232
233#define ADF4377_R_N_DEL_MIN 0x00
234#define ADF4377_R_N_DEL_MAX 0x7F
235
236/* ADF4377 REG0019 Map */
237#define ADF4377_CLKOUT2_OP_MSK NO_OS_GENMASK(7, 6)
238#define ADF4377_CLKOUT2_OP(x) no_os_field_prep(ADF4377_CLKOUT2_OP_MSK, x)
239#define ADF4377_CLKOUT1_OP_MSK NO_OS_GENMASK(5, 4)
240#define ADF4377_CLKOUT1_OP(x) no_os_field_prep(ADF4377_CLKOUT1_OP_MSK, x)
241#define ADF4377_PD_CLK_MSK NO_OS_BIT(3)
242#define ADF4377_PD_CLK(x) no_os_field_prep(ADF4377_PD_CLK_MSK, x)
243#define ADF4377_PD_RDET_MSK NO_OS_BIT(2)
244#define ADF4377_PD_RDET(x) no_os_field_prep(ADF4377_PD_RDET_MSK, x)
245#define ADF4377_PD_ADC_MSK NO_OS_BIT(1)
246#define ADF4377_PD_ADC(x) no_os_field_prep(ADF4377_PD_ADC_MSK, x)
247#define ADF4377_PD_CALADC_MSK NO_OS_BIT(0)
248#define ADF4377_PD_CALADC(x) no_os_field_prep(ADF4377_PD_CALADC_MSK, x)
249
250/* ADF4377 REG0019 Bit Definition */
251#define ADF4377_CLKOUT_320MV 0x0
252#define ADF4377_CLKOUT_420MV 0x1
253#define ADF4377_CLKOUT_530MV 0x2
254#define ADF4377_CLKOUT_640MV 0x3
255
256#define ADF4377_PD_CLK_N_OP 0x0
257#define ADF4377_PD_CLK_PD 0x1
258
259#define ADF4377_PD_RDET_N_OP 0x0
260#define ADF4377_PD_RDET_PD 0x1
261
262#define ADF4377_PD_ADC_N_OP 0x0
263#define ADF4377_PD_ADC_PD 0x1
264
265#define ADF4377_PD_CALADC_N_OP 0x0
266#define ADF4377_PD_CALADC_PD 0x1
267
268/* ADF4377 REG001A Map */
269#define ADF4377_PD_ALL_MSK NO_OS_BIT(7)
270#define ADF4377_PD_ALL(x) no_os_field_prep(ADF4377_PD_ALL_MSK, x)
271#define ADF4377_PD_RDIV_MSK NO_OS_BIT(6)
272#define ADF4377_PD_RDIV(x) no_os_field_prep(ADF4377_PD_RDIV_MSK, x)
273#define ADF4377_PD_NDIV_MSK NO_OS_BIT(5)
274#define ADF4377_PD_NDIV(x) no_os_field_prep(ADF4377_PD_NDIV_MSK, x)
275#define ADF4377_PD_VCO_MSK NO_OS_BIT(4)
276#define ADF4377_PD_VCO(x) no_os_field_prep(ADF4377_PD_VCO_MSK, x)
277#define ADF4377_PD_LD_MSK NO_OS_BIT(3)
278#define ADF4377_PD_LD(x) no_os_field_prep(ADF4377_PD_LD_MSK, x)
279#define ADF4377_PD_PFDCP_MSK NO_OS_BIT(2)
280#define ADF4377_PD_PFDCP(x) no_os_field_prep(ADF4377_PD_PFDCP_MSK, x)
281#define ADF4377_PD_CLKOUT1_MSK NO_OS_BIT(1)
282#define ADF4377_PD_CLKOUT1(x) no_os_field_prep(ADF4377_PD_CLKOUT1_MSK, x)
283#define ADF4377_PD_CLKOUT2_MSK NO_OS_BIT(0)
284#define ADF4377_PD_CLKOUT2(x) no_os_field_prep(ADF4377_PD_CLKOUT2_MSK, x)
285
286/* ADF4377 REG001A Bit Definition */
287#define ADF4377_PD_ALL_N_OP 0x0
288#define ADF4377_PD_ALL_PD 0x1
289
290#define ADF4377_PD_RDIV_N_OP 0x0
291#define ADF4377_PD_RDIV_PD 0x1
292
293#define ADF4377_PD_NDIV_N_OP 0x0
294#define ADF4377_PD_NDIV_PD 0x1
295
296#define ADF4377_PD_VCO_N_OP 0x0
297#define ADF4377_PD_VCO_PD 0x1
298
299#define ADF4377_PD_LD_N_OP 0x0
300#define ADF4377_PD_LD_PD 0x1
301
302#define ADF4377_PD_PFDCP_N_OP 0x0
303#define ADF4377_PD_PFDCP_PD 0x1
304
305#define ADF4377_PD_CLKOUT1_N_OP 0x0
306#define ADF4377_PD_CLKOUT1_PD 0x1
307
308#define ADF4377_PD_CLKOUT2_N_OP 0x0
309#define ADF4377_PD_CLKOUT2_PD 0x1
310
311/* ADF4377 REG001B Map */
312#define ADF4377_EN_LOL_MSK NO_OS_BIT(7)
313#define ADF4377_EN_LOL(x) no_os_field_prep(ADF4377_EN_LOL_MSK, x)
314#define ADF4377_LDWIN_PW_MSK NO_OS_BIT(6)
315#define ADF4377_LDWIN_PW(x) no_os_field_prep(ADF4377_LDWIN_PW_MSK, x)
316#define ADF4377_EN_LDWIN_MSK NO_OS_BIT(5)
317#define ADF4377_EN_LDWIN(x) no_os_field_prep(ADF4377_EN_LDWIN_MSK, x)
318#define ADF4377_LD_COUNT_MSK NO_OS_GENMASK(4, 0)
319#define ADF4377_LD_COUNT(x) no_os_field_prep(ADF4377_LD_COUNT_MSK, x)
320
321/* ADF4377 REG001B Bit Definition */
322
323#define ADF4377_LDWIN_PW_NARROW 0x0
324#define ADF4377_LDWIN_PW_WIDE 0x1
325
326/* ADF4377 REG001C Map */
327#define ADF4377_EN_DNCLK_MSK NO_OS_BIT(7)
328#define ADF4377_EN_DNCLK(x) no_os_field_prep(ADF4377_EN_DNCLK_MSK, x)
329#define ADF4377_EN_DRCLK_MSK NO_OS_BIT(6)
330#define ADF4377_EN_DRCLK(x) no_os_field_prep(ADF4377_EN_DRCLK_MSK, x)
331#define ADF4377_RST_LD_MSK NO_OS_BIT(2)
332#define ADF4377_RST_LD(x) no_os_field_prep(ADF4377_RST_LD_MSK, x)
333#define ADF4377_R01C_RSV1_MSK NO_OS_BIT(0)
334#define ADF4377_R01C_RSV1(x) no_os_field_prep(ADF4377_R01C_RSV1_MSK, x)
335
336/* ADF4377 REG001C Bit Definition */
337#define ADF4377_EN_DNCLK_OFF 0x0
338#define ADF4377_EN_DNCLK_ON 0x1
339
340#define ADF4377_EN_DRCLK_OFF 0x0
341#define ADF4377_EN_DRCLK_ON 0x1
342
343#define ADF4377_RST_LD_INACTIVE 0x0
344#define ADF4377_RST_LD_ACTIVE 0x1
345
346/* ADF4377 REG001D Map */
347#define ADF4377_MUXOUT_MSK NO_OS_GENMASK(7, 4)
348#define ADF4377_MUXOUT(x) no_os_field_prep(ADF4377_MUXOUT_MSK, x)
349#define ADF4377_EN_CPTEST_MSK NO_OS_BIT(2)
350#define ADF4377_EN_CPTEST(x) no_os_field_prep(ADF4377_EN_CPTEST_MSK, x)
351#define ADF4377_CP_DOWN_MSK NO_OS_BIT(1)
352#define ADF4377_CP_DOWN(x) no_os_field_prep(ADF4377_CP_DOWN_MSK, x)
353#define ADF4377_CP_UP_MSK NO_OS_BIT(0)
354#define ADF4377_CP_UP(x) no_os_field_prep(ADF4377_CP_UP_MSK, x)
355
356/* ADF4377 REG001D Bit Definitons */
357#define ADF4377_MUXOUT_HIGH_Z 0x0
358#define ADF4377_MUXOUT_LKDET 0x1
359#define ADF4377_MUXOUT_LOW 0x2
360#define ADF4377_MUXOUT_DIV_RCLK_2 0x4
361#define ADF4377_MUXOUT_DIV_NCLK_2 0x5
362#define ADF4377_MUXOUT_HIGH 0x8
363
364#define ADF4377_EN_CPTEST_OFF 0x0
365#define ADF4377_EN_CPTEST_ON 0x1
366
367#define ADF4377_CP_DOWN_OFF 0x0
368#define ADF4377_CP_DOWN_ON 0x1
369
370#define ADF4377_CP_UP_OFF 0x0
371#define ADF4377_CP_UP_ON 0x1
372
373/* ADF4377 REG001F Map */
374#define ADF4377_BST_REF_MSK NO_OS_BIT(7)
375#define ADF4377_BST_REF(x) no_os_field_prep(ADF4377_BST_REF_MSK, x)
376#define ADF4377_FILT_REF_MSK NO_OS_BIT(6)
377#define ADF4377_FILT_REF(x) no_os_field_prep(ADF4377_FILT_REF_MSK, x)
378#define ADF4377_REF_SEL_MSK NO_OS_BIT(5)
379#define ADF4377_REF_SEL(x) no_os_field_prep(ADF4377_REF_SEL_MSK, x)
380#define ADF4377_R01F_RSV1_MSK NO_OS_GENMASK(2, 0)
381#define ADF4377_R01F_RSV1(x) no_os_field_prep(ADF4377_R01F_RSV1_MSK, x)
382
383/* ADF4377 REG001F Bit Description */
384#define ADF4377_BST_LARGE_REF_IN 0x0
385#define ADF4377_BST_SMALL_REF_IN 0x1
386
387#define ADF4377_FILT_REF_OFF 0x0
388#define ADF4377_FILT_REF_ON 0x1
389
390#define ADF4377_REF_SEL_DMA 0x0
391#define ADF4377_REF_SEL_LNA 0x1
392
393/* ADF4377 REG0020 Map */
394#define ADF4377_RST_SYS_MSK NO_OS_BIT(4)
395#define ADF4377_RST_SYS(x) no_os_field_prep(ADF4377_RST_SYS_MSK, x)
396#define ADF4377_EN_ADC_CLK_MSK NO_OS_BIT(3)
397#define ADF4377_EN_ADC_CLK(x) no_os_field_prep(ADF4377_EN_ADC_CLK_MSK, x)
398#define ADF4377_R020_RSV1_MSK NO_OS_BIT(0)
399#define ADF4377_R020_RSV1(x) no_os_field_prep(ADF4377_R020_RSV1_MSK, x)
400
401/* ADF4377 REG0020 Bit Description */
402#define ADF4377_RST_SYS_INACTIVE 0x0
403#define ADF4377_RST_SYS_ACTIVE 0x1
404
405/* ADF4377 REG0021 Map */
406#define ADF4377_R021_RSV1 0xD3
407
408/* ADF4377 REG0022 Map */
409#define ADF4377_R022_RSV1 0x32
410
411/* ADF4377 REG0023 Map */
412#define ADF4377_R023_RSV1 0x18
413
414/* ADF4377 REG0024 Map */
415#define ADF4377_DCLK_MODE_MSK NO_OS_BIT(2)
416#define ADF4377_DCLK_MODE(x) no_os_field_prep(ADF4377_DCLK_MODE_MSK, x)
417
418/* ADF4377 REG0025 Map */
419#define ADF4377_CLKODIV_DB_MSK NO_OS_BIT(7)
420#define ADF4377_CLKODIV_DB(x) no_os_field_prep(ADF4377_CLKODIV_DB_MSK, x)
421#define ADF4377_DCLK_DB_MSK NO_OS_BIT(6)
422#define ADF4377_DCLK_DB(x) no_os_field_prep(ADF4377_DCLK_DB_MSK, x)
423#define ADF4377_R025_RSV1_MSK NO_OS_BIT(4) | NO_OS_BIT(2) | NO_OS_BIT(1)
424#define ADF4377_R025_RSV1(x) no_os_field_prep(ADF4377_R025_RSV1_MSK, x)
425
426/* ADF4377 REG0026 Map */
427#define ADF4377_VCO_BAND_DIV_MSK NO_OS_GENMASK(7, 0)
428#define ADF4377_VCO_BAND_DIV(x) no_os_field_prep(ADF4377_VCO_BAND_DIV_MSK, x)
429
430/* ADF4377 REG0026 Bit Definition */
431#define ADF4377_VCO_BAND_DIV_MIN 0x00
432#define ADF4377_VCO_BAND_DIV_MAX 0xFF
433
434/* ADF4377 REG0027 Map */
435#define ADF4377_SYNTH_LOCK_TO_LSB_MSK NO_OS_GENMASK(7, 0)
436#define ADF4377_SYNTH_LOCK_TO_LSB(x) no_os_field_prep(ADF4377_SYNTH_LOCK_TO_LSB_MSK, x)
437
438/* ADF4377 REG0028 Map */
439#define ADF4377_O_VCO_DB_MSK NO_OS_BIT(7)
440#define ADF4377_O_VCO_DB(x) no_os_field_prep(ADF4377_O_VCO_DB_MSK, x)
441#define ADF4377_SYNTH_LOCK_TO_MSB_MSK NO_OS_GENMASK(6, 0)
442#define ADF4377_SYNTH_LOCK_TO_MSB(x) no_os_field_prep(ADF4377_SYNTH_LOCK_TO_MSB_MSK, x)
443
444/* ADF4377 REG0029 Map */
445#define ADF4377_VCO_ALC_TO_LSB_MSK NO_OS_GENMASK(7, 0)
446#define ADF4377_VCO_ALC_TO_LSB(x) no_os_field_prep(ADF4377_VCO_ALC_TO_LSB_MSK, x)
447
448/* ADF4377 REG002A Map */
449#define ADF4377_DEL_CTRL_DB_MSK NO_OS_BIT(7)
450#define ADF4377_DEL_CTRL_DB(x) no_os_field_prep(ADF4377_DEL_CTRL_DB_MSK, x)
451#define ADF4377_VCO_ALC_TO_MSB_MSK NO_OS_GENMASK(6, 0)
452#define ADF4377_VCO_ALC_TO_MSB(x) no_os_field_prep(ADF4377_VCO_ALC_TO_MSB_MSK, x)
453
454/* ADF4377 REG002C Map */
455#define ADF4377_R02C_RSV1 0xC0
456
457/* ADF4377 REG002D Map */
458#define ADF4377_ADC_CLK_DIV_MSK NO_OS_GENMASK(7, 0)
459#define ADF4377_ADC_CLK_DIV(x) no_os_field_prep(ADF4377_ADC_CLK_DIV_MSK, x)
460
461/* ADF4377 REG002E Map */
462#define ADF4377_EN_ADC_CNV_MSK NO_OS_BIT(7)
463#define ADF4377_EN_ADC_CNV(x) no_os_field_prep(ADF4377_EN_ADC_CNV_MSK, x)
464#define ADF4377_EN_ADC_MSK NO_OS_BIT(1)
465#define ADF4377_EN_ADC(x) no_os_field_prep(ADF4377_EN_ADC_MSK, x)
466#define ADF4377_ADC_A_CONV_MSK NO_OS_BIT(0)
467#define ADF4377_ADC_A_CONV(x) no_os_field_prep(ADF4377_ADC_A_CONV_MSK, x)
468
469/* ADF4377 REG002E Bit Definition */
470#define ADF4377_ADC_A_CONV_ADC_ST_CNV 0x0
471#define ADF4377_ADC_A_CONV_VCO_CALIB 0x1
472
473/* ADF4377 REG002F Map */
474#define ADF4377_DCLK_DIV1_MSK NO_OS_GENMASK(1, 0)
475#define ADF4377_DCLK_DIV1(x) no_os_field_prep(ADF4377_DCLK_DIV1_MSK, x)
476
477/* ADF4377 REG002F Bit Definition */
478#define ADF4377_DCLK_DIV1_1 0x0
479#define ADF4377_DCLK_DIV1_2 0x1
480#define ADF4377_DCLK_DIV1_8 0x2
481#define ADF4377_DCLK_DIV1_32 0x3
482
483/* ADF4377 REG0031 Map */
484#define ADF4377_R031_RSV1 0x09
485
486/* ADF4377 REG0032 Map */
487#define ADF4377_ADC_CLK_SEL_MSK NO_OS_BIT(6)
488#define ADF4377_ADC_CLK_SEL(x) no_os_field_prep(ADF4377_ADC_CLK_SEL_MSK, x)
489#define ADF4377_R032_RSV1_MSK NO_OS_BIT(3) | NO_OS_BIT(0)
490#define ADF4377_R032_RSV1(x) no_os_field_prep(ADF4377_R032_RSV1_MSK, x)
491
492/* ADF4377 REG0032 Bit Definition */
493#define ADF4377_ADC_CLK_SEL_N_OP 0x0
494#define ADF4377_ADC_CLK_SEL_SPI_CLK 0x1
495
496/* ADF4377 REG0033 Map */
497#define ADF4377_R033_RSV1 0x18
498
499/* ADF4377 REG0034 Map */
500#define ADF4377_R034_RSV1 0x08
501
502/* ADF4377 REG003A Map */
503#define ADF4377_R03A_RSV1 0x5C
504
505/* ADF4377 REG003B Map */
506#define ADF4377_R03B_RSV1 0x2B
507
508/* ADF4377 REG003D Map */
509#define ADF4377_O_VCO_BAND_MSK NO_OS_BIT(3)
510#define ADF4377_O_VCO_BAND(x) no_os_field_prep(ADF4377_O_VCO_BAND_MSK, x)
511#define ADF4377_O_VCO_CORE_MSK NO_OS_BIT(2)
512#define ADF4377_O_VCO_CORE(x) no_os_field_prep(ADF4377_O_VCO_CORE_MSK, x)
513#define ADF4377_O_VCO_BIAS_MSK NO_OS_BIT(1)
514#define ADF4377_O_VCO_BIAS(x) no_os_field_prep(ADF4377_O_VCO_BIAS_MSK, x)
515
516/* ADF4377 REG003D Bit Definition */
517#define ADF4377_O_VCO_BAND_VCO_CALIB 0x0
518#define ADF4377_O_VCO_BAND_M_VCO 0x1
519
520#define ADF4377_O_VCO_CORE_VCO_CALIB 0x0
521#define ADF4377_O_VCO_CORE_M_VCO 0x1
522
523#define ADF4377_O_VCO_BIAS_VCO_CALIB 0x0
524#define ADF4377_O_VCO_BIAS_M_VCO 0x1
525
526/* ADF4377 REG0042 Map */
527#define ADF4377_R042_RSV5_MSK NO_OS_BIT(7)
528#define ADF4377_PD_SR_MON_MSK NO_OS_BIT(6)
529#define ADF4377_PD_SR_MON(x) no_os_field_prep(ADF4377_PD_SR_MON_MSK, x)
530#define ADF4377_SR_SEL_MSK NO_OS_BIT(5)
531#define ADF4377_SR_SEL(x) no_os_field_prep(ADF4377_SR_SEL_MSK, x)
532#define ADF4377_RST_SR_MON_MSK NO_OS_BIT(4)
533#define ADF4377_RST_SR_MON(x) no_os_field_prep(ADF4377_RST_SR_MON_MSK, x)
534#define ADF4377_R042_RSV1_MSK NO_OS_GENMASK(3, 0)
535
536/* ADF4377 REG0042 Bit Definition */
537#define ADF4377_R042_RSV1 0x05
538
539/* ADF4377 REG0043 Map*/
540#define ADF4377_INV_SR_MSK NO_OS_BIT(7)
541#define ADF4377_INV_SR(x) no_os_field_prep(ADF4377_INV_SR_MSK, x)
542#define ADF4377_SR_DEL_MSK NO_OS_GENMASK(6, 0)
543#define ADF4377_SR_DEL(x) no_os_field_prep(ADF4377_SR_DEL_MSK, x)
544
545/* ADF4377 REG0045 Map */
546#define ADF4377_ADC_ST_CNV_MSK NO_OS_BIT(0)
547#define ADF4377_ADC_ST_CNV(x) no_os_field_prep(ADF4377_ADC_ST_CNV_MSK, x)
548
549/* ADF4377 REG0049 Map */
550#define ADF4377_EN_CLK2_MSK NO_OS_BIT(7)
551#define ADF4377_EN_CLK2(x) no_os_field_prep(ADF4377_EN_CLK2_MSK, x)
552#define ADF4377_EN_CLK1_MSK NO_OS_BIT(6)
553#define ADF4377_EN_CLK1(x) no_os_field_prep(ADF4377_EN_CLK1_MSK, x)
554#define ADF4377_REF_OK_MSK NO_OS_BIT(3)
555#define ADF4377_REF_OK(x) no_os_field_prep(ADF4377_REF_OK_MSK, x)
556#define ADF4377_ADC_BUSY_MSK NO_OS_BIT(2)
557#define ADF4377_ADC_BUSY(x) no_os_field_prep(ADF4377_ADC_BUSY_MSK, x)
558#define ADF4377_FSM_BUSY_MSK NO_OS_BIT(1)
559#define ADF4377_FSM_BUSY(x) no_os_field_prep(ADF4377_FSM_BUSY_MSK, x)
560#define ADF4377_LOCKED_MSK NO_OS_BIT(0)
561#define ADF4377_LOCKED(x) no_os_field_prep(ADF4377_LOCKED_MSK, x)
562
563/* ADF4377 REG004B Map */
564#define ADF4377_VCO_CORE_MSK NO_OS_GENMASK(1, 0)
565#define ADF4377_VCO_CORE(x) no_os_field_prep(ADF4377_VCO_CORE_MSK, x)
566
567/* ADF4377 REG004C Map */
568#define ADF4377_CHIP_TEMP_LSB_MSK NO_OS_GENMASK(7, 0)
569#define ADF4377_CHIP_TEMP_LSB(x) no_os_field_prep(ADF4377_CHIP_TEMP_LSB_MSK, x)
570
571/* ADF4377 REG004D Map */
572#define ADF4377_CHIP_TEMP_MSB_MSK NO_OS_BIT(0)
573#define ADF4377_CHIP_TEMP_MSB(x) no_os_field_prep(ADF4377_CHIP_TEMP_MSB_MSK, x)
574
575/* ADF4377 REG004F Map */
576#define ADF4377_VCO_BAND_MSK NO_OS_GENMASK(7, 0)
577#define ADF4377_VCO_BAND(x) no_os_field_prep(ADF4377_VCO_BAND_MSK, x)
578
579/* ADF4377 REG0054 Map */
580#define ADF4377_CHIP_VERSION_MSK NO_OS_GENMASK(7, 0)
581#define ADF4377_CHIP_VERSION(x) no_os_field_prep(ADF4377_CHIP_VERSION_MSK, x)
582
583#define ADF4377_SPI_4W_CFG(x) (no_os_field_prep(ADF4377_SDO_ACTIVE_MSK, x) | \
584 no_os_field_prep(ADF4377_SDO_ACTIVE_R_MSK, x))
585
586#define ADF4377_SPI_LSB_CFG(x) (no_os_field_prep(ADF4377_LSB_FIRST_MSK, x) | \
587 no_os_field_prep(ADF4377_LSB_FIRST_R_MSK, x))
588/* Specifications */
589#define ADF4377_SPI_WRITE_CMD 0x0
590#define ADF4377_SPI_READ_CMD NO_OS_BIT(7)
591#define ADF4377_BUFF_SIZE_BYTES 3
592#define ADF4377_MAX_VCO_FREQ 12800000000ull /* Hz */
593#define ADF4377_MIN_VCO_FREQ 6400000000ull /* Hz */
594#define ADF4377_MAX_REFIN_FREQ 1000000000 /* Hz */
595#define ADF4377_MIN_REFIN_FREQ 10000000 /* Hz */
596#define ADF4377_MAX_FREQ_PFD 500000000 /* Hz */
597#define ADF4377_MIN_FREQ_PFD 3000000 /* Hz */
598#define ADF4377_MAX_CLKPN_FREQ ADF4377_MAX_VCO_FREQ /* Hz */
599#define ADF4377_MIN_CLKPN_FREQ (ADF4377_MIN_VCO_FREQ / 8) /* Hz */
600#define ADF4377_FREQ_PFD_80MHZ 80000000
601#define ADF4377_FREQ_PFD_125MHZ 125000000
602#define ADF4377_FREQ_PFD_160MHZ 160000000
603#define ADF4377_FREQ_PFD_250MHZ 250000000
604#define ADF4377_FREQ_PFD_320MHZ 320000000
605#define ADF4377_CPI_VAL_MAX 15
606#define ADF4377_RFOUT_MAX 12800000000U
607#define ADF4377_RFOUT_MIN 800000000U
608#define ADF4377_CLKOUT_DIV_REG_VAL_MAX 3
609#define ADF4377_LKD_DELAY_US 5000
610#define ADF4377_POR_DELAY_US 200
611#define ADF4377_BLEED_WORD_MAX 1023
612#define ADF4377_REF_DIV_MAX 63
613#define ADF4377_OUT_PWR_MAX ADF4377_CLKOUT_DIV_REG_VAL_MAX
614#define ADF4377_CLKIN_REF_MIN 10000000
615#define ADF4377_CLKIN_REF_MAX 10000000000U
616#define ADF4377_SR_DEL_MAX 127
617#define ADF4377_SR_MON_DELAY_US 100U
618
619/* ADF4377 Extra Definitions */
620#define ADF4377_SPI_SCRATCHPAD_TEST_A 0xA5u
621#define ADF4377_SPI_SCRATCHPAD_TEST_B 0x5Au
622#define ADF4377_SPI_DUMMY_DATA 0x00
623#define ADF4377_CHECK_RANGE(freq, range) \
624 ((freq > ADF4377_MAX_ ## range) || (freq < ADF4377_MIN_ ## range))
625
631 ADF4377 = 0x05,
632 ADF4378 = 0x06
633};
634
667
716
718int adf4377_spi_write(struct adf4377_dev *dev, uint8_t reg_addr,
719 uint8_t data);
720
721/* ADF4377 Register Update */
722int adf4377_spi_update_bit(struct adf4377_dev *dev, uint16_t reg_addr,
723 uint8_t mask, uint8_t data);
724
726int adf4377_spi_read(struct adf4377_dev *dev, uint8_t reg_addr,
727 uint8_t *data);
728
730int adf4377_set_ref_clk(struct adf4377_dev *dev, uint64_t val);
731
733int adf4377_get_ref_clk(struct adf4377_dev *dev, uint64_t *val);
734
736int adf4377_set_en_ref_doubler(struct adf4377_dev *dev, bool en);
737
739int adf4377_get_en_ref_doubler(struct adf4377_dev *dev, bool *en);
740
742int adf4377_set_ref_div(struct adf4377_dev *dev, int32_t div);
743
745int adf4377_get_ref_div(struct adf4377_dev *dev, int32_t *div);
746
748int adf4377_set_cp_i(struct adf4377_dev *dev, int32_t reg_val);
749
751int adf4377_get_cp_i(struct adf4377_dev *dev, int32_t *reg_val);
752
754int adf4377_set_bleed_word(struct adf4377_dev *dev, int32_t word);
755
757int adf4377_get_bleed_word(struct adf4377_dev *dev, int32_t *word);
758
760int adf4377_set_rfout(struct adf4377_dev *dev, uint64_t val);
761
763int adf4377_get_rfout(struct adf4377_dev *dev, uint64_t *val);
764
766int adf4377_set_en_chan(struct adf4377_dev *dev, uint8_t ch, bool en);
767
769int adf4377_get_en_chan(struct adf4377_dev *dev, uint8_t ch, bool *en);
770
772int adf4377_set_out_power(struct adf4377_dev *dev, uint8_t ch, int8_t pwr);
773
775int adf4377_get_out_power(struct adf4377_dev *dev, uint8_t ch, int8_t *pwr);
776
778int adf4377_set_rfout_divider(struct adf4377_dev *dev, uint8_t div);
779
781int adf4377_get_rfout_divider(struct adf4377_dev *dev, int8_t *div);
782
783/* ADF4377 Scratchpad check */
785
787int adf4377_set_sr_del_adj(struct adf4377_dev *dev, int32_t val);
788
790int adf4377_get_sr_del_adj(struct adf4377_dev *dev, int32_t *val);
791
793int adf4377_set_en_sr_inv_adj(struct adf4377_dev *dev, bool en);
794
796int adf4377_get_en_sr_inv_adj(struct adf4377_dev *dev, bool *en);
797
799int adf4377_set_en_sysref_monitor(struct adf4377_dev *dev, bool en);
800
802int adf4377_get_en_sysref_monitor(struct adf4377_dev *dev, bool *en);
803
805int adf4377_set_ndel(struct adf4377_dev *dev, int32_t val);
806
808int adf4377_get_ndel(struct adf4377_dev *dev, int32_t *val);
809
811int adf4377_set_rdel(struct adf4377_dev *dev, int32_t val);
812
814int adf4377_get_rdel(struct adf4377_dev *dev, int32_t *val);
815
816/* Set Output frequency */
817int adf4377_set_freq(struct adf4377_dev *dev);
818
819/* Soft reseting device and Load default registers */
820int adf4377_soft_reset(struct adf4377_dev *dev, bool spi_4wire);
821
823int32_t adf4377_init(struct adf4377_dev **device,
825
827int32_t adf4377_remove(struct adf4377_dev *dev);
828
829#endif /* ADF4377_H_ */
struct ad7616_init_param init_param
Definition ad7616_sdz.c:107
int adf4377_get_sr_del_adj(struct adf4377_dev *dev, int32_t *val)
Gets the value of the set SR_DEL Adjustment Feature Translated to Pico Seconds on the output.
Definition adf4377.c:870
int adf4377_set_en_ref_doubler(struct adf4377_dev *dev, bool en)
Set the reference doubler to enable or disable based on the passed parameter. If the parameter is dif...
Definition adf4377.c:344
int32_t adf4377_init(struct adf4377_dev **device, struct adf4377_init_param *init_param)
Initializes the ADF4377.
Definition adf4377.c:1124
int adf4377_set_ref_clk(struct adf4377_dev *dev, uint64_t val)
Set the desired reference frequency and reset everything over to maximum supported value of 5GHz to t...
Definition adf4377.c:219
int adf4377_set_rfout(struct adf4377_dev *dev, uint64_t val)
Set the desired output frequency and reset everything over to maximum supported value of 12....
Definition adf4377.c:641
int adf4377_get_en_sysref_monitor(struct adf4377_dev *dev, bool *en)
Gets the value of the set sysref monitoring.
Definition adf4377.c:968
adf4377_dev_id
ID of Devices supported by the driver.
Definition adf4377.h:630
@ ADF4378
Definition adf4377.h:632
@ ADF4377
Definition adf4377.h:631
int adf4377_get_rfout(struct adf4377_dev *dev, uint64_t *val)
Gets the user proposed output frequency.
Definition adf4377.c:730
int adf4377_set_rfout_divider(struct adf4377_dev *dev, uint8_t div)
Set the rfout frequency divider register value and reset everything over to maximum supported value o...
Definition adf4377.c:596
int adf4377_set_ndel(struct adf4377_dev *dev, int32_t val)
Set the NDEL (N divider Delay) register value.
Definition adf4377.c:764
int adf4377_get_ref_div(struct adf4377_dev *dev, int32_t *div)
Gets the value the reference divider.
Definition adf4377.c:321
int adf4377_spi_write(struct adf4377_dev *dev, uint8_t reg_addr, uint8_t data)
Writes data to ADF4377 over SPI.
Definition adf4377.c:104
int adf4377_get_ndel(struct adf4377_dev *dev, int32_t *val)
Gets the value of the set NDEL (N divider Delay) register.
Definition adf4377.c:784
int adf4377_set_out_power(struct adf4377_dev *dev, uint8_t ch, int8_t pwr)
Set the output power register value of a channel and reset everything over to maximum supported value...
Definition adf4377.c:547
int adf4377_set_sr_del_adj(struct adf4377_dev *dev, int32_t val)
Set the value of SR_DEL Adjustment Feature Translated to Pico Seconds on the output....
Definition adf4377.c:847
int adf4377_get_ref_clk(struct adf4377_dev *dev, uint64_t *val)
Gets the user proposed reference frequency.
Definition adf4377.c:241
int adf4377_set_cp_i(struct adf4377_dev *dev, int32_t reg_val)
Set the charge pump value which will be written to the register. The value will be between 0 and 15 o...
Definition adf4377.c:259
int adf4377_get_cp_i(struct adf4377_dev *dev, int32_t *reg_val)
Gets the charge pump value from the register. The value will be between 0 and 15 on 8 bits....
Definition adf4377.c:280
int adf4377_get_rdel(struct adf4377_dev *dev, int32_t *val)
Gets the value of the set RDEL (R divider Delay) register.
Definition adf4377.c:825
int adf4377_set_en_sysref_monitor(struct adf4377_dev *dev, bool en)
Set enable/disable sysref monitoring.
Definition adf4377.c:933
int adf4377_set_ref_div(struct adf4377_dev *dev, int32_t div)
Set the reference divider value and reset everything over to maximum supported value of 63 to the max...
Definition adf4377.c:302
int adf4377_check_scratchpad(struct adf4377_dev *dev)
ADF4377 SPI Scratchpad check.
Definition adf4377.c:192
int adf4377_get_en_ref_doubler(struct adf4377_dev *dev, bool *en)
Gets the value the doubler if it is enabled or disable and stores it it the dev structure.
Definition adf4377.c:361
int32_t adf4377_remove(struct adf4377_dev *dev)
Free resoulces allocated for ADF4377.
Definition adf4377.c:1248
int adf4377_spi_update_bit(struct adf4377_dev *dev, uint16_t reg_addr, uint8_t mask, uint8_t data)
Update ADF4377 register.
Definition adf4377.c:169
int adf4377_set_freq(struct adf4377_dev *dev)
Definition adf4377.c:662
int adf4377_set_rdel(struct adf4377_dev *dev, int32_t val)
Set the RDEL (R divider Delay) register value.
Definition adf4377.c:805
int adf4377_set_en_chan(struct adf4377_dev *dev, uint8_t ch, bool en)
Set the output channel to enable or disable based on the passed parameter. If the parameter is differ...
Definition adf4377.c:497
int adf4377_get_rfout_divider(struct adf4377_dev *dev, int8_t *div)
Gets the rfout divider register value.
Definition adf4377.c:617
int adf4377_set_en_sr_inv_adj(struct adf4377_dev *dev, bool en)
Set the value of SR_INV_ADJ Adjustment to enable or disable which adds a constant value to the skew a...
Definition adf4377.c:892
int adf4377_get_bleed_word(struct adf4377_dev *dev, int32_t *word)
Gets the value of the set bleed word.
Definition adf4377.c:468
int adf4377_get_en_sr_inv_adj(struct adf4377_dev *dev, bool *en)
Gets the value of the set SR_INV_ADJ Adjustment to enable or disable which adds a constant value to t...
Definition adf4377.c:912
int adf4377_soft_reset(struct adf4377_dev *dev, bool spi_4wire)
Software reset and loads default register values to bring the part to a known state.
Definition adf4377.c:399
int adf4377_get_out_power(struct adf4377_dev *dev, uint8_t ch, int8_t *pwr)
Gets the output power register value.
Definition adf4377.c:571
int adf4377_set_bleed_word(struct adf4377_dev *dev, int32_t word)
Set the bleed word, which represents the value of the bleed current written to the register space.
Definition adf4377.c:439
int adf4377_spi_read(struct adf4377_dev *dev, uint8_t reg_addr, uint8_t *data)
Reads data from ADF4377 over SPI.
Definition adf4377.c:135
int adf4377_get_en_chan(struct adf4377_dev *dev, uint8_t ch, bool *en)
Gets the value the output channel if it is enabled or disable.
Definition adf4377.c:519
Header file of GPIO Interface.
Header file of SPI Interface.
Header file of utility functions.
ADF4377 Device Descriptor.
Definition adf4377.h:672
bool spi4wire
Definition adf4377.h:684
struct no_os_gpio_desc * gpio_ce
Definition adf4377.h:680
uint8_t sr_del_adj
Definition adf4377.h:710
uint8_t muxout_default
Definition adf4377.h:696
uint32_t f_pfd
Definition adf4377.h:686
uint8_t sr_inv
Definition adf4377.h:712
struct no_os_gpio_desc * gpio_enclk1
Definition adf4377.h:676
uint32_t ref_div_factor
Definition adf4377.h:700
enum adf4377_dev_id dev_id
Definition adf4377.h:682
uint8_t cp_i
Definition adf4377.h:694
uint16_t bleed_word
Definition adf4377.h:708
bool sysrefout
Definition adf4377.h:714
uint64_t f_clk
Definition adf4377.h:688
uint64_t f_vco
Definition adf4377.h:690
uint8_t clkout_op
Definition adf4377.h:706
uint16_t n_int
Definition adf4377.h:704
struct no_os_spi_desc * spi_desc
Definition adf4377.h:674
struct no_os_gpio_desc * gpio_enclk2
Definition adf4377.h:678
uint8_t ref_doubler_en
Definition adf4377.h:698
uint64_t clkin_freq
Definition adf4377.h:692
uint8_t clkout_div_sel
Definition adf4377.h:702
ADF4377 Initialization Parameters structure.
Definition adf4377.h:639
uint32_t muxout_select
Definition adf4377.h:659
struct no_os_spi_init_param * spi_init
Definition adf4377.h:641
struct no_os_gpio_init_param * gpio_ce_param
Definition adf4377.h:643
struct no_os_gpio_init_param * gpio_enclk1_param
Definition adf4377.h:645
enum adf4377_dev_id dev_id
Definition adf4377.h:649
bool spi4wire
Definition adf4377.h:651
uint8_t clkout_op
Definition adf4377.h:663
uint32_t ref_div_factor
Definition adf4377.h:665
uint8_t ref_doubler_en
Definition adf4377.h:661
struct no_os_gpio_init_param * gpio_enclk2_param
Definition adf4377.h:647
uint64_t clkin_freq
Definition adf4377.h:653
uint64_t f_clk
Definition adf4377.h:655
uint8_t cp_i
Definition adf4377.h:657
Definition ad9361_util.h:63
Structure holding the GPIO descriptor.
Definition no_os_gpio.h:84
Structure holding the parameters for GPIO initialization.
Definition no_os_gpio.h:67
Structure holding SPI descriptor.
Definition no_os_spi.h:180
Structure holding the parameters for SPI initialization.
Definition no_os_spi.h:128