Go to the documentation of this file.
55 #define AD9523_READ (1 << 15)
56 #define AD9523_WRITE (0 << 15)
57 #define AD9523_CNT(x) (((x) - 1) << 13)
58 #define AD9523_ADDR(x) ((x) & 0xFFF)
60 #define AD9523_R1B (1 << 16)
61 #define AD9523_R2B (2 << 16)
62 #define AD9523_R3B (3 << 16)
63 #define AD9523_TRANSF_LEN(x) ((x) >> 16)
65 #define AD9523_SERIAL_PORT_CONFIG (AD9523_R1B | 0x0)
66 #define AD9523_VERSION_REGISTER (AD9523_R1B | 0x2)
67 #define AD9523_PART_REGISTER (AD9523_R1B | 0x3)
68 #define AD9523_READBACK_CTRL (AD9523_R1B | 0x4)
70 #define AD9523_EEPROM_CUSTOMER_VERSION_ID (AD9523_R2B | 0x6)
72 #define AD9523_PLL1_REF_A_DIVIDER (AD9523_R2B | 0x11)
73 #define AD9523_PLL1_REF_B_DIVIDER (AD9523_R2B | 0x13)
74 #define AD9523_PLL1_REF_TEST_DIVIDER (AD9523_R1B | 0x14)
75 #define AD9523_PLL1_FEEDBACK_DIVIDER (AD9523_R2B | 0x17)
76 #define AD9523_PLL1_CHARGE_PUMP_CTRL (AD9523_R2B | 0x19)
77 #define AD9523_PLL1_INPUT_RECEIVERS_CTRL (AD9523_R1B | 0x1A)
78 #define AD9523_PLL1_REF_CTRL (AD9523_R1B | 0x1B)
79 #define AD9523_PLL1_MISC_CTRL (AD9523_R1B | 0x1C)
80 #define AD9523_PLL1_LOOP_FILTER_CTRL (AD9523_R1B | 0x1D)
82 #define AD9523_PLL2_CHARGE_PUMP (AD9523_R1B | 0xF0)
83 #define AD9523_PLL2_FEEDBACK_DIVIDER_AB (AD9523_R1B | 0xF1)
84 #define AD9523_PLL2_CTRL (AD9523_R1B | 0xF2)
85 #define AD9523_PLL2_VCO_CTRL (AD9523_R1B | 0xF3)
86 #define AD9523_PLL2_VCO_DIVIDER (AD9523_R1B | 0xF4)
87 #define AD9523_PLL2_LOOP_FILTER_CTRL (AD9523_R2B | 0xF6)
88 #define AD9523_PLL2_R2_DIVIDER (AD9523_R1B | 0xF7)
90 #define AD9523_CHANNEL_CLOCK_DIST(ch) (AD9523_R3B | (0x192 + 3 * ch))
92 #define AD9523_PLL1_OUTPUT_CTRL (AD9523_R1B | 0x1BA)
93 #define AD9523_PLL1_OUTPUT_CHANNEL_CTRL (AD9523_R1B | 0x1BB)
95 #define AD9523_READBACK_0 (AD9523_R1B | 0x22C)
96 #define AD9523_READBACK_1 (AD9523_R1B | 0x22D)
98 #define AD9523_STATUS_SIGNALS (AD9523_R3B | 0x232)
99 #define AD9523_POWER_DOWN_CTRL (AD9523_R1B | 0x233)
100 #define AD9523_IO_UPDATE (AD9523_R1B | 0x234)
102 #define AD9523_EEPROM_DATA_XFER_STATUS (AD9523_R1B | 0xB00)
103 #define AD9523_EEPROM_ERROR_READBACK (AD9523_R1B | 0xB01)
104 #define AD9523_EEPROM_CTRL1 (AD9523_R1B | 0xB02)
105 #define AD9523_EEPROM_CTRL2 (AD9523_R1B | 0xB03)
109 #define AD9523_SER_CONF_SDO_ACTIVE ((1 << 7) | (1 << 0))
110 #define AD9523_SER_CONF_SOFT_RESET ((1 << 5) | (1 << 2))
113 #define AD9523_READBACK_CTRL_READ_BUFFERED (1 << 0)
116 #define AD9523_PLL1_CHARGE_PUMP_CURRENT_nA(x) (((x) / 500) & 0x7F)
117 #define AD9523_PLL1_CHARGE_PUMP_TRISTATE (1 << 7)
118 #define AD9523_PLL1_CHARGE_PUMP_MODE_NORMAL (3 << 8)
119 #define AD9523_PLL1_CHARGE_PUMP_MODE_PUMP_DOWN (2 << 8)
120 #define AD9523_PLL1_CHARGE_PUMP_MODE_PUMP_UP (1 << 8)
121 #define AD9523_PLL1_CHARGE_PUMP_MODE_TRISTATE (0 << 8)
122 #define AD9523_PLL1_BACKLASH_PW_MIN (0 << 10)
123 #define AD9523_PLL1_BACKLASH_PW_LOW (1 << 10)
124 #define AD9523_PLL1_BACKLASH_PW_HIGH (2 << 10)
125 #define AD9523_PLL1_BACKLASH_PW_MAX (3 << 10)
128 #define AD9523_PLL1_REF_TEST_RCV_EN (1 << 7)
129 #define AD9523_PLL1_REFB_DIFF_RCV_EN (1 << 6)
130 #define AD9523_PLL1_REFA_DIFF_RCV_EN (1 << 5)
131 #define AD9523_PLL1_REFB_RCV_EN (1 << 4)
132 #define AD9523_PLL1_REFA_RCV_EN (1 << 3)
133 #define AD9523_PLL1_REFA_REFB_PWR_CTRL_EN (1 << 2)
134 #define AD9523_PLL1_OSC_IN_CMOS_NEG_INP_EN (1 << 1)
135 #define AD9523_PLL1_OSC_IN_DIFF_EN (1 << 0)
138 #define AD9523_PLL1_BYPASS_REF_TEST_DIV_EN (1 << 7)
139 #define AD9523_PLL1_BYPASS_FEEDBACK_DIV_EN (1 << 6)
140 #define AD9523_PLL1_ZERO_DELAY_MODE_INT (1 << 5)
141 #define AD9523_PLL1_ZERO_DELAY_MODE_EXT (0 << 5)
142 #define AD9523_PLL1_OSC_IN_PLL_FEEDBACK_EN (1 << 4)
143 #define AD9523_PLL1_ZD_IN_CMOS_NEG_INP_EN (1 << 3)
144 #define AD9523_PLL1_ZD_IN_DIFF_EN (1 << 2)
145 #define AD9523_PLL1_REFB_CMOS_NEG_INP_EN (1 << 1)
146 #define AD9523_PLL1_REFA_CMOS_NEG_INP_EN (1 << 0)
149 #define AD9523_PLL1_REFB_INDEP_DIV_CTRL_EN (1 << 7)
150 #define AD9523_PLL1_OSC_CTRL_FAIL_VCC_BY2_EN (1 << 6)
151 #define AD9523_PLL1_REF_MODE(x) ((x) << 2)
152 #define AD9523_PLL1_BYPASS_REFB_DIV (1 << 1)
153 #define AD9523_PLL1_BYPASS_REFA_DIV (1 << 0)
156 #define AD9523_PLL1_LOOP_FILTER_RZERO(x) ((x) & 0xF)
159 #define AD9523_PLL2_CHARGE_PUMP_CURRENT_nA(x) ((x) / 3500)
162 #define AD9523_PLL2_FB_NDIV_A_CNT(x) (((x) & 0x3) << 6)
163 #define AD9523_PLL2_FB_NDIV_B_CNT(x) (((x) & 0x3F) << 0)
164 #define AD9523_PLL2_FB_NDIV(a, b) (4 * (b) + (a))
167 #define AD9523_PLL2_CHARGE_PUMP_MODE_NORMAL (3 << 0)
168 #define AD9523_PLL2_CHARGE_PUMP_MODE_PUMP_DOWN (2 << 0)
169 #define AD9523_PLL2_CHARGE_PUMP_MODE_PUMP_UP (1 << 0)
170 #define AD9523_PLL2_CHARGE_PUMP_MODE_TRISTATE (0 << 0)
171 #define AD9523_PLL2_BACKLASH_PW_MIN (0 << 2)
172 #define AD9523_PLL2_BACKLASH_PW_LOW (1 << 2)
173 #define AD9523_PLL2_BACKLASH_PW_HIGH (2 << 2)
174 #define AD9523_PLL2_BACKLASH_PW_MAX (3 << 1)
175 #define AD9523_PLL2_BACKLASH_CTRL_EN (1 << 4)
176 #define AD9523_PLL2_FREQ_DOUBLER_EN (1 << 5)
177 #define AD9523_PLL2_LOCK_DETECT_PWR_DOWN_EN (1 << 7)
180 #define AD9523_PLL2_VCO_CALIBRATE (1 << 1)
181 #define AD9523_PLL2_FORCE_VCO_MIDSCALE (1 << 2)
182 #define AD9523_PLL2_FORCE_REFERENCE_VALID (1 << 3)
183 #define AD9523_PLL2_FORCE_RELEASE_SYNC (1 << 4)
186 #define AD9523_PLL2_VCO_DIV_M1(x) ((((x) - 3) & 0x3) << 0)
187 #define AD9523_PLL2_VCO_DIV_M2(x) ((((x) - 3) & 0x3) << 4)
188 #define AD9523_PLL2_VCO_DIV_M1_PWR_DOWN_EN (1 << 2)
189 #define AD9523_PLL2_VCO_DIV_M2_PWR_DOWN_EN (1 << 6)
192 #define AD9523_PLL2_LOOP_FILTER_CPOLE1(x) (((x) & 0x7) << 0)
193 #define AD9523_PLL2_LOOP_FILTER_RZERO(x) (((x) & 0x7) << 3)
194 #define AD9523_PLL2_LOOP_FILTER_RPOLE2(x) (((x) & 0x7) << 6)
195 #define AD9523_PLL2_LOOP_FILTER_RZERO_BYPASS_EN (1 << 8)
198 #define AD9523_PLL2_R2_DIVIDER_VAL(x) (((x) & 0x1F) << 0)
201 #define AD9523_CLK_DIST_DIV_PHASE(x) (((x) & 0x3F) << 18)
202 #define AD9523_CLK_DIST_DIV_PHASE_REV(x) ((ret >> 18) & 0x3F)
203 #define AD9523_CLK_DIST_DIV(x) ((((x) - 1) & 0x3FF) << 8)
204 #define AD9523_CLK_DIST_DIV_REV(x) (((ret >> 8) & 0x3FF) + 1)
205 #define AD9523_CLK_DIST_INV_DIV_OUTPUT_EN (1 << 7)
206 #define AD9523_CLK_DIST_IGNORE_SYNC_EN (1 << 6)
207 #define AD9523_CLK_DIST_PWR_DOWN_EN (1 << 5)
208 #define AD9523_CLK_DIST_LOW_PWR_MODE_EN (1 << 4)
209 #define AD9523_CLK_DIST_DRIVER_MODE(x) (((x) & 0xF) << 0)
212 #define AD9523_PLL1_OUTP_CTRL_VCO_DIV_SEL_CH6_M2 (1 << 7)
213 #define AD9523_PLL1_OUTP_CTRL_VCO_DIV_SEL_CH5_M2 (1 << 6)
214 #define AD9523_PLL1_OUTP_CTRL_VCO_DIV_SEL_CH4_M2 (1 << 5)
215 #define AD9523_PLL1_OUTP_CTRL_CMOS_DRV_WEAK (1 << 4)
216 #define AD9523_PLL1_OUTP_CTRL_OUTPUT_DIV_1 (0 << 0)
217 #define AD9523_PLL1_OUTP_CTRL_OUTPUT_DIV_2 (1 << 0)
218 #define AD9523_PLL1_OUTP_CTRL_OUTPUT_DIV_4 (2 << 0)
219 #define AD9523_PLL1_OUTP_CTRL_OUTPUT_DIV_8 (4 << 0)
220 #define AD9523_PLL1_OUTP_CTRL_OUTPUT_DIV_16 (8 << 0)
223 #define AD9523_PLL1_OUTP_CH_CTRL_OUTPUT_PWR_DOWN_EN (1 << 7)
224 #define AD9523_PLL1_OUTP_CH_CTRL_VCO_DIV_SEL_CH9_M2 (1 << 6)
225 #define AD9523_PLL1_OUTP_CH_CTRL_VCO_DIV_SEL_CH8_M2 (1 << 5)
226 #define AD9523_PLL1_OUTP_CH_CTRL_VCO_DIV_SEL_CH7_M2 (1 << 4)
227 #define AD9523_PLL1_OUTP_CH_CTRL_VCXO_SRC_SEL_CH3 (1 << 3)
228 #define AD9523_PLL1_OUTP_CH_CTRL_VCXO_SRC_SEL_CH2 (1 << 2)
229 #define AD9523_PLL1_OUTP_CH_CTRL_VCXO_SRC_SEL_CH1 (1 << 1)
230 #define AD9523_PLL1_OUTP_CH_CTRL_VCXO_SRC_SEL_CH0 (1 << 0)
233 #define AD9523_READBACK_0_STAT_PLL2_REF_CLK (1 << 7)
234 #define AD9523_READBACK_0_STAT_PLL2_FB_CLK (1 << 6)
235 #define AD9523_READBACK_0_STAT_VCXO (1 << 5)
236 #define AD9523_READBACK_0_STAT_REF_TEST (1 << 4)
237 #define AD9523_READBACK_0_STAT_REFB (1 << 3)
238 #define AD9523_READBACK_0_STAT_REFA (1 << 2)
239 #define AD9523_READBACK_0_STAT_PLL2_LD (1 << 1)
240 #define AD9523_READBACK_0_STAT_PLL1_LD (1 << 0)
243 #define AD9523_READBACK_1_HOLDOVER_ACTIVE (1 << 3)
244 #define AD9523_READBACK_1_AUTOMODE_SEL_REFB (1 << 2)
245 #define AD9523_READBACK_1_VCO_CALIB_IN_PROGRESS (1 << 0)
248 #define AD9523_STATUS_SIGNALS_SYNC_MAN_CTRL (1 << 16)
249 #define AD9523_STATUS_MONITOR_01_PLL12_LOCKED (0x302)
251 #define AD9523_POWER_DOWN_CTRL_PLL1_PWR_DOWN (1 << 2)
252 #define AD9523_POWER_DOWN_CTRL_PLL2_PWR_DOWN (1 << 1)
253 #define AD9523_POWER_DOWN_CTRL_DIST_PWR_DOWN (1 << 0)
256 #define AD9523_IO_UPDATE_EN (1 << 0)
259 #define AD9523_EEPROM_DATA_XFER_IN_PROGRESS (1 << 0)
262 #define AD9523_EEPROM_ERROR_READBACK_FAIL (1 << 0)
265 #define AD9523_EEPROM_CTRL1_SOFT_EEPROM (1 << 1)
266 #define AD9523_EEPROM_CTRL1_EEPROM_WRITE_PROT_DIS (1 << 0)
269 #define AD9523_EEPROM_CTRL2_REG2EEPROM (1 << 0)
271 #define AD9523_NUM_CHAN 14
272 #define AD9523_NUM_CHAN_ALT_CLK_SRC 10
527 #endif // __AD9523_H__
#define AD9523_PLL2_LOOP_FILTER_RPOLE2(x)
Definition: ad9523.h:194
#define AD9523_READBACK_CTRL
Definition: ad9523.h:68
int32_t ad9523_status(struct ad9523_dev *dev)
Updates the AD9523 configuration.
Definition: ad9523.c:257
#define AD9523_PLL2_VCO_CTRL
Definition: ad9523.h:85
uint8_t divider_output_invert_en
Definition: ad9523.h:311
uint32_t timeout
Definition: ad413x.c:55
@ CMOS_CONF9
Definition: ad9523.h:292
@ RZERO_2750_OHM
Definition: ad9523.h:350
#define AD9523_PLL2_VCO_DIV_M1_PWR_DOWN_EN
Definition: ad9523.h:188
uint8_t use_alt_clock_src
Definition: ad9523.h:317
#define AD9523_PLL1_OUTPUT_CHANNEL_CTRL
Definition: ad9523.h:93
#define AD9523_PLL1_CHARGE_PUMP_CURRENT_nA(x)
Definition: ad9523.h:116
#define AD9523_PLL1_REFA_CMOS_NEG_INP_EN
Definition: ad9523.h:146
@ RZERO_3250_OHM
Definition: ad9523.h:349
@ CPOLE1_40_PF
Definition: ad9523.h:366
@ HSTL1_8mA
Definition: ad9523.h:283
#define AD9523_CLK_DIST_DIV_PHASE(x)
Definition: ad9523.h:201
#define AD9523_PLL2_FREQ_DOUBLER_EN
Definition: ad9523.h:176
@ RPOLE2_225_OHM
Definition: ad9523.h:345
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
@ RZERO_10_OHM
Definition: ad9523.h:337
uint8_t channel_num
Definition: ad9523.h:309
#define AD9523_CLK_DIST_PWR_DOWN_EN
Definition: ad9523.h:207
#define AD9523_PLL1_REF_MODE(x)
Definition: ad9523.h:151
Header file of SPI Interface.
int32_t ad9523_sync(struct ad9523_dev *dev)
Updates the AD9523 configuration.
Definition: ad9523.c:313
@ RPOLE2_900_OHM
Definition: ad9523.h:342
#define AD9523_PLL1_OUTP_CTRL_VCO_DIV_SEL_CH4_M2
Definition: ad9523.h:214
#define AD9523_STATUS_MONITOR_01_PLL12_LOCKED
Definition: ad9523.h:249
#define AD9523_SER_CONF_SOFT_RESET
Definition: ad9523.h:110
#define AD9523_PLL1_BYPASS_FEEDBACK_DIV_EN
Definition: ad9523.h:139
#define AD9523_PLL2_FB_NDIV_B_CNT(x)
Definition: ad9523.h:163
#define AD9523_PLL1_LOOP_FILTER_RZERO(x)
Definition: ad9523.h:156
#define AD9523_CLK_DIST_DIV(x)
Definition: ad9523.h:203
@ RPOLE2_450_OHM
Definition: ad9523.h:343
#define AD9523_PLL2_FB_NDIV(a, b)
Definition: ad9523.h:164
#define AD9523_PLL2_LOOP_FILTER_RZERO(x)
Definition: ad9523.h:193
#define AD9523_SER_CONF_SDO_ACTIVE
Definition: ad9523.h:109
Header file of Delay functions.
#define AD9523_PLL1_REFB_RCV_EN
Definition: ad9523.h:131
@ AD9523_VCXO
Definition: ad9523.h:473
int32_t ad9523_setup(struct ad9523_dev **device, const struct ad9523_init_param *init_param)
Setup the AD9523 device.
Definition: ad9523.c:428
#define AD9523_PLL2_R2_DIVIDER
Definition: ad9523.h:88
struct ad9523_platform_data * pdata
Definition: ad9523.h:489
#define AD9523_READBACK_0_STAT_PLL2_REF_CLK
Definition: ad9523.h:233
uint8_t sync_ignore_en
Definition: ad9523.h:313
#define AD9523_PLL1_ZD_IN_DIFF_EN
Definition: ad9523.h:144
int32_t ad9523_vco_out_map(struct ad9523_dev *dev, uint32_t ch, uint32_t out)
Sets the clock provider for selected channel.
Definition: ad9523.c:141
@ CPOLE1_24_PF
Definition: ad9523.h:363
@ CMOS_CONF6
Definition: ad9523.h:289
@ CMOS_CONF3
Definition: ad9523.h:286
@ AD9523_VCO1
Definition: ad9523.h:471
Definition: ad9361_util.h:75
#define AD9523_STATUS_SIGNALS_SYNC_MAN_CTRL
Definition: ad9523.h:248
@ RZERO_3000_OHM
Definition: ad9523.h:353
#define AD9523_CLK_DIST_DRIVER_MODE(x)
Definition: ad9523.h:209
#define AD9523_READBACK_0_STAT_VCXO
Definition: ad9523.h:235
@ CPOLE1_32_PF
Definition: ad9523.h:365
#define AD9523_PLL1_CHARGE_PUMP_TRISTATE
Definition: ad9523.h:117
@ _CPOLE1_24_PF
Definition: ad9523.h:364
int32_t ad9523_vco_out_map(struct ad9523_dev *dev, uint32_t ch, uint32_t out)
Sets the clock provider for selected channel.
Definition: ad9523.c:141
#define AD9523_PLL1_OSC_IN_DIFF_EN
Definition: ad9523.h:135
int32_t ad9523_io_update(struct ad9523_dev *dev)
Updates the AD9523 configuration.
Definition: ad9523.c:125
Output channel configuration.
Definition: ad9523.h:307
#define AD9523_PLL1_REFA_RCV_EN
Definition: ad9523.h:132
outp_drv_mode
Definition: ad9523.h:277
#define AD9523_PLL1_ZERO_DELAY_MODE_INT
Definition: ad9523.h:140
#define AD9523_CLK_DIST_IGNORE_SYNC_EN
Definition: ad9523.h:206
@ CPOLE1_16_PF
Definition: ad9523.h:362
#define AD9523_PLL1_OSC_IN_PLL_FEEDBACK_EN
Definition: ad9523.h:142
@ RZERO_883_OHM
Definition: ad9523.h:333
#define AD9523_PLL1_CHARGE_PUMP_CTRL
Definition: ad9523.h:76
#define AD9523_PLL1_MISC_CTRL
Definition: ad9523.h:79
#define AD9523_IO_UPDATE_EN
Definition: ad9523.h:256
int32_t ad9523_io_update(struct ad9523_dev *dev)
Updates the AD9523 configuration.
Definition: ad9523.c:125
@ CMOS_CONF1
Definition: ad9523.h:284
int32_t ad9523_remove(struct ad9523_dev *dev)
Free the resources allocated by ad9523_setup().
Definition: ad9523.c:731
void no_os_mdelay(uint32_t msecs)
Wait until msecs milliseconds passed.
Definition: aducm3029_delay.c:132
#define AD9523_PLL2_BACKLASH_CTRL_EN
Definition: ad9523.h:175
#define AD_IF(_pde, _a)
Definition: ad9523.c:51
int32_t ad9523_spi_read(struct ad9523_dev *dev, uint32_t reg_addr, uint32_t *reg_data)
Reads the value of the selected register.
Definition: ad9523.c:62
@ RPOLE2_300_OHM
Definition: ad9523.h:344
@ CPOLE1_0_PF
Definition: ad9523.h:360
#define AD9523_PLL1_OSC_IN_CMOS_NEG_INP_EN
Definition: ad9523.h:134
uint8_t low_power_mode_en
Definition: ad9523.h:315
@ LVDS_4mA
Definition: ad9523.h:280
#define AD9523_PLL1_BACKLASH_PW_MIN
Definition: ad9523.h:122
#define AD9523_PLL2_R2_DIVIDER_VAL(x)
Definition: ad9523.h:198
#define AD9523_READBACK_0_STAT_REFA
Definition: ad9523.h:238
Header file of AD9523 Driver.
#define AD9523_PLL2_VCO_DIV_M2(x)
Definition: ad9523.h:187
#define AD9523_PLL1_FEEDBACK_DIVIDER
Definition: ad9523.h:75
@ CMOS_CONF2
Definition: ad9523.h:285
@ SELECT_REFA
Definition: ad9523.h:298
@ NONEREVERTIVE_STAY_ON_REFB
Definition: ad9523.h:296
#define AD9523_PLL2_LOOP_FILTER_CPOLE1(x)
Definition: ad9523.h:192
uint8_t divider_phase
Definition: ad9523.h:325
int32_t ad9523_init(struct ad9523_init_param *init_param)
Initialize the AD9523 data structure with the default register values.
Definition: ad9523.c:353
uint32_t vcxo_freq
Definition: ad9523.h:464
int32_t ad9523_spi_write(struct ad9523_dev *dev, uint32_t reg_addr, uint32_t reg_data)
Writes a value to the selected register.
Definition: ad9523.c:96
#define AD9523_READBACK_0_STAT_REFB
Definition: ad9523.h:237
uint32_t vco_freq
Definition: ad9523.h:465
@ AD9523_NUM_CLK_SRC
Definition: ad9523.h:474
@ TRISTATE
Definition: ad9523.h:278
#define AD9523_STATUS_SIGNALS
Definition: ad9523.h:98
@ EXT_REF_SEL
Definition: ad9523.h:300
int32_t ad9523_sync(struct ad9523_dev *dev)
Updates the AD9523 configuration.
Definition: ad9523.c:313
#define AD9523_PLL1_CHARGE_PUMP_MODE_NORMAL
Definition: ad9523.h:118
@ CPOLE1_8_PF
Definition: ad9523.h:361
#define AD9523_READBACK_0_STAT_PLL1_LD
Definition: ad9523.h:240
#define AD9523_PLL2_FEEDBACK_DIVIDER_AB
Definition: ad9523.h:83
#define AD9523_SERIAL_PORT_CONFIG
Definition: ad9523.h:65
#define AD9523_POWER_DOWN_CTRL
Definition: ad9523.h:99
#define AD9523_READBACK_CTRL_READ_BUFFERED
Definition: ad9523.h:113
Structure holding SPI descriptor.
Definition: no_os_spi.h:143
@ RZERO_USE_EXT_RES
Definition: ad9523.h:338
@ RZERO_2250_OHM
Definition: ad9523.h:351
@ RZERO_2000_OHM
Definition: ad9523.h:355
@ CPOLE1_48_PF
Definition: ad9523.h:367
@ CMOS_CONF5
Definition: ad9523.h:288
int32_t ad9523_spi_read(struct ad9523_dev *dev, uint32_t reg_addr, uint32_t *reg_data)
Reads the value of the selected register.
Definition: ad9523.c:62
int32_t ad9523_status(struct ad9523_dev *dev)
Updates the AD9523 configuration.
Definition: ad9523.c:257
#define AD9523_PLL2_VCO_DIV_M1(x)
Definition: ad9523.h:186
#define AD9523_PLL1_REFB_CMOS_NEG_INP_EN
Definition: ad9523.h:145
@ CMOS_CONF4
Definition: ad9523.h:287
int32_t ad9523_setup(struct ad9523_dev **device, const struct ad9523_init_param *init_param)
Setup the AD9523 device.
Definition: ad9523.c:428
#define AD9523_IO_UPDATE
Definition: ad9523.h:100
#define AD9523_PLL2_CTRL
Definition: ad9523.h:84
#define AD9523_READBACK_0_STAT_PLL2_LD
Definition: ad9523.h:239
#define AD9523_PLL1_LOOP_FILTER_CTRL
Definition: ad9523.h:80
cpole1_capacitor
Definition: ad9523.h:359
#define AD_IFE(_pde, _a, _b)
Definition: ad9523.c:50
uint16_t channel_divider
Definition: ad9523.h:327
@ HSTL0_16mA
Definition: ad9523.h:282
ad9523_out_frequencies
Definition: ad9523.h:470
void * no_os_malloc(size_t size)
@ RZERO_341_OHM
Definition: ad9523.h:335
rpole2_resistor
Definition: ad9523.h:341
#define AD9523_PLL2_LOOP_FILTER_CTRL
Definition: ad9523.h:87
struct no_os_spi_desc * spi_desc
Definition: ad9523.h:479
@ LVPECL_8mA
Definition: ad9523.h:279
@ CMOS_CONF7
Definition: ad9523.h:290
@ RZERO_677_OHM
Definition: ad9523.h:334
#define AD9523_TRANSF_LEN(x)
Definition: ad9523.h:63
@ SELECT_REFB
Definition: ad9523.h:299
#define AD9523_PLL2_VCO_CALIBRATE
Definition: ad9523.h:180
int8_t extended_name[16]
Definition: ad9523.h:329
ref_sel_mode
Definition: ad9523.h:295
void no_os_free(void *ptr)
#define AD9523_PLL1_REFB_DIFF_RCV_EN
Definition: ad9523.h:129
int32_t ad9523_init(struct ad9523_init_param *init_param)
Initialize the AD9523 data structure with the default register values.
Definition: ad9523.c:353
struct ad9523_platform_data * pdata
Definition: ad9523.h:463
#define AD9523_PLL1_REFB_INDEP_DIV_CTRL_EN
Definition: ad9523.h:149
#define AD9523_PLL1_REFA_DIFF_RCV_EN
Definition: ad9523.h:130
#define AD9523_PLL2_VCO_DIV_M2_PWR_DOWN_EN
Definition: ad9523.h:189
#define AD9523_PLL1_INPUT_RECEIVERS_CTRL
Definition: ad9523.h:77
#define AD9523_CLK_DIST_INV_DIV_OUTPUT_EN
Definition: ad9523.h:205
#define AD9523_PLL1_OUTP_CH_CTRL_VCO_DIV_SEL_CH7_M2
Definition: ad9523.h:226
uint8_t output_dis
Definition: ad9523.h:319
#define AD9523_PLL2_CHARGE_PUMP_MODE_NORMAL
Definition: ad9523.h:167
int32_t ad9523_remove(struct ad9523_dev *dev)
Free the resources allocated by ad9523_setup().
Definition: ad9523.c:731
struct ad7616_init_param init_param
Definition: ad7616_sdz.c:96
#define AD9523_READBACK_0_STAT_PLL2_FB_CLK
Definition: ad9523.h:234
struct ad9523_state ad9523_st
Definition: ad9523.h:481
#define AD9523_NUM_CHAN
Definition: ad9523.h:271
#define AD9523_PLL1_OUTPUT_CTRL
Definition: ad9523.h:92
#define AD9523_PLL2_FB_NDIV_A_CNT(x)
Definition: ad9523.h:162
@ RZERO_2100_OHM
Definition: ad9523.h:352
@ REVERT_TO_REFA
Definition: ad9523.h:297
#define AD9523_PLL2_CHARGE_PUMP
Definition: ad9523.h:82
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
uint8_t driver_mode
Definition: ad9523.h:321
#define AD9523_EEPROM_CUSTOMER_VERSION_ID
Definition: ad9523.h:70
#define AD9523_READBACK_0
Definition: ad9523.h:95
#define AD9523_READBACK_1
Definition: ad9523.h:96
#define AD9523_READBACK_0_STAT_REF_TEST
Definition: ad9523.h:236
struct ad9523_platform_data * pdata
Definition: ad9523.h:482
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
#define AD9523_PLL1_REF_CTRL
Definition: ad9523.h:78
uint8_t vco_out_map[14]
Definition: ad9523.h:467
@ LVDS_7mA
Definition: ad9523.h:281
#define AD9523_PLL1_REFA_REFB_PWR_CTRL_EN
Definition: ad9523.h:133
@ RZERO_135_OHM
Definition: ad9523.h:336
#define AD9523_PLL2_CHARGE_PUMP_CURRENT_nA(x)
Definition: ad9523.h:159
int32_t ad9523_spi_write(struct ad9523_dev *dev, uint32_t reg_addr, uint32_t reg_data)
Writes a value to the selected register.
Definition: ad9523.c:96
#define AD9523_PLL1_REF_B_DIVIDER
Definition: ad9523.h:73
#define AD9523_PLL1_REF_A_DIVIDER
Definition: ad9523.h:72
rzero_resistor
Definition: ad9523.h:348
struct no_os_spi_init_param spi_init
Definition: ad9523.h:487
int32_t ad9523_calibrate(struct ad9523_dev *dev)
Updates the AD9523 configuration.
Definition: ad9523.c:215
@ RZERO_2500_OHM
Definition: ad9523.h:354
@ CMOS_CONF8
Definition: ad9523.h:291
#define AD9523_PLL2_VCO_DIVIDER
Definition: ad9523.h:86
pll1_rzero_resistor
Definition: ad9523.h:332
@ AD9523_VCO2
Definition: ad9523.h:472
#define AD9523_PLL1_ZD_IN_CMOS_NEG_INP_EN
Definition: ad9523.h:143
#define AD9523_PLL1_OUTP_CH_CTRL_VCXO_SRC_SEL_CH0
Definition: ad9523.h:230
uint32_t vco_out_freq[3]
Definition: ad9523.h:466
#define AD9523_CHANNEL_CLOCK_DIST(ch)
Definition: ad9523.h:90
#define AD9523_PLL2_LOOP_FILTER_RZERO_BYPASS_EN
Definition: ad9523.h:195
@ RZERO_1850_OHM
Definition: ad9523.h:356
#define AD9523_CLK_DIST_LOW_PWR_MODE_EN
Definition: ad9523.h:208
Structure holding the parameters for SPI initialization.
Definition: no_os_spi.h:121