40#define REG_SPI_INTFCONFA 0x000
41#define REG_SPI_CHIPTYPE 0x003
42#define REG_SPI_PRODIDL 0x004
43#define REG_SPI_PRODIDH 0x005
44#define REG_SPI_CHIPGRADE 0x006
45#define REG_PWRCNTRL0 0x011
46#define REG_TXENMASK1 0x012
47#define REG_PWRCNTRL3 0x013
48#define REG_PWRCNTRL1 0x014
49#define REG_IRQ_ENABLE0 0x01F
50#define REG_IRQ_ENABLE1 0x020
51#define REG_IRQ_ENABLE2 0x021
52#define REG_IRQ_STATUS0 0x023
53#define REG_IRQ_STATUS1 0x024
54#define REG_IRQ_STATUS2 0x025
55#define REG_IRQ_STATUS3 0x026
56#define REG_IRQ_STATUS4 0x027
57#define REG_JESD_CHECKS 0x030
58#define REG_SYNC_TESTCTRL 0x031
59#define REG_SYNC_DACDELAY_L 0x032
60#define REG_SYNC_DACDELAY_H 0x033
61#define REG_SYNC_ERRWINDOW 0x034
62#define REG_SYNC_DLYCOUNT 0x035
63#define REG_SYNC_REFCOUNT 0x036
64#define REG_SYNC_LASTERR_L 0x038
65#define REG_SYNC_LASTERR_H 0x039
66#define REG_SYNC_CTRL 0x03A
67#define REG_SYNC_STATUS 0x03B
68#define REG_SYNC_CURRERR_L 0x03C
69#define REG_SYNC_CURRERR_H 0x03D
70#define REG_ERROR_THERM 0x03E
71#define REG_DACGAIN0_1 0x040
72#define REG_DACGAIN0_0 0x041
73#define REG_DACGAIN1_1 0x042
74#define REG_DACGAIN1_0 0x043
75#define REG_COARSE_GROUP_DLY 0x047
76#define REG_NCO_ALIGNMODE 0x050
77#define REG_NCOKEY_ILSB 0x051
78#define REG_NCOKEY_IMSB 0x052
79#define REG_NCOKEY_QLSB 0x053
80#define REG_NCOKEY_QMSB 0x054
81#define REG_PA_THRES0 0x060
82#define REG_PA_THRES1 0x061
83#define REG_PA_AVG_TIME 0x062
84#define REG_PA_POWER0 0x063
85#define REG_PA_POWER1 0x064
86#define REG_PA_OFFGAIN0 0x065
87#define REG_PA_OFFGAIN1 0x066
88#define REG_CLKCFG0 0x080
89#define REG_SYSREF_ACTRL0 0x081
90#define REG_SYSREF_ACTRL1 0x082
91#define REG_DACPLLCNTRL 0x083
92#define REG_DACPLLSTATUS 0x084
93#define REG_DACINTEGERWORD0 0x085
94#define REG_DACLOOPFILT1 0x087
95#define REG_DACLOOPFILT2 0x088
96#define REG_DACLOOPFILT3 0x089
97#define REG_DACCPCNTRL 0x08A
98#define REG_DACLOGENCNTRL 0x08B
99#define REG_DACLDOCNTRL1 0x08C
100#define REG_DAC_PLL_CONFIG0 0x08D
101#define REG_CLK_DETECT 0x08E
102#define REG_DIG_TEST0 0x0F7
103#define REG_DC_TEST_VALUEI0 0x0F8
104#define REG_DC_TEST_VALUEI1 0x0F9
105#define REG_DC_TEST_VALUEQ0 0x0FA
106#define REG_DC_TEST_VALUEQ1 0x0FB
107#define REG_DATA_FORMAT 0x110
108#define REG_DATAPATH_CTRL 0x111
109#define REG_INTERP_MODE 0x112
110#define REG_NCO_FTW_UPDATE 0x113
111#define REG_FTW0 0x114
112#define REG_FTW1 0x115
113#define REG_FTW2 0x116
114#define REG_FTW3 0x117
115#define REG_FTW4 0x118
116#define REG_FTW5 0x119
117#define REG_NCO_PHASE_OFFSET0 0x11A
118#define REG_NCO_PHASE_OFFSET1 0x11B
119#define REG_NCO_PHASE_ADJ0 0x11C
120#define REG_NCO_PHASE_ADJ1 0x11D
121#define REG_TXEN_SM_0 0x11F
122#define REG_DACOUT_ON_DOWN 0x125
123#define REG_DACOFF 0x12C
124#define REG_DIE_TEMP_CTRL0 0x12F
125#define REG_DIE_TEMP0 0x132
126#define REG_DIE_TEMP1 0x133
127#define REG_DIE_TEMP_UPDATE 0x134
128#define REG_DC_OFFSET_CTRL 0x135
129#define REG_IPATH_DC_OFFSET_1PART0 0x136
130#define REG_IPATH_DC_OFFSET_1PART1 0x137
131#define REG_QPATH_DC_OFFSET_1PART0 0x138
132#define REG_QPATH_DC_OFFSET_1PART1 0x139
133#define REG_IPATH_DC_OFFSET_2PART 0x13A
134#define REG_QPATH_DC_OFFSET_2PART 0x13B
135#define REG_IDAC_DIG_GAIN0 0x13C
136#define REG_IDAC_DIG_GAIN1 0x13D
137#define REG_QDAC_DIG_GAIN0 0x13E
138#define REG_QDAC_DIG_GAIN1 0x13F
139#define REG_GAIN_RAMP_UP_STP0 0x140
140#define REG_GAIN_RAMP_UP_STP1 0x141
141#define REG_GAIN_RAMP_DOWN_STP0 0x142
142#define REG_GAIN_RAMP_DOWN_STP1 0x143
143#define REG_PRBS 0x14B
144#define REG_PRBS_ERROR_I 0x14C
145#define REG_PRBS_ERROR_Q 0x14D
146#define REG_DATAPATH_CTRL2 0x151
147#define REG_ACC_MODULUS0 0x152
148#define REG_ACC_MODULUS1 0x153
149#define REG_ACC_MODULUS2 0x154
150#define REG_ACC_MODULUS3 0x155
151#define REG_ACC_MODULUS4 0x156
152#define REG_ACC_MODULUS5 0x157
153#define REG_ACC_DELTA0 0x158
154#define REG_ACC_DELTA1 0x159
155#define REG_ACC_DELTA2 0x15A
156#define REG_ACC_DELTA3 0x15B
157#define REG_ACC_DELTA4 0x15C
158#define REG_ACC_DELTA5 0x15D
159#define REG_PFIR_COEFF0_L 0x17A
160#define REG_PFIR_COEFF0_H 0x17B
161#define REG_PFIR_COEFF1_L 0x17C
162#define REG_PFIR_COEFF1_H 0x17D
163#define REG_PFIR_COEFF2_L 0x17E
164#define REG_PFIR_COEFF2_H 0x17F
165#define REG_PFIR_COEFF3_L 0x180
166#define REG_PFIR_COEFF3_H 0x181
167#define REG_PFIR_COEFF_UPDATE 0x182
168#define REG_DAC_PLL_CONFIG1 0x1B0
169#define REG_DACPLLT4 0x1B4
170#define REG_DACPLLT5 0x1B5
171#define REG_DACPLLT6 0x1B6
172#define REG_DAC_PLL_CONFIG2 0x1B9
173#define REG_DACPLLTB 0x1BB
174#define REG_DAC_PLL_CONFIG3 0x1BC
175#define REG_DAC_PLL_CONFIG4 0x1BE
176#define REG_DAC_PLL_CONFIG5 0x1BF
177#define REG_DAC_PLL_CONFIG6 0x1C0
178#define REG_DAC_PLL_CONFIG7 0x1C1
179#define REG_DACPLLT17 0x1C4
180#define REG_DACPLLT18 0x1C5
181#define REG_TEST_MODE 0x1FE
182#define REG_MASTER_PD 0x200
183#define REG_PHY_PD 0x201
184#define REG_GENERIC_PD 0x203
185#define REG_CDR_RESET 0x206
186#define REG_CDR_OPERATING_MODE_REG_0 0x230
187#define REG_EQ_BIAS_REG 0x268
188#define REG_SYNTH_ENABLE_CNTRL 0x280
189#define REG_PLL_STATUS 0x281
190#define REG_SERDES_PLL_CONFIG0 0x284
191#define REG_SERDES_PLL_CONFIG1 0x285
192#define REG_SERDES_PLL_CONFIG2 0x286
193#define REG_SERDES_PLL_CONFIG3 0x287
194#define REG_REF_CLK_DIVIDER_LDO 0x289
195#define REG_SERDES_PLL_VCO_CONTROL0 0x28A
196#define REG_SERDES_PLL_CONFIG4 0x28B
197#define REG_SERDES_PLL_CONFIG5 0x290
198#define REG_SERDES_PLL_VCO_CONTROL1 0x291
199#define REG_SERDES_PLL_CONFIG6 0x294
200#define REG_SERDES_PLL_VCO_CONTROL2 0x296
201#define REG_SERDES_PLL_CONFIG7 0x297
202#define REG_SERDES_PLL_CONFIG8 0x299
203#define REG_SERDES_PLL_CONFIG9 0x29A
204#define REG_SERDES_PLL_CONFIG10 0x29C
205#define REG_SERDES_PLL_CONFIG11 0x29F
206#define REG_SERDES_PLL_CONFIG12 0x2A0
207#define REG_TERM_BLK1_CTRLREG0 0x2A7
208#define REG_JESD204B_TERM0 0x2AA
209#define REG_JESD204B_TERM1 0x2AB
210#define REG_GENERAL_JRX_CTRL_0 0x300
211#define REG_GENERAL_JRX_CTRL_1 0x301
212#define REG_DYN_LINK_LATENCY_0 0x302
213#define REG_LMFC_DELAY_0 0x304
214#define REG_LMFC_VAR_0 0x306
215#define REG_XBAR_LN_0_1 0x308
216#define REG_XBAR_LN_2_3 0x309
217#define REG_FIFO_STATUS_REG_0 0x30C
218#define REG_FIFO_STATUS_REG_1 0x30D
219#define REG_SYNCB_GEN_0 0x311
220#define REG_SYNCB_GEN_1 0x312
221#define REG_SYNCB_GEN_3 0x313
222#define REG_SERDES_SPI_REG 0x314
223#define REG_PHY_PRBS_TEST_EN 0x315
224#define REG_PHY_PRBS_TEST_CTRL 0x316
225#define REG_PHY_PRBS_TEST_THRESH_LOBITS 0x317
226#define REG_PHY_PRBS_TEST_THRESH_MIDBITS 0x318
227#define REG_PHY_PRBS_TEST_THRESH_HIBITS 0x319
228#define REG_PHY_PRBS_TEST_ERRCNT_LOBITS 0x31A
229#define REG_PHY_PRBS_TEST_ERRCNT_MIDBITS 0x31B
230#define REG_PHY_PRBS_TEST_ERRCNT_HIBITS 0x31C
231#define REG_PHY_PRBS_TEST_STATUS 0x31D
232#define REG_SHORT_TPL_TEST_0 0x32C
233#define REG_SHORT_TPL_TEST_1 0x32D
234#define REG_SHORT_TPL_TEST_2 0x32E
235#define REG_SHORT_TPL_TEST_3 0x32F
236#define REG_JESD_BIT_INVERSE_CTRL 0x334
237#define REG_DID_REG 0x400
238#define REG_BID_REG 0x401
239#define REG_LID0_REG 0x402
240#define REG_SCR_L_REG 0x403
241#define REG_F_REG 0x404
242#define REG_K_REG 0x405
243#define REG_M_REG 0x406
244#define REG_CS_N_REG 0x407
245#define REG_NP_REG 0x408
246#define REG_S_REG 0x409
247#define REG_HD_CF_REG 0x40A
248#define REG_RES1_REG 0x40B
249#define REG_RES2_REG 0x40C
250#define REG_CHECKSUM_REG 0x40D
251#define REG_COMPSUM0_REG 0x40E
252#define REG_LID1_REG 0x412
253#define REG_CHECKSUM1_REG 0x415
254#define REG_COMPSUM1_REG 0x416
255#define REG_LID2_REG 0x41A
256#define REG_CHECKSUM2_REG 0x41D
257#define REG_COMPSUM2_REG 0x41E
258#define REG_LID3_REG 0x422
259#define REG_CHECKSUM3_REG 0x425
260#define REG_COMPSUM3_REG 0x426
261#define REG_ILS_DID 0x450
262#define REG_ILS_BID 0x451
263#define REG_ILS_LID0 0x452
264#define REG_ILS_SCR_L 0x453
265#define REG_ILS_F 0x454
266#define REG_ILS_K 0x455
267#define REG_ILS_M 0x456
268#define REG_ILS_CS_N 0x457
269#define REG_ILS_NP 0x458
270#define REG_ILS_S 0x459
271#define REG_ILS_HD_CF 0x45A
272#define REG_ILS_RES1 0x45B
273#define REG_ILS_RES2 0x45C
274#define REG_ILS_CHECKSUM 0x45D
275#define REG_ERRCNTRMON 0x46B
276#define REG_LANEDESKEW 0x46C
277#define REG_BADDISPARITY 0x46D
278#define REG_NITDISPARITY 0x46E
279#define REG_UNEXPECTEDKCHAR 0x46F
280#define REG_CODEGRPSYNCFLG 0x470
281#define REG_FRAMESYNCFLG 0x471
282#define REG_GOODCHKSUMFLG 0x472
283#define REG_INITLANESYNCFLG 0x473
284#define REG_CTRLREG1 0x476
285#define REG_CTRLREG2 0x477
286#define REG_KVAL 0x478
287#define REG_IRQVECTOR 0x47A
288#define REG_SYNCASSERTIONMASK 0x47B
289#define REG_ERRORTHRES 0x47C
290#define REG_LANEENABLE 0x47D
291#define REG_RAMP_ENA 0x47E
296#define SOFTRESET_M (1 << 7)
297#define LSBFIRST_M (1 << 6)
298#define ADDRINC_M (1 << 5)
299#define SDOACTIVE_M (1 << 4)
300#define SDOACTIVE (1 << 3)
301#define ADDRINC (1 << 2)
302#define LSBFIRST (1 << 1)
303#define SOFTRESET (1 << 0)
308#define SINGLEINS (1 << 7)
309#define CSBSTALL (1 << 6)
314#define DEVSTATUS(x) (((x) & 0xF) << 4)
315#define CUSTOPMODE(x) (((x) & 0x3) << 2)
316#define SYSOPMODE(x) (((x) & 0x3) << 0)
321#define PROD_GRADE(x) (((x) & 0xF) << 4)
322#define DEV_REVISION(x) (((x) & 0xF) << 0)
327#define PAGEINDX(x) (((x) & 0x3) << 0)
332#define SLAVEUPDATE (1 << 0)
337#define PD_BG (1 << 7)
338#define PD_DAC_0 (1 << 6)
339#define PD_DAC_1 (1 << 5)
340#define PD_DAC_2 (1 << 4)
341#define PD_DAC_3 (1 << 3)
342#define PD_DACM (1 << 2)
347#define SYS_MASK (1 << 2)
348#define DACB_MASK (1 << 1)
349#define DACA_MASK (1 << 0)
354#define ENA_PA_CTRL_FROM_PAPROT_ERR (1 << 6)
355#define ENA_PA_CTRL_FROM_TXENSM (1 << 5)
356#define ENA_PA_CTRL_FROM_BLSM (1 << 4)
357#define ENA_PA_CTRL_FROM_SPI (1 << 3)
358#define SPI_PA_CTRL (1 << 2)
359#define ENA_SPI_TXEN (1 << 1)
360#define SPI_TXEN (1 << 0)
365#define COARSE_GROUP_DLY(x) (((x) & 0xF) << 0)
370#define EN_CALPASS (1 << 7)
371#define EN_CALFAIL (1 << 6)
372#define EN_DACPLLLOST (1 << 5)
373#define EN_DACPLLLOCK (1 << 4)
374#define EN_SERPLLLOST (1 << 3)
375#define EN_SERPLLLOCK (1 << 2)
376#define EN_LANEFIFOERR (1 << 1)
377#define EN_DRDLFIFOERR (1 << 0)
382#define EN_PARMBAD (1 << 7)
383#define EN_PRBSQ1 (1 << 3)
384#define EN_PRBSI1 (1 << 2)
385#define EN_PRBSQ0 (1 << 1)
386#define EN_PRBSI0 (1 << 0)
391#define EN_PAERR0 (1 << 7)
392#define EN_BIST_DONE0 (1 << 6)
393#define EN_BLNKDONE0 (1 << 5)
394#define EN_REFNCOCLR0 (1 << 4)
395#define EN_REFLOCK0 (1 << 3)
396#define EN_REFROTA0 (1 << 2)
397#define EN_REFWLIM0 (1 << 1)
398#define EN_REFTRIP0 (1 << 0)
403#define EN_PAERR1 (1 << 7)
404#define EN_BIST_DONE1 (1 << 6)
405#define EN_BLNKDONE1 (1 << 5)
406#define EN_REFNCOCLR1 (1 << 4)
407#define EN_REFLOCK1 (1 << 3)
408#define EN_REFROTA1 (1 << 2)
409#define EN_REFWLIM1 (1 << 1)
410#define EN_REFTRIP1 (1 << 0)
415#define IRQ_CALPASS (1 << 7)
416#define IRQ_CALFAIL (1 << 6)
417#define IRQ_DACPLLLOST (1 << 5)
418#define IRQ_DACPLLLOCK (1 << 4)
419#define IRQ_SERPLLLOST (1 << 3)
420#define IRQ_SERPLLLOCK (1 << 2)
421#define IRQ_LANEFIFOERR (1 << 1)
422#define IRQ_DRDLFIFOERR (1 << 0)
427#define IRQ_PARMBAD (1 << 7)
428#define IRQ_PRBSQ1 (1 << 3)
429#define IRQ_PRBSI1 (1 << 2)
430#define IRQ_PRBSQ0 (1 << 1)
431#define IRQ_PRBSI0 (1 << 0)
436#define IRQ_PAERR0 (1 << 7)
437#define IRQ_BIST_DONE0 (1 << 6)
438#define IRQ_BLNKDONE0 (1 << 5)
439#define IRQ_REFNCOCLR0 (1 << 4)
440#define IRQ_REFLOCK0 (1 << 3)
441#define IRQ_REFROTA0 (1 << 2)
442#define IRQ_REFWLIM0 (1 << 1)
443#define IRQ_REFTRIP0 (1 << 0)
448#define IRQ_PAERR1 (1 << 7)
449#define IRQ_BIST_DONE1 (1 << 6)
450#define IRQ_BLNKDONE1 (1 << 5)
451#define IRQ_REFNCOCLR1 (1 << 4)
452#define IRQ_REFLOCK1 (1 << 3)
453#define IRQ_REFROTA1 (1 << 2)
454#define IRQ_REFWLIM1 (1 << 1)
455#define IRQ_REFTRIP1 (1 << 0)
460#define ERR_DLYOVER (1 << 5)
461#define ERR_WINLIMIT (1 << 4)
462#define ERR_JESDBAD (1 << 3)
463#define ERR_KUNSUPP (1 << 2)
464#define ERR_SUBCLASS (1 << 1)
465#define ERR_INTSUPP (1 << 0)
470#define TARRFAPHAZ (1 << 0)
471#define SYNCBYPASS(x) (((x) & 0x3) << 6)
476#define DAC_DELAY_H (1 << 0)
481#define ERRWINDOW(x) (((x) & 0x7) << 0)
486#define LASTUNDER (1 << 7)
487#define LASTOVER (1 << 6)
488#define LASTERROR_H (1 << 0)
493#define SYNCENABLE (1 << 7)
494#define SYNCARM (1 << 6)
495#define SYNCCLRSTKY (1 << 5)
496#define SYNCCLRLAST (1 << 4)
497#define SYNCMODE(x) (((x) & 0xF) << 0)
502#define REFBUSY (1 << 7)
503#define REFLOCK (1 << 3)
504#define REFROTA (1 << 2)
505#define REFWLIM (1 << 1)
506#define REFTRIP (1 << 0)
511#define CURRUNDER (1 << 7)
512#define CURROVER (1 << 6)
513#define CURRERROR_H (1 << 0)
518#define THRMOLD (1 << 7)
519#define THRMOVER (1 << 4)
520#define THRMPOS (1 << 3)
521#define THRMZERO (1 << 2)
522#define THRMNEG (1 << 1)
523#define THRMUNDER (1 << 0)
528#define DACGAIN_IM0(x) (((x) & 0x3) << 0)
533#define DACGAIN_IM1(x) (((x) & 0x3) << 0)
538#define DACGAIN_IM2(x) (((x) & 0x3) << 0)
543#define DACGAIN_IM3(x) (((x) & 0x3) << 0)
548#define ENB_DACLDO3 (1 << 7)
549#define ENB_DACLDO2 (1 << 6)
550#define ENB_DACLDO1 (1 << 5)
551#define ENB_DACLDO0 (1 << 4)
556#define STAT_LDO3 (1 << 3)
557#define STAT_LDO2 (1 << 2)
558#define STAT_LDO1 (1 << 1)
559#define STAT_LDO0 (1 << 0)
564#define SHUFFLE_MSB0 (1 << 2)
565#define SHUFFLE_ISB0 (1 << 1)
570#define SHUFFLE_MSB1 (1 << 2)
571#define SHUFFLE_ISB1 (1 << 1)
576#define SHUFFLE_MSB2 (1 << 2)
577#define SHUFFLE_ISB2 (1 << 1)
582#define SHUFFLE_MSB3 (1 << 2)
583#define SHUFFLE_ISB3 (1 << 1)
588#define NCOCLRARM (1 << 7)
589#define NCOCLRMTCH (1 << 5)
590#define NCOCLRPASS (1 << 4)
591#define NCOCLRFAIL (1 << 3)
592#define NCOCLRMODE(x) (((x) & 0x3) << 0)
597#define PA_THRESH_MSB(x) (((x) & 0x1F) << 0)
602#define PA_ENABLE (1 << 7)
603#define PA_BUS_SWAP (1 << 6)
604#define PA_AVG_TIME(x) (((x) & 0xF) << 0)
609#define PA_POWER_MSB(x) (((x) & 0x1F) << 0)
614#define PD_CLK01 (1 << 7)
615#define PD_CLK23 (1 << 6)
616#define PD_CLK_DIG (1 << 5)
617#define PD_PCLK (1 << 4)
618#define PD_CLK_REC (1 << 3)
623#define PD_SYSREF (1 << 4)
624#define HYS_ON (1 << 3)
625#define SYSREF_RISE (1 << 2)
626#define HYS_CNTRL1(x) (((x) & 0x3) << 0)
631#define SYNTH_RECAL (1 << 7)
632#define ENABLE_SYNTH (1 << 4)
637#define CP_CAL_VALID (1 << 5)
638#define RFPLL_LOCK (1 << 1)
643#define LF_C2_WORD(x) (((x) & 0xF) << 4)
644#define LF_C1_WORD(x) (((x) & 0xF) << 0)
649#define LF_R1_WORD(x) (((x) & 0xF) << 4)
650#define LF_C3_WORD(x) (((x) & 0xF) << 0)
655#define LF_BYPASS_R3 (1 << 7)
656#define LF_BYPASS_R1 (1 << 6)
657#define LF_BYPASS_C2 (1 << 5)
658#define LF_BYPASS_C1 (1 << 4)
659#define LF_R3_WORD(x) (((x) & 0xF) << 0)
664#define CP_CURRENT(x) (((x) & 0x3F) << 0)
669#define LO_DIV_MODE(x) (((x) & 0x3) << 0)
674#define REF_DIVRATE(x) (((x) & 0x7) << 0)
679#define INIT_SWEEP_ERR_DAC (1 << 1)
680#define MSB_SWEEP_ERR_DAC (1 << 0)
685#define CAL_MSB_TAC(x) (((x) & 0x7) << 0)
690#define CAL_START_GL (1 << 1)
691#define CAL_EN_GL (1 << 0)
696#define CAL_MSBLVLHI(x) (((x) & 0x3F) << 0)
701#define CAL_MSBLVLLO(x) (((x) & 0x3F) << 0)
706#define CAL_LTAC_THRES(x) (((x) & 0x7) << 3)
707#define CAL_TAC_THRES(x) (((x) & 0x7) << 0)
712#define MSB_GLOBAL_SUBAVG(x) (((x) & 0x3) << 6)
713#define GLOBAL_AVG_CNT(x) (((x) & 0x7) << 3)
714#define LOCAL_AVRG_CNT(x) (((x) & 0x7) << 0)
719#define CAL_CLKDIV(x) (((x) & 0xF) << 0)
724#define CAL_INDX(x) (((x) & 0xF) << 0)
729#define CAL_FIN (1 << 7)
730#define CAL_ACTIVE (1 << 6)
731#define CAL_ERRHI (1 << 5)
732#define CAL_ERRLO (1 << 4)
733#define CAL_TXDACBYDAC (1 << 3)
734#define CAL_START (1 << 1)
735#define CAL_EN (1 << 0)
740#define CAL_ADDR(x) (((x) & 0x3F) << 0)
745#define CAL_DATA(x) (((x) & 0x3F) << 0)
750#define CAL_UPDATE (1 << 7)
755#define BINARY_FORMAT (1 << 7)
760#define INVSINC_ENABLE (1 << 7)
761#define DIG_GAIN_ENABLE (1 << 5)
762#define PHASE_ADJ_ENABLE (1 << 4)
763#define SEL_SIDEBAND (1 << 1)
764#define I_TO_Q (1 << 0)
765#define MODULATION_TYPE(x) (((x) & 0x3) << 2)
770#define INTERP_MODE(x) (((x) & 0x7) << 0)
775#define FTW_UPDATE_ACK (1 << 1)
776#define FTW_UPDATE_REQ (1 << 0)
781#define TX_DIG_CLK_PD (1 << 0)
786#define GP_PA_ON_INVERT (1 << 2)
787#define GP_PA_CTRL (1 << 1)
788#define TXEN_SM_EN (1 << 0)
789#define PA_FALL(x) (((x) & 0x3) << 6)
790#define PA_RISE(x) (((x) & 0x3) << 4)
795#define DIG_FALL(x) (((x) & 0x3) << 6)
796#define DIG_RISE(x) (((x) & 0x3) << 4)
797#define DAC_FALL(x) (((x) & 0x3) << 2)
798#define DAC_RISE(x) (((x) & 0x3) << 0)
803#define DACOUT_SHUTDOWN (1 << 1)
804#define DACOUT_ON_TRIGGER (1 << 0)
809#define PROTECT_MODE (1 << 7)
810#define DACOFF_AVG_PW (1 << 0)
815#define ADC_TESTMODE (1 << 7)
816#define AUXADC_ENABLE (1 << 0)
817#define FS_CURRENT(x) (((x) & 0x7) << 4)
818#define REF_CURRENT(x) (((x) & 0x7) << 1)
823#define SELECT_CLKDIG (1 << 3)
824#define EN_DIV2 (1 << 2)
825#define INCAP_CTRL(x) (((x) & 0x3) << 0)
830#define DIE_TEMP_UPDATE (1 << 0)
835#define DISABLE_NOISE (1 << 1)
836#define DC_OFFSET_ON (1 << 0)
841#define IPATH_DC_OFFSET_2PART(x) (((x) & 0x1F) << 0)
846#define QPATH_DC_OFFSET_2PART(x) (((x) & 0x1F) << 0)
851#define IDAC_DIG_GAIN1(x) (((x) & 0xF) << 0)
856#define QDAC_DIG_GAIN1(x) (((x) & 0xF) << 0)
861#define GAIN_RAMP_UP_STP1(x) (((x) & 0xF) << 0)
866#define GAIN_RAMP_DOWN_STP1(x) (((x) & 0xF) << 0)
871#define RESET_BLSM (1 << 7)
872#define EN_FORCE_GAIN_SOFT_OFF (1 << 4)
873#define GAIN_SOFT_OFF (1 << 3)
874#define GAIN_SOFT_ON (1 << 2)
875#define EN_FORCE_GAIN_SOFT_ON (1 << 1)
880#define SOFT_OFF_DONE (1 << 5)
881#define SOFT_ON_DONE (1 << 4)
882#define GAIN_SOFT_OFF_RB (1 << 3)
883#define GAIN_SOFT_ON_RB (1 << 2)
884#define SOFT_OFF_EN_RB (1 << 1)
885#define SOFT_ON_EN_RB (1 << 0)
886#define SOFTBLANKRB(x) (((x) & 0x3) << 6)
891#define PRBS_GOOD_Q (1 << 7)
892#define PRBS_GOOD_I (1 << 6)
893#define PRBS_INV_Q (1 << 4)
894#define PRBS_INV_I (1 << 3)
895#define PRBS_MODE (1 << 2)
896#define PRBS_RESET (1 << 1)
897#define PRBS_EN (1 << 0)
902#define VCO_VAR(x) (((x) & 0xF) << 0)
907#define VCO_BIAS_REF(x) (((x) & 0x7) << 0)
912#define VCO_CAL_REF_MON (1 << 3)
913#define VCO_CAL_REF_TCF(x) (((x) & 0x7) << 0)
918#define VCO_VAR_REF_TCF(x) (((x) & 0x7) << 4)
919#define VCO_VAR_OFF(x) (((x) & 0xF) << 0)
924#define SPIDRV(x) (((x) & 0xF) << 0)
929#define DUTYCYCLEON (1 << 0)
934#define ATEST_EN (1 << 0)
935#define ATEST_TOPVSEL(x) (((x) & 0x3) << 5)
936#define ATEST_DACSEL(x) (((x) & 0x3) << 3)
937#define ATEST_VSEL(x) (((x) & 0x3) << 1)
942#define EN_CLKDIV (1 << 3)
943#define ASPI_OSC_RATE (1 << 2)
944#define ASPI_CLK_SRC (1 << 1)
945#define EN_ASPI_OSC (1 << 0)
950#define SPI_PD_MASTER (1 << 0)
955#define SPI_SYNC1_PD (1 << 1)
956#define SPI_SYNC2_PD (1 << 0)
961#define SPI_ENHALFRATE (1 << 5)
962#define SPI_DIVISION_RATE(x) (((x) & 0x3) << 1)
967#define SPI_EQ_CONFIG1(x) (((x) & 0xF) << 4)
968#define SPI_EQ_CONFIG0(x) (((x) & 0xF) << 0)
973#define SPI_EQ_CONFIG3(x) (((x) & 0xF) << 4)
974#define SPI_EQ_CONFIG2(x) (((x) & 0xF) << 0)
979#define SPI_EQ_CONFIG5(x) (((x) & 0xF) << 4)
980#define SPI_EQ_CONFIG4(x) (((x) & 0xF) << 0)
985#define SPI_EQ_CONFIG7(x) (((x) & 0xF) << 4)
986#define SPI_EQ_CONFIG6(x) (((x) & 0xF) << 0)
991#define SPI_EQ_EXTRA_SPI_LSBITS(x) (((x) & 0x3) << 6)
992#define SPI_EQ_BIASPTAT(x) (((x) & 0x7) << 3)
993#define SPI_EQ_BIASPLY(x) (((x) & 0x7) << 0)
998#define SPI_RECAL_SYNTH (1 << 2)
999#define SPI_ENABLE_SYNTH (1 << 0)
1004#define SPI_CP_CAL_VALID_RB (1 << 3)
1005#define SPI_PLL_LOCK_RB (1 << 0)
1010#define SPI_CDR_OVERSAMP(x) (((x) & 0x3) << 0)
1015#define SPI_I_TUNE_R_CAL_TERMBLK1 (1 << 0)
1020#define SPI_I_TUNE_R_CAL_TERMBLK2 (1 << 0)
1025#define CHECKSUM_MODE (1 << 6)
1026#define LINK_MODE (1 << 3)
1027#define SEL_REG_MAP_1 (1 << 2)
1028#define LINK_EN(x) (((x) & 0x3) << 0)
1033#define SUBCLASSV_LOCAL(x) (((x) & 0x7) << 0)
1038#define DYN_LINK_LATENCY_0(x) (((x) & 0x1F) << 0)
1043#define DYN_LINK_LATENCY_1(x) (((x) & 0x1F) << 0)
1048#define LMFC_DELAY_0(x) (((x) & 0x1F) << 0)
1053#define LMFC_DELAY_1(x) (((x) & 0x1F) << 0)
1058#define LMFC_VAR_0(x) (((x) & 0x1F) << 0)
1063#define LMFC_VAR_1(x) (((x) & 0x1F) << 0)
1068#define SRC_LANE1(x) (((x) & 0x7) << 3)
1069#define SRC_LANE0(x) (((x) & 0x7) << 0)
1074#define SRC_LANE3(x) (((x) & 0x7) << 3)
1075#define SRC_LANE2(x) (((x) & 0x7) << 0)
1080#define SRC_LANE5(x) (((x) & 0x7) << 3)
1081#define SRC_LANE4(x) (((x) & 0x7) << 0)
1086#define SRC_LANE7(x) (((x) & 0x7) << 3)
1087#define SRC_LANE6(x) (((x) & 0x7) << 0)
1092#define DRDL_FIFO_EMPTY (1 << 1)
1093#define DRDL_FIFO_FULL (1 << 0)
1098#define EOMF_MASK_1 (1 << 3)
1099#define EOMF_MASK_0 (1 << 2)
1100#define EOF_MASK_1 (1 << 1)
1101#define EOF_MASK_0 (1 << 0)
1106#define SYNCB_ERR_DUR(x) (((x) & 0xF) << 4)
1107#define SYNCB_SYNCREQ_DUR(x) (((x) & 0xF) << 0)
1112#define PHY_TEST_START (1 << 1)
1113#define PHY_TEST_RESET (1 << 0)
1114#define PHY_SRC_ERR_CNT(x) (((x) & 0x7) << 4)
1115#define PHY_PRBS_PAT_SEL(x) (((x) & 0x3) << 2)
1120#define SHORT_TPL_TEST_RESET (1 << 1)
1121#define SHORT_TPL_TEST_EN (1 << 0)
1122#define SHORT_TPL_SP_SEL(x) (((x) & 0x3) << 4)
1123#define SHORT_TPL_M_SEL(x) (((x) & 0x3) << 2)
1128#define SHORT_TPL_FAIL (1 << 0)
1133#define ADJCNT_RD(x) (((x) & 0xF) << 4)
1134#define BID_RD(x) (((x) & 0xF) << 0)
1139#define ADJDIR_RD (1 << 6)
1140#define PHADJ_RD (1 << 5)
1141#define LID0_RD(x) (((x) & 0x1F) << 0)
1146#define SCR_RD (1 << 7)
1147#define L_RD(x) (((x) & 0x1F) << 0)
1152#define K_RD(x) (((x) & 0x1F) << 0)
1157#define CS_RD(x) (((x) & 0x3) << 6)
1158#define N_RD(x) (((x) & 0x1F) << 0)
1163#define SUBCLASSV_RD(x) (((x) & 0x7) << 5)
1164#define NP_RD(x) (((x) & 0x1F) << 0)
1169#define JESDV_RD(x) (((x) & 0x7) << 5)
1170#define S_RD(x) (((x) & 0x1F) << 0)
1175#define HD_RD (1 << 7)
1176#define CF_RD(x) (((x) & 0x1F) << 0)
1181#define LID1_RD(x) (((x) & 0x1F) << 0)
1186#define LID2_RD(x) (((x) & 0x1F) << 0)
1191#define LID3_RD(x) (((x) & 0x1F) << 0)
1196#define LID4_RD(x) (((x) & 0x1F) << 0)
1201#define LID5_RD(x) (((x) & 0x1F) << 0)
1206#define LID6_RD(x) (((x) & 0x1F) << 0)
1211#define LID7_RD(x) (((x) & 0x1F) << 0)
1216#define ADJCNT(x) (((x) & 0xF) << 4)
1217#define BID(x) (((x) & 0xF) << 0)
1222#define ADJDIR (1 << 6)
1223#define PHADJ (1 << 5)
1224#define LID0(x) (((x) & 0x1F) << 0)
1230#define L(x) (((x) & 0x1F) << 0)
1235#define K(x) (((x) & 0x1F) << 0)
1240#define CS(x) (((x) & 0x3) << 6)
1241#define N(x) (((x) & 0x1F) << 0)
1246#define SUBCLASSV(x) (((x) & 0x7) << 5)
1247#define NP(x) (((x) & 0x1F) << 0)
1252#define JESDV(x) (((x) & 0x7) << 5)
1253#define S(x) (((x) & 0x1F) << 0)
1259#define CF(x) (((x) & 0x1F) << 0)
1264#define LANESEL(x) (((x) & 0x7) << 4)
1265#define CNTRSEL(x) (((x) & 0x3) << 0)
1270#define RST_IRQ_DIS (1 << 7)
1271#define DIS_ERR_CNTR_DIS (1 << 6)
1272#define RST_ERR_CNTR_DIS (1 << 5)
1273#define LANE_ADDR_DIS(x) (((x) & 0x7) << 0)
1278#define RST_IRQ_NIT (1 << 7)
1279#define DIS_ERR_CNTR_NIT (1 << 6)
1280#define RST_ERR_CNTR_NIT (1 << 5)
1281#define LANE_ADDR_NIT(x) (((x) & 0x7) << 0)
1286#define RST_IRQ_K (1 << 7)
1287#define DIS_ERR_CNTR_K (1 << 6)
1288#define RST_ERR_CNTR_K (1 << 5)
1289#define LANE_ADDR_K(x) (((x) & 0x7) << 0)
1294#define ILAS_MODE (1 << 7)
1295#define REPDATATEST (1 << 5)
1296#define QUETESTERR (1 << 4)
1297#define AUTO_ECNTR_RST (1 << 3)
1302#define BADDIS_FLAG_OR_MASK (1 << 7)
1303#define NITD_FLAG_OR_MASK (1 << 6)
1304#define UEKC_FLAG_OR_MASK (1 << 5)
1305#define INITIALLANESYNC_FLAG_OR_MASK (1 << 3)
1306#define BADCHECKSUM_FLAG_OR_MASK (1 << 2)
1307#define CODEGRPSYNC_FLAG_OR_MASK (1 << 0)
1312#define BAD_DIS_S (1 << 7)
1313#define NIT_DIS_S (1 << 6)
1314#define UNEX_K_S (1 << 5)
1315#define CMM_FLAG_OR_MASK (1 << 4)
1316#define CMM_ENABLE (1 << 3)
1319#define AD9152_MAX_DAC_RATE 2000000000UL
1320#define AD9152_CHIP_ID 0x52
1321#define AD9152_TEST_PN15 0x01
1322#define AD9152_TEST_PN7 0x00
struct ad7616_init_param init_param
Definition ad7616_sdz.c:107
int32_t ad9152_remove(struct ad9152_dev *dev)
Free the resources allocated by ad9152_setup().
Definition ad9152.c:198
int32_t ad9152_short_pattern_test(struct ad9152_dev *dev, struct ad9152_init_param init_param)
ad9152_setup
Definition ad9152.c:213
int32_t ad9152_spi_read(struct ad9152_dev *dev, uint16_t reg_addr, uint8_t *reg_data)
ad9152_spi_read
Definition ad9152.c:42
int32_t ad9152_datapath_prbs_test(struct ad9152_dev *dev, struct ad9152_init_param init_param)
ad9152_setup
Definition ad9152.c:253
int32_t ad9152_status(struct ad9152_dev *dev)
ad9152_setup
Definition ad9152.c:293
int32_t ad9152_spi_write(struct ad9152_dev *dev, uint16_t reg_addr, uint8_t reg_data)
ad9152_spi_write
Definition ad9152.c:65
int32_t ad9152_setup(struct ad9152_dev **device, struct ad9152_init_param init_param)
ad9152_setup
Definition ad9152.c:87
Header file of Delay functions.
Header file of SPI Interface.
struct no_os_spi_desc * spi_desc
Definition ad9152.h:1336
uint32_t lane_rate_kbps
Definition ad9152.h:1331
struct no_os_spi_init_param spi_init
Definition ad9152.h:1326
uint32_t prbs_type
Definition ad9152.h:1330
uint32_t interpolation
Definition ad9152.h:1329
uint32_t stpl_samples[2][4]
Definition ad9152.h:1328
Definition ad9361_util.h:63
Structure holding SPI descriptor.
Definition no_os_spi.h:180
Structure holding the parameters for SPI initialization.
Definition no_os_spi.h:128