Go to the documentation of this file.
48 #define REG_SPI_INTFCONFA 0x000
49 #define REG_SPI_INTFCONFB 0x001
50 #define REG_SPI_DEVCONF 0x002
51 #define REG_SPI_PRODIDL 0x004
52 #define REG_SPI_PRODIDH 0x005
53 #define REG_SPI_CHIPGRADE 0x006
54 #define REG_SPI_PAGEINDX 0x008
55 #define REG_SPI_DEVINDX2 0x009
56 #define REG_SPI_SCRATCHPAD 0x00A
57 #define REG_SPI_MS_UPDATE 0x00F
58 #define REG_PWRCNTRL0 0x011
59 #define REG_TXENMASK1 0x012
60 #define REG_PWRCNTRL3 0x013
61 #define REG_COARSE_GROUP_DLY 0x014
62 #define REG_IRQ_ENABLE0 0x01F
63 #define REG_IRQ_ENABLE1 0x020
64 #define REG_IRQ_ENABLE2 0x021
65 #define REG_IRQ_ENABLE3 0x022
66 #define REG_IRQ_STATUS0 0x023
67 #define REG_IRQ_STATUS1 0x024
68 #define REG_IRQ_STATUS2 0x025
69 #define REG_IRQ_STATUS3 0x026
70 #define REG_JESD_CHECKS 0x030
71 #define REG_SYNC_TESTCTRL 0x031
72 #define REG_SYNC_DACDELAY_L 0x032
73 #define REG_SYNC_DACDELAY_H 0x033
74 #define REG_SYNC_ERRWINDOW 0x034
75 #define REG_SYNC_DLYCOUNT 0x035
76 #define REG_SYNC_REFCOUNT 0x036
77 #define REG_SYNC_LASTERR_L 0x038
78 #define REG_SYNC_LASTERR_H 0x039
79 #define REG_SYNC_CTRL 0x03A
80 #define REG_SYNC_STATUS 0x03B
81 #define REG_SYNC_CURRERR_L 0x03C
82 #define REG_SYNC_CURRERR_H 0x03D
83 #define REG_ERROR_THERM 0x03E
84 #define REG_DACGAIN0_1 0x040
85 #define REG_DACGAIN0_0 0x041
86 #define REG_DACGAIN1_1 0x042
87 #define REG_DACGAIN1_0 0x043
88 #define REG_DACGAIN2_1 0x044
89 #define REG_DACGAIN2_0 0x045
90 #define REG_DACGAIN3_1 0x046
91 #define REG_DACGAIN3_0 0x047
92 #define REG_PD_DACLDO 0x048
93 #define REG_STAT_DACLDO 0x049
94 #define REG_DECODE_CTRL0 0x04B
95 #define REG_DECODE_CTRL1 0x04C
96 #define REG_DECODE_CTRL2 0x04D
97 #define REG_DECODE_CTRL3 0x04E
98 #define REG_NCO_CLRMODE 0x050
99 #define REG_NCOKEY_ILSB 0x051
100 #define REG_NCOKEY_IMSB 0x052
101 #define REG_NCOKEY_QLSB 0x053
102 #define REG_NCOKEY_QMSB 0x054
103 #define REG_PA_THRES0 0x060
104 #define REG_PA_THRES1 0x061
105 #define REG_PA_AVG_TIME 0x062
106 #define REG_PA_POWER0 0x063
107 #define REG_PA_POWER1 0x064
108 #define REG_CLKCFG0 0x080
109 #define REG_SYSREF_ACTRL0 0x081
110 #define REG_SYSREF_ACTRL1 0x082
111 #define REG_DACPLLCNTRL 0x083
112 #define REG_DACPLLSTATUS 0x084
113 #define REG_DACINTEGERWORD0 0x085
114 #define REG_DACLOOPFILT1 0x087
115 #define REG_DACLOOPFILT2 0x088
116 #define REG_DACLOOPFILT3 0x089
117 #define REG_DACCPCNTRL 0x08A
118 #define REG_DACLOGENCNTRL 0x08B
119 #define REG_DACLDOCNTRL1 0x08C
120 #define REG_CAL_DAC_ERR 0x0E0
121 #define REG_CAL_MSB_THRES 0x0E1
122 #define REG_CAL_CTRL_GLOBAL 0x0E2
123 #define REG_CAL_MSBHILVL 0x0E3
124 #define REG_CAL_MSBLOLVL 0x0E4
125 #define REG_CAL_THRESH 0x0E5
126 #define REG_CAL_AVG_CNT 0x0E6
127 #define REG_CAL_CLKDIV 0x0E7
128 #define REG_CAL_INDX 0x0E8
129 #define REG_CAL_CTRL 0x0E9
130 #define REG_CAL_ADDR 0x0EA
131 #define REG_CAL_DATA 0x0EB
132 #define REG_CAL_UPDATE 0x0EC
133 #define REG_CAL_INIT 0x0ED
134 #define REG_DATA_FORMAT 0x110
135 #define REG_DATAPATH_CTRL 0x111
136 #define REG_INTERP_MODE 0x112
137 #define REG_NCO_FTW_UPDATE 0x113
138 #define REG_FTW0 0x114
139 #define REG_FTW1 0x115
140 #define REG_FTW2 0x116
141 #define REG_FTW3 0x117
142 #define REG_FTW4 0x118
143 #define REG_FTW5 0x119
144 #define REG_NCO_PHASE_OFFSET0 0x11A
145 #define REG_NCO_PHASE_OFFSET1 0x11B
146 #define REG_NCO_PHASE_ADJ0 0x11C
147 #define REG_NCO_PHASE_ADJ1 0x11D
148 #define REG_TXEN_FUNC 0x11E
149 #define REG_TXEN_SM_0 0x11F
150 #define REG_TXEN_SM_1 0x120
151 #define REG_TXEN_SM_2 0x121
152 #define REG_TXEN_SM_3 0x122
153 #define REG_TXEN_SM_4 0x123
154 #define REG_TXEN_SM_5 0x124
155 #define REG_DACOUT_ON_DOWN 0x125
156 #define REG_DACOFF 0x12C
157 #define REG_DATA_PATH_FLUSH_COUNT0 0x12D
158 #define REG_DATA_PATH_FLUSH_COUNT1 0x12E
159 #define REG_DIE_TEMP_CTRL0 0x12F
160 #define REG_DIE_TEMP_CTRL1 0x130
161 #define REG_DIE_TEMP_CTRL2 0x131
162 #define REG_DIE_TEMP0 0x132
163 #define REG_DIE_TEMP1 0x133
164 #define REG_DIE_TEMP_UPDATE 0x134
165 #define REG_DC_OFFSET_CTRL 0x135
166 #define REG_IPATH_DC_OFFSET_1PART0 0x136
167 #define REG_IPATH_DC_OFFSET_1PART1 0x137
168 #define REG_QPATH_DC_OFFSET_1PART0 0x138
169 #define REG_QPATH_DC_OFFSET_1PART1 0x139
170 #define REG_IPATH_DC_OFFSET_2PART 0x13A
171 #define REG_QPATH_DC_OFFSET_2PART 0x13B
172 #define REG_IDAC_DIG_GAIN0 0x13C
173 #define REG_IDAC_DIG_GAIN1 0x13D
174 #define REG_QDAC_DIG_GAIN0 0x13E
175 #define REG_QDAC_DIG_GAIN1 0x13F
176 #define REG_GAIN_RAMP_UP_STP0 0x140
177 #define REG_GAIN_RAMP_UP_STP1 0x141
178 #define REG_GAIN_RAMP_DOWN_STP0 0x142
179 #define REG_GAIN_RAMP_DOWN_STP1 0x143
180 #define REG_BLSM_CTRL 0x146
181 #define REG_BLSM_STAT 0x147
182 #define REG_PRBS 0x14B
183 #define REG_PRBS_ERROR_I 0x14C
184 #define REG_PRBS_ERROR_Q 0x14D
185 #define REG_DACPLLT5 0x1B5
186 #define REG_DACPLLTB 0x1BB
187 #define REG_DACPLLTD 0x1BD
188 #define REG_DACPLLT17 0x1C4
189 #define REG_DACPLLT18 0x1C5
190 #define REG_ASPI_SPARE0 0x1C6
191 #define REG_ASPI_SPARE1 0x1C7
192 #define REG_SPISTRENGTH 0x1DF
193 #define REG_CLK_TEST 0x1EB
194 #define REG_ATEST_VOLTS 0x1EC
195 #define REG_ASPI_CLKSRC 0x1ED
196 #define REG_MASTER_PD 0x200
197 #define REG_PHY_PD 0x201
198 #define REG_GENERIC_PD 0x203
199 #define REG_CDR_RESET 0x206
200 #define REG_CDR_OPERATING_MODE_REG_0 0x230
201 #define REG_CONFIG_REG3 0x232
202 #define REG_EQ_CONFIG_PHY_0_1 0x250
203 #define REG_EQ_CONFIG_PHY_2_3 0x251
204 #define REG_EQ_CONFIG_PHY_4_5 0x252
205 #define REG_EQ_CONFIG_PHY_6_7 0x253
206 #define REG_EQ_BIAS_REG 0x268
207 #define REG_SYNTH_ENABLE_CNTRL 0x280
208 #define REG_PLL_STATUS 0x281
209 #define REG_REF_CLK_DIVIDER_LDO 0x289
210 #define REG_SERDES_PLL_CTRL 0x291
211 #define REG_SERDES_PLL_CP3 0x29c
212 #define REG_SERDES_PLL_VAR3 0x29f
213 #define REG_DEV_CONFIG_8 0x2A4
214 #define REG_TERM_BLK1_CTRLREG0 0x2A7
215 #define REG_TERM_BLK1_CTRLREG1 0x2A8
216 #define REG_DEV_CONFIG_9 0x2AA
217 #define REG_DEV_CONFIG_10 0x2AB
218 #define REG_TERM_BLK2_CTRLREG0 0x2AE
219 #define REG_TERM_BLK2_CTRLREG1 0x2AF
220 #define REG_DEV_CONFIG_11 0x2B1
221 #define REG_DEV_CONFIG_12 0x2B2
222 #define REG_GENERAL_JRX_CTRL_0 0x300
223 #define REG_GENERAL_JRX_CTRL_1 0x301
224 #define REG_DYN_LINK_LATENCY_0 0x302
225 #define REG_DYN_LINK_LATENCY_1 0x303
226 #define REG_LMFC_DELAY_0 0x304
227 #define REG_LMFC_DELAY_1 0x305
228 #define REG_LMFC_VAR_0 0x306
229 #define REG_LMFC_VAR_1 0x307
230 #define REG_XBAR(x) (0x308 +(x))
231 #define REG_FIFO_STATUS_REG_0 0x30C
232 #define REG_FIFO_STATUS_REG_1 0x30D
233 #define REG_FIFO_STATUS_REG_2 0x30E
234 #define REG_SYNCB_GEN_0 0x311
235 #define REG_SYNCB_GEN_1 0x312
236 #define REG_SYNCB_GEN_3 0x313
237 #define REG_SERDES_SPI_REG 0x314
238 #define REG_PHY_PRBS_TEST_EN 0x315
239 #define REG_PHY_PRBS_TEST_CTRL 0x316
240 #define REG_PHY_PRBS_TEST_THRESH_LOBITS 0x317
241 #define REG_PHY_PRBS_TEST_THRESH_MIDBITS 0x318
242 #define REG_PHY_PRBS_TEST_THRESH_HIBITS 0x319
243 #define REG_PHY_PRBS_TEST_ERRCNT_LOBITS 0x31A
244 #define REG_PHY_PRBS_TEST_ERRCNT_MIDBITS 0x31B
245 #define REG_PHY_PRBS_TEST_ERRCNT_HIBITS 0x31C
246 #define REG_PHY_PRBS_TEST_STATUS 0x31D
247 #define REG_SHORT_TPL_TEST_0 0x32C
248 #define REG_SHORT_TPL_TEST_1 0x32D
249 #define REG_SHORT_TPL_TEST_2 0x32E
250 #define REG_SHORT_TPL_TEST_3 0x32F
251 #define REG_DEVICE_CONFIG_REG_13 0x333
252 #define REG_JESD_BIT_INVERSE_CTRL 0x334
253 #define REG_DID_REG 0x400
254 #define REG_BID_REG 0x401
255 #define REG_LID0_REG 0x402
256 #define REG_SCR_L_REG 0x403
257 #define REG_F_REG 0x404
258 #define REG_K_REG 0x405
259 #define REG_M_REG 0x406
260 #define REG_CS_N_REG 0x407
261 #define REG_NP_REG 0x408
262 #define REG_S_REG 0x409
263 #define REG_HD_CF_REG 0x40A
264 #define REG_RES1_REG 0x40B
265 #define REG_RES2_REG 0x40C
266 #define REG_CHECKSUM_REG 0x40D
267 #define REG_COMPSUM0_REG 0x40E
268 #define REG_LID1_REG 0x412
269 #define REG_CHECKSUM1_REG 0x415
270 #define REG_COMPSUM1_REG 0x416
271 #define REG_LID2_REG 0x41A
272 #define REG_CHECKSUM2_REG 0x41D
273 #define REG_COMPSUM2_REG 0x41E
274 #define REG_LID3_REG 0x422
275 #define REG_CHECKSUM3_REG 0x425
276 #define REG_COMPSUM3_REG 0x426
277 #define REG_LID4_REG 0x42A
278 #define REG_CHECKSUM4_REG 0x42D
279 #define REG_COMPSUM4_REG 0x42E
280 #define REG_LID5_REG 0x432
281 #define REG_CHECKSUM5_REG 0x435
282 #define REG_COMPSUM5_REG 0x436
283 #define REG_LID6_REG 0x43A
284 #define REG_CHECKSUM6_REG 0x43D
285 #define REG_COMPSUM6_REG 0x43E
286 #define REG_LID7_REG 0x442
287 #define REG_CHECKSUM7_REG 0x445
288 #define REG_COMPSUM7_REG 0x446
289 #define REG_ILS_DID 0x450
290 #define REG_ILS_BID 0x451
291 #define REG_ILS_LID0 0x452
292 #define REG_ILS_SCR_L 0x453
293 #define REG_ILS_F 0x454
294 #define REG_ILS_K 0x455
295 #define REG_ILS_M 0x456
296 #define REG_ILS_CS_N 0x457
297 #define REG_ILS_NP 0x458
298 #define REG_ILS_S 0x459
299 #define REG_ILS_HD_CF 0x45A
300 #define REG_ILS_RES1 0x45B
301 #define REG_ILS_RES2 0x45C
302 #define REG_ILS_CHECKSUM 0x45D
303 #define REG_ERRCNTRMON 0x46B
304 #define REG_LANEDESKEW 0x46C
305 #define REG_BADDISPARITY 0x46D
306 #define REG_NITDISPARITY 0x46E
307 #define REG_UNEXPECTEDKCHAR 0x46F
308 #define REG_CODEGRPSYNCFLG 0x470
309 #define REG_FRAMESYNCFLG 0x471
310 #define REG_GOODCHKSUMFLG 0x472
311 #define REG_INITLANESYNCFLG 0x473
312 #define REG_CTRLREG1 0x476
313 #define REG_CTRLREG2 0x477
314 #define REG_KVAL 0x478
315 #define REG_IRQVECTOR 0x47A
316 #define REG_SYNCASSERTIONMASK 0x47B
317 #define REG_ERRORTHRES 0x47C
318 #define REG_LANEENABLE 0x47D
323 #define SOFTRESET_M (1 << 7)
324 #define LSBFIRST_M (1 << 6)
325 #define ADDRINC_M (1 << 5)
326 #define SDOACTIVE_M (1 << 4)
327 #define SDOACTIVE (1 << 3)
328 #define ADDRINC (1 << 2)
329 #define LSBFIRST (1 << 1)
330 #define SOFTRESET (1 << 0)
335 #define SINGLEINS (1 << 7)
336 #define CSBSTALL (1 << 6)
341 #define DEVSTATUS(x) (((x) & 0xF) << 4)
342 #define CUSTOPMODE(x) (((x) & 0x3) << 2)
343 #define SYSOPMODE(x) (((x) & 0x3) << 0)
348 #define PROD_GRADE(x) (((x) & 0xF) << 4)
349 #define DEV_REVISION(x) (((x) & 0xF) << 0)
354 #define PAGEINDX(x) (((x) & 0x3) << 0)
359 #define SLAVEUPDATE (1 << 0)
364 #define PD_BG (1 << 7)
365 #define PD_DAC_0 (1 << 6)
366 #define PD_DAC_1 (1 << 5)
367 #define PD_DAC_2 (1 << 4)
368 #define PD_DAC_3 (1 << 3)
369 #define PD_DACM (1 << 2)
374 #define SYS_MASK (1 << 2)
375 #define DACB_MASK (1 << 1)
376 #define DACA_MASK (1 << 0)
381 #define ENA_PA_CTRL_FROM_PAPROT_ERR (1 << 6)
382 #define ENA_PA_CTRL_FROM_TXENSM (1 << 5)
383 #define ENA_PA_CTRL_FROM_BLSM (1 << 4)
384 #define ENA_PA_CTRL_FROM_SPI (1 << 3)
385 #define SPI_PA_CTRL (1 << 2)
386 #define ENA_SPI_TXEN (1 << 1)
387 #define SPI_TXEN (1 << 0)
392 #define COARSE_GROUP_DLY(x) (((x) & 0xF) << 0)
397 #define EN_CALPASS (1 << 7)
398 #define EN_CALFAIL (1 << 6)
399 #define EN_DACPLLLOST (1 << 5)
400 #define EN_DACPLLLOCK (1 << 4)
401 #define EN_SERPLLLOST (1 << 3)
402 #define EN_SERPLLLOCK (1 << 2)
403 #define EN_LANEFIFOERR (1 << 1)
404 #define EN_DRDLFIFOERR (1 << 0)
409 #define EN_PARMBAD (1 << 7)
410 #define EN_PRBSQ1 (1 << 3)
411 #define EN_PRBSI1 (1 << 2)
412 #define EN_PRBSQ0 (1 << 1)
413 #define EN_PRBSI0 (1 << 0)
418 #define EN_PAERR0 (1 << 7)
419 #define EN_BIST_DONE0 (1 << 6)
420 #define EN_BLNKDONE0 (1 << 5)
421 #define EN_REFNCOCLR0 (1 << 4)
422 #define EN_REFLOCK0 (1 << 3)
423 #define EN_REFROTA0 (1 << 2)
424 #define EN_REFWLIM0 (1 << 1)
425 #define EN_REFTRIP0 (1 << 0)
430 #define EN_PAERR1 (1 << 7)
431 #define EN_BIST_DONE1 (1 << 6)
432 #define EN_BLNKDONE1 (1 << 5)
433 #define EN_REFNCOCLR1 (1 << 4)
434 #define EN_REFLOCK1 (1 << 3)
435 #define EN_REFROTA1 (1 << 2)
436 #define EN_REFWLIM1 (1 << 1)
437 #define EN_REFTRIP1 (1 << 0)
442 #define IRQ_CALPASS (1 << 7)
443 #define IRQ_CALFAIL (1 << 6)
444 #define IRQ_DACPLLLOST (1 << 5)
445 #define IRQ_DACPLLLOCK (1 << 4)
446 #define IRQ_SERPLLLOST (1 << 3)
447 #define IRQ_SERPLLLOCK (1 << 2)
448 #define IRQ_LANEFIFOERR (1 << 1)
449 #define IRQ_DRDLFIFOERR (1 << 0)
454 #define IRQ_PARMBAD (1 << 7)
455 #define IRQ_PRBSQ1 (1 << 3)
456 #define IRQ_PRBSI1 (1 << 2)
457 #define IRQ_PRBSQ0 (1 << 1)
458 #define IRQ_PRBSI0 (1 << 0)
463 #define IRQ_PAERR0 (1 << 7)
464 #define IRQ_BIST_DONE0 (1 << 6)
465 #define IRQ_BLNKDONE0 (1 << 5)
466 #define IRQ_REFNCOCLR0 (1 << 4)
467 #define IRQ_REFLOCK0 (1 << 3)
468 #define IRQ_REFROTA0 (1 << 2)
469 #define IRQ_REFWLIM0 (1 << 1)
470 #define IRQ_REFTRIP0 (1 << 0)
475 #define IRQ_PAERR1 (1 << 7)
476 #define IRQ_BIST_DONE1 (1 << 6)
477 #define IRQ_BLNKDONE1 (1 << 5)
478 #define IRQ_REFNCOCLR1 (1 << 4)
479 #define IRQ_REFLOCK1 (1 << 3)
480 #define IRQ_REFROTA1 (1 << 2)
481 #define IRQ_REFWLIM1 (1 << 1)
482 #define IRQ_REFTRIP1 (1 << 0)
487 #define ERR_DLYOVER (1 << 5)
488 #define ERR_WINLIMIT (1 << 4)
489 #define ERR_JESDBAD (1 << 3)
490 #define ERR_KUNSUPP (1 << 2)
491 #define ERR_SUBCLASS (1 << 1)
492 #define ERR_INTSUPP (1 << 0)
497 #define TARRFAPHAZ (1 << 0)
498 #define SYNCBYPASS(x) (((x) & 0x3) << 6)
503 #define DAC_DELAY_H (1 << 0)
508 #define ERRWINDOW(x) (((x) & 0x7) << 0)
513 #define LASTUNDER (1 << 7)
514 #define LASTOVER (1 << 6)
515 #define LASTERROR_H (1 << 0)
520 #define SYNCENABLE (1 << 7)
521 #define SYNCARM (1 << 6)
522 #define SYNCCLRSTKY (1 << 5)
523 #define SYNCCLRLAST (1 << 4)
524 #define SYNCMODE(x) (((x) & 0xF) << 0)
529 #define REFBUSY (1 << 7)
530 #define REFLOCK (1 << 3)
531 #define REFROTA (1 << 2)
532 #define REFWLIM (1 << 1)
533 #define REFTRIP (1 << 0)
538 #define CURRUNDER (1 << 7)
539 #define CURROVER (1 << 6)
540 #define CURRERROR_H (1 << 0)
545 #define THRMOLD (1 << 7)
546 #define THRMOVER (1 << 4)
547 #define THRMPOS (1 << 3)
548 #define THRMZERO (1 << 2)
549 #define THRMNEG (1 << 1)
550 #define THRMUNDER (1 << 0)
555 #define DACGAIN_IM0(x) (((x) & 0x3) << 0)
560 #define DACGAIN_IM1(x) (((x) & 0x3) << 0)
565 #define DACGAIN_IM2(x) (((x) & 0x3) << 0)
570 #define DACGAIN_IM3(x) (((x) & 0x3) << 0)
575 #define ENB_DACLDO3 (1 << 7)
576 #define ENB_DACLDO2 (1 << 6)
577 #define ENB_DACLDO1 (1 << 5)
578 #define ENB_DACLDO0 (1 << 4)
583 #define STAT_LDO3 (1 << 3)
584 #define STAT_LDO2 (1 << 2)
585 #define STAT_LDO1 (1 << 1)
586 #define STAT_LDO0 (1 << 0)
591 #define SHUFFLE_MSB0 (1 << 2)
592 #define SHUFFLE_ISB0 (1 << 1)
597 #define SHUFFLE_MSB1 (1 << 2)
598 #define SHUFFLE_ISB1 (1 << 1)
603 #define SHUFFLE_MSB2 (1 << 2)
604 #define SHUFFLE_ISB2 (1 << 1)
609 #define SHUFFLE_MSB3 (1 << 2)
610 #define SHUFFLE_ISB3 (1 << 1)
615 #define NCOCLRARM (1 << 7)
616 #define NCOCLRMTCH (1 << 5)
617 #define NCOCLRPASS (1 << 4)
618 #define NCOCLRFAIL (1 << 3)
619 #define NCOCLRMODE(x) (((x) & 0x3) << 0)
624 #define PA_THRESH_MSB(x) (((x) & 0x1F) << 0)
629 #define PA_ENABLE (1 << 7)
630 #define PA_BUS_SWAP (1 << 6)
631 #define PA_AVG_TIME(x) (((x) & 0xF) << 0)
636 #define PA_POWER_MSB(x) (((x) & 0x1F) << 0)
641 #define PD_CLK01 (1 << 7)
642 #define PD_CLK23 (1 << 6)
643 #define PD_CLK_DIG (1 << 5)
644 #define PD_PCLK (1 << 4)
645 #define PD_CLK_REC (1 << 3)
650 #define PD_SYSREF (1 << 4)
651 #define HYS_ON (1 << 3)
652 #define SYSREF_RISE (1 << 2)
653 #define HYS_CNTRL1(x) (((x) & 0x3) << 0)
658 #define SYNTH_RECAL (1 << 7)
659 #define ENABLE_SYNTH (1 << 4)
664 #define CP_CAL_VALID (1 << 5)
665 #define RFPLL_LOCK (1 << 1)
670 #define LF_C2_WORD(x) (((x) & 0xF) << 4)
671 #define LF_C1_WORD(x) (((x) & 0xF) << 0)
676 #define LF_R1_WORD(x) (((x) & 0xF) << 4)
677 #define LF_C3_WORD(x) (((x) & 0xF) << 0)
682 #define LF_BYPASS_R3 (1 << 7)
683 #define LF_BYPASS_R1 (1 << 6)
684 #define LF_BYPASS_C2 (1 << 5)
685 #define LF_BYPASS_C1 (1 << 4)
686 #define LF_R3_WORD(x) (((x) & 0xF) << 0)
691 #define CP_CURRENT(x) (((x) & 0x3F) << 0)
696 #define LO_DIV_MODE(x) (((x) & 0x3) << 0)
701 #define REF_DIVRATE(x) (((x) & 0x7) << 0)
706 #define INIT_SWEEP_ERR_DAC (1 << 1)
707 #define MSB_SWEEP_ERR_DAC (1 << 0)
712 #define CAL_MSB_TAC(x) (((x) & 0x7) << 0)
717 #define CAL_START_GL (1 << 1)
718 #define CAL_EN_GL (1 << 0)
723 #define CAL_MSBLVLHI(x) (((x) & 0x3F) << 0)
728 #define CAL_MSBLVLLO(x) (((x) & 0x3F) << 0)
733 #define CAL_LTAC_THRES(x) (((x) & 0x7) << 3)
734 #define CAL_TAC_THRES(x) (((x) & 0x7) << 0)
739 #define MSB_GLOBAL_SUBAVG(x) (((x) & 0x3) << 6)
740 #define GLOBAL_AVG_CNT(x) (((x) & 0x7) << 3)
741 #define LOCAL_AVRG_CNT(x) (((x) & 0x7) << 0)
746 #define CAL_CLKDIV(x) (((x) & 0xF) << 0)
751 #define CAL_INDX(x) (((x) & 0xF) << 0)
756 #define CAL_FIN (1 << 7)
757 #define CAL_ACTIVE (1 << 6)
758 #define CAL_ERRHI (1 << 5)
759 #define CAL_ERRLO (1 << 4)
760 #define CAL_TXDACBYDAC (1 << 3)
761 #define CAL_START (1 << 1)
762 #define CAL_EN (1 << 0)
767 #define CAL_ADDR(x) (((x) & 0x3F) << 0)
772 #define CAL_DATA(x) (((x) & 0x3F) << 0)
777 #define CAL_UPDATE (1 << 7)
782 #define BINARY_FORMAT (1 << 7)
787 #define INVSINC_ENABLE (1 << 7)
788 #define DIG_GAIN_ENABLE (1 << 5)
789 #define PHASE_ADJ_ENABLE (1 << 4)
790 #define SEL_SIDEBAND (1 << 1)
791 #define I_TO_Q (1 << 0)
792 #define MODULATION_TYPE(x) (((x) & 0x3) << 2)
793 #define MODULATION_TYPE_MASK (0x03 << 2)
798 #define INTERP_MODE(x) (((x) & 0x7) << 0)
803 #define FTW_UPDATE_ACK (1 << 1)
804 #define FTW_UPDATE_REQ (1 << 0)
809 #define TX_DIG_CLK_PD (1 << 0)
814 #define GP_PA_ON_INVERT (1 << 2)
815 #define GP_PA_CTRL (1 << 1)
816 #define TXEN_SM_EN (1 << 0)
817 #define PA_FALL(x) (((x) & 0x3) << 6)
818 #define PA_RISE(x) (((x) & 0x3) << 4)
823 #define DIG_FALL(x) (((x) & 0x3) << 6)
824 #define DIG_RISE(x) (((x) & 0x3) << 4)
825 #define DAC_FALL(x) (((x) & 0x3) << 2)
826 #define DAC_RISE(x) (((x) & 0x3) << 0)
831 #define DACOUT_SHUTDOWN (1 << 1)
832 #define DACOUT_ON_TRIGGER (1 << 0)
837 #define PROTECT_MODE (1 << 7)
838 #define DACOFF_AVG_PW (1 << 0)
843 #define ADC_TESTMODE (1 << 7)
844 #define AUXADC_ENABLE (1 << 0)
845 #define FS_CURRENT(x) (((x) & 0x7) << 4)
846 #define REF_CURRENT(x) (((x) & 0x7) << 1)
851 #define SELECT_CLKDIG (1 << 3)
852 #define EN_DIV2 (1 << 2)
853 #define INCAP_CTRL(x) (((x) & 0x3) << 0)
858 #define DIE_TEMP_UPDATE (1 << 0)
863 #define DISABLE_NOISE (1 << 1)
864 #define DC_OFFSET_ON (1 << 0)
869 #define IPATH_DC_OFFSET_2PART(x) (((x) & 0x1F) << 0)
874 #define QPATH_DC_OFFSET_2PART(x) (((x) & 0x1F) << 0)
879 #define IDAC_DIG_GAIN1(x) (((x) & 0xF) << 0)
884 #define QDAC_DIG_GAIN1(x) (((x) & 0xF) << 0)
889 #define GAIN_RAMP_UP_STP1(x) (((x) & 0xF) << 0)
894 #define GAIN_RAMP_DOWN_STP1(x) (((x) & 0xF) << 0)
899 #define RESET_BLSM (1 << 7)
900 #define EN_FORCE_GAIN_SOFT_OFF (1 << 4)
901 #define GAIN_SOFT_OFF (1 << 3)
902 #define GAIN_SOFT_ON (1 << 2)
903 #define EN_FORCE_GAIN_SOFT_ON (1 << 1)
908 #define SOFT_OFF_DONE (1 << 5)
909 #define SOFT_ON_DONE (1 << 4)
910 #define GAIN_SOFT_OFF_RB (1 << 3)
911 #define GAIN_SOFT_ON_RB (1 << 2)
912 #define SOFT_OFF_EN_RB (1 << 1)
913 #define SOFT_ON_EN_RB (1 << 0)
914 #define SOFTBLANKRB(x) (((x) & 0x3) << 6)
919 #define PRBS_GOOD_Q (1 << 7)
920 #define PRBS_GOOD_I (1 << 6)
921 #define PRBS_INV_Q (1 << 4)
922 #define PRBS_INV_I (1 << 3)
923 #define PRBS_MODE (1 << 2)
924 #define PRBS_RESET (1 << 1)
925 #define PRBS_EN (1 << 0)
930 #define VCO_VAR(x) (((x) & 0xF) << 0)
935 #define VCO_BIAS_REF(x) (((x) & 0x7) << 0)
940 #define VCO_CAL_REF_MON (1 << 3)
941 #define VCO_CAL_REF_TCF(x) (((x) & 0x7) << 0)
946 #define VCO_VAR_REF_TCF(x) (((x) & 0x7) << 4)
947 #define VCO_VAR_OFF(x) (((x) & 0xF) << 0)
952 #define SPIDRV(x) (((x) & 0xF) << 0)
957 #define DUTYCYCLEON (1 << 0)
962 #define ATEST_EN (1 << 0)
963 #define ATEST_TOPVSEL(x) (((x) & 0x3) << 5)
964 #define ATEST_DACSEL(x) (((x) & 0x3) << 3)
965 #define ATEST_VSEL(x) (((x) & 0x3) << 1)
970 #define EN_CLKDIV (1 << 3)
971 #define ASPI_OSC_RATE (1 << 2)
972 #define ASPI_CLK_SRC (1 << 1)
973 #define EN_ASPI_OSC (1 << 0)
978 #define SPI_PD_MASTER (1 << 0)
983 #define SPI_SYNC1_PD (1 << 1)
984 #define SPI_SYNC2_PD (1 << 0)
989 #define SPI_ENHALFRATE (1 << 5)
990 #define SPI_DIVISION_RATE(x) (((x) & 0x3) << 1)
995 #define SPI_EQ_CONFIG1(x) (((x) & 0xF) << 4)
996 #define SPI_EQ_CONFIG0(x) (((x) & 0xF) << 0)
1001 #define SPI_EQ_CONFIG3(x) (((x) & 0xF) << 4)
1002 #define SPI_EQ_CONFIG2(x) (((x) & 0xF) << 0)
1007 #define SPI_EQ_CONFIG5(x) (((x) & 0xF) << 4)
1008 #define SPI_EQ_CONFIG4(x) (((x) & 0xF) << 0)
1013 #define SPI_EQ_CONFIG7(x) (((x) & 0xF) << 4)
1014 #define SPI_EQ_CONFIG6(x) (((x) & 0xF) << 0)
1019 #define SPI_EQ_EXTRA_SPI_LSBITS(x) (((x) & 0x3) << 6)
1020 #define SPI_EQ_BIASPTAT(x) (((x) & 0x7) << 3)
1021 #define SPI_EQ_BIASPLY(x) (((x) & 0x7) << 0)
1026 #define SPI_RECAL_SYNTH (1 << 2)
1027 #define SPI_ENABLE_SYNTH (1 << 0)
1032 #define SPI_CP_CAL_VALID_RB (1 << 3)
1033 #define SPI_PLL_LOCK_RB (1 << 0)
1038 #define SPI_CDR_OVERSAMP(x) (((x) & 0x3) << 0)
1043 #define SPI_I_TUNE_R_CAL_TERMBLK1 (1 << 0)
1048 #define SPI_I_TUNE_R_CAL_TERMBLK2 (1 << 0)
1053 #define CHECKSUM_MODE (1 << 6)
1054 #define LINK_MODE (1 << 3)
1055 #define SEL_REG_MAP_1 (1 << 2)
1056 #define LINK_EN(x) (((x) & 0x3) << 0)
1061 #define SUBCLASSV_LOCAL(x) (((x) & 0x7) << 0)
1066 #define DYN_LINK_LATENCY_0(x) (((x) & 0x1F) << 0)
1071 #define DYN_LINK_LATENCY_1(x) (((x) & 0x1F) << 0)
1076 #define LMFC_DELAY_0(x) (((x) & 0x1F) << 0)
1081 #define LMFC_DELAY_1(x) (((x) & 0x1F) << 0)
1086 #define LMFC_VAR_0(x) (((x) & 0x1F) << 0)
1091 #define LMFC_VAR_1(x) (((x) & 0x1F) << 0)
1096 #define SRC_LANE1(x) (((x) & 0x7) << 3)
1097 #define SRC_LANE0(x) (((x) & 0x7) << 0)
1102 #define SRC_LANE3(x) (((x) & 0x7) << 3)
1103 #define SRC_LANE2(x) (((x) & 0x7) << 0)
1108 #define SRC_LANE5(x) (((x) & 0x7) << 3)
1109 #define SRC_LANE4(x) (((x) & 0x7) << 0)
1114 #define SRC_LANE7(x) (((x) & 0x7) << 3)
1115 #define SRC_LANE6(x) (((x) & 0x7) << 0)
1120 #define DRDL_FIFO_EMPTY (1 << 1)
1121 #define DRDL_FIFO_FULL (1 << 0)
1126 #define EOMF_MASK_1 (1 << 3)
1127 #define EOMF_MASK_0 (1 << 2)
1128 #define EOF_MASK_1 (1 << 1)
1129 #define EOF_MASK_0 (1 << 0)
1134 #define SYNCB_ERR_DUR(x) (((x) & 0xF) << 4)
1135 #define SYNCB_SYNCREQ_DUR(x) (((x) & 0xF) << 0)
1140 #define PHY_TEST_START (1 << 1)
1141 #define PHY_TEST_RESET (1 << 0)
1142 #define PHY_SRC_ERR_CNT(x) (((x) & 0x7) << 4)
1143 #define PHY_PRBS_PAT_SEL(x) (((x) & 0x3) << 2)
1148 #define SHORT_TPL_TEST_RESET (1 << 1)
1149 #define SHORT_TPL_TEST_EN (1 << 0)
1150 #define SHORT_TPL_SP_SEL(x) (((x) & 0x3) << 4)
1151 #define SHORT_TPL_M_SEL(x) (((x) & 0x3) << 2)
1156 #define SHORT_TPL_FAIL (1 << 0)
1161 #define ADJCNT_RD(x) (((x) & 0xF) << 4)
1162 #define BID_RD(x) (((x) & 0xF) << 0)
1167 #define ADJDIR_RD (1 << 6)
1168 #define PHADJ_RD (1 << 5)
1169 #define LID0_RD(x) (((x) & 0x1F) << 0)
1174 #define SCR_RD (1 << 7)
1175 #define L_RD(x) (((x) & 0x1F) << 0)
1180 #define K_RD(x) (((x) & 0x1F) << 0)
1185 #define CS_RD(x) (((x) & 0x3) << 6)
1186 #define N_RD(x) (((x) & 0x1F) << 0)
1191 #define SUBCLASSV_RD(x) (((x) & 0x7) << 5)
1192 #define NP_RD(x) (((x) & 0x1F) << 0)
1197 #define JESDV_RD(x) (((x) & 0x7) << 5)
1198 #define S_RD(x) (((x) & 0x1F) << 0)
1203 #define HD_RD (1 << 7)
1204 #define CF_RD(x) (((x) & 0x1F) << 0)
1209 #define LID1_RD(x) (((x) & 0x1F) << 0)
1214 #define LID2_RD(x) (((x) & 0x1F) << 0)
1219 #define LID3_RD(x) (((x) & 0x1F) << 0)
1224 #define LID4_RD(x) (((x) & 0x1F) << 0)
1229 #define LID5_RD(x) (((x) & 0x1F) << 0)
1234 #define LID6_RD(x) (((x) & 0x1F) << 0)
1239 #define LID7_RD(x) (((x) & 0x1F) << 0)
1244 #define ADJCNT(x) (((x) & 0xF) << 4)
1245 #define BID(x) (((x) & 0xF) << 0)
1250 #define ADJDIR (1 << 6)
1251 #define PHADJ (1 << 5)
1252 #define LID0(x) (((x) & 0x1F) << 0)
1257 #define SCR (1 << 7)
1258 #define L(x) (((x) & 0x1F) << 0)
1263 #define K(x) (((x) & 0x1F) << 0)
1268 #define CS(x) (((x) & 0x3) << 6)
1269 #define N(x) (((x) & 0x1F) << 0)
1274 #define SUBCLASSV(x) (((x) & 0x7) << 5)
1275 #define NP(x) (((x) & 0x1F) << 0)
1280 #define JESDV(x) (((x) & 0x7) << 5)
1281 #define S(x) (((x) & 0x1F) << 0)
1287 #define CF(x) (((x) & 0x1F) << 0)
1292 #define LANESEL(x) (((x) & 0x7) << 4)
1293 #define CNTRSEL(x) (((x) & 0x3) << 0)
1298 #define RST_IRQ_DIS (1 << 7)
1299 #define DIS_ERR_CNTR_DIS (1 << 6)
1300 #define RST_ERR_CNTR_DIS (1 << 5)
1301 #define LANE_ADDR_DIS(x) (((x) & 0x7) << 0)
1306 #define RST_IRQ_NIT (1 << 7)
1307 #define DIS_ERR_CNTR_NIT (1 << 6)
1308 #define RST_ERR_CNTR_NIT (1 << 5)
1309 #define LANE_ADDR_NIT(x) (((x) & 0x7) << 0)
1314 #define RST_IRQ_K (1 << 7)
1315 #define DIS_ERR_CNTR_K (1 << 6)
1316 #define RST_ERR_CNTR_K (1 << 5)
1317 #define LANE_ADDR_K(x) (((x) & 0x7) << 0)
1322 #define ILAS_MODE (1 << 7)
1323 #define REPDATATEST (1 << 5)
1324 #define QUETESTERR (1 << 4)
1325 #define AUTO_ECNTR_RST (1 << 3)
1330 #define BADDIS_FLAG_OR_MASK (1 << 7)
1331 #define NITD_FLAG_OR_MASK (1 << 6)
1332 #define UEKC_FLAG_OR_MASK (1 << 5)
1333 #define INITIALLANESYNC_FLAG_OR_MASK (1 << 3)
1334 #define BADCHECKSUM_FLAG_OR_MASK (1 << 2)
1335 #define CODEGRPSYNC_FLAG_OR_MASK (1 << 0)
1340 #define BAD_DIS_S (1 << 7)
1341 #define NIT_DIS_S (1 << 6)
1342 #define UNEX_K_S (1 << 5)
1343 #define CMM_FLAG_OR_MASK (1 << 4)
1344 #define CMM_ENABLE (1 << 3)
1347 #define AD9144_MAX_DAC_RATE 2000000000UL
1348 #define AD9144_CHIP_ID 0x44
1349 #define AD9144_PRBS7 0x0
1350 #define AD9144_PRBS15 0x1
1428 uint8_t exp_reg_data);
uint32_t pll_dac_frequency_khz
Definition: ad9144.h:1402
#define REG_CDR_RESET
Definition: ad9144.h:199
int32_t ad9144_setup_jesd_fsm(struct ad9144_dev **device, const struct ad9144_init_param *init_param)
Definition: ad9144.c:1127
JESD204 link configuration settings.
Definition: jesd204.h:105
uint32_t timeout
Definition: ad413x.c:49
int32_t ad9144_short_pattern_test(struct ad9144_dev *dev, const struct ad9144_init_param *init_param)
ad9144_short_pattern_test
Definition: ad9144.c:1282
#define FTW_UPDATE_REQ
Definition: ad9144.h:804
#define REG_ILS_SCR_L
Definition: ad9144.h:292
#define SRC_LANE3(x)
Definition: ad9144.h:1102
#define REG_SHORT_TPL_TEST_1
Definition: ad9144.h:248
#define REG_DACINTEGERWORD0
Definition: ad9144.h:113
uint8_t * lane_ids
Definition: jesd204.h:137
#define REG_CAL_CTRL
Definition: ad9144.h:129
unsigned int interpolation
Definition: ad9144.h:1366
int32_t ad9144_datapath_prbs_test(struct ad9144_dev *dev, const struct ad9144_init_param *init_param)
ad9144_datapath_prbs_test
Definition: ad9144.c:1320
#define NO_OS_GENMASK(h, l)
Definition: no_os_util.h:82
#define REG_MASTER_PD
Definition: ad9144.h:196
struct jesd204_state_op state_ops[__JESD204_MAX_OPS]
Definition: jesd204.h:232
uint16_t reg
Definition: ad9144.c:149
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
@ JESD204_STATE_OP_REASON_INIT
Definition: jesd204.h:148
#define REG_PRBS_ERROR_I
Definition: ad9144.h:183
uint8_t samples_per_conv_frame
Definition: jesd204.h:135
uint8_t device_id
Definition: jesd204.h:127
#define REG_LMFC_VAR_0
Definition: ad9144.h:228
uint32_t pll_ref_frequency_khz
Definition: ad9144.h:1374
uint8_t num_converters
Definition: ad9144.h:1384
int32_t ad9144_setup_legacy(struct ad9144_dev **device, const struct ad9144_init_param *init_param)
Definition: ad9144.c:970
#define REG_DACPLLSTATUS
Definition: ad9144.h:112
#define REG_GOODCHKSUMFLG
Definition: ad9144.h:310
#define SOFTRESET_M
Definition: ad9144.h:323
#define REG_LMFC_DELAY_1
Definition: ad9144.h:227
Header file of SPI Interface.
uint32_t sample_rate_khz
Definition: ad9144.h:1362
int32_t ad9144_dac_calibrate(struct ad9144_dev *dev)
Definition: ad9144.c:1191
uint64_t no_os_mul_u64_u32_shr(uint64_t a, uint32_t mul, unsigned int shift)
#define REG_DACLDOCNTRL1
Definition: ad9144.h:119
#define REG_SYSREF_ACTRL0
Definition: ad9144.h:109
#define AD9144_MOD_TYPE_MASK
Definition: ad9144.c:76
void jesd204_copy_link_params(struct jesd204_link *dst, const struct jesd204_link *src)
#define SYNCARM
Definition: ad9144.h:521
#define pr_err(fmt, args...)
Definition: no_os_print_log.h:88
int32_t ad9144_spi_write_seq(struct ad9144_dev *dev, const struct ad9144_reg_seq *seq, uint32_t num)
Definition: ad9144.c:153
struct jesd204_link link_config
Definition: ad9144.h:1360
#define REG_SHORT_TPL_TEST_2
Definition: ad9144.h:249
int32_t ad9144_status(struct ad9144_dev *dev)
ad9144_status - return the status of the JESD interface
Definition: ad9144.c:1243
uint8_t lane_mux[8]
Definition: ad9144.h:1395
Header file of Delay functions.
@ JESD204_ENCODER_8B10B
Definition: jesd204.h:30
uint8_t M
Definition: ad9144.c:47
enum jesd204_sysref_mode mode
Definition: jesd204.h:61
jesd204_state_op_reason
Definition: jesd204.h:147
#define pr_info(fmt, args...)
Definition: no_os_print_log.h:115
uint32_t prbs_type
Definition: ad9144.h:1390
int32_t ad9144_set_nco(struct ad9144_dev *dev, int32_t f_carrier_khz, int16_t phase)
Definition: ad9144.c:375
unsigned int fcenter_shift
Definition: ad9144.h:1367
#define REG_ILS_BID
Definition: ad9144.h:290
#define REG_ILS_DID
Definition: ad9144.h:289
int32_t ad9144_datapath_prbs_test(struct ad9144_dev *dev, const struct ad9144_init_param *init_param)
ad9144_datapath_prbs_test
Definition: ad9144.c:1320
uint8_t pll_enable
Definition: ad9144.h:1372
uint8_t jesd204_subclass
Definition: ad9144.h:1393
Definition: ad9361_util.h:69
#define SRC_LANE0(x)
Definition: ad9144.h:1097
#define REG_DEV_CONFIG_9
Definition: ad9144.h:216
uint32_t sample_rate_div
Definition: jesd204.h:110
#define REG_FRAMESYNCFLG
Definition: ad9144.h:309
int32_t ad9144_set_nco(struct ad9144_dev *dev, int32_t f_carrier_khz, int16_t phase)
Definition: ad9144.c:375
uint8_t subclass
Definition: jesd204.h:125
int32_t ad9144_spi_read(struct ad9144_dev *dev, uint16_t reg_addr, uint8_t *reg_data)
ad9144_spi_read
Definition: ad9144.c:81
#define REG_GENERAL_JRX_CTRL_1
Definition: ad9144.h:223
#define REG_ILS_CS_N
Definition: ad9144.h:296
#define REG_INTERP_MODE
Definition: ad9144.h:136
#define REG_KVAL
Definition: ad9144.h:314
#define REG_ILS_S
Definition: ad9144.h:298
#define MODULATION_TYPE_MASK
Definition: ad9144.h:793
#define REG_ILS_K
Definition: ad9144.h:294
#define NO_OS_ARRAY_SIZE(x)
Definition: no_os_util.h:49
#define SRC_LANE1(x)
Definition: ad9144.h:1096
struct jesd204_sysref sysref
Definition: jesd204.h:139
uint8_t scrambling
Definition: jesd204.h:130
struct no_os_spi_desc * spi_desc
Definition: ad9144.h:1357
struct no_os_spi_init_param spi_init
Definition: ad9144.h:1381
#define REG_DEV_CONFIG_12
Definition: ad9144.h:221
#define REG_REF_CLK_DIVIDER_LDO
Definition: ad9144.h:209
void * jesd204_dev_priv(struct jesd204_dev *jdev)
#define REG_DACPLLT5
Definition: ad9144.h:185
uint16_t val
Definition: ad9144.c:150
uint8_t high_density
Definition: jesd204.h:131
uint8_t S
Definition: ad9144.c:49
int32_t ad9144_setup_legacy(struct ad9144_dev **device, const struct ad9144_init_param *init_param)
Definition: ad9144.c:970
#define REG_LANEENABLE
Definition: ad9144.h:318
#define AD9144_MOD_TYPE_COARSE8
Definition: ad9144.c:75
#define REG_SPI_PAGEINDX
Definition: ad9144.h:54
void no_os_mdelay(uint32_t msecs)
Wait until msecs milliseconds passed.
Definition: aducm3029_delay.c:126
uint8_t interpolation
Definition: ad9144.h:1386
#define NO_OS_DIV_ROUND_UP(x, y)
Definition: no_os_util.h:52
#define SEL_SIDEBAND
Definition: ad9144.h:790
#define pr_debug(fmt, args...)
Definition: no_os_print_log.h:129
#define REG_CAL_CLKDIV
Definition: ad9144.h:127
int32_t ad9144_spi_read(struct ad9144_dev *dev, uint16_t reg_addr, uint8_t *reg_data)
ad9144_spi_read
Definition: ad9144.c:81
#define REG_EQ_BIAS_REG
Definition: ad9144.h:206
uint8_t jesd204_mode
Definition: ad9144.h:1392
int32_t ad9144_status(struct ad9144_dev *dev)
ad9144_status - return the status of the JESD interface
Definition: ad9144.c:1243
@ JESD204_OP_LINK_INIT
Definition: jesd204.h:198
#define REG_TERM_BLK2_CTRLREG0
Definition: ad9144.h:218
#define REG_NCO_PHASE_OFFSET0
Definition: ad9144.h:144
#define REG_CAL_INIT
Definition: ad9144.h:133
uint8_t num_lanes
Definition: ad9144.h:1385
uint8_t num_lanes
Definition: ad9144.h:1364
@ JESD204_SYSREF_ONESHOT
Definition: jesd204.h:40
#define REG_INITLANESYNCFLG
Definition: ad9144.h:311
#define REG_SHORT_TPL_TEST_0
Definition: ad9144.h:247
#define MODULATION_TYPE(x)
Definition: ad9144.h:792
#define SOFTRESET
Definition: ad9144.h:330
#define REG_XBAR(x)
Definition: ad9144.h:230
#define REG_SHORT_TPL_TEST_3
Definition: ad9144.h:250
uint8_t jesd_version
Definition: jesd204.h:123
bool is_transmit
Definition: jesd204.h:112
@ JESD204_VERSION_B
Definition: jesd204.h:23
#define REG_CDR_OPERATING_MODE_REG_0
Definition: ad9144.h:200
#define AD9144_MOD_TYPE_NONE
Definition: ad9144.c:72
Definition: ad9144.h:1355
#define REG_ILS_LID0
Definition: ad9144.h:291
#define REG_SPI_PRODIDL
Definition: ad9144.h:51
uint32_t pll_ref_frequency_khz
Definition: ad9144.h:1400
@ JESD204_OP_LINK_ENABLE
Definition: jesd204.h:211
Structure holding SPI descriptor.
Definition: no_os_spi.h:192
#define REG_DACLOGENCNTRL
Definition: ad9144.h:118
int32_t ad9144_remove(struct ad9144_dev *dev)
Definition: ad9144.c:1229
#define REG_SYNTH_ENABLE_CNTRL
Definition: ad9144.h:207
#define AD9144_CHIP_ID
Definition: ad9144.h:1348
uint8_t octets_per_frame
Definition: jesd204.h:116
#define REG_ILS_HD_CF
Definition: ad9144.h:299
#define REG_PLL_STATUS
Definition: ad9144.h:208
uint8_t lane_mux[8]
Definition: ad9144.h:1369
#define REG_ILS_NP
Definition: ad9144.h:297
#define REG_PHY_PD
Definition: ad9144.h:197
#define REG_ILS_M
Definition: ad9144.h:295
uint16_t frames_per_multiframe
Definition: jesd204.h:117
#define REG_LANEDESKEW
Definition: ad9144.h:304
uint32_t link_id
Definition: jesd204.h:106
void * no_os_malloc(size_t size)
Allocate memory and return a pointer to it.
Definition: chibios_alloc.c:43
#define REG_TERM_BLK1_CTRLREG0
Definition: ad9144.h:214
int32_t ad9144_setup_jesd204_link(struct ad9144_dev *dev, const struct ad9144_init_param *init_param)
Definition: ad9144.c:200
uint8_t capture_falling_edge
Definition: jesd204.h:62
uint8_t num_lanes
Definition: jesd204.h:114
#define REG_DACPLLT18
Definition: ad9144.h:189
uint64_t sample_rate
Definition: jesd204.h:109
#define NO_OS_BIT(x)
Definition: no_os_util.h:45
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
#define REG_FTW0
Definition: ad9144.h:138
struct ad9144_dev * dev
Definition: ad9144.c:69
int jesd204_dev_register(struct jesd204_dev **jdev, const struct jesd204_dev_data *dev_data)
unsigned int no_os_hweight8(uint8_t word)
int32_t ad9144_dac_calibrate(struct ad9144_dev *dev)
Definition: ad9144.c:1191
#define AD9144_MOD_TYPE_COARSE4
Definition: ad9144.c:74
unsigned int fcenter_shift
Definition: ad9144.h:1387
#define REG_LMFC_DELAY_0
Definition: ad9144.h:226
#define NULL
Definition: wrapper.h:64
#define REG_CAL_INDX
Definition: ad9144.h:128
uint8_t L
Definition: ad9144.c:48
#define REG_DACPLLTB
Definition: ad9144.h:186
uint8_t num_converters
Definition: ad9144.h:1363
#define REG_DEV_CONFIG_11
Definition: ad9144.h:220
int32_t ad9144_spi_check_status(struct ad9144_dev *dev, uint16_t reg_addr, uint8_t reg_mask, uint8_t exp_reg_data)
ad9144_spi_check_status
Definition: ad9144.c:126
struct ad7616_init_param init_param
Definition: ad7616_sdz.c:113
uint32_t stpl_samples[4][4]
Definition: ad9144.h:1388
Definition: ad9144.h:1379
#define SYNCENABLE
Definition: ad9144.h:520
uint8_t jesd_encoder
Definition: jesd204.h:124
#define REG_ILS_F
Definition: ad9144.h:293
@ JESD204_STATE_CHANGE_DONE
Definition: jesd204.h:46
struct jesd204_dev * jdev
Definition: ad9144.h:1359
#define REG_SPI_SCRATCHPAD
Definition: ad9144.h:56
uint8_t spi3wire
Definition: ad9144.h:1383
#define REG_NCO_FTW_UPDATE
Definition: ad9144.h:137
int32_t ad9144_spi_check_status(struct ad9144_dev *dev, uint16_t reg_addr, uint8_t reg_mask, uint8_t exp_reg_data)
ad9144_spi_check_status
Definition: ad9144.c:126
int32_t ad9144_short_pattern_test(struct ad9144_dev *dev, const struct ad9144_init_param *init_param)
ad9144_short_pattern_test
Definition: ad9144.c:1282
#define REG_SPI_INTFCONFA
Definition: ad9144.h:48
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 REG_CTRLREG1
Definition: ad9144.h:312
#define REG_DEV_CONFIG_10
Definition: ad9144.h:217
#define SRC_LANE5(x)
Definition: ad9144.h:1108
#define REG_CODEGRPSYNCFLG
Definition: ad9144.h:308
uint8_t jesd204_scrambling
Definition: ad9144.h:1394
#define REG_SYNCB_GEN_1
Definition: ad9144.h:235
uint8_t pll_enable
Definition: ad9144.h:1398
#define REG_LMFC_VAR_1
Definition: ad9144.h:229
int32_t ad9144_spi_write(struct ad9144_dev *dev, uint16_t reg_addr, uint8_t reg_data)
ad9144_spi_write
Definition: ad9144.c:104
#define REG_SYNC_CTRL
Definition: ad9144.h:79
jesd204_link_cb per_link
Definition: jesd204.h:192
uint8_t id
Definition: ad9144.c:46
#define REG_PWRCNTRL0
Definition: ad9144.h:58
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 L(x)
Definition: ad9144.h:1258
#define AD9144_MOD_TYPE_FINE
Definition: ad9144.c:73
int32_t ad9144_setup_jesd_fsm(struct ad9144_dev **device, const struct ad9144_init_param *init_param)
Definition: ad9144.c:1127
Header file of utility functions.
uint32_t pll_dac_frequency_khz
Definition: ad9144.h:1376
#define REG_NCO_PHASE_OFFSET1
Definition: ad9144.h:145
@ JESD204_OP_LINK_RUNNING
Definition: jesd204.h:212
#define REG_DATAPATH_CTRL
Definition: ad9144.h:135
#define SRC_LANE2(x)
Definition: ad9144.h:1103
#define SRC_LANE6(x)
Definition: ad9144.h:1115
uint8_t bank_id
Definition: jesd204.h:128
#define SRC_LANE7(x)
Definition: ad9144.h:1114
uint32_t lane_rate_kbps
Definition: ad9144.h:1389
#define SRC_LANE4(x)
Definition: ad9144.h:1109
#define REG_DACPLLCNTRL
Definition: ad9144.h:111
#define REG_CLKCFG0
Definition: ad9144.h:108
#define REG_SERDES_SPI_REG
Definition: ad9144.h:237
Header file of AD9144 Driver.
#define REG_PRBS_ERROR_Q
Definition: ad9144.h:184
JESD204 device initialization data.
Definition: jesd204.h:227
#define REG_DATA_FORMAT
Definition: ad9144.h:134
int32_t ad9144_remove(struct ad9144_dev *dev)
Definition: ad9144.c:1229
#define REG_GENERAL_JRX_CTRL_0
Definition: ad9144.h:222
uint8_t num_converters
Definition: jesd204.h:115
#define NO_OS_DIV_ROUND_CLOSEST(x, y)
Definition: no_os_util.h:54
int32_t ad9144_spi_write(struct ad9144_dev *dev, uint16_t reg_addr, uint8_t reg_data)
ad9144_spi_write
Definition: ad9144.c:104
@ JESD204_OP_LINK_SETUP
Definition: jesd204.h:204
chip_id
Definition: ad9172.h:51
Structure holding the parameters for SPI initialization.
Definition: no_os_spi.h:140
uint8_t F
Definition: ad9144.c:50
uint64_t no_os_div_u64(uint64_t dividend, uint32_t divisor)
#define REG_PRBS
Definition: ad9144.h:182