Go to the documentation of this file.
45 #define AD9517_READ (1 << 15)
46 #define AD9517_WRITE (0 << 15)
47 #define AD9517_CNT(x) ((x - 1) << 13)
48 #define AD9517_ADDR(x) (x & 0x3FF)
50 #define AD9517_T1B (1 << 16)
51 #define AD9517_T2B (2 << 16)
52 #define AD9517_T3B (3 << 16)
53 #define AD9517_TRANSF_LEN(x) ((uint32_t)x >> 16)
58 #define AD9517_REG_SERIAL_PORT_CONFIG (AD9517_T1B | 0x000)
59 #define AD9517_REG_PART_ID (AD9517_T1B | 0x003)
60 #define AD9517_REG_READBACK_CTRL (AD9517_T1B | 0x004)
63 #define AD9517_REG_PFD_CHARGE_PUMP (AD9517_T1B | 0x010)
64 #define AD9517_REG_R_COUNTER (AD9517_T2B | 0x012)
65 #define AD9517_REG_A_COUNTER (AD9517_T1B | 0x013)
66 #define AD9517_REG_B_COUNTER (AD9517_T2B | 0x015)
67 #define AD9517_REG_PLL_CTRL_1 (AD9517_T1B | 0x016)
68 #define AD9517_REG_PLL_CTRL_2 (AD9517_T1B | 0x017)
69 #define AD9517_REG_PLL_CTRL_3 (AD9517_T1B | 0x018)
70 #define AD9517_REG_PLL_CTRL_4 (AD9517_T1B | 0x019)
71 #define AD9517_REG_PLL_CTRL_5 (AD9517_T1B | 0x01A)
72 #define AD9517_REG_PLL_CTRL_6 (AD9517_T1B | 0x01B)
73 #define AD9517_REG_PLL_CTRL_7 (AD9517_T1B | 0x01C)
74 #define AD9517_REG_PLL_CTRL_8 (AD9517_T1B | 0x01D)
75 #define AD9517_REG_PLL_READBACK (AD9517_T1B | 0x01F)
78 #define AD9517_REG_OUT4_DELAY_BYPASS (AD9517_T1B | 0x0A0)
79 #define AD9517_REG_OUT4_DELAY_FULL_SCALE (AD9517_T1B | 0x0A1)
80 #define AD9517_REG_OUT4_DELAY_FRACTION (AD9517_T1B | 0x0A2)
81 #define AD9517_REG_OUT5_DELAY_BYPASS (AD9517_T1B | 0x0A3)
82 #define AD9517_REG_OUT5_DELAY_FULL_SCALE (AD9517_T1B | 0x0A4)
83 #define AD9517_REG_OUT5_DELAY_FRACTION (AD9517_T1B | 0x0A5)
84 #define AD9517_REG_OUT6_DELAY_BYPASS (AD9517_T1B | 0x0A6)
85 #define AD9517_REG_OUT6_DELAY_FULL_SCALE (AD9517_T1B | 0x0A7)
86 #define AD9517_REG_OUT6_DELAY_FRACTION (AD9517_T1B | 0x0A8)
87 #define AD9517_REG_OUT7_DELAY_BYPASS (AD9517_T1B | 0x0A9)
88 #define AD9517_REG_OUT7_DELAY_FULL_SCALE (AD9517_T1B | 0x0AA)
89 #define AD9517_REG_OUT7_DELAY_FRACTION (AD9517_T1B | 0x0AB)
92 #define AD9517_REG_LVPECL_OUT0 (AD9517_T1B | 0x0F0)
93 #define AD9517_REG_LVPECL_OUT1 (AD9517_T1B | 0x0F1)
94 #define AD9517_REG_LVPECL_OUT2 (AD9517_T1B | 0x0F4)
95 #define AD9517_REG_LVPECL_OUT3 (AD9517_T1B | 0x0F5)
98 #define AD9517_REG_LVDS_CMOS_OUT4 (AD9517_T1B | 0x140)
99 #define AD9517_REG_LVDS_CMOS_OUT5 (AD9517_T1B | 0x141)
100 #define AD9517_REG_LVDS_CMOS_OUT6 (AD9517_T1B | 0x142)
101 #define AD9517_REG_LVDS_CMOS_OUT7 (AD9517_T1B | 0x143)
104 #define AD9517_REG_DIVIDER_0_0 (AD9517_T1B | 0x190)
105 #define AD9517_REG_DIVIDER_0_1 (AD9517_T1B | 0x191)
106 #define AD9517_REG_DIVIDER_0_2 (AD9517_T1B | 0x192)
107 #define AD9517_REG_DIVIDER_1_0 (AD9517_T1B | 0x196)
108 #define AD9517_REG_DIVIDER_1_1 (AD9517_T1B | 0x197)
109 #define AD9517_REG_DIVIDER_1_2 (AD9517_T1B | 0x198)
112 #define AD9517_REG_LVDS_CMOS_DIVIDER_2_0 (AD9517_T1B | 0x199)
113 #define AD9517_REG_LVDS_CMOS_DIVIDER_2_1 (AD9517_T1B | 0x19A)
114 #define AD9517_REG_LVDS_CMOS_DIVIDER_2_2 (AD9517_T1B | 0x19B)
115 #define AD9517_REG_LVDS_CMOS_DIVIDER_2_3 (AD9517_T1B | 0x19C)
116 #define AD9517_REG_LVDS_CMOS_DIVIDER_2_4 (AD9517_T1B | 0x19D)
117 #define AD9517_REG_LVDS_CMOS_DIVIDER_3_0 (AD9517_T1B | 0x19E)
118 #define AD9517_REG_LVDS_CMOS_DIVIDER_3_1 (AD9517_T1B | 0x19F)
119 #define AD9517_REG_LVDS_CMOS_DIVIDER_3_2 (AD9517_T1B | 0x1A0)
120 #define AD9517_REG_LVDS_CMOS_DIVIDER_3_3 (AD9517_T1B | 0x1A1)
121 #define AD9517_REG_LVDS_CMOS_DIVIDER_3_4 (AD9517_T1B | 0x1A2)
124 #define AD9517_REG_VCO_DIVIDER (AD9517_T1B | 0x1E0)
125 #define AD9517_REG_INPUT_CLKS (AD9517_T1B | 0x1E1)
128 #define AD9517_REG_POWER_DOWN_SYNC (AD9517_T1B | 0x230)
131 #define AD9517_REG_UPDATE_ALL_REGS (AD9517_T1B | 0x232)
134 #define AD9517_SDO_ACTIVE ((1 << 7) | (1 << 0))
135 #define AD9517_LSB_FIRST ((1 << 6) | (1 << 1))
136 #define AD9517_SOFT_RESET ((1 << 5) | (1 << 2))
137 #define AD9517_LONG_INSTRUCTION ((1 << 4) | (1 << 3))
140 #define AD9517_REG_BANK_SELECTION (1 << 0)
143 #define AD9517_PFD_POLARITY (1 << 7)
144 #define AD9517_CP_CURRENT(x) ((x & 0x7) << 4)
145 #define AD9517_CP_MODE(x) ((x & 0x3) << 2)
146 #define AD9517_PLL_POWER_DOWN(x) ((x & 0x3) << 0)
149 #define AD9517_R_COUNTER(x) ((x & 0x3FFF) << 0)
152 #define AD9517_A_COUNTER(x) ((x & 0x3F) << 0)
155 #define AD9517_B_COUNTER(x) ((x & 0x1FFF) << 0)
158 #define AD9517_CP_VCP_DIV2 (1 << 7)
159 #define AD9517_RESET_R_COUNTER (1 << 6)
160 #define AD9517_RESET_A_B_COUNTERS (1 << 5)
161 #define AD9517_RESET_ALL_COUNTERS (1 << 4)
162 #define AD9517_B_COUNTER_BYPASS (1 << 3)
163 #define AD9517_PRESCALER_P(x) ((x & 0x7) << 0)
166 #define AD9517_STATUS_PIN_CTRL(x) ((x & 0x3F) << 2)
167 #define AD9517_ANTIBACKLASH_PULSE_WIDTH(x) ((x & 0x3) << 0)
170 #define AD9517_LOCK_DETECT_COUNTER(x) ((x & 0x3) << 5)
171 #define AD9517_DIGITAL_LOCK_DETECT_WINDOW (1 << 4)
172 #define AD9517_DIS_DIGITAL_LOCK_DETECT (1 << 3)
173 #define AD9517_VCO_CAL_DIVIDER(x) ((x & 0x3) << 1)
174 #define AD9517_VCO_CAL_NOW (1 << 0)
177 #define AD9517_SYNC_PIN_RESET(x) ((x & 0x3) << 6)
178 #define AD9517_R_PATH_DELAY(x) ((x & 0x7) << 3)
179 #define AD9517_N_PATH_DELAY(x) ((x & 0x7) << 0)
182 #define AD9517_REF_FREQ_MONITOR_THRESHOLD (1 << 6)
183 #define AD9517_LD_PIN_CTRL(x) ((x & 0x3F) << 0)
186 #define AD9517_VCO_FREQ_MONITOR (1 << 7)
187 #define AD9517_REF2_FREQ_MONITOR (1 << 6)
188 #define AD9517_REF1_FREQ_MONITOR (1 << 5)
189 #define AD9517_REFMON_PIN_CTRL(x) ((x & 0x1F) << 0)
192 #define AD9517_DIS_SWITCHOVER_DEGLITCH (1 << 7)
193 #define AD9517_SELECT_REF2 (1 << 6)
194 #define AD9517_USE_REF_SEL_PIN (1 << 5)
195 #define AD9517_REF2_POWER_ON (1 << 2)
196 #define AD9517_REF1_POWER_ON (1 << 1)
197 #define AD9517_DIFF_REF (1 << 0)
200 #define AD9517_PLL_STATUS_REG_DIS (1 << 4)
201 #define AD9517_LD_PIN_COMPARATOR_EN (1 << 3)
202 #define AD9517_HOLDOVER_EN ((1 << 2) | (1 << 0))
203 #define AD9517_EXT_HOLDOVER_CTRL (1 << 1)
206 #define AD9517_VCO_CAL_FINISHED (1 << 6)
207 #define AD9517_HOLDOVER_ACTIVE (1 << 5)
208 #define AD9517_REF2_SELECTED (1 << 4)
209 #define AD9517_VCO_FREQ_GREATER (1 << 3)
210 #define AD9517_REF2_FREQ_GREATER (1 << 2)
211 #define AD9517_REF1_FREQ_GREATER (1 << 1)
212 #define AD9517_DIGITAL_LOCK_DETECT (1 << 0)
215 #define AD9517_OUT_DELAY_BYPASS (1 << 0)
218 #define AD9517_OUT_RAMP_CAPACITORS(x) ((x & 0x7) << 3)
219 #define AD9517_OUT_RAMP_CURRENT(x) ((x & 0x7) << 0)
222 #define AD9517_OUT_DELAY_FRACTION(x) ((x & 0x3F) << 0)
225 #define AD9517_OUT_LVPECL_INVERT (1 << 4)
226 #define AD9517_OUT_LVPECL_DIFF_VOLTAGE(x) ((x & 0x3) << 2)
227 #define AD9517_OUT_LVPECL_POWER_DOWN(x) ((x & 0x3) << 0)
230 #define AD9517_OUT_LVDS_CMOS_INVERT(x) ((x & 0x7) << 5)
231 #define AD9517_OUT_CMOS_B (1 << 4)
232 #define AD9517_OUT_LVDS_CMOS (1 << 3)
233 #define AD9517_OUT_LVDS_OUTPUT_CURRENT(x) ((x & 0x3) << 1)
234 #define AD9517_OUT_LVDS_CMOS_POWER_DOWN (1 << 0)
237 #define AD9517_DIVIDER_LOW_CYCLES(x) ((x & 0xF) << 4)
238 #define AD9517_DIVIDER_HIGH_CYCLES(x) ((x & 0xF) << 0)
241 #define AD9517_DIVIDER_BYPASS (1 << 7)
242 #define AD9517_LVPECL_DIVIDER_NOSYNC (1 << 6)
243 #define AD9517_LVPECL_DIVIDER_FORCE_HIGH (1 << 5)
244 #define AD9517_DIVIDER_START_HIGH (1 << 4)
245 #define AD9517_DIVIDER_PHASE_OFFSET(x) ((x & 0xF) << 0)
248 #define AD9517_DIVIDER_DIRECT_TO_OUTPUT (1 << 1)
249 #define AD9517_DIVIDER_DCCOFF (1 << 0)
252 #define AD9517_LOW_CYCLES_DIVIDER_1(x) ((x & 0xF) << 4)
253 #define AD9517_HIGH_CYCLES_DIVIDER_1(x) ((x & 0xF) << 0)
256 #define AD9517_PHASE_OFFSET_DIVIDER_2(x) ((x & 0xF) << 4)
257 #define AD9517_PHASE_OFFSET_DIVIDER_1(x) ((x & 0xF) << 0)
260 #define AD9517_LOW_CYCLES_DIVIDER_2(x) ((x & 0xF) << 4)
261 #define AD9517_HIGH_CYCLES_DIVIDER_2(x) ((x & 0xF) << 0)
264 #define AD9517_BYPASS_DIVIDER_2 (1 << 5)
265 #define AD9517_BYPASS_DIVIDER_1 (1 << 4)
266 #define AD9517_LVDS_CMOS_DIVIDER_NOSYNC (1 << 3)
267 #define AD9517_LVDS_CMOS_DIVIDER_FORCE_HIGH (1 << 2)
268 #define AD9517_START_HIGH_DIVIDER_2 (1 << 1)
269 #define AD9517_START_HIGH_DIVIDER_1 (1 << 0)
272 #define AD9517_DIVIDER_DCCOFF (1 << 0)
275 #define AD9517_VCO_DIVIDER(x) ((x & 0x7) << 0)
278 #define AD9517_POWER_DOWN_CLK_INPUT_SECTION (1 << 4)
279 #define AD9517_POWER_DOWN_VCO_CLK_INTERFACE (1 << 3)
280 #define AD9517_POWER_DOWN_VCO_CLK (1 << 2)
281 #define AD9517_SEL_VCO_CLK (1 << 1)
282 #define AD9517_BYPASS_VCO_DIVIDER (1 << 0)
285 #define AD9517_POWER_DOWN_SYNC (1 << 2)
286 #define AD9517_POWER_DOWN_DIST_REF (1 << 1)
287 #define AD9517_SOFT_SYNC (1 << 0)
290 #define AD9517_UPDATE_ALL_REGS (1 << 0)
292 #define AD9517_1_MIN_VCO_FREQ 2300000000
293 #define AD9517_1_MAX_VCO_FREQ 2650000000
294 #define AD9517_2_MIN_VCO_FREQ 2050000000
295 #define AD9517_2_MAX_VCO_FREQ 2330000000
296 #define AD9517_3_MIN_VCO_FREQ 1750000000
297 #define AD9517_3_MAX_VCO_FREQ 2250000000
298 #define AD9517_4_MIN_VCO_FREQ 1450000000
299 #define AD9517_4_MAX_VCO_FREQ 1800000000
300 #define AD9517_MAX_PFD_FREQ 100000000
301 #define AD9517_MAX_PRESCLAER_OUT_FREQ 300000000
419 uint32_t *reg_value);
438 #endif // __AD9517_H__
#define AD9517_R_COUNTER(x)
Definition: ad9517.h:149
out_diff_voltage_options
Definition: ad9517.h:347
#define AD9517_OUT_LVDS_CMOS
Definition: ad9517.h:232
#define AD9517_REG_LVDS_CMOS_OUT6
Definition: ad9517.h:100
#define AD9517_REG_VCO_DIVIDER
Definition: ad9517.h:124
int32_t ad9517_write(struct ad9517_dev *dev, uint32_t reg_addr, uint16_t reg_val)
Writes data into a register.
Definition: ad9517.c:240
#define AD9517_DIVIDER_LOW_CYCLES(x)
Definition: ad9517.h:237
int64_t ad9517_frequency(struct ad9517_dev *dev, int32_t channel, int64_t frequency)
Sets the frequency on the specified channel.
Definition: ad9517.c:476
#define AD9517_SEL_VCO_CLK
Definition: ad9517.h:281
#define AD9517_4_MIN_VCO_FREQ
Definition: ad9517.h:298
#define AD9517_DIFF_REF
Definition: ad9517.h:197
#define AD9517_BYPASS_DIVIDER_1
Definition: ad9517.h:265
uint8_t name[16]
Definition: ad9517.h:361
#define AD9517_ADDR(x)
Definition: ad9517.h:48
uint32_t r_counter
Definition: ad9517.h:380
#define AD9517_3_MAX_VCO_FREQ
Definition: ad9517.h:297
#define AD9517_REG_LVDS_CMOS_DIVIDER_3_3
Definition: ad9517.h:120
int32_t ad9517_write(struct ad9517_dev *dev, uint32_t reg_addr, uint16_t reg_val)
Writes data into a register.
Definition: ad9517.c:240
#define AD9517_CP_MODE(x)
Definition: ad9517.h:145
struct ad9517_state ad9517_st
Definition: ad9517.h:400
uint8_t out_invert
Definition: ad9517.h:357
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:159
#define AD9517_REG_LVPECL_OUT1
Definition: ad9517.h:93
#define AD9517_TRANSF_LEN(x)
Definition: ad9517.h:53
int32_t ad9517_remove(struct ad9517_dev *dev)
Free the resources allocated by ad9517_setup().
Definition: ad9517.c:220
Header file of SPI Interface.
#define AD9517_B_COUNTER(x)
Definition: ad9517.h:155
logic_level_options
Definition: ad9517.h:364
enum ad9517_type ad9517_type
Definition: ad9517.h:401
@ LVDS_5_25mA
Definition: ad9517.h:372
Header file of AD9517 Driver.
#define AD9517_REG_DIVIDER_0_0
Definition: ad9517.h:104
#define AD9517_PRESCALER_P(x)
Definition: ad9517.h:163
@ LVDS_3_5mA
Definition: ad9517.h:371
#define AD9517_READ
Definition: ad9517.h:45
uint8_t logic_level
Definition: ad9517.h:358
@ LVPECL_600mV
Definition: ad9517.h:349
@ LVPECL_960mV
Definition: ad9517.h:351
Header file of Delay functions.
int8_t dividers_checker(int32_t number)
Checks if the number can be decomposed into a product of two numbers smaller or equal to 32 each one.
Definition: ad9517.c:450
#define AD9517_OUT_CMOS_B
Definition: ad9517.h:231
uint8_t out_diff_voltage
Definition: ad9517.h:336
#define AD9517_BYPASS_VCO_DIVIDER
Definition: ad9517.h:282
uint8_t vco_divider
Definition: ad9517.h:383
uint8_t channel_num
Definition: ad9517.h:334
#define AD9517_REG_LVDS_CMOS_OUT4
Definition: ad9517.h:98
#define AD9517_REG_R_COUNTER
Definition: ad9517.h:64
#define AD9517_SELECT_REF2
Definition: ad9517.h:193
Definition: ad9361_util.h:69
#define AD9517_DIVIDER_PHASE_OFFSET(x)
Definition: ad9517.h:245
int32_t ad9517_read(struct ad9517_dev *dev, uint32_t reg_addr, uint32_t *reg_value)
Reads data from a register.
Definition: ad9517.c:277
struct ad9517_platform_data * pdata
Definition: ad9517.h:377
int32_t ad9517_remove(struct ad9517_dev *dev)
Free the resources allocated by ad9517_setup().
Definition: ad9517.c:220
#define AD9517_1_MAX_VCO_FREQ
Definition: ad9517.h:293
#define AD9517_LOW_CYCLES_DIVIDER_1(x)
Definition: ad9517.h:252
#define AD9517_DIVIDER_BYPASS
Definition: ad9517.h:241
#define AD9517_OUT_LVDS_CMOS_POWER_DOWN
Definition: ad9517.h:234
#define AD9517_REG_LVDS_CMOS_OUT7
Definition: ad9517.h:101
#define AD9517_PFD_POLARITY
Definition: ad9517.h:143
#define AD9517_VCO_CAL_NOW
Definition: ad9517.h:174
uint8_t name[16]
Definition: ad9517.h:337
#define AD9517_REG_B_COUNTER
Definition: ad9517.h:66
uint8_t out_invert_en
Definition: ad9517.h:335
#define AD9517_REF1_POWER_ON
Definition: ad9517.h:196
#define AD9517_3_MIN_VCO_FREQ
Definition: ad9517.h:296
#define AD9517_REG_LVDS_CMOS_DIVIDER_2_0
Definition: ad9517.h:112
#define AD9517_REG_LVPECL_OUT3
Definition: ad9517.h:95
int32_t ad9517_power_mode(struct ad9517_dev *dev, int32_t channel, int32_t mode)
Sets the power mode of the specified channel.
Definition: ad9517.c:825
void no_os_mdelay(uint32_t msecs)
Wait until msecs milliseconds passed.
Definition: aducm3029_delay.c:126
struct no_os_spi_init_param spi_init
Definition: ad9517.h:398
#define AD9517_PLL_POWER_DOWN(x)
Definition: ad9517.h:146
uint8_t antibacklash_pulse_width
Definition: ad9517.h:385
#define AD9517_SOFT_RESET
Definition: ad9517.h:136
int32_t ad9517_phase(struct ad9517_dev *dev, int32_t channel, int32_t phase)
Sets the phase on the specified channel.
Definition: ad9517.c:777
#define AD9517_USE_REF_SEL_PIN
Definition: ad9517.h:194
@ AD9517_2
Definition: ad9517.h:342
int32_t ad9517_power_mode(struct ad9517_dev *dev, int32_t channel, int32_t mode)
Sets the power mode of the specified channel.
Definition: ad9517.c:825
#define AD9517_REG_LVDS_CMOS_DIVIDER_3_0
Definition: ad9517.h:117
int64_t ad9517_vco_frequency(struct ad9517_dev *dev, int64_t frequency)
Sets the VCO frequency.
Definition: ad9517.c:329
enum ad9517_type ad9517_type
Definition: ad9517.h:393
#define AD9517_REG_UPDATE_ALL_REGS
Definition: ad9517.h:131
uint8_t a_counter
Definition: ad9517.h:381
int64_t ad9517_frequency(struct ad9517_dev *dev, int32_t channel, int64_t frequency)
Sets the frequency on the specified channel.
Definition: ad9517.c:476
#define AD9517_REG_LVDS_CMOS_DIVIDER_2_3
Definition: ad9517.h:115
@ AD9517_1
Definition: ad9517.h:341
int32_t ad9517_setup(struct ad9517_dev **device, struct ad9517_init_param init_param)
Initializes the AD9517.
Definition: ad9517.c:52
@ LVDS_7mA
Definition: ad9517.h:373
int32_t ad9517_read(struct ad9517_dev *dev, uint32_t reg_addr, uint32_t *reg_value)
Reads data from a register.
Definition: ad9517.c:277
@ LVPECL_400mV
Definition: ad9517.h:348
#define AD9517_REG_LVDS_CMOS_DIVIDER_2_2
Definition: ad9517.h:114
#define AD9517_CP_CURRENT(x)
Definition: ad9517.h:144
out_lvds_current_options
Definition: ad9517.h:369
struct no_os_spi_desc * spi_desc
Definition: ad9517.h:390
#define AD9517_REG_SERIAL_PORT_CONFIG
Definition: ad9517.h:58
#define AD9517_REG_PLL_CTRL_3
Definition: ad9517.h:69
#define AD9517_OUT_LVPECL_DIFF_VOLTAGE(x)
Definition: ad9517.h:226
#define AD9517_REG_A_COUNTER
Definition: ad9517.h:65
Structure holding SPI descriptor.
Definition: no_os_spi.h:192
#define AD9517_MAX_PFD_FREQ
Definition: ad9517.h:300
@ LVDS_1_75mA
Definition: ad9517.h:370
#define AD9517_REG_LVDS_CMOS_DIVIDER_3_1
Definition: ad9517.h:118
uint8_t out_lvds_current
Definition: ad9517.h:360
#define AD9517_UPDATE_ALL_REGS
Definition: ad9517.h:290
#define AD9517_A_COUNTER(x)
Definition: ad9517.h:152
struct ad9517_lvpecl_channel_spec * lvpecl_channels
Definition: ad9517.h:378
#define AD9517_REG_DIVIDER_0_1
Definition: ad9517.h:105
#define AD9517_LOW_CYCLES_DIVIDER_2(x)
Definition: ad9517.h:260
#define AD9517_REG_LVDS_CMOS_OUT5
Definition: ad9517.h:99
int32_t ad9517_phase(struct ad9517_dev *dev, int32_t channel, int32_t phase)
Sets the phase on the specified channel.
Definition: ad9517.c:777
struct ad9517_state ad9517_st
Definition: ad9517.h:392
#define AD9517_REG_DIVIDER_1_1
Definition: ad9517.h:108
ad9517_type
Definition: ad9517.h:340
#define AD9517_2_MIN_VCO_FREQ
Definition: ad9517.h:294
#define AD9517_1_MIN_VCO_FREQ
Definition: ad9517.h:292
void * no_os_malloc(size_t size)
Allocate memory and return a pointer to it.
Definition: chibios_alloc.c:43
#define AD9517_VCO_DIVIDER(x)
Definition: ad9517.h:275
#define AD9517_REG_PLL_CTRL_7
Definition: ad9517.h:73
int32_t ad9517_update(struct ad9517_dev *dev)
Transfers the contents of the buffer registers into the active registers.
Definition: ad9517.c:313
int64_t ad9517_vco_frequency(struct ad9517_dev *dev, int64_t frequency)
Sets the VCO frequency.
Definition: ad9517.c:329
uint8_t channel_num
Definition: ad9517.h:356
#define AD9517_2_MAX_VCO_FREQ
Definition: ad9517.h:295
@ AD9517_3
Definition: ad9517.h:343
int32_t ad9517_setup(struct ad9517_dev **device, struct ad9517_init_param init_param)
Initializes the AD9517.
Definition: ad9517.c:52
void no_os_free(void *ptr)
Deallocate memory previously allocated by a call to no_os_calloc or no_os_malloc.
Definition: chibios_alloc.c:69
int32_t ad9517_update(struct ad9517_dev *dev)
Transfers the contents of the buffer registers into the active registers.
Definition: ad9517.c:313
#define AD9517_WRITE
Definition: ad9517.h:46
#define AD9517_REG_LVDS_CMOS_DIVIDER_3_2
Definition: ad9517.h:119
#define AD9517_REG_LVDS_CMOS_DIVIDER_2_1
Definition: ad9517.h:113
#define AD9517_REF2_POWER_ON
Definition: ad9517.h:195
#define AD9517_REG_DIVIDER_1_0
Definition: ad9517.h:107
struct ad7616_init_param init_param
Definition: ad7616_sdz.c:113
@ CMOS
Definition: ad9517.h:366
#define AD9517_4_MAX_VCO_FREQ
Definition: ad9517.h:299
#define AD9517_REG_INPUT_CLKS
Definition: ad9517.h:125
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:116
#define AD9517_REG_PLL_CTRL_1
Definition: ad9517.h:67
@ LVPECL_780mV
Definition: ad9517.h:350
uint8_t prescaler_p
Definition: ad9517.h:384
struct ad9517_lvds_cmos_channel_spec * lvds_cmos_channels
Definition: ad9517.h:379
#define AD9517_BYPASS_DIVIDER_2
Definition: ad9517.h:264
#define AD9517_OUT_LVDS_OUTPUT_CURRENT(x)
Definition: ad9517.h:233
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:52
#define AD9517_HIGH_CYCLES_DIVIDER_1(x)
Definition: ad9517.h:253
#define AD9517_REG_PFD_CHARGE_PUMP
Definition: ad9517.h:63
#define AD9517_POWER_DOWN_VCO_CLK
Definition: ad9517.h:280
#define AD9517_DIVIDER_HIGH_CYCLES(x)
Definition: ad9517.h:238
#define AD9517_OUT_LVDS_CMOS_INVERT(x)
Definition: ad9517.h:230
#define AD9517_OUT_LVPECL_INVERT
Definition: ad9517.h:225
@ AD9517_4
Definition: ad9517.h:344
#define AD9517_OUT_LVPECL_POWER_DOWN(x)
Definition: ad9517.h:227
#define AD9517_HIGH_CYCLES_DIVIDER_2(x)
Definition: ad9517.h:261
#define AD9517_PHASE_OFFSET_DIVIDER_2(x)
Definition: ad9517.h:256
uint8_t cmos_b_en
Definition: ad9517.h:359
#define AD9517_PHASE_OFFSET_DIVIDER_1(x)
Definition: ad9517.h:257
Error macro definition for ARM Compiler.
@ LVDS
Definition: ad9517.h:365
#define AD9517_REG_LVPECL_OUT0
Definition: ad9517.h:92
#define AD9517_LONG_INSTRUCTION
Definition: ad9517.h:137
Structure holding the parameters for SPI initialization.
Definition: no_os_spi.h:140
#define AD9517_REG_LVPECL_OUT2
Definition: ad9517.h:94
#define AD9517_REG_PART_ID
Definition: ad9517.h:59
uint16_t b_counter
Definition: ad9517.h:382