Merge tag 'io_uring-5.11-2021-01-16' of git://git.kernel.dk/linux-block
[linux/fpc-iii.git] / drivers / media / dvb-frontends / stb0899_reg.h
blob6cf9679ec5e064598c6f05ca6df10258ca552262
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3 STB0899 Multistandard Frontend driver
4 Copyright (C) Manu Abraham (abraham.manu@gmail.com)
6 Copyright (C) ST Microelectronics
8 */
10 #ifndef __STB0899_REG_H
11 #define __STB0899_REG_H
13 /* S1 */
14 #define STB0899_DEV_ID 0xf000
15 #define STB0899_CHIP_ID (0x0f << 4)
16 #define STB0899_OFFST_CHIP_ID 4
17 #define STB0899_WIDTH_CHIP_ID 4
18 #define STB0899_CHIP_REL (0x0f << 0)
19 #define STB0899_OFFST_CHIP_REL 0
20 #define STB0899_WIDTH_CHIP_REL 4
22 #define STB0899_DEMOD 0xf40e
23 #define STB0899_MODECOEFF (0x01 << 0)
24 #define STB0899_OFFST_MODECOEFF 0
25 #define STB0899_WIDTH_MODECOEFF 1
27 #define STB0899_RCOMPC 0xf410
28 #define STB0899_AGC1CN 0xf412
29 #define STB0899_AGC1REF 0xf413
30 #define STB0899_RTC 0xf417
31 #define STB0899_TMGCFG 0xf418
32 #define STB0899_AGC2REF 0xf419
33 #define STB0899_TLSR 0xf41a
35 #define STB0899_CFD 0xf41b
36 #define STB0899_CFD_ON (0x01 << 7)
37 #define STB0899_OFFST_CFD_ON 7
38 #define STB0899_WIDTH_CFD_ON 1
40 #define STB0899_ACLC 0xf41c
42 #define STB0899_BCLC 0xf41d
43 #define STB0899_OFFST_ALGO 6
44 #define STB0899_WIDTH_ALGO_QPSK2 2
45 #define STB0899_ALGO_QPSK2 (2 << 6)
46 #define STB0899_ALGO_QPSK1 (1 << 6)
47 #define STB0899_ALGO_BPSK (0 << 6)
48 #define STB0899_OFFST_BETA 0
49 #define STB0899_WIDTH_BETA 6
51 #define STB0899_EQON 0xf41e
52 #define STB0899_LDT 0xf41f
53 #define STB0899_LDT2 0xf420
54 #define STB0899_EQUALREF 0xf425
55 #define STB0899_TMGRAMP 0xf426
56 #define STB0899_TMGTHD 0xf427
57 #define STB0899_IDCCOMP 0xf428
58 #define STB0899_QDCCOMP 0xf429
59 #define STB0899_POWERI 0xf42a
60 #define STB0899_POWERQ 0xf42b
61 #define STB0899_RCOMP 0xf42c
63 #define STB0899_AGCIQIN 0xf42e
64 #define STB0899_AGCIQVALUE (0xff << 0)
65 #define STB0899_OFFST_AGCIQVALUE 0
66 #define STB0899_WIDTH_AGCIQVALUE 8
68 #define STB0899_AGC2I1 0xf436
69 #define STB0899_AGC2I2 0xf437
71 #define STB0899_TLIR 0xf438
72 #define STB0899_TLIR_TMG_LOCK_IND (0xff << 0)
73 #define STB0899_OFFST_TLIR_TMG_LOCK_IND 0
74 #define STB0899_WIDTH_TLIR_TMG_LOCK_IND 8
76 #define STB0899_RTF 0xf439
77 #define STB0899_RTF_TIMING_LOOP_FREQ (0xff << 0)
78 #define STB0899_OFFST_RTF_TIMING_LOOP_FREQ 0
79 #define STB0899_WIDTH_RTF_TIMING_LOOP_FREQ 8
81 #define STB0899_DSTATUS 0xf43a
82 #define STB0899_CARRIER_FOUND (0x01 << 7)
83 #define STB0899_OFFST_CARRIER_FOUND 7
84 #define STB0899_WIDTH_CARRIER_FOUND 1
85 #define STB0899_TMG_LOCK (0x01 << 6)
86 #define STB0899_OFFST_TMG_LOCK 6
87 #define STB0899_WIDTH_TMG_LOCK 1
88 #define STB0899_DEMOD_LOCK (0x01 << 5)
89 #define STB0899_OFFST_DEMOD_LOCK 5
90 #define STB0899_WIDTH_DEMOD_LOCK 1
91 #define STB0899_TMG_AUTO (0x01 << 4)
92 #define STB0899_OFFST_TMG_AUTO 4
93 #define STB0899_WIDTH_TMG_AUTO 1
94 #define STB0899_END_MAIN (0x01 << 3)
95 #define STB0899_OFFST_END_MAIN 3
96 #define STB0899_WIDTH_END_MAIN 1
98 #define STB0899_LDI 0xf43b
99 #define STB0899_OFFST_LDI 0
100 #define STB0899_WIDTH_LDI 8
102 #define STB0899_CFRM 0xf43e
103 #define STB0899_OFFST_CFRM 0
104 #define STB0899_WIDTH_CFRM 8
106 #define STB0899_CFRL 0xf43f
107 #define STB0899_OFFST_CFRL 0
108 #define STB0899_WIDTH_CFRL 8
110 #define STB0899_NIRM 0xf440
111 #define STB0899_OFFST_NIRM 0
112 #define STB0899_WIDTH_NIRM 8
114 #define STB0899_NIRL 0xf441
115 #define STB0899_OFFST_NIRL 0
116 #define STB0899_WIDTH_NIRL 8
118 #define STB0899_ISYMB 0xf444
119 #define STB0899_QSYMB 0xf445
121 #define STB0899_SFRH 0xf446
122 #define STB0899_OFFST_SFRH 0
123 #define STB0899_WIDTH_SFRH 8
125 #define STB0899_SFRM 0xf447
126 #define STB0899_OFFST_SFRM 0
127 #define STB0899_WIDTH_SFRM 8
129 #define STB0899_SFRL 0xf448
130 #define STB0899_OFFST_SFRL 4
131 #define STB0899_WIDTH_SFRL 4
133 #define STB0899_SFRUPH 0xf44c
134 #define STB0899_SFRUPM 0xf44d
135 #define STB0899_SFRUPL 0xf44e
137 #define STB0899_EQUAI1 0xf4e0
138 #define STB0899_EQUAQ1 0xf4e1
139 #define STB0899_EQUAI2 0xf4e2
140 #define STB0899_EQUAQ2 0xf4e3
141 #define STB0899_EQUAI3 0xf4e4
142 #define STB0899_EQUAQ3 0xf4e5
143 #define STB0899_EQUAI4 0xf4e6
144 #define STB0899_EQUAQ4 0xf4e7
145 #define STB0899_EQUAI5 0xf4e8
146 #define STB0899_EQUAQ5 0xf4e9
148 #define STB0899_DSTATUS2 0xf50c
149 #define STB0899_DS2_TMG_AUTOSRCH (0x01 << 7)
150 #define STB8999_OFFST_DS2_TMG_AUTOSRCH 7
151 #define STB0899_WIDTH_DS2_TMG_AUTOSRCH 1
152 #define STB0899_DS2_END_MAINLOOP (0x01 << 6)
153 #define STB0899_OFFST_DS2_END_MAINLOOP 6
154 #define STB0899_WIDTH_DS2_END_MAINLOOP 1
155 #define STB0899_DS2_CFSYNC (0x01 << 5)
156 #define STB0899_OFFST_DS2_CFSYNC 5
157 #define STB0899_WIDTH_DS2_CFSYNC 1
158 #define STB0899_DS2_TMGLOCK (0x01 << 4)
159 #define STB0899_OFFST_DS2_TMGLOCK 4
160 #define STB0899_WIDTH_DS2_TMGLOCK 1
161 #define STB0899_DS2_DEMODWAIT (0x01 << 3)
162 #define STB0899_OFFST_DS2_DEMODWAIT 3
163 #define STB0899_WIDTH_DS2_DEMODWAIT 1
164 #define STB0899_DS2_FECON (0x01 << 1)
165 #define STB0899_OFFST_DS2_FECON 1
166 #define STB0899_WIDTH_DS2_FECON 1
168 /* S1 FEC */
169 #define STB0899_VSTATUS 0xf50d
170 #define STB0899_VSTATUS_VITERBI_ON (0x01 << 7)
171 #define STB0899_OFFST_VSTATUS_VITERBI_ON 7
172 #define STB0899_WIDTH_VSTATUS_VITERBI_ON 1
173 #define STB0899_VSTATUS_END_LOOPVIT (0x01 << 6)
174 #define STB0899_OFFST_VSTATUS_END_LOOPVIT 6
175 #define STB0899_WIDTH_VSTATUS_END_LOOPVIT 1
176 #define STB0899_VSTATUS_PRFVIT (0x01 << 4)
177 #define STB0899_OFFST_VSTATUS_PRFVIT 4
178 #define STB0899_WIDTH_VSTATUS_PRFVIT 1
179 #define STB0899_VSTATUS_LOCKEDVIT (0x01 << 3)
180 #define STB0899_OFFST_VSTATUS_LOCKEDVIT 3
181 #define STB0899_WIDTH_VSTATUS_LOCKEDVIT 1
183 #define STB0899_VERROR 0xf50f
185 #define STB0899_IQSWAP 0xf523
186 #define STB0899_SYM (0x01 << 3)
187 #define STB0899_OFFST_SYM 3
188 #define STB0899_WIDTH_SYM 1
190 #define STB0899_FECAUTO1 0xf530
191 #define STB0899_DSSSRCH (0x01 << 3)
192 #define STB0899_OFFST_DSSSRCH 3
193 #define STB0899_WIDTH_DSSSRCH 1
194 #define STB0899_SYMSRCH (0x01 << 2)
195 #define STB0899_OFFST_SYMSRCH 2
196 #define STB0899_WIDTH_SYMSRCH 1
197 #define STB0899_QPSKSRCH (0x01 << 1)
198 #define STB0899_OFFST_QPSKSRCH 1
199 #define STB0899_WIDTH_QPSKSRCH 1
200 #define STB0899_BPSKSRCH (0x01 << 0)
201 #define STB0899_OFFST_BPSKSRCH 0
202 #define STB0899_WIDTH_BPSKSRCH 1
204 #define STB0899_FECM 0xf533
205 #define STB0899_FECM_NOT_DVB (0x01 << 7)
206 #define STB0899_OFFST_FECM_NOT_DVB 7
207 #define STB0899_WIDTH_FECM_NOT_DVB 1
208 #define STB0899_FECM_RSVD1 (0x07 << 4)
209 #define STB0899_OFFST_FECM_RSVD1 4
210 #define STB0899_WIDTH_FECM_RSVD1 3
211 #define STB0899_FECM_VITERBI_ON (0x01 << 3)
212 #define STB0899_OFFST_FECM_VITERBI_ON 3
213 #define STB0899_WIDTH_FECM_VITERBI_ON 1
214 #define STB0899_FECM_RSVD0 (0x01 << 2)
215 #define STB0899_OFFST_FECM_RSVD0 2
216 #define STB0899_WIDTH_FECM_RSVD0 1
217 #define STB0899_FECM_SYNCDIS (0x01 << 1)
218 #define STB0899_OFFST_FECM_SYNCDIS 1
219 #define STB0899_WIDTH_FECM_SYNCDIS 1
220 #define STB0899_FECM_SYMI (0x01 << 0)
221 #define STB0899_OFFST_FECM_SYMI 0
222 #define STB0899_WIDTH_FECM_SYMI 1
224 #define STB0899_VTH12 0xf534
225 #define STB0899_VTH23 0xf535
226 #define STB0899_VTH34 0xf536
227 #define STB0899_VTH56 0xf537
228 #define STB0899_VTH67 0xf538
229 #define STB0899_VTH78 0xf539
231 #define STB0899_PRVIT 0xf53c
232 #define STB0899_PR_7_8 (0x01 << 5)
233 #define STB0899_OFFST_PR_7_8 5
234 #define STB0899_WIDTH_PR_7_8 1
235 #define STB0899_PR_6_7 (0x01 << 4)
236 #define STB0899_OFFST_PR_6_7 4
237 #define STB0899_WIDTH_PR_6_7 1
238 #define STB0899_PR_5_6 (0x01 << 3)
239 #define STB0899_OFFST_PR_5_6 3
240 #define STB0899_WIDTH_PR_5_6 1
241 #define STB0899_PR_3_4 (0x01 << 2)
242 #define STB0899_OFFST_PR_3_4 2
243 #define STB0899_WIDTH_PR_3_4 1
244 #define STB0899_PR_2_3 (0x01 << 1)
245 #define STB0899_OFFST_PR_2_3 1
246 #define STB0899_WIDTH_PR_2_3 1
247 #define STB0899_PR_1_2 (0x01 << 0)
248 #define STB0899_OFFST_PR_1_2 0
249 #define STB0899_WIDTH_PR_1_2 1
251 #define STB0899_VITSYNC 0xf53d
252 #define STB0899_AM (0x01 << 7)
253 #define STB0899_OFFST_AM 7
254 #define STB0899_WIDTH_AM 1
255 #define STB0899_FREEZE (0x01 << 6)
256 #define STB0899_OFFST_FREEZE 6
257 #define STB0899_WIDTH_FREEZE 1
258 #define STB0899_SN_65536 (0x03 << 4)
259 #define STB0899_OFFST_SN_65536 4
260 #define STB0899_WIDTH_SN_65536 2
261 #define STB0899_SN_16384 (0x01 << 5)
262 #define STB0899_OFFST_SN_16384 5
263 #define STB0899_WIDTH_SN_16384 1
264 #define STB0899_SN_4096 (0x01 << 4)
265 #define STB0899_OFFST_SN_4096 4
266 #define STB0899_WIDTH_SN_4096 1
267 #define STB0899_SN_1024 (0x00 << 4)
268 #define STB0899_OFFST_SN_1024 4
269 #define STB0899_WIDTH_SN_1024 0
270 #define STB0899_TO_128 (0x03 << 2)
271 #define STB0899_OFFST_TO_128 2
272 #define STB0899_WIDTH_TO_128 2
273 #define STB0899_TO_64 (0x01 << 3)
274 #define STB0899_OFFST_TO_64 3
275 #define STB0899_WIDTH_TO_64 1
276 #define STB0899_TO_32 (0x01 << 2)
277 #define STB0899_OFFST_TO_32 2
278 #define STB0899_WIDTH_TO_32 1
279 #define STB0899_TO_16 (0x00 << 2)
280 #define STB0899_OFFST_TO_16 2
281 #define STB0899_WIDTH_TO_16 0
282 #define STB0899_HYST_128 (0x03 << 1)
283 #define STB0899_OFFST_HYST_128 1
284 #define STB0899_WIDTH_HYST_128 2
285 #define STB0899_HYST_64 (0x01 << 1)
286 #define STB0899_OFFST_HYST_64 1
287 #define STB0899_WIDTH_HYST_64 1
288 #define STB0899_HYST_32 (0x01 << 0)
289 #define STB0899_OFFST_HYST_32 0
290 #define STB0899_WIDTH_HYST_32 1
291 #define STB0899_HYST_16 (0x00 << 0)
292 #define STB0899_OFFST_HYST_16 0
293 #define STB0899_WIDTH_HYST_16 0
295 #define STB0899_RSULC 0xf548
296 #define STB0899_ULDIL_ON (0x01 << 7)
297 #define STB0899_OFFST_ULDIL_ON 7
298 #define STB0899_WIDTH_ULDIL_ON 1
299 #define STB0899_ULAUTO_ON (0x01 << 6)
300 #define STB0899_OFFST_ULAUTO_ON 6
301 #define STB0899_WIDTH_ULAUTO_ON 1
302 #define STB0899_ULRS_ON (0x01 << 5)
303 #define STB0899_OFFST_ULRS_ON 5
304 #define STB0899_WIDTH_ULRS_ON 1
305 #define STB0899_ULDESCRAM_ON (0x01 << 4)
306 #define STB0899_OFFST_ULDESCRAM_ON 4
307 #define STB0899_WIDTH_ULDESCRAM_ON 1
308 #define STB0899_UL_DISABLE (0x01 << 2)
309 #define STB0899_OFFST_UL_DISABLE 2
310 #define STB0899_WIDTH_UL_DISABLE 1
311 #define STB0899_NOFTHRESHOLD (0x01 << 0)
312 #define STB0899_OFFST_NOFTHRESHOLD 0
313 #define STB0899_WIDTH_NOFTHRESHOLD 1
315 #define STB0899_RSLLC 0xf54a
316 #define STB0899_DEMAPVIT 0xf583
317 #define STB0899_DEMAPVIT_RSVD (0x01 << 7)
318 #define STB0899_OFFST_DEMAPVIT_RSVD 7
319 #define STB0899_WIDTH_DEMAPVIT_RSVD 1
320 #define STB0899_DEMAPVIT_KDIVIDER (0x7f << 0)
321 #define STB0899_OFFST_DEMAPVIT_KDIVIDER 0
322 #define STB0899_WIDTH_DEMAPVIT_KDIVIDER 7
324 #define STB0899_PLPARM 0xf58c
325 #define STB0899_VITMAPPING (0x07 << 5)
326 #define STB0899_OFFST_VITMAPPING 5
327 #define STB0899_WIDTH_VITMAPPING 3
328 #define STB0899_VITMAPPING_BPSK (0x01 << 5)
329 #define STB0899_OFFST_VITMAPPING_BPSK 5
330 #define STB0899_WIDTH_VITMAPPING_BPSK 1
331 #define STB0899_VITMAPPING_QPSK (0x00 << 5)
332 #define STB0899_OFFST_VITMAPPING_QPSK 5
333 #define STB0899_WIDTH_VITMAPPING_QPSK 0
334 #define STB0899_VITCURPUN (0x1f << 0)
335 #define STB0899_OFFST_VITCURPUN 0
336 #define STB0899_WIDTH_VITCURPUN 5
337 #define STB0899_VITCURPUN_1_2 (0x0d << 0)
338 #define STB0899_VITCURPUN_2_3 (0x12 << 0)
339 #define STB0899_VITCURPUN_3_4 (0x15 << 0)
340 #define STB0899_VITCURPUN_5_6 (0x18 << 0)
341 #define STB0899_VITCURPUN_6_7 (0x19 << 0)
342 #define STB0899_VITCURPUN_7_8 (0x1a << 0)
344 /* S2 DEMOD */
345 #define STB0899_OFF0_DMD_STATUS 0xf300
346 #define STB0899_BASE_DMD_STATUS 0x00000000
347 #define STB0899_IF_AGC_LOCK (0x01 << 8)
348 #define STB0899_OFFST_IF_AGC_LOCK 0
349 #define STB0899_WIDTH_IF_AGC_LOCK 1
351 #define STB0899_OFF0_CRL_FREQ 0xf304
352 #define STB0899_BASE_CRL_FREQ 0x00000000
353 #define STB0899_CARR_FREQ (0x3fffffff << 0)
354 #define STB0899_OFFST_CARR_FREQ 0
355 #define STB0899_WIDTH_CARR_FREQ 30
357 #define STB0899_OFF0_BTR_FREQ 0xf308
358 #define STB0899_BASE_BTR_FREQ 0x00000000
359 #define STB0899_BTR_FREQ (0xfffffff << 0)
360 #define STB0899_OFFST_BTR_FREQ 0
361 #define STB0899_WIDTH_BTR_FREQ 28
363 #define STB0899_OFF0_IF_AGC_GAIN 0xf30c
364 #define STB0899_BASE_IF_AGC_GAIN 0x00000000
365 #define STB0899_IF_AGC_GAIN (0x3fff << 0)
366 #define STB0899_OFFST_IF_AGC_GAIN 0
367 #define STB0899_WIDTH_IF_AGC_GAIN 14
369 #define STB0899_OFF0_BB_AGC_GAIN 0xf310
370 #define STB0899_BASE_BB_AGC_GAIN 0x00000000
371 #define STB0899_BB_AGC_GAIN (0x3fff << 0)
372 #define STB0899_OFFST_BB_AGC_GAIN 0
373 #define STB0899_WIDTH_BB_AGC_GAIN 14
375 #define STB0899_OFF0_DC_OFFSET 0xf314
376 #define STB0899_BASE_DC_OFFSET 0x00000000
377 #define STB0899_I (0xff << 8)
378 #define STB0899_OFFST_I 8
379 #define STB0899_WIDTH_I 8
380 #define STB0899_Q (0xff << 0)
381 #define STB0899_OFFST_Q 8
382 #define STB0899_WIDTH_Q 8
384 #define STB0899_OFF0_DMD_CNTRL 0xf31c
385 #define STB0899_BASE_DMD_CNTRL 0x00000000
386 #define STB0899_ADC0_PINS1IN (0x01 << 6)
387 #define STB0899_OFFST_ADC0_PINS1IN 6
388 #define STB0899_WIDTH_ADC0_PINS1IN 1
389 #define STB0899_IN2COMP1_OFFBIN0 (0x01 << 3)
390 #define STB0899_OFFST_IN2COMP1_OFFBIN0 3
391 #define STB0899_WIDTH_IN2COMP1_OFFBIN0 1
392 #define STB0899_DC_COMP (0x01 << 2)
393 #define STB0899_OFFST_DC_COMP 2
394 #define STB0899_WIDTH_DC_COMP 1
395 #define STB0899_MODMODE (0x03 << 0)
396 #define STB0899_OFFST_MODMODE 0
397 #define STB0899_WIDTH_MODMODE 2
399 #define STB0899_OFF0_IF_AGC_CNTRL 0xf320
400 #define STB0899_BASE_IF_AGC_CNTRL 0x00000000
401 #define STB0899_IF_GAIN_INIT (0x3fff << 13)
402 #define STB0899_OFFST_IF_GAIN_INIT 13
403 #define STB0899_WIDTH_IF_GAIN_INIT 14
404 #define STB0899_IF_GAIN_SENSE (0x01 << 12)
405 #define STB0899_OFFST_IF_GAIN_SENSE 12
406 #define STB0899_WIDTH_IF_GAIN_SENSE 1
407 #define STB0899_IF_LOOP_GAIN (0x0f << 8)
408 #define STB0899_OFFST_IF_LOOP_GAIN 8
409 #define STB0899_WIDTH_IF_LOOP_GAIN 4
410 #define STB0899_IF_LD_GAIN_INIT (0x01 << 7)
411 #define STB0899_OFFST_IF_LD_GAIN_INIT 7
412 #define STB0899_WIDTH_IF_LD_GAIN_INIT 1
413 #define STB0899_IF_AGC_REF (0x7f << 0)
414 #define STB0899_OFFST_IF_AGC_REF 0
415 #define STB0899_WIDTH_IF_AGC_REF 7
417 #define STB0899_OFF0_BB_AGC_CNTRL 0xf324
418 #define STB0899_BASE_BB_AGC_CNTRL 0x00000000
419 #define STB0899_BB_GAIN_INIT (0x3fff << 12)
420 #define STB0899_OFFST_BB_GAIN_INIT 12
421 #define STB0899_WIDTH_BB_GAIN_INIT 14
422 #define STB0899_BB_LOOP_GAIN (0x0f << 8)
423 #define STB0899_OFFST_BB_LOOP_GAIN 8
424 #define STB0899_WIDTH_BB_LOOP_GAIN 4
425 #define STB0899_BB_LD_GAIN_INIT (0x01 << 7)
426 #define STB0899_OFFST_BB_LD_GAIN_INIT 7
427 #define STB0899_WIDTH_BB_LD_GAIN_INIT 1
428 #define STB0899_BB_AGC_REF (0x7f << 0)
429 #define STB0899_OFFST_BB_AGC_REF 0
430 #define STB0899_WIDTH_BB_AGC_REF 7
432 #define STB0899_OFF0_CRL_CNTRL 0xf328
433 #define STB0899_BASE_CRL_CNTRL 0x00000000
434 #define STB0899_CRL_LOCK_CLEAR (0x01 << 5)
435 #define STB0899_OFFST_CRL_LOCK_CLEAR 5
436 #define STB0899_WIDTH_CRL_LOCK_CLEAR 1
437 #define STB0899_CRL_SWPR_CLEAR (0x01 << 4)
438 #define STB0899_OFFST_CRL_SWPR_CLEAR 4
439 #define STB0899_WIDTH_CRL_SWPR_CLEAR 1
440 #define STB0899_CRL_SWP_ENA (0x01 << 3)
441 #define STB0899_OFFST_CRL_SWP_ENA 3
442 #define STB0899_WIDTH_CRL_SWP_ENA 1
443 #define STB0899_CRL_DET_SEL (0x01 << 2)
444 #define STB0899_OFFST_CRL_DET_SEL 2
445 #define STB0899_WIDTH_CRL_DET_SEL 1
446 #define STB0899_CRL_SENSE (0x01 << 1)
447 #define STB0899_OFFST_CRL_SENSE 1
448 #define STB0899_WIDTH_CRL_SENSE 1
449 #define STB0899_CRL_PHSERR_CLEAR (0x01 << 0)
450 #define STB0899_OFFST_CRL_PHSERR_CLEAR 0
451 #define STB0899_WIDTH_CRL_PHSERR_CLEAR 1
453 #define STB0899_OFF0_CRL_PHS_INIT 0xf32c
454 #define STB0899_BASE_CRL_PHS_INIT 0x00000000
455 #define STB0899_CRL_PHS_INIT_31 (0x1 << 30)
456 #define STB0899_OFFST_CRL_PHS_INIT_31 30
457 #define STB0899_WIDTH_CRL_PHS_INIT_31 1
458 #define STB0899_CRL_LD_INIT_PHASE (0x1 << 24)
459 #define STB0899_OFFST_CRL_LD_INIT_PHASE 24
460 #define STB0899_WIDTH_CRL_LD_INIT_PHASE 1
461 #define STB0899_CRL_INIT_PHASE (0xffffff << 0)
462 #define STB0899_OFFST_CRL_INIT_PHASE 0
463 #define STB0899_WIDTH_CRL_INIT_PHASE 24
465 #define STB0899_OFF0_CRL_FREQ_INIT 0xf330
466 #define STB0899_BASE_CRL_FREQ_INIT 0x00000000
467 #define STB0899_CRL_FREQ_INIT_31 (0x1 << 30)
468 #define STB0899_OFFST_CRL_FREQ_INIT_31 30
469 #define STB0899_WIDTH_CRL_FREQ_INIT_31 1
470 #define STB0899_CRL_LD_FREQ_INIT (0x1 << 24)
471 #define STB0899_OFFST_CRL_LD_FREQ_INIT 24
472 #define STB0899_WIDTH_CRL_LD_FREQ_INIT 1
473 #define STB0899_CRL_FREQ_INIT (0xffffff << 0)
474 #define STB0899_OFFST_CRL_FREQ_INIT 0
475 #define STB0899_WIDTH_CRL_FREQ_INIT 24
477 #define STB0899_OFF0_CRL_LOOP_GAIN 0xf334
478 #define STB0899_BASE_CRL_LOOP_GAIN 0x00000000
479 #define STB0899_KCRL2_RSHFT (0xf << 16)
480 #define STB0899_OFFST_KCRL2_RSHFT 16
481 #define STB0899_WIDTH_KCRL2_RSHFT 4
482 #define STB0899_KCRL1 (0xf << 12)
483 #define STB0899_OFFST_KCRL1 12
484 #define STB0899_WIDTH_KCRL1 4
485 #define STB0899_KCRL1_RSHFT (0xf << 8)
486 #define STB0899_OFFST_KCRL1_RSHFT 8
487 #define STB0899_WIDTH_KCRL1_RSHFT 4
488 #define STB0899_KCRL0 (0xf << 4)
489 #define STB0899_OFFST_KCRL0 4
490 #define STB0899_WIDTH_KCRL0 4
491 #define STB0899_KCRL0_RSHFT (0xf << 0)
492 #define STB0899_OFFST_KCRL0_RSHFT 0
493 #define STB0899_WIDTH_KCRL0_RSHFT 4
495 #define STB0899_OFF0_CRL_NOM_FREQ 0xf338
496 #define STB0899_BASE_CRL_NOM_FREQ 0x00000000
497 #define STB0899_CRL_NOM_FREQ (0x3fffffff << 0)
498 #define STB0899_OFFST_CRL_NOM_FREQ 0
499 #define STB0899_WIDTH_CRL_NOM_FREQ 30
501 #define STB0899_OFF0_CRL_SWP_RATE 0xf33c
502 #define STB0899_BASE_CRL_SWP_RATE 0x00000000
503 #define STB0899_CRL_SWP_RATE (0x3fffffff << 0)
504 #define STB0899_OFFST_CRL_SWP_RATE 0
505 #define STB0899_WIDTH_CRL_SWP_RATE 30
507 #define STB0899_OFF0_CRL_MAX_SWP 0xf340
508 #define STB0899_BASE_CRL_MAX_SWP 0x00000000
509 #define STB0899_CRL_MAX_SWP (0x3fffffff << 0)
510 #define STB0899_OFFST_CRL_MAX_SWP 0
511 #define STB0899_WIDTH_CRL_MAX_SWP 30
513 #define STB0899_OFF0_CRL_LK_CNTRL 0xf344
514 #define STB0899_BASE_CRL_LK_CNTRL 0x00000000
516 #define STB0899_OFF0_DECIM_CNTRL 0xf348
517 #define STB0899_BASE_DECIM_CNTRL 0x00000000
518 #define STB0899_BAND_LIMIT_B (0x01 << 5)
519 #define STB0899_OFFST_BAND_LIMIT_B 5
520 #define STB0899_WIDTH_BAND_LIMIT_B 1
521 #define STB0899_WIN_SEL (0x03 << 3)
522 #define STB0899_OFFST_WIN_SEL 3
523 #define STB0899_WIDTH_WIN_SEL 2
524 #define STB0899_DECIM_RATE (0x07 << 0)
525 #define STB0899_OFFST_DECIM_RATE 0
526 #define STB0899_WIDTH_DECIM_RATE 3
528 #define STB0899_OFF0_BTR_CNTRL 0xf34c
529 #define STB0899_BASE_BTR_CNTRL 0x00000000
530 #define STB0899_BTR_FREQ_CORR (0x7ff << 4)
531 #define STB0899_OFFST_BTR_FREQ_CORR 4
532 #define STB0899_WIDTH_BTR_FREQ_CORR 11
533 #define STB0899_BTR_CLR_LOCK (0x01 << 3)
534 #define STB0899_OFFST_BTR_CLR_LOCK 3
535 #define STB0899_WIDTH_BTR_CLR_LOCK 1
536 #define STB0899_BTR_SENSE (0x01 << 2)
537 #define STB0899_OFFST_BTR_SENSE 2
538 #define STB0899_WIDTH_BTR_SENSE 1
539 #define STB0899_BTR_ERR_ENA (0x01 << 1)
540 #define STB0899_OFFST_BTR_ERR_ENA 1
541 #define STB0899_WIDTH_BTR_ERR_ENA 1
542 #define STB0899_INTRP_PHS_SENSE (0x01 << 0)
543 #define STB0899_OFFST_INTRP_PHS_SENSE 0
544 #define STB0899_WIDTH_INTRP_PHS_SENSE 1
546 #define STB0899_OFF0_BTR_LOOP_GAIN 0xf350
547 #define STB0899_BASE_BTR_LOOP_GAIN 0x00000000
548 #define STB0899_KBTR2_RSHFT (0x0f << 16)
549 #define STB0899_OFFST_KBTR2_RSHFT 16
550 #define STB0899_WIDTH_KBTR2_RSHFT 4
551 #define STB0899_KBTR1 (0x0f << 12)
552 #define STB0899_OFFST_KBTR1 12
553 #define STB0899_WIDTH_KBTR1 4
554 #define STB0899_KBTR1_RSHFT (0x0f << 8)
555 #define STB0899_OFFST_KBTR1_RSHFT 8
556 #define STB0899_WIDTH_KBTR1_RSHFT 4
557 #define STB0899_KBTR0 (0x0f << 4)
558 #define STB0899_OFFST_KBTR0 4
559 #define STB0899_WIDTH_KBTR0 4
560 #define STB0899_KBTR0_RSHFT (0x0f << 0)
561 #define STB0899_OFFST_KBTR0_RSHFT 0
562 #define STB0899_WIDTH_KBTR0_RSHFT 4
564 #define STB0899_OFF0_BTR_PHS_INIT 0xf354
565 #define STB0899_BASE_BTR_PHS_INIT 0x00000000
566 #define STB0899_BTR_LD_PHASE_INIT (0x01 << 28)
567 #define STB0899_OFFST_BTR_LD_PHASE_INIT 28
568 #define STB0899_WIDTH_BTR_LD_PHASE_INIT 1
569 #define STB0899_BTR_INIT_PHASE (0xfffffff << 0)
570 #define STB0899_OFFST_BTR_INIT_PHASE 0
571 #define STB0899_WIDTH_BTR_INIT_PHASE 28
573 #define STB0899_OFF0_BTR_FREQ_INIT 0xf358
574 #define STB0899_BASE_BTR_FREQ_INIT 0x00000000
575 #define STB0899_BTR_LD_FREQ_INIT (1 << 28)
576 #define STB0899_OFFST_BTR_LD_FREQ_INIT 28
577 #define STB0899_WIDTH_BTR_LD_FREQ_INIT 1
578 #define STB0899_BTR_FREQ_INIT (0xfffffff << 0)
579 #define STB0899_OFFST_BTR_FREQ_INIT 0
580 #define STB0899_WIDTH_BTR_FREQ_INIT 28
582 #define STB0899_OFF0_BTR_NOM_FREQ 0xf35c
583 #define STB0899_BASE_BTR_NOM_FREQ 0x00000000
584 #define STB0899_BTR_NOM_FREQ (0xfffffff << 0)
585 #define STB0899_OFFST_BTR_NOM_FREQ 0
586 #define STB0899_WIDTH_BTR_NOM_FREQ 28
588 #define STB0899_OFF0_BTR_LK_CNTRL 0xf360
589 #define STB0899_BASE_BTR_LK_CNTRL 0x00000000
590 #define STB0899_BTR_MIN_ENERGY (0x0f << 24)
591 #define STB0899_OFFST_BTR_MIN_ENERGY 24
592 #define STB0899_WIDTH_BTR_MIN_ENERGY 4
593 #define STB0899_BTR_LOCK_TH_LO (0xff << 16)
594 #define STB0899_OFFST_BTR_LOCK_TH_LO 16
595 #define STB0899_WIDTH_BTR_LOCK_TH_LO 8
596 #define STB0899_BTR_LOCK_TH_HI (0xff << 8)
597 #define STB0899_OFFST_BTR_LOCK_TH_HI 8
598 #define STB0899_WIDTH_BTR_LOCK_TH_HI 8
599 #define STB0899_BTR_LOCK_GAIN (0x03 << 6)
600 #define STB0899_OFFST_BTR_LOCK_GAIN 6
601 #define STB0899_WIDTH_BTR_LOCK_GAIN 2
602 #define STB0899_BTR_LOCK_LEAK (0x3f << 0)
603 #define STB0899_OFFST_BTR_LOCK_LEAK 0
604 #define STB0899_WIDTH_BTR_LOCK_LEAK 6
606 #define STB0899_OFF0_DECN_CNTRL 0xf364
607 #define STB0899_BASE_DECN_CNTRL 0x00000000
609 #define STB0899_OFF0_TP_CNTRL 0xf368
610 #define STB0899_BASE_TP_CNTRL 0x00000000
612 #define STB0899_OFF0_TP_BUF_STATUS 0xf36c
613 #define STB0899_BASE_TP_BUF_STATUS 0x00000000
614 #define STB0899_TP_BUFFER_FULL (1 << 0)
616 #define STB0899_OFF0_DC_ESTIM 0xf37c
617 #define STB0899_BASE_DC_ESTIM 0x0000
618 #define STB0899_I_DC_ESTIMATE (0xff << 8)
619 #define STB0899_OFFST_I_DC_ESTIMATE 8
620 #define STB0899_WIDTH_I_DC_ESTIMATE 8
621 #define STB0899_Q_DC_ESTIMATE (0xff << 0)
622 #define STB0899_OFFST_Q_DC_ESTIMATE 0
623 #define STB0899_WIDTH_Q_DC_ESTIMATE 8
625 #define STB0899_OFF0_FLL_CNTRL 0xf310
626 #define STB0899_BASE_FLL_CNTRL 0x00000020
627 #define STB0899_CRL_FLL_ACC (0x01 << 4)
628 #define STB0899_OFFST_CRL_FLL_ACC 4
629 #define STB0899_WIDTH_CRL_FLL_ACC 1
630 #define STB0899_FLL_AVG_PERIOD (0x0f << 0)
631 #define STB0899_OFFST_FLL_AVG_PERIOD 0
632 #define STB0899_WIDTH_FLL_AVG_PERIOD 4
634 #define STB0899_OFF0_FLL_FREQ_WD 0xf314
635 #define STB0899_BASE_FLL_FREQ_WD 0x00000020
636 #define STB0899_FLL_FREQ_WD (0xffffffff << 0)
637 #define STB0899_OFFST_FLL_FREQ_WD 0
638 #define STB0899_WIDTH_FLL_FREQ_WD 32
640 #define STB0899_OFF0_ANTI_ALIAS_SEL 0xf358
641 #define STB0899_BASE_ANTI_ALIAS_SEL 0x00000020
642 #define STB0899_ANTI_ALIAS_SELB (0x03 << 0)
643 #define STB0899_OFFST_ANTI_ALIAS_SELB 0
644 #define STB0899_WIDTH_ANTI_ALIAS_SELB 2
646 #define STB0899_OFF0_RRC_ALPHA 0xf35c
647 #define STB0899_BASE_RRC_ALPHA 0x00000020
648 #define STB0899_RRC_ALPHA (0x03 << 0)
649 #define STB0899_OFFST_RRC_ALPHA 0
650 #define STB0899_WIDTH_RRC_ALPHA 2
652 #define STB0899_OFF0_DC_ADAPT_LSHFT 0xf360
653 #define STB0899_BASE_DC_ADAPT_LSHFT 0x00000020
654 #define STB0899_DC_ADAPT_LSHFT (0x077 << 0)
655 #define STB0899_OFFST_DC_ADAPT_LSHFT 0
656 #define STB0899_WIDTH_DC_ADAPT_LSHFT 3
658 #define STB0899_OFF0_IMB_OFFSET 0xf364
659 #define STB0899_BASE_IMB_OFFSET 0x00000020
660 #define STB0899_PHS_IMB_COMP (0xff << 8)
661 #define STB0899_OFFST_PHS_IMB_COMP 8
662 #define STB0899_WIDTH_PHS_IMB_COMP 8
663 #define STB0899_AMPL_IMB_COMP (0xff << 0)
664 #define STB0899_OFFST_AMPL_IMB_COMP 0
665 #define STB0899_WIDTH_AMPL_IMB_COMP 8
667 #define STB0899_OFF0_IMB_ESTIMATE 0xf368
668 #define STB0899_BASE_IMB_ESTIMATE 0x00000020
669 #define STB0899_PHS_IMB_ESTIMATE (0xff << 8)
670 #define STB0899_OFFST_PHS_IMB_ESTIMATE 8
671 #define STB0899_WIDTH_PHS_IMB_ESTIMATE 8
672 #define STB0899_AMPL_IMB_ESTIMATE (0xff << 0)
673 #define STB0899_OFFST_AMPL_IMB_ESTIMATE 0
674 #define STB0899_WIDTH_AMPL_IMB_ESTIMATE 8
676 #define STB0899_OFF0_IMB_CNTRL 0xf36c
677 #define STB0899_BASE_IMB_CNTRL 0x00000020
678 #define STB0899_PHS_ADAPT_LSHFT (0x07 << 4)
679 #define STB0899_OFFST_PHS_ADAPT_LSHFT 4
680 #define STB0899_WIDTH_PHS_ADAPT_LSHFT 3
681 #define STB0899_AMPL_ADAPT_LSHFT (0x07 << 1)
682 #define STB0899_OFFST_AMPL_ADAPT_LSHFT 1
683 #define STB0899_WIDTH_AMPL_ADAPT_LSHFT 3
684 #define STB0899_IMB_COMP (0x01 << 0)
685 #define STB0899_OFFST_IMB_COMP 0
686 #define STB0899_WIDTH_IMB_COMP 1
688 #define STB0899_OFF0_IF_AGC_CNTRL2 0xf374
689 #define STB0899_BASE_IF_AGC_CNTRL2 0x00000020
690 #define STB0899_IF_AGC_LOCK_TH (0xff << 11)
691 #define STB0899_OFFST_IF_AGC_LOCK_TH 11
692 #define STB0899_WIDTH_IF_AGC_LOCK_TH 8
693 #define STB0899_IF_AGC_SD_DIV (0xff << 3)
694 #define STB0899_OFFST_IF_AGC_SD_DIV 3
695 #define STB0899_WIDTH_IF_AGC_SD_DIV 8
696 #define STB0899_IF_AGC_DUMP_PER (0x07 << 0)
697 #define STB0899_OFFST_IF_AGC_DUMP_PER 0
698 #define STB0899_WIDTH_IF_AGC_DUMP_PER 3
700 #define STB0899_OFF0_DMD_CNTRL2 0xf378
701 #define STB0899_BASE_DMD_CNTRL2 0x00000020
702 #define STB0899_SPECTRUM_INVERT (0x01 << 2)
703 #define STB0899_OFFST_SPECTRUM_INVERT 2
704 #define STB0899_WIDTH_SPECTRUM_INVERT 1
705 #define STB0899_AGC_MODE (0x01 << 1)
706 #define STB0899_OFFST_AGC_MODE 1
707 #define STB0899_WIDTH_AGC_MODE 1
708 #define STB0899_CRL_FREQ_ADJ (0x01 << 0)
709 #define STB0899_OFFST_CRL_FREQ_ADJ 0
710 #define STB0899_WIDTH_CRL_FREQ_ADJ 1
712 #define STB0899_OFF0_TP_BUFFER 0xf300
713 #define STB0899_BASE_TP_BUFFER 0x00000040
714 #define STB0899_TP_BUFFER_IN (0xffff << 0)
715 #define STB0899_OFFST_TP_BUFFER_IN 0
716 #define STB0899_WIDTH_TP_BUFFER_IN 16
718 #define STB0899_OFF0_TP_BUFFER1 0xf304
719 #define STB0899_BASE_TP_BUFFER1 0x00000040
720 #define STB0899_OFF0_TP_BUFFER2 0xf308
721 #define STB0899_BASE_TP_BUFFER2 0x00000040
722 #define STB0899_OFF0_TP_BUFFER3 0xf30c
723 #define STB0899_BASE_TP_BUFFER3 0x00000040
724 #define STB0899_OFF0_TP_BUFFER4 0xf310
725 #define STB0899_BASE_TP_BUFFER4 0x00000040
726 #define STB0899_OFF0_TP_BUFFER5 0xf314
727 #define STB0899_BASE_TP_BUFFER5 0x00000040
728 #define STB0899_OFF0_TP_BUFFER6 0xf318
729 #define STB0899_BASE_TP_BUFFER6 0x00000040
730 #define STB0899_OFF0_TP_BUFFER7 0xf31c
731 #define STB0899_BASE_TP_BUFFER7 0x00000040
732 #define STB0899_OFF0_TP_BUFFER8 0xf320
733 #define STB0899_BASE_TP_BUFFER8 0x00000040
734 #define STB0899_OFF0_TP_BUFFER9 0xf324
735 #define STB0899_BASE_TP_BUFFER9 0x00000040
736 #define STB0899_OFF0_TP_BUFFER10 0xf328
737 #define STB0899_BASE_TP_BUFFER10 0x00000040
738 #define STB0899_OFF0_TP_BUFFER11 0xf32c
739 #define STB0899_BASE_TP_BUFFER11 0x00000040
740 #define STB0899_OFF0_TP_BUFFER12 0xf330
741 #define STB0899_BASE_TP_BUFFER12 0x00000040
742 #define STB0899_OFF0_TP_BUFFER13 0xf334
743 #define STB0899_BASE_TP_BUFFER13 0x00000040
744 #define STB0899_OFF0_TP_BUFFER14 0xf338
745 #define STB0899_BASE_TP_BUFFER14 0x00000040
746 #define STB0899_OFF0_TP_BUFFER15 0xf33c
747 #define STB0899_BASE_TP_BUFFER15 0x00000040
748 #define STB0899_OFF0_TP_BUFFER16 0xf340
749 #define STB0899_BASE_TP_BUFFER16 0x00000040
750 #define STB0899_OFF0_TP_BUFFER17 0xf344
751 #define STB0899_BASE_TP_BUFFER17 0x00000040
752 #define STB0899_OFF0_TP_BUFFER18 0xf348
753 #define STB0899_BASE_TP_BUFFER18 0x00000040
754 #define STB0899_OFF0_TP_BUFFER19 0xf34c
755 #define STB0899_BASE_TP_BUFFER19 0x00000040
756 #define STB0899_OFF0_TP_BUFFER20 0xf350
757 #define STB0899_BASE_TP_BUFFER20 0x00000040
758 #define STB0899_OFF0_TP_BUFFER21 0xf354
759 #define STB0899_BASE_TP_BUFFER21 0x00000040
760 #define STB0899_OFF0_TP_BUFFER22 0xf358
761 #define STB0899_BASE_TP_BUFFER22 0x00000040
762 #define STB0899_OFF0_TP_BUFFER23 0xf35c
763 #define STB0899_BASE_TP_BUFFER23 0x00000040
764 #define STB0899_OFF0_TP_BUFFER24 0xf360
765 #define STB0899_BASE_TP_BUFFER24 0x00000040
766 #define STB0899_OFF0_TP_BUFFER25 0xf364
767 #define STB0899_BASE_TP_BUFFER25 0x00000040
768 #define STB0899_OFF0_TP_BUFFER26 0xf368
769 #define STB0899_BASE_TP_BUFFER26 0x00000040
770 #define STB0899_OFF0_TP_BUFFER27 0xf36c
771 #define STB0899_BASE_TP_BUFFER27 0x00000040
772 #define STB0899_OFF0_TP_BUFFER28 0xf370
773 #define STB0899_BASE_TP_BUFFER28 0x00000040
774 #define STB0899_OFF0_TP_BUFFER29 0xf374
775 #define STB0899_BASE_TP_BUFFER29 0x00000040
776 #define STB0899_OFF0_TP_BUFFER30 0xf378
777 #define STB0899_BASE_TP_BUFFER30 0x00000040
778 #define STB0899_OFF0_TP_BUFFER31 0xf37c
779 #define STB0899_BASE_TP_BUFFER31 0x00000040
780 #define STB0899_OFF0_TP_BUFFER32 0xf300
781 #define STB0899_BASE_TP_BUFFER32 0x00000060
782 #define STB0899_OFF0_TP_BUFFER33 0xf304
783 #define STB0899_BASE_TP_BUFFER33 0x00000060
784 #define STB0899_OFF0_TP_BUFFER34 0xf308
785 #define STB0899_BASE_TP_BUFFER34 0x00000060
786 #define STB0899_OFF0_TP_BUFFER35 0xf30c
787 #define STB0899_BASE_TP_BUFFER35 0x00000060
788 #define STB0899_OFF0_TP_BUFFER36 0xf310
789 #define STB0899_BASE_TP_BUFFER36 0x00000060
790 #define STB0899_OFF0_TP_BUFFER37 0xf314
791 #define STB0899_BASE_TP_BUFFER37 0x00000060
792 #define STB0899_OFF0_TP_BUFFER38 0xf318
793 #define STB0899_BASE_TP_BUFFER38 0x00000060
794 #define STB0899_OFF0_TP_BUFFER39 0xf31c
795 #define STB0899_BASE_TP_BUFFER39 0x00000060
796 #define STB0899_OFF0_TP_BUFFER40 0xf320
797 #define STB0899_BASE_TP_BUFFER40 0x00000060
798 #define STB0899_OFF0_TP_BUFFER41 0xf324
799 #define STB0899_BASE_TP_BUFFER41 0x00000060
800 #define STB0899_OFF0_TP_BUFFER42 0xf328
801 #define STB0899_BASE_TP_BUFFER42 0x00000060
802 #define STB0899_OFF0_TP_BUFFER43 0xf32c
803 #define STB0899_BASE_TP_BUFFER43 0x00000060
804 #define STB0899_OFF0_TP_BUFFER44 0xf330
805 #define STB0899_BASE_TP_BUFFER44 0x00000060
806 #define STB0899_OFF0_TP_BUFFER45 0xf334
807 #define STB0899_BASE_TP_BUFFER45 0x00000060
808 #define STB0899_OFF0_TP_BUFFER46 0xf338
809 #define STB0899_BASE_TP_BUFFER46 0x00000060
810 #define STB0899_OFF0_TP_BUFFER47 0xf33c
811 #define STB0899_BASE_TP_BUFFER47 0x00000060
812 #define STB0899_OFF0_TP_BUFFER48 0xf340
813 #define STB0899_BASE_TP_BUFFER48 0x00000060
814 #define STB0899_OFF0_TP_BUFFER49 0xf344
815 #define STB0899_BASE_TP_BUFFER49 0x00000060
816 #define STB0899_OFF0_TP_BUFFER50 0xf348
817 #define STB0899_BASE_TP_BUFFER50 0x00000060
818 #define STB0899_OFF0_TP_BUFFER51 0xf34c
819 #define STB0899_BASE_TP_BUFFER51 0x00000060
820 #define STB0899_OFF0_TP_BUFFER52 0xf350
821 #define STB0899_BASE_TP_BUFFER52 0x00000060
822 #define STB0899_OFF0_TP_BUFFER53 0xf354
823 #define STB0899_BASE_TP_BUFFER53 0x00000060
824 #define STB0899_OFF0_TP_BUFFER54 0xf358
825 #define STB0899_BASE_TP_BUFFER54 0x00000060
826 #define STB0899_OFF0_TP_BUFFER55 0xf35c
827 #define STB0899_BASE_TP_BUFFER55 0x00000060
828 #define STB0899_OFF0_TP_BUFFER56 0xf360
829 #define STB0899_BASE_TP_BUFFER56 0x00000060
830 #define STB0899_OFF0_TP_BUFFER57 0xf364
831 #define STB0899_BASE_TP_BUFFER57 0x00000060
832 #define STB0899_OFF0_TP_BUFFER58 0xf368
833 #define STB0899_BASE_TP_BUFFER58 0x00000060
834 #define STB0899_OFF0_TP_BUFFER59 0xf36c
835 #define STB0899_BASE_TP_BUFFER59 0x00000060
836 #define STB0899_OFF0_TP_BUFFER60 0xf370
837 #define STB0899_BASE_TP_BUFFER60 0x00000060
838 #define STB0899_OFF0_TP_BUFFER61 0xf374
839 #define STB0899_BASE_TP_BUFFER61 0x00000060
840 #define STB0899_OFF0_TP_BUFFER62 0xf378
841 #define STB0899_BASE_TP_BUFFER62 0x00000060
842 #define STB0899_OFF0_TP_BUFFER63 0xf37c
843 #define STB0899_BASE_TP_BUFFER63 0x00000060
845 #define STB0899_OFF0_RESET_CNTRL 0xf300
846 #define STB0899_BASE_RESET_CNTRL 0x00000400
847 #define STB0899_DVBS2_RESET (0x01 << 0)
848 #define STB0899_OFFST_DVBS2_RESET 0
849 #define STB0899_WIDTH_DVBS2_RESET 1
851 #define STB0899_OFF0_ACM_ENABLE 0xf304
852 #define STB0899_BASE_ACM_ENABLE 0x00000400
853 #define STB0899_ACM_ENABLE 1
855 #define STB0899_OFF0_DESCR_CNTRL 0xf30c
856 #define STB0899_BASE_DESCR_CNTRL 0x00000400
857 #define STB0899_OFFST_DESCR_CNTRL 0
858 #define STB0899_WIDTH_DESCR_CNTRL 16
860 #define STB0899_OFF0_UWP_CNTRL1 0xf320
861 #define STB0899_BASE_UWP_CNTRL1 0x00000400
862 #define STB0899_UWP_TH_SOF (0x7fff << 11)
863 #define STB0899_OFFST_UWP_TH_SOF 11
864 #define STB0899_WIDTH_UWP_TH_SOF 15
865 #define STB0899_UWP_ESN0_QUANT (0xff << 3)
866 #define STB0899_OFFST_UWP_ESN0_QUANT 3
867 #define STB0899_WIDTH_UWP_ESN0_QUANT 8
868 #define STB0899_UWP_ESN0_AVE (0x03 << 1)
869 #define STB0899_OFFST_UWP_ESN0_AVE 1
870 #define STB0899_WIDTH_UWP_ESN0_AVE 2
871 #define STB0899_UWP_START (0x01 << 0)
872 #define STB0899_OFFST_UWP_START 0
873 #define STB0899_WIDTH_UWP_START 1
875 #define STB0899_OFF0_UWP_CNTRL2 0xf324
876 #define STB0899_BASE_UWP_CNTRL2 0x00000400
877 #define STB0899_UWP_MISS_TH (0xff << 16)
878 #define STB0899_OFFST_UWP_MISS_TH 16
879 #define STB0899_WIDTH_UWP_MISS_TH 8
880 #define STB0899_FE_FINE_TRK (0xff << 8)
881 #define STB0899_OFFST_FE_FINE_TRK 8
882 #define STB0899_WIDTH_FE_FINE_TRK 8
883 #define STB0899_FE_COARSE_TRK (0xff << 0)
884 #define STB0899_OFFST_FE_COARSE_TRK 0
885 #define STB0899_WIDTH_FE_COARSE_TRK 8
887 #define STB0899_OFF0_UWP_STAT1 0xf328
888 #define STB0899_BASE_UWP_STAT1 0x00000400
889 #define STB0899_UWP_STATE (0x03ff << 15)
890 #define STB0899_OFFST_UWP_STATE 15
891 #define STB0899_WIDTH_UWP_STATE 10
892 #define STB0899_UW_MAX_PEAK (0x7fff << 0)
893 #define STB0899_OFFST_UW_MAX_PEAK 0
894 #define STB0899_WIDTH_UW_MAX_PEAK 15
896 #define STB0899_OFF0_UWP_STAT2 0xf32c
897 #define STB0899_BASE_UWP_STAT2 0x00000400
898 #define STB0899_ESNO_EST (0x07ffff << 7)
899 #define STB0899_OFFST_ESN0_EST 7
900 #define STB0899_WIDTH_ESN0_EST 19
901 #define STB0899_UWP_DECODE_MOD (0x7f << 0)
902 #define STB0899_OFFST_UWP_DECODE_MOD 0
903 #define STB0899_WIDTH_UWP_DECODE_MOD 7
905 #define STB0899_OFF0_DMD_CORE_ID 0xf334
906 #define STB0899_BASE_DMD_CORE_ID 0x00000400
907 #define STB0899_CORE_ID (0xffffffff << 0)
908 #define STB0899_OFFST_CORE_ID 0
909 #define STB0899_WIDTH_CORE_ID 32
911 #define STB0899_OFF0_DMD_VERSION_ID 0xf33c
912 #define STB0899_BASE_DMD_VERSION_ID 0x00000400
913 #define STB0899_VERSION_ID (0xff << 0)
914 #define STB0899_OFFST_VERSION_ID 0
915 #define STB0899_WIDTH_VERSION_ID 8
917 #define STB0899_OFF0_DMD_STAT2 0xf340
918 #define STB0899_BASE_DMD_STAT2 0x00000400
919 #define STB0899_CSM_LOCK (0x01 << 1)
920 #define STB0899_OFFST_CSM_LOCK 1
921 #define STB0899_WIDTH_CSM_LOCK 1
922 #define STB0899_UWP_LOCK (0x01 << 0)
923 #define STB0899_OFFST_UWP_LOCK 0
924 #define STB0899_WIDTH_UWP_LOCK 1
926 #define STB0899_OFF0_FREQ_ADJ_SCALE 0xf344
927 #define STB0899_BASE_FREQ_ADJ_SCALE 0x00000400
928 #define STB0899_FREQ_ADJ_SCALE (0x0fff << 0)
929 #define STB0899_OFFST_FREQ_ADJ_SCALE 0
930 #define STB0899_WIDTH_FREQ_ADJ_SCALE 12
932 #define STB0899_OFF0_UWP_CNTRL3 0xf34c
933 #define STB0899_BASE_UWP_CNTRL3 0x00000400
934 #define STB0899_UWP_TH_TRACK (0x7fff << 15)
935 #define STB0899_OFFST_UWP_TH_TRACK 15
936 #define STB0899_WIDTH_UWP_TH_TRACK 15
937 #define STB0899_UWP_TH_ACQ (0x7fff << 0)
938 #define STB0899_OFFST_UWP_TH_ACQ 0
939 #define STB0899_WIDTH_UWP_TH_ACQ 15
941 #define STB0899_OFF0_SYM_CLK_SEL 0xf350
942 #define STB0899_BASE_SYM_CLK_SEL 0x00000400
943 #define STB0899_SYM_CLK_SEL (0x03 << 0)
944 #define STB0899_OFFST_SYM_CLK_SEL 0
945 #define STB0899_WIDTH_SYM_CLK_SEL 2
947 #define STB0899_OFF0_SOF_SRCH_TO 0xf354
948 #define STB0899_BASE_SOF_SRCH_TO 0x00000400
949 #define STB0899_SOF_SEARCH_TIMEOUT (0x3fffff << 0)
950 #define STB0899_OFFST_SOF_SEARCH_TIMEOUT 0
951 #define STB0899_WIDTH_SOF_SEARCH_TIMEOUT 22
953 #define STB0899_OFF0_ACQ_CNTRL1 0xf358
954 #define STB0899_BASE_ACQ_CNTRL1 0x00000400
955 #define STB0899_FE_FINE_ACQ (0xff << 8)
956 #define STB0899_OFFST_FE_FINE_ACQ 8
957 #define STB0899_WIDTH_FE_FINE_ACQ 8
958 #define STB0899_FE_COARSE_ACQ (0xff << 0)
959 #define STB0899_OFFST_FE_COARSE_ACQ 0
960 #define STB0899_WIDTH_FE_COARSE_ACQ 8
962 #define STB0899_OFF0_ACQ_CNTRL2 0xf35c
963 #define STB0899_BASE_ACQ_CNTRL2 0x00000400
964 #define STB0899_ZIGZAG (0x01 << 25)
965 #define STB0899_OFFST_ZIGZAG 25
966 #define STB0899_WIDTH_ZIGZAG 1
967 #define STB0899_NUM_STEPS (0xff << 17)
968 #define STB0899_OFFST_NUM_STEPS 17
969 #define STB0899_WIDTH_NUM_STEPS 8
970 #define STB0899_FREQ_STEPSIZE (0x1ffff << 0)
971 #define STB0899_OFFST_FREQ_STEPSIZE 0
972 #define STB0899_WIDTH_FREQ_STEPSIZE 17
974 #define STB0899_OFF0_ACQ_CNTRL3 0xf360
975 #define STB0899_BASE_ACQ_CNTRL3 0x00000400
976 #define STB0899_THRESHOLD_SCL (0x3f << 23)
977 #define STB0899_OFFST_THRESHOLD_SCL 23
978 #define STB0899_WIDTH_THRESHOLD_SCL 6
979 #define STB0899_UWP_TH_SRCH (0x7fff << 8)
980 #define STB0899_OFFST_UWP_TH_SRCH 8
981 #define STB0899_WIDTH_UWP_TH_SRCH 15
982 #define STB0899_AUTO_REACQUIRE (0x01 << 7)
983 #define STB0899_OFFST_AUTO_REACQUIRE 7
984 #define STB0899_WIDTH_AUTO_REACQUIRE 1
985 #define STB0899_TRACK_LOCK_SEL (0x01 << 6)
986 #define STB0899_OFFST_TRACK_LOCK_SEL 6
987 #define STB0899_WIDTH_TRACK_LOCK_SEL 1
988 #define STB0899_ACQ_SEARCH_MODE (0x03 << 4)
989 #define STB0899_OFFST_ACQ_SEARCH_MODE 4
990 #define STB0899_WIDTH_ACQ_SEARCH_MODE 2
991 #define STB0899_CONFIRM_FRAMES (0x0f << 0)
992 #define STB0899_OFFST_CONFIRM_FRAMES 0
993 #define STB0899_WIDTH_CONFIRM_FRAMES 4
995 #define STB0899_OFF0_FE_SETTLE 0xf364
996 #define STB0899_BASE_FE_SETTLE 0x00000400
997 #define STB0899_SETTLING_TIME (0x3fffff << 0)
998 #define STB0899_OFFST_SETTLING_TIME 0
999 #define STB0899_WIDTH_SETTLING_TIME 22
1001 #define STB0899_OFF0_AC_DWELL 0xf368
1002 #define STB0899_BASE_AC_DWELL 0x00000400
1003 #define STB0899_DWELL_TIME (0x3fffff << 0)
1004 #define STB0899_OFFST_DWELL_TIME 0
1005 #define STB0899_WIDTH_DWELL_TIME 22
1007 #define STB0899_OFF0_ACQUIRE_TRIG 0xf36c
1008 #define STB0899_BASE_ACQUIRE_TRIG 0x00000400
1009 #define STB0899_ACQUIRE (0x01 << 0)
1010 #define STB0899_OFFST_ACQUIRE 0
1011 #define STB0899_WIDTH_ACQUIRE 1
1013 #define STB0899_OFF0_LOCK_LOST 0xf370
1014 #define STB0899_BASE_LOCK_LOST 0x00000400
1015 #define STB0899_LOCK_LOST (0x01 << 0)
1016 #define STB0899_OFFST_LOCK_LOST 0
1017 #define STB0899_WIDTH_LOCK_LOST 1
1019 #define STB0899_OFF0_ACQ_STAT1 0xf374
1020 #define STB0899_BASE_ACQ_STAT1 0x00000400
1021 #define STB0899_STEP_FREQ (0x1fffff << 11)
1022 #define STB0899_OFFST_STEP_FREQ 11
1023 #define STB0899_WIDTH_STEP_FREQ 21
1024 #define STB0899_ACQ_STATE (0x07 << 8)
1025 #define STB0899_OFFST_ACQ_STATE 8
1026 #define STB0899_WIDTH_ACQ_STATE 3
1027 #define STB0899_UW_DETECT_COUNT (0xff << 0)
1028 #define STB0899_OFFST_UW_DETECT_COUNT 0
1029 #define STB0899_WIDTH_UW_DETECT_COUNT 8
1031 #define STB0899_OFF0_ACQ_TIMEOUT 0xf378
1032 #define STB0899_BASE_ACQ_TIMEOUT 0x00000400
1033 #define STB0899_ACQ_TIMEOUT (0x3fffff << 0)
1034 #define STB0899_OFFST_ACQ_TIMEOUT 0
1035 #define STB0899_WIDTH_ACQ_TIMEOUT 22
1037 #define STB0899_OFF0_ACQ_TIME 0xf37c
1038 #define STB0899_BASE_ACQ_TIME 0x00000400
1039 #define STB0899_ACQ_TIME_SYM (0xffffff << 0)
1040 #define STB0899_OFFST_ACQ_TIME_SYM 0
1041 #define STB0899_WIDTH_ACQ_TIME_SYM 24
1043 #define STB0899_OFF0_FINAL_AGC_CNTRL 0xf308
1044 #define STB0899_BASE_FINAL_AGC_CNTRL 0x00000440
1045 #define STB0899_FINAL_GAIN_INIT (0x3fff << 12)
1046 #define STB0899_OFFST_FINAL_GAIN_INIT 12
1047 #define STB0899_WIDTH_FINAL_GAIN_INIT 14
1048 #define STB0899_FINAL_LOOP_GAIN (0x0f << 8)
1049 #define STB0899_OFFST_FINAL_LOOP_GAIN 8
1050 #define STB0899_WIDTH_FINAL_LOOP_GAIN 4
1051 #define STB0899_FINAL_LD_GAIN_INIT (0x01 << 7)
1052 #define STB0899_OFFST_FINAL_LD_GAIN_INIT 7
1053 #define STB0899_WIDTH_FINAL_LD_GAIN_INIT 1
1054 #define STB0899_FINAL_AGC_REF (0x7f << 0)
1055 #define STB0899_OFFST_FINAL_AGC_REF 0
1056 #define STB0899_WIDTH_FINAL_AGC_REF 7
1058 #define STB0899_OFF0_FINAL_AGC_GAIN 0xf30c
1059 #define STB0899_BASE_FINAL_AGC_GAIN 0x00000440
1060 #define STB0899_FINAL_AGC_GAIN (0x3fff << 0)
1061 #define STB0899_OFFST_FINAL_AGC_GAIN 0
1062 #define STB0899_WIDTH_FINAL_AGC_GAIN 14
1064 #define STB0899_OFF0_EQUALIZER_INIT 0xf310
1065 #define STB0899_BASE_EQUALIZER_INIT 0x00000440
1066 #define STB0899_EQ_SRST (0x01 << 1)
1067 #define STB0899_OFFST_EQ_SRST 1
1068 #define STB0899_WIDTH_EQ_SRST 1
1069 #define STB0899_EQ_INIT (0x01 << 0)
1070 #define STB0899_OFFST_EQ_INIT 0
1071 #define STB0899_WIDTH_EQ_INIT 1
1073 #define STB0899_OFF0_EQ_CNTRL 0xf314
1074 #define STB0899_BASE_EQ_CNTRL 0x00000440
1075 #define STB0899_EQ_ADAPT_MODE (0x01 << 18)
1076 #define STB0899_OFFST_EQ_ADAPT_MODE 18
1077 #define STB0899_WIDTH_EQ_ADAPT_MODE 1
1078 #define STB0899_EQ_DELAY (0x0f << 14)
1079 #define STB0899_OFFST_EQ_DELAY 14
1080 #define STB0899_WIDTH_EQ_DELAY 4
1081 #define STB0899_EQ_QUANT_LEVEL (0xff << 6)
1082 #define STB0899_OFFST_EQ_QUANT_LEVEL 6
1083 #define STB0899_WIDTH_EQ_QUANT_LEVEL 8
1084 #define STB0899_EQ_DISABLE_UPDATE (0x01 << 5)
1085 #define STB0899_OFFST_EQ_DISABLE_UPDATE 5
1086 #define STB0899_WIDTH_EQ_DISABLE_UPDATE 1
1087 #define STB0899_EQ_BYPASS (0x01 << 4)
1088 #define STB0899_OFFST_EQ_BYPASS 4
1089 #define STB0899_WIDTH_EQ_BYPASS 1
1090 #define STB0899_EQ_SHIFT (0x0f << 0)
1091 #define STB0899_OFFST_EQ_SHIFT 0
1092 #define STB0899_WIDTH_EQ_SHIFT 4
1094 #define STB0899_OFF0_EQ_I_INIT_COEFF_0 0xf320
1095 #define STB0899_OFF1_EQ_I_INIT_COEFF_1 0xf324
1096 #define STB0899_OFF2_EQ_I_INIT_COEFF_2 0xf328
1097 #define STB0899_OFF3_EQ_I_INIT_COEFF_3 0xf32c
1098 #define STB0899_OFF4_EQ_I_INIT_COEFF_4 0xf330
1099 #define STB0899_OFF5_EQ_I_INIT_COEFF_5 0xf334
1100 #define STB0899_OFF6_EQ_I_INIT_COEFF_6 0xf338
1101 #define STB0899_OFF7_EQ_I_INIT_COEFF_7 0xf33c
1102 #define STB0899_OFF8_EQ_I_INIT_COEFF_8 0xf340
1103 #define STB0899_OFF9_EQ_I_INIT_COEFF_9 0xf344
1104 #define STB0899_OFFa_EQ_I_INIT_COEFF_10 0xf348
1105 #define STB0899_BASE_EQ_I_INIT_COEFF_N 0x00000440
1106 #define STB0899_EQ_I_INIT_COEFF_N (0x0fff << 0)
1107 #define STB0899_OFFST_EQ_I_INIT_COEFF_N 0
1108 #define STB0899_WIDTH_EQ_I_INIT_COEFF_N 12
1110 #define STB0899_OFF0_EQ_Q_INIT_COEFF_0 0xf350
1111 #define STB0899_OFF1_EQ_Q_INIT_COEFF_1 0xf354
1112 #define STB0899_OFF2_EQ_Q_INIT_COEFF_2 0xf358
1113 #define STB0899_OFF3_EQ_Q_INIT_COEFF_3 0xf35c
1114 #define STB0899_OFF4_EQ_Q_INIT_COEFF_4 0xf360
1115 #define STB0899_OFF5_EQ_Q_INIT_COEFF_5 0xf364
1116 #define STB0899_OFF6_EQ_Q_INIT_COEFF_6 0xf368
1117 #define STB0899_OFF7_EQ_Q_INIT_COEFF_7 0xf36c
1118 #define STB0899_OFF8_EQ_Q_INIT_COEFF_8 0xf370
1119 #define STB0899_OFF9_EQ_Q_INIT_COEFF_9 0xf374
1120 #define STB0899_OFFa_EQ_Q_INIT_COEFF_10 0xf378
1121 #define STB0899_BASE_EQ_Q_INIT_COEFF_N 0x00000440
1122 #define STB0899_EQ_Q_INIT_COEFF_N (0x0fff << 0)
1123 #define STB0899_OFFST_EQ_Q_INIT_COEFF_N 0
1124 #define STB0899_WIDTH_EQ_Q_INIT_COEFF_N 12
1126 #define STB0899_OFF0_EQ_I_OUT_COEFF_0 0xf300
1127 #define STB0899_OFF1_EQ_I_OUT_COEFF_1 0xf304
1128 #define STB0899_OFF2_EQ_I_OUT_COEFF_2 0xf308
1129 #define STB0899_OFF3_EQ_I_OUT_COEFF_3 0xf30c
1130 #define STB0899_OFF4_EQ_I_OUT_COEFF_4 0xf310
1131 #define STB0899_OFF5_EQ_I_OUT_COEFF_5 0xf314
1132 #define STB0899_OFF6_EQ_I_OUT_COEFF_6 0xf318
1133 #define STB0899_OFF7_EQ_I_OUT_COEFF_7 0xf31c
1134 #define STB0899_OFF8_EQ_I_OUT_COEFF_8 0xf320
1135 #define STB0899_OFF9_EQ_I_OUT_COEFF_9 0xf324
1136 #define STB0899_OFFa_EQ_I_OUT_COEFF_10 0xf328
1137 #define STB0899_BASE_EQ_I_OUT_COEFF_N 0x00000460
1138 #define STB0899_EQ_I_OUT_COEFF_N (0x0fff << 0)
1139 #define STB0899_OFFST_EQ_I_OUT_COEFF_N 0
1140 #define STB0899_WIDTH_EQ_I_OUT_COEFF_N 12
1142 #define STB0899_OFF0_EQ_Q_OUT_COEFF_0 0xf330
1143 #define STB0899_OFF1_EQ_Q_OUT_COEFF_1 0xf334
1144 #define STB0899_OFF2_EQ_Q_OUT_COEFF_2 0xf338
1145 #define STB0899_OFF3_EQ_Q_OUT_COEFF_3 0xf33c
1146 #define STB0899_OFF4_EQ_Q_OUT_COEFF_4 0xf340
1147 #define STB0899_OFF5_EQ_Q_OUT_COEFF_5 0xf344
1148 #define STB0899_OFF6_EQ_Q_OUT_COEFF_6 0xf348
1149 #define STB0899_OFF7_EQ_Q_OUT_COEFF_7 0xf34c
1150 #define STB0899_OFF8_EQ_Q_OUT_COEFF_8 0xf350
1151 #define STB0899_OFF9_EQ_Q_OUT_COEFF_9 0xf354
1152 #define STB0899_OFFa_EQ_Q_OUT_COEFF_10 0xf358
1153 #define STB0899_BASE_EQ_Q_OUT_COEFF_N 0x00000460
1154 #define STB0899_EQ_Q_OUT_COEFF_N (0x0fff << 0)
1155 #define STB0899_OFFST_EQ_Q_OUT_COEFF_N 0
1156 #define STB0899_WIDTH_EQ_Q_OUT_COEFF_N 12
1158 /* S2 FEC */
1159 #define STB0899_OFF0_BLOCK_LNGTH 0xfa04
1160 #define STB0899_BASE_BLOCK_LNGTH 0x00000000
1161 #define STB0899_BLOCK_LENGTH (0xff << 0)
1162 #define STB0899_OFFST_BLOCK_LENGTH 0
1163 #define STB0899_WIDTH_BLOCK_LENGTH 8
1165 #define STB0899_OFF0_ROW_STR 0xfa08
1166 #define STB0899_BASE_ROW_STR 0x00000000
1167 #define STB0899_ROW_STRIDE (0xff << 0)
1168 #define STB0899_OFFST_ROW_STRIDE 0
1169 #define STB0899_WIDTH_ROW_STRIDE 8
1171 #define STB0899_OFF0_MAX_ITER 0xfa0c
1172 #define STB0899_BASE_MAX_ITER 0x00000000
1173 #define STB0899_MAX_ITERATIONS (0xff << 0)
1174 #define STB0899_OFFST_MAX_ITERATIONS 0
1175 #define STB0899_WIDTH_MAX_ITERATIONS 8
1177 #define STB0899_OFF0_BN_END_ADDR 0xfa10
1178 #define STB0899_BASE_BN_END_ADDR 0x00000000
1179 #define STB0899_BN_END_ADDR (0x0fff << 0)
1180 #define STB0899_OFFST_BN_END_ADDR 0
1181 #define STB0899_WIDTH_BN_END_ADDR 12
1183 #define STB0899_OFF0_CN_END_ADDR 0xfa14
1184 #define STB0899_BASE_CN_END_ADDR 0x00000000
1185 #define STB0899_CN_END_ADDR (0x0fff << 0)
1186 #define STB0899_OFFST_CN_END_ADDR 0
1187 #define STB0899_WIDTH_CN_END_ADDR 12
1189 #define STB0899_OFF0_INFO_LENGTH 0xfa1c
1190 #define STB0899_BASE_INFO_LENGTH 0x00000000
1191 #define STB0899_INFO_LENGTH (0xff << 0)
1192 #define STB0899_OFFST_INFO_LENGTH 0
1193 #define STB0899_WIDTH_INFO_LENGTH 8
1195 #define STB0899_OFF0_BOT_ADDR 0xfa20
1196 #define STB0899_BASE_BOT_ADDR 0x00000000
1197 #define STB0899_BOTTOM_BASE_ADDR (0x03ff << 0)
1198 #define STB0899_OFFST_BOTTOM_BASE_ADDR 0
1199 #define STB0899_WIDTH_BOTTOM_BASE_ADDR 10
1201 #define STB0899_OFF0_BCH_BLK_LN 0xfa24
1202 #define STB0899_BASE_BCH_BLK_LN 0x00000000
1203 #define STB0899_BCH_BLOCK_LENGTH (0xffff << 0)
1204 #define STB0899_OFFST_BCH_BLOCK_LENGTH 0
1205 #define STB0899_WIDTH_BCH_BLOCK_LENGTH 16
1207 #define STB0899_OFF0_BCH_T 0xfa28
1208 #define STB0899_BASE_BCH_T 0x00000000
1209 #define STB0899_BCH_T (0x0f << 0)
1210 #define STB0899_OFFST_BCH_T 0
1211 #define STB0899_WIDTH_BCH_T 4
1213 #define STB0899_OFF0_CNFG_MODE 0xfa00
1214 #define STB0899_BASE_CNFG_MODE 0x00000800
1215 #define STB0899_MODCOD (0x1f << 2)
1216 #define STB0899_OFFST_MODCOD 2
1217 #define STB0899_WIDTH_MODCOD 5
1218 #define STB0899_MODCOD_SEL (0x01 << 1)
1219 #define STB0899_OFFST_MODCOD_SEL 1
1220 #define STB0899_WIDTH_MODCOD_SEL 1
1221 #define STB0899_CONFIG_MODE (0x01 << 0)
1222 #define STB0899_OFFST_CONFIG_MODE 0
1223 #define STB0899_WIDTH_CONFIG_MODE 1
1225 #define STB0899_OFF0_LDPC_STAT 0xfa04
1226 #define STB0899_BASE_LDPC_STAT 0x00000800
1227 #define STB0899_ITERATION (0xff << 3)
1228 #define STB0899_OFFST_ITERATION 3
1229 #define STB0899_WIDTH_ITERATION 8
1230 #define STB0899_LDPC_DEC_STATE (0x07 << 0)
1231 #define STB0899_OFFST_LDPC_DEC_STATE 0
1232 #define STB0899_WIDTH_LDPC_DEC_STATE 3
1234 #define STB0899_OFF0_ITER_SCALE 0xfa08
1235 #define STB0899_BASE_ITER_SCALE 0x00000800
1236 #define STB0899_ITERATION_SCALE (0xff << 0)
1237 #define STB0899_OFFST_ITERATION_SCALE 0
1238 #define STB0899_WIDTH_ITERATION_SCALE 8
1240 #define STB0899_OFF0_INPUT_MODE 0xfa0c
1241 #define STB0899_BASE_INPUT_MODE 0x00000800
1242 #define STB0899_SD_BLOCK1_STREAM0 (0x01 << 0)
1243 #define STB0899_OFFST_SD_BLOCK1_STREAM0 0
1244 #define STB0899_WIDTH_SD_BLOCK1_STREAM0 1
1246 #define STB0899_OFF0_LDPCDECRST 0xfa10
1247 #define STB0899_BASE_LDPCDECRST 0x00000800
1248 #define STB0899_LDPC_DEC_RST (0x01 << 0)
1249 #define STB0899_OFFST_LDPC_DEC_RST 0
1250 #define STB0899_WIDTH_LDPC_DEC_RST 1
1252 #define STB0899_OFF0_CLK_PER_BYTE_RW 0xfa14
1253 #define STB0899_BASE_CLK_PER_BYTE_RW 0x00000800
1254 #define STB0899_CLKS_PER_BYTE (0x0f << 0)
1255 #define STB0899_OFFST_CLKS_PER_BYTE 0
1256 #define STB0899_WIDTH_CLKS_PER_BYTE 5
1258 #define STB0899_OFF0_BCH_ERRORS 0xfa18
1259 #define STB0899_BASE_BCH_ERRORS 0x00000800
1260 #define STB0899_BCH_ERRORS (0x0f << 0)
1261 #define STB0899_OFFST_BCH_ERRORS 0
1262 #define STB0899_WIDTH_BCH_ERRORS 4
1264 #define STB0899_OFF0_LDPC_ERRORS 0xfa1c
1265 #define STB0899_BASE_LDPC_ERRORS 0x00000800
1266 #define STB0899_LDPC_ERRORS (0xffff << 0)
1267 #define STB0899_OFFST_LDPC_ERRORS 0
1268 #define STB0899_WIDTH_LDPC_ERRORS 16
1270 #define STB0899_OFF0_BCH_MODE 0xfa20
1271 #define STB0899_BASE_BCH_MODE 0x00000800
1272 #define STB0899_BCH_CORRECT_N (0x01 << 1)
1273 #define STB0899_OFFST_BCH_CORRECT_N 1
1274 #define STB0899_WIDTH_BCH_CORRECT_N 1
1275 #define STB0899_FULL_BYPASS (0x01 << 0)
1276 #define STB0899_OFFST_FULL_BYPASS 0
1277 #define STB0899_WIDTH_FULL_BYPASS 1
1279 #define STB0899_OFF0_ERR_ACC_PER 0xfa24
1280 #define STB0899_BASE_ERR_ACC_PER 0x00000800
1281 #define STB0899_BCH_ERR_ACC_PERIOD (0x0f << 0)
1282 #define STB0899_OFFST_BCH_ERR_ACC_PERIOD 0
1283 #define STB0899_WIDTH_BCH_ERR_ACC_PERIOD 4
1285 #define STB0899_OFF0_BCH_ERR_ACC 0xfa28
1286 #define STB0899_BASE_BCH_ERR_ACC 0x00000800
1287 #define STB0899_BCH_ERR_ACCUM (0xff << 0)
1288 #define STB0899_OFFST_BCH_ERR_ACCUM 0
1289 #define STB0899_WIDTH_BCH_ERR_ACCUM 8
1291 #define STB0899_OFF0_FEC_CORE_ID_REG 0xfa2c
1292 #define STB0899_BASE_FEC_CORE_ID_REG 0x00000800
1293 #define STB0899_FEC_CORE_ID (0xffffffff << 0)
1294 #define STB0899_OFFST_FEC_CORE_ID 0
1295 #define STB0899_WIDTH_FEC_CORE_ID 32
1297 #define STB0899_OFF0_FEC_VER_ID_REG 0xfa34
1298 #define STB0899_BASE_FEC_VER_ID_REG 0x00000800
1299 #define STB0899_FEC_VER_ID (0xff << 0)
1300 #define STB0899_OFFST_FEC_VER_ID 0
1301 #define STB0899_WIDTH_FEC_VER_ID 8
1303 #define STB0899_OFF0_FEC_TP_SEL 0xfa38
1304 #define STB0899_BASE_FEC_TP_SEL 0x00000800
1306 #define STB0899_OFF0_CSM_CNTRL1 0xf310
1307 #define STB0899_BASE_CSM_CNTRL1 0x00000400
1308 #define STB0899_CSM_FORCE_FREQLOCK (0x01 << 19)
1309 #define STB0899_OFFST_CSM_FORCE_FREQLOCK 19
1310 #define STB0899_WIDTH_CSM_FORCE_FREQLOCK 1
1311 #define STB0899_CSM_FREQ_LOCKSTATE (0x01 << 18)
1312 #define STB0899_OFFST_CSM_FREQ_LOCKSTATE 18
1313 #define STB0899_WIDTH_CSM_FREQ_LOCKSTATE 1
1314 #define STB0899_CSM_AUTO_PARAM (0x01 << 17)
1315 #define STB0899_OFFST_CSM_AUTO_PARAM 17
1316 #define STB0899_WIDTH_CSM_AUTO_PARAM 1
1317 #define STB0899_FE_LOOP_SHIFT (0x07 << 14)
1318 #define STB0899_OFFST_FE_LOOP_SHIFT 14
1319 #define STB0899_WIDTH_FE_LOOP_SHIFT 3
1320 #define STB0899_CSM_AGC_SHIFT (0x07 << 11)
1321 #define STB0899_OFFST_CSM_AGC_SHIFT 11
1322 #define STB0899_WIDTH_CSM_AGC_SHIFT 3
1323 #define STB0899_CSM_AGC_GAIN (0x1ff << 2)
1324 #define STB0899_OFFST_CSM_AGC_GAIN 2
1325 #define STB0899_WIDTH_CSM_AGC_GAIN 9
1326 #define STB0899_CSM_TWO_PASS (0x01 << 1)
1327 #define STB0899_OFFST_CSM_TWO_PASS 1
1328 #define STB0899_WIDTH_CSM_TWO_PASS 1
1329 #define STB0899_CSM_DVT_TABLE (0x01 << 0)
1330 #define STB0899_OFFST_CSM_DVT_TABLE 0
1331 #define STB0899_WIDTH_CSM_DVT_TABLE 1
1333 #define STB0899_OFF0_CSM_CNTRL2 0xf314
1334 #define STB0899_BASE_CSM_CNTRL2 0x00000400
1335 #define STB0899_CSM_GAMMA_RHO_ACQ (0x1ff << 9)
1336 #define STB0899_OFFST_CSM_GAMMA_RHOACQ 9
1337 #define STB0899_WIDTH_CSM_GAMMA_RHOACQ 9
1338 #define STB0899_CSM_GAMMA_ACQ (0x1ff << 0)
1339 #define STB0899_OFFST_CSM_GAMMA_ACQ 0
1340 #define STB0899_WIDTH_CSM_GAMMA_ACQ 9
1342 #define STB0899_OFF0_CSM_CNTRL3 0xf318
1343 #define STB0899_BASE_CSM_CNTRL3 0x00000400
1344 #define STB0899_CSM_GAMMA_RHO_TRACK (0x1ff << 9)
1345 #define STB0899_OFFST_CSM_GAMMA_RHOTRACK 9
1346 #define STB0899_WIDTH_CSM_GAMMA_RHOTRACK 9
1347 #define STB0899_CSM_GAMMA_TRACK (0x1ff << 0)
1348 #define STB0899_OFFST_CSM_GAMMA_TRACK 0
1349 #define STB0899_WIDTH_CSM_GAMMA_TRACK 9
1351 #define STB0899_OFF0_CSM_CNTRL4 0xf31c
1352 #define STB0899_BASE_CSM_CNTRL4 0x00000400
1353 #define STB0899_CSM_PHASEDIFF_THRESH (0x0f << 8)
1354 #define STB0899_OFFST_CSM_PHASEDIFF_THRESH 8
1355 #define STB0899_WIDTH_CSM_PHASEDIFF_THRESH 4
1356 #define STB0899_CSM_LOCKCOUNT_THRESH (0xff << 0)
1357 #define STB0899_OFFST_CSM_LOCKCOUNT_THRESH 0
1358 #define STB0899_WIDTH_CSM_LOCKCOUNT_THRESH 8
1360 /* Check on chapter 8 page 42 */
1361 #define STB0899_ERRCTRL1 0xf574
1362 #define STB0899_ERRCTRL2 0xf575
1363 #define STB0899_ERRCTRL3 0xf576
1364 #define STB0899_ERR_SRC_S1 (0x1f << 3)
1365 #define STB0899_OFFST_ERR_SRC_S1 3
1366 #define STB0899_WIDTH_ERR_SRC_S1 5
1367 #define STB0899_ERR_SRC_S2 (0x0f << 0)
1368 #define STB0899_OFFST_ERR_SRC_S2 0
1369 #define STB0899_WIDTH_ERR_SRC_S2 4
1370 #define STB0899_NOE (0x07 << 0)
1371 #define STB0899_OFFST_NOE 0
1372 #define STB0899_WIDTH_NOE 3
1374 #define STB0899_ECNT1M 0xf524
1375 #define STB0899_ECNT1L 0xf525
1376 #define STB0899_ECNT2M 0xf526
1377 #define STB0899_ECNT2L 0xf527
1378 #define STB0899_ECNT3M 0xf528
1379 #define STB0899_ECNT3L 0xf529
1381 #define STB0899_DMONMSK1 0xf57b
1382 #define STB0899_DMONMSK1_WAIT_1STEP (1 << 7)
1383 #define STB0899_DMONMSK1_FREE_14 (1 << 6)
1384 #define STB0899_DMONMSK1_AVRGVIT_CALC (1 << 5)
1385 #define STB0899_DMONMSK1_FREE_12 (1 << 4)
1386 #define STB0899_DMONMSK1_FREE_11 (1 << 3)
1387 #define STB0899_DMONMSK1_B0DIV_CALC (1 << 2)
1388 #define STB0899_DMONMSK1_KDIVB1_CALC (1 << 1)
1389 #define STB0899_DMONMSK1_KDIVB2_CALC (1 << 0)
1391 #define STB0899_DMONMSK0 0xf57c
1392 #define STB0899_DMONMSK0_SMOTTH_CALC (1 << 7)
1393 #define STB0899_DMONMSK0_FREE_6 (1 << 6)
1394 #define STB0899_DMONMSK0_SIGPOWER_CALC (1 << 5)
1395 #define STB0899_DMONMSK0_QSEUIL_CALC (1 << 4)
1396 #define STB0899_DMONMSK0_FREE_3 (1 << 3)
1397 #define STB0899_DMONMSK0_FREE_2 (1 << 2)
1398 #define STB0899_DMONMSK0_KVDIVB1_CALC (1 << 1)
1399 #define STB0899_DMONMSK0_KVDIVB2_CALC (1 << 0)
1401 #define STB0899_TSULC 0xf549
1402 #define STB0899_ULNOSYNCBYTES (0x01 << 7)
1403 #define STB0899_OFFST_ULNOSYNCBYTES 7
1404 #define STB0899_WIDTH_ULNOSYNCBYTES 1
1405 #define STB0899_ULPARITY_ON (0x01 << 6)
1406 #define STB0899_OFFST_ULPARITY_ON 6
1407 #define STB0899_WIDTH_ULPARITY_ON 1
1408 #define STB0899_ULSYNCOUTRS (0x01 << 5)
1409 #define STB0899_OFFST_ULSYNCOUTRS 5
1410 #define STB0899_WIDTH_ULSYNCOUTRS 1
1411 #define STB0899_ULDSS_PACKETS (0x01 << 0)
1412 #define STB0899_OFFST_ULDSS_PACKETS 0
1413 #define STB0899_WIDTH_ULDSS_PACKETS 1
1415 #define STB0899_TSLPL 0xf54b
1416 #define STB0899_LLDVBS2_MODE (0x01 << 4)
1417 #define STB0899_OFFST_LLDVBS2_MODE 4
1418 #define STB0899_WIDTH_LLDVBS2_MODE 1
1419 #define STB0899_LLISSYI_ON (0x01 << 3)
1420 #define STB0899_OFFST_LLISSYI_ON 3
1421 #define STB0899_WIDTH_LLISSYI_ON 1
1422 #define STB0899_LLNPD_ON (0x01 << 2)
1423 #define STB0899_OFFST_LLNPD_ON 2
1424 #define STB0899_WIDTH_LLNPD_ON 1
1425 #define STB0899_LLCRC8_ON (0x01 << 1)
1426 #define STB0899_OFFST_LLCRC8_ON 1
1427 #define STB0899_WIDTH_LLCRC8_ON 1
1429 #define STB0899_TSCFGH 0xf54c
1430 #define STB0899_OUTRS_PS (0x01 << 6)
1431 #define STB0899_OFFST_OUTRS_PS 6
1432 #define STB0899_WIDTH_OUTRS_PS 1
1433 #define STB0899_SYNCBYTE (0x01 << 5)
1434 #define STB0899_OFFST_SYNCBYTE 5
1435 #define STB0899_WIDTH_SYNCBYTE 1
1436 #define STB0899_PFBIT (0x01 << 4)
1437 #define STB0899_OFFST_PFBIT 4
1438 #define STB0899_WIDTH_PFBIT 1
1439 #define STB0899_ERR_BIT (0x01 << 3)
1440 #define STB0899_OFFST_ERR_BIT 3
1441 #define STB0899_WIDTH_ERR_BIT 1
1442 #define STB0899_MPEG (0x01 << 2)
1443 #define STB0899_OFFST_MPEG 2
1444 #define STB0899_WIDTH_MPEG 1
1445 #define STB0899_CLK_POL (0x01 << 1)
1446 #define STB0899_OFFST_CLK_POL 1
1447 #define STB0899_WIDTH_CLK_POL 1
1448 #define STB0899_FORCE0 (0x01 << 0)
1449 #define STB0899_OFFST_FORCE0 0
1450 #define STB0899_WIDTH_FORCE0 1
1452 #define STB0899_TSCFGM 0xf54d
1453 #define STB0899_LLPRIORITY (0x01 << 3)
1454 #define STB0899_OFFST_LLPRIORIY 3
1455 #define STB0899_WIDTH_LLPRIORITY 1
1456 #define STB0899_EN188 (0x01 << 2)
1457 #define STB0899_OFFST_EN188 2
1458 #define STB0899_WIDTH_EN188 1
1460 #define STB0899_TSCFGL 0xf54e
1461 #define STB0899_DEL_ERRPCK (0x01 << 7)
1462 #define STB0899_OFFST_DEL_ERRPCK 7
1463 #define STB0899_WIDTH_DEL_ERRPCK 1
1464 #define STB0899_ERRFLAGSTD (0x01 << 5)
1465 #define STB0899_OFFST_ERRFLAGSTD 5
1466 #define STB0899_WIDTH_ERRFLAGSTD 1
1467 #define STB0899_MPEGERR (0x01 << 4)
1468 #define STB0899_OFFST_MPEGERR 4
1469 #define STB0899_WIDTH_MPEGERR 1
1470 #define STB0899_BCH_CHK (0x01 << 3)
1471 #define STB0899_OFFST_BCH_CHK 5
1472 #define STB0899_WIDTH_BCH_CHK 1
1473 #define STB0899_CRC8CHK (0x01 << 2)
1474 #define STB0899_OFFST_CRC8CHK 2
1475 #define STB0899_WIDTH_CRC8CHK 1
1476 #define STB0899_SPEC_INFO (0x01 << 1)
1477 #define STB0899_OFFST_SPEC_INFO 1
1478 #define STB0899_WIDTH_SPEC_INFO 1
1479 #define STB0899_LOW_PRIO_CLK (0x01 << 0)
1480 #define STB0899_OFFST_LOW_PRIO_CLK 0
1481 #define STB0899_WIDTH_LOW_PRIO_CLK 1
1482 #define STB0899_ERROR_NORM (0x00 << 0)
1483 #define STB0899_OFFST_ERROR_NORM 0
1484 #define STB0899_WIDTH_ERROR_NORM 0
1486 #define STB0899_TSOUT 0xf54f
1487 #define STB0899_RSSYNCDEL 0xf550
1488 #define STB0899_TSINHDELH 0xf551
1489 #define STB0899_TSINHDELM 0xf552
1490 #define STB0899_TSINHDELL 0xf553
1491 #define STB0899_TSLLSTKM 0xf55a
1492 #define STB0899_TSLLSTKL 0xf55b
1493 #define STB0899_TSULSTKM 0xf55c
1494 #define STB0899_TSULSTKL 0xf55d
1495 #define STB0899_TSSTATUS 0xf561
1497 #define STB0899_PDELCTRL 0xf600
1498 #define STB0899_INVERT_RES (0x01 << 7)
1499 #define STB0899_OFFST_INVERT_RES 7
1500 #define STB0899_WIDTH_INVERT_RES 1
1501 #define STB0899_FORCE_ACCEPTED (0x01 << 6)
1502 #define STB0899_OFFST_FORCE_ACCEPTED 6
1503 #define STB0899_WIDTH_FORCE_ACCEPTED 1
1504 #define STB0899_FILTER_EN (0x01 << 5)
1505 #define STB0899_OFFST_FILTER_EN 5
1506 #define STB0899_WIDTH_FILTER_EN 1
1507 #define STB0899_LOCKFALL_THRESH (0x01 << 4)
1508 #define STB0899_OFFST_LOCKFALL_THRESH 4
1509 #define STB0899_WIDTH_LOCKFALL_THRESH 1
1510 #define STB0899_HYST_EN (0x01 << 3)
1511 #define STB0899_OFFST_HYST_EN 3
1512 #define STB0899_WIDTH_HYST_EN 1
1513 #define STB0899_HYST_SWRST (0x01 << 2)
1514 #define STB0899_OFFST_HYST_SWRST 2
1515 #define STB0899_WIDTH_HYST_SWRST 1
1516 #define STB0899_ALGO_EN (0x01 << 1)
1517 #define STB0899_OFFST_ALGO_EN 1
1518 #define STB0899_WIDTH_ALGO_EN 1
1519 #define STB0899_ALGO_SWRST (0x01 << 0)
1520 #define STB0899_OFFST_ALGO_SWRST 0
1521 #define STB0899_WIDTH_ALGO_SWRST 1
1523 #define STB0899_PDELCTRL2 0xf601
1524 #define STB0899_BBHCTRL1 0xf602
1525 #define STB0899_BBHCTRL2 0xf603
1526 #define STB0899_HYSTTHRESH 0xf604
1528 #define STB0899_MATCSTM 0xf605
1529 #define STB0899_MATCSTL 0xf606
1530 #define STB0899_UPLCSTM 0xf607
1531 #define STB0899_UPLCSTL 0xf608
1532 #define STB0899_DFLCSTM 0xf609
1533 #define STB0899_DFLCSTL 0xf60a
1534 #define STB0899_SYNCCST 0xf60b
1535 #define STB0899_SYNCDCSTM 0xf60c
1536 #define STB0899_SYNCDCSTL 0xf60d
1537 #define STB0899_ISI_ENTRY 0xf60e
1538 #define STB0899_ISI_BIT_EN 0xf60f
1539 #define STB0899_MATSTRM 0xf610
1540 #define STB0899_MATSTRL 0xf611
1541 #define STB0899_UPLSTRM 0xf612
1542 #define STB0899_UPLSTRL 0xf613
1543 #define STB0899_DFLSTRM 0xf614
1544 #define STB0899_DFLSTRL 0xf615
1545 #define STB0899_SYNCSTR 0xf616
1546 #define STB0899_SYNCDSTRM 0xf617
1547 #define STB0899_SYNCDSTRL 0xf618
1549 #define STB0899_CFGPDELSTATUS1 0xf619
1550 #define STB0899_BADDFL (0x01 << 6)
1551 #define STB0899_OFFST_BADDFL 6
1552 #define STB0899_WIDTH_BADDFL 1
1553 #define STB0899_CONTINUOUS_STREAM (0x01 << 5)
1554 #define STB0899_OFFST_CONTINUOUS_STREAM 5
1555 #define STB0899_WIDTH_CONTINUOUS_STREAM 1
1556 #define STB0899_ACCEPTED_STREAM (0x01 << 4)
1557 #define STB0899_OFFST_ACCEPTED_STREAM 4
1558 #define STB0899_WIDTH_ACCEPTED_STREAM 1
1559 #define STB0899_BCH_ERRFLAG (0x01 << 3)
1560 #define STB0899_OFFST_BCH_ERRFLAG 3
1561 #define STB0899_WIDTH_BCH_ERRFLAG 1
1562 #define STB0899_CRCRES (0x01 << 2)
1563 #define STB0899_OFFST_CRCRES 2
1564 #define STB0899_WIDTH_CRCRES 1
1565 #define STB0899_CFGPDELSTATUS_LOCK (0x01 << 1)
1566 #define STB0899_OFFST_CFGPDELSTATUS_LOCK 1
1567 #define STB0899_WIDTH_CFGPDELSTATUS_LOCK 1
1568 #define STB0899_1STLOCK (0x01 << 0)
1569 #define STB0899_OFFST_1STLOCK 0
1570 #define STB0899_WIDTH_1STLOCK 1
1572 #define STB0899_CFGPDELSTATUS2 0xf61a
1573 #define STB0899_BBFERRORM 0xf61b
1574 #define STB0899_BBFERRORL 0xf61c
1575 #define STB0899_UPKTERRORM 0xf61d
1576 #define STB0899_UPKTERRORL 0xf61e
1578 #define STB0899_TSTCK 0xff10
1580 #define STB0899_TSTRES 0xff11
1581 #define STB0899_FRESLDPC (0x01 << 7)
1582 #define STB0899_OFFST_FRESLDPC 7
1583 #define STB0899_WIDTH_FRESLDPC 1
1584 #define STB0899_FRESRS (0x01 << 6)
1585 #define STB0899_OFFST_FRESRS 6
1586 #define STB0899_WIDTH_FRESRS 1
1587 #define STB0899_FRESVIT (0x01 << 5)
1588 #define STB0899_OFFST_FRESVIT 5
1589 #define STB0899_WIDTH_FRESVIT 1
1590 #define STB0899_FRESMAS1_2 (0x01 << 4)
1591 #define STB0899_OFFST_FRESMAS1_2 4
1592 #define STB0899_WIDTH_FRESMAS1_2 1
1593 #define STB0899_FRESACS (0x01 << 3)
1594 #define STB0899_OFFST_FRESACS 3
1595 #define STB0899_WIDTH_FRESACS 1
1596 #define STB0899_FRESSYM (0x01 << 2)
1597 #define STB0899_OFFST_FRESSYM 2
1598 #define STB0899_WIDTH_FRESSYM 1
1599 #define STB0899_FRESMAS (0x01 << 1)
1600 #define STB0899_OFFST_FRESMAS 1
1601 #define STB0899_WIDTH_FRESMAS 1
1602 #define STB0899_FRESINT (0x01 << 0)
1603 #define STB0899_OFFST_FRESINIT 0
1604 #define STB0899_WIDTH_FRESINIT 1
1606 #define STB0899_TSTOUT 0xff12
1607 #define STB0899_EN_SIGNATURE (0x01 << 7)
1608 #define STB0899_OFFST_EN_SIGNATURE 7
1609 #define STB0899_WIDTH_EN_SIGNATURE 1
1610 #define STB0899_BCLK_CLK (0x01 << 6)
1611 #define STB0899_OFFST_BCLK_CLK 6
1612 #define STB0899_WIDTH_BCLK_CLK 1
1613 #define STB0899_SGNL_OUT (0x01 << 5)
1614 #define STB0899_OFFST_SGNL_OUT 5
1615 #define STB0899_WIDTH_SGNL_OUT 1
1616 #define STB0899_TS (0x01 << 4)
1617 #define STB0899_OFFST_TS 4
1618 #define STB0899_WIDTH_TS 1
1619 #define STB0899_CTEST (0x01 << 0)
1620 #define STB0899_OFFST_CTEST 0
1621 #define STB0899_WIDTH_CTEST 1
1623 #define STB0899_TSTIN 0xff13
1624 #define STB0899_TEST_IN (0x01 << 7)
1625 #define STB0899_OFFST_TEST_IN 7
1626 #define STB0899_WIDTH_TEST_IN 1
1627 #define STB0899_EN_ADC (0x01 << 6)
1628 #define STB0899_OFFST_EN_ADC 6
1629 #define STB0899_WIDTH_ENADC 1
1630 #define STB0899_SGN_ADC (0x01 << 5)
1631 #define STB0899_OFFST_SGN_ADC 5
1632 #define STB0899_WIDTH_SGN_ADC 1
1633 #define STB0899_BCLK_IN (0x01 << 4)
1634 #define STB0899_OFFST_BCLK_IN 4
1635 #define STB0899_WIDTH_BCLK_IN 1
1636 #define STB0899_JETONIN_MODE (0x01 << 3)
1637 #define STB0899_OFFST_JETONIN_MODE 3
1638 #define STB0899_WIDTH_JETONIN_MODE 1
1639 #define STB0899_BCLK_VALUE (0x01 << 2)
1640 #define STB0899_OFFST_BCLK_VALUE 2
1641 #define STB0899_WIDTH_BCLK_VALUE 1
1642 #define STB0899_SGNRST_T12 (0x01 << 1)
1643 #define STB0899_OFFST_SGNRST_T12 1
1644 #define STB0899_WIDTH_SGNRST_T12 1
1645 #define STB0899_LOWSP_ENAX (0x01 << 0)
1646 #define STB0899_OFFST_LOWSP_ENAX 0
1647 #define STB0899_WIDTH_LOWSP_ENAX 1
1649 #define STB0899_TSTSYS 0xff14
1650 #define STB0899_TSTCHIP 0xff15
1651 #define STB0899_TSTFREE 0xff16
1652 #define STB0899_TSTI2C 0xff17
1653 #define STB0899_BITSPEEDM 0xff1c
1654 #define STB0899_BITSPEEDL 0xff1d
1655 #define STB0899_TBUSBIT 0xff1e
1656 #define STB0899_TSTDIS 0xff24
1657 #define STB0899_TSTDISRX 0xff25
1658 #define STB0899_TSTJETON 0xff28
1659 #define STB0899_TSTDCADJ 0xff40
1660 #define STB0899_TSTAGC1 0xff41
1661 #define STB0899_TSTAGC1N 0xff42
1662 #define STB0899_TSTPOLYPH 0xff48
1663 #define STB0899_TSTR 0xff49
1664 #define STB0899_TSTAGC2 0xff4a
1665 #define STB0899_TSTCTL1 0xff4b
1666 #define STB0899_TSTCTL2 0xff4c
1667 #define STB0899_TSTCTL3 0xff4d
1668 #define STB0899_TSTDEMAP 0xff50
1669 #define STB0899_TSTDEMAP2 0xff51
1670 #define STB0899_TSTDEMMON 0xff52
1671 #define STB0899_TSTRATE 0xff53
1672 #define STB0899_TSTSELOUT 0xff54
1673 #define STB0899_TSYNC 0xff55
1674 #define STB0899_TSTERR 0xff56
1675 #define STB0899_TSTRAM1 0xff58
1676 #define STB0899_TSTVSELOUT 0xff59
1677 #define STB0899_TSTFORCEIN 0xff5a
1678 #define STB0899_TSTRS1 0xff5c
1679 #define STB0899_TSTRS2 0xff5d
1680 #define STB0899_TSTRS3 0xff53
1682 #define STB0899_INTBUFSTATUS 0xf200
1683 #define STB0899_INTBUFCTRL 0xf201
1684 #define STB0899_PCKLENUL 0xf55e
1685 #define STB0899_PCKLENLL 0xf55f
1686 #define STB0899_RSPCKLEN 0xf560
1688 /* 2 registers */
1689 #define STB0899_SYNCDCST 0xf60c
1691 /* DiSEqC */
1692 #define STB0899_DISCNTRL1 0xf0a0
1693 #define STB0899_TIMOFF (0x01 << 7)
1694 #define STB0899_OFFST_TIMOFF 7
1695 #define STB0899_WIDTH_TIMOFF 1
1696 #define STB0899_DISEQCRESET (0x01 << 6)
1697 #define STB0899_OFFST_DISEQCRESET 6
1698 #define STB0899_WIDTH_DISEQCRESET 1
1699 #define STB0899_TIMCMD (0x03 << 4)
1700 #define STB0899_OFFST_TIMCMD 4
1701 #define STB0899_WIDTH_TIMCMD 2
1702 #define STB0899_DISPRECHARGE (0x01 << 2)
1703 #define STB0899_OFFST_DISPRECHARGE 2
1704 #define STB0899_WIDTH_DISPRECHARGE 1
1705 #define STB0899_DISEQCMODE (0x03 << 0)
1706 #define STB0899_OFFST_DISEQCMODE 0
1707 #define STB0899_WIDTH_DISEQCMODE 2
1709 #define STB0899_DISCNTRL2 0xf0a1
1710 #define STB0899_RECEIVER_ON (0x01 << 7)
1711 #define STB0899_OFFST_RECEIVER_ON 7
1712 #define STB0899_WIDTH_RECEIVER_ON 1
1713 #define STB0899_IGNO_SHORT_22K (0x01 << 6)
1714 #define STB0899_OFFST_IGNO_SHORT_22K 6
1715 #define STB0899_WIDTH_IGNO_SHORT_22K 1
1716 #define STB0899_ONECHIP_TRX (0x01 << 5)
1717 #define STB0899_OFFST_ONECHIP_TRX 5
1718 #define STB0899_WIDTH_ONECHIP_TRX 1
1719 #define STB0899_EXT_ENVELOP (0x01 << 4)
1720 #define STB0899_OFFST_EXT_ENVELOP 4
1721 #define STB0899_WIDTH_EXT_ENVELOP 1
1722 #define STB0899_PIN_SELECT (0x03 << 2)
1723 #define STB0899_OFFST_PIN_SELCT 2
1724 #define STB0899_WIDTH_PIN_SELCT 2
1725 #define STB0899_IRQ_RXEND (0x01 << 1)
1726 #define STB0899_OFFST_IRQ_RXEND 1
1727 #define STB0899_WIDTH_IRQ_RXEND 1
1728 #define STB0899_IRQ_4NBYTES (0x01 << 0)
1729 #define STB0899_OFFST_IRQ_4NBYTES 0
1730 #define STB0899_WIDTH_IRQ_4NBYTES 1
1732 #define STB0899_DISRX_ST0 0xf0a4
1733 #define STB0899_RXEND (0x01 << 7)
1734 #define STB0899_OFFST_RXEND 7
1735 #define STB0899_WIDTH_RXEND 1
1736 #define STB0899_RXACTIVE (0x01 << 6)
1737 #define STB0899_OFFST_RXACTIVE 6
1738 #define STB0899_WIDTH_RXACTIVE 1
1739 #define STB0899_SHORT22K (0x01 << 5)
1740 #define STB0899_OFFST_SHORT22K 5
1741 #define STB0899_WIDTH_SHORT22K 1
1742 #define STB0899_CONTTONE (0x01 << 4)
1743 #define STB0899_OFFST_CONTTONE 4
1744 #define STB0899_WIDTH_CONTONE 1
1745 #define STB0899_4BFIFOREDY (0x01 << 3)
1746 #define STB0899_OFFST_4BFIFOREDY 3
1747 #define STB0899_WIDTH_4BFIFOREDY 1
1748 #define STB0899_FIFOEMPTY (0x01 << 2)
1749 #define STB0899_OFFST_FIFOEMPTY 2
1750 #define STB0899_WIDTH_FIFOEMPTY 1
1751 #define STB0899_ABORTTRX (0x01 << 0)
1752 #define STB0899_OFFST_ABORTTRX 0
1753 #define STB0899_WIDTH_ABORTTRX 1
1755 #define STB0899_DISRX_ST1 0xf0a5
1756 #define STB0899_RXFAIL (0x01 << 7)
1757 #define STB0899_OFFST_RXFAIL 7
1758 #define STB0899_WIDTH_RXFAIL 1
1759 #define STB0899_FIFOPFAIL (0x01 << 6)
1760 #define STB0899_OFFST_FIFOPFAIL 6
1761 #define STB0899_WIDTH_FIFOPFAIL 1
1762 #define STB0899_RXNONBYTES (0x01 << 5)
1763 #define STB0899_OFFST_RXNONBYTES 5
1764 #define STB0899_WIDTH_RXNONBYTES 1
1765 #define STB0899_FIFOOVF (0x01 << 4)
1766 #define STB0899_OFFST_FIFOOVF 4
1767 #define STB0899_WIDTH_FIFOOVF 1
1768 #define STB0899_FIFOBYTENBR (0x0f << 0)
1769 #define STB0899_OFFST_FIFOBYTENBR 0
1770 #define STB0899_WIDTH_FIFOBYTENBR 4
1772 #define STB0899_DISPARITY 0xf0a6
1774 #define STB0899_DISFIFO 0xf0a7
1776 #define STB0899_DISSTATUS 0xf0a8
1777 #define STB0899_FIFOFULL (0x01 << 6)
1778 #define STB0899_OFFST_FIFOFULL 6
1779 #define STB0899_WIDTH_FIFOFULL 1
1780 #define STB0899_TXIDLE (0x01 << 5)
1781 #define STB0899_OFFST_TXIDLE 5
1782 #define STB0899_WIDTH_TXIDLE 1
1783 #define STB0899_GAPBURST (0x01 << 4)
1784 #define STB0899_OFFST_GAPBURST 4
1785 #define STB0899_WIDTH_GAPBURST 1
1786 #define STB0899_TXFIFOBYTES (0x0f << 0)
1787 #define STB0899_OFFST_TXFIFOBYTES 0
1788 #define STB0899_WIDTH_TXFIFOBYTES 4
1789 #define STB0899_DISF22 0xf0a9
1791 #define STB0899_DISF22RX 0xf0aa
1793 /* General Purpose */
1794 #define STB0899_SYSREG 0xf101
1795 #define STB0899_ACRPRESC 0xf110
1796 #define STB0899_OFFST_RSVD2 7
1797 #define STB0899_WIDTH_RSVD2 1
1798 #define STB0899_OFFST_ACRPRESC 4
1799 #define STB0899_WIDTH_ACRPRESC 3
1800 #define STB0899_OFFST_RSVD1 3
1801 #define STB0899_WIDTH_RSVD1 1
1802 #define STB0899_OFFST_ACRPRESC2 0
1803 #define STB0899_WIDTH_ACRPRESC2 3
1805 #define STB0899_ACRDIV1 0xf111
1806 #define STB0899_ACRDIV2 0xf112
1807 #define STB0899_DACR1 0xf113
1808 #define STB0899_DACR2 0xf114
1809 #define STB0899_OUTCFG 0xf11c
1810 #define STB0899_MODECFG 0xf11d
1811 #define STB0899_NCOARSE 0xf1b3
1813 #define STB0899_SYNTCTRL 0xf1b6
1814 #define STB0899_STANDBY (0x01 << 7)
1815 #define STB0899_OFFST_STANDBY 7
1816 #define STB0899_WIDTH_STANDBY 1
1817 #define STB0899_BYPASSPLL (0x01 << 6)
1818 #define STB0899_OFFST_BYPASSPLL 6
1819 #define STB0899_WIDTH_BYPASSPLL 1
1820 #define STB0899_SEL1XRATIO (0x01 << 5)
1821 #define STB0899_OFFST_SEL1XRATIO 5
1822 #define STB0899_WIDTH_SEL1XRATIO 1
1823 #define STB0899_SELOSCI (0x01 << 1)
1824 #define STB0899_OFFST_SELOSCI 1
1825 #define STB0899_WIDTH_SELOSCI 1
1827 #define STB0899_FILTCTRL 0xf1b7
1828 #define STB0899_SYSCTRL 0xf1b8
1830 #define STB0899_STOPCLK1 0xf1c2
1831 #define STB0899_STOP_CKINTBUF108 (0x01 << 7)
1832 #define STB0899_OFFST_STOP_CKINTBUF108 7
1833 #define STB0899_WIDTH_STOP_CKINTBUF108 1
1834 #define STB0899_STOP_CKINTBUF216 (0x01 << 6)
1835 #define STB0899_OFFST_STOP_CKINTBUF216 6
1836 #define STB0899_WIDTH_STOP_CKINTBUF216 1
1837 #define STB0899_STOP_CHK8PSK (0x01 << 5)
1838 #define STB0899_OFFST_STOP_CHK8PSK 5
1839 #define STB0899_WIDTH_STOP_CHK8PSK 1
1840 #define STB0899_STOP_CKFEC108 (0x01 << 4)
1841 #define STB0899_OFFST_STOP_CKFEC108 4
1842 #define STB0899_WIDTH_STOP_CKFEC108 1
1843 #define STB0899_STOP_CKFEC216 (0x01 << 3)
1844 #define STB0899_OFFST_STOP_CKFEC216 3
1845 #define STB0899_WIDTH_STOP_CKFEC216 1
1846 #define STB0899_STOP_CKCORE216 (0x01 << 2)
1847 #define STB0899_OFFST_STOP_CKCORE216 2
1848 #define STB0899_WIDTH_STOP_CKCORE216 1
1849 #define STB0899_STOP_CKADCI108 (0x01 << 1)
1850 #define STB0899_OFFST_STOP_CKADCI108 1
1851 #define STB0899_WIDTH_STOP_CKADCI108 1
1852 #define STB0899_STOP_INVCKADCI108 (0x01 << 0)
1853 #define STB0899_OFFST_STOP_INVCKADCI108 0
1854 #define STB0899_WIDTH_STOP_INVCKADCI108 1
1856 #define STB0899_STOPCLK2 0xf1c3
1857 #define STB0899_STOP_CKS2DMD108 (0x01 << 2)
1858 #define STB0899_OFFST_STOP_CKS2DMD108 2
1859 #define STB0899_WIDTH_STOP_CKS2DMD108 1
1860 #define STB0899_STOP_CKPKDLIN108 (0x01 << 1)
1861 #define STB0899_OFFST_STOP_CKPKDLIN108 1
1862 #define STB0899_WIDTH_STOP_CKPKDLIN108 1
1863 #define STB0899_STOP_CKPKDLIN216 (0x01 << 0)
1864 #define STB0899_OFFST_STOP_CKPKDLIN216 0
1865 #define STB0899_WIDTH_STOP_CKPKDLIN216 1
1867 #define STB0899_TSTTNR1 0xf1e0
1868 #define STB0899_BYPASS_ADC (0x01 << 7)
1869 #define STB0899_OFFST_BYPASS_ADC 7
1870 #define STB0899_WIDTH_BYPASS_ADC 1
1871 #define STB0899_INVADCICKOUT (0x01 << 6)
1872 #define STB0899_OFFST_INVADCICKOUT 6
1873 #define STB0899_WIDTH_INVADCICKOUT 1
1874 #define STB0899_ADCTEST_VOLTAGE (0x03 << 4)
1875 #define STB0899_OFFST_ADCTEST_VOLTAGE 4
1876 #define STB0899_WIDTH_ADCTEST_VOLTAGE 1
1877 #define STB0899_ADC_RESET (0x01 << 3)
1878 #define STB0899_OFFST_ADC_RESET 3
1879 #define STB0899_WIDTH_ADC_RESET 1
1880 #define STB0899_TSTTNR1_2 (0x01 << 2)
1881 #define STB0899_OFFST_TSTTNR1_2 2
1882 #define STB0899_WIDTH_TSTTNR1_2 1
1883 #define STB0899_ADCPON (0x01 << 1)
1884 #define STB0899_OFFST_ADCPON 1
1885 #define STB0899_WIDTH_ADCPON 1
1886 #define STB0899_ADCIN_MODE (0x01 << 0)
1887 #define STB0899_OFFST_ADCIN_MODE 0
1888 #define STB0899_WIDTH_ADCIN_MODE 1
1890 #define STB0899_TSTTNR2 0xf1e1
1891 #define STB0899_TSTTNR2_7 (0x01 << 7)
1892 #define STB0899_OFFST_TSTTNR2_7 7
1893 #define STB0899_WIDTH_TSTTNR2_7 1
1894 #define STB0899_NOT_DISRX_WIRED (0x01 << 6)
1895 #define STB0899_OFFST_NOT_DISRX_WIRED 6
1896 #define STB0899_WIDTH_NOT_DISRX_WIRED 1
1897 #define STB0899_DISEQC_DCURRENT (0x01 << 5)
1898 #define STB0899_OFFST_DISEQC_DCURRENT 5
1899 #define STB0899_WIDTH_DISEQC_DCURRENT 1
1900 #define STB0899_DISEQC_ZCURRENT (0x01 << 4)
1901 #define STB0899_OFFST_DISEQC_ZCURRENT 4
1902 #define STB0899_WIDTH_DISEQC_ZCURRENT 1
1903 #define STB0899_DISEQC_SINC_SOURCE (0x03 << 2)
1904 #define STB0899_OFFST_DISEQC_SINC_SOURCE 2
1905 #define STB0899_WIDTH_DISEQC_SINC_SOURCE 2
1906 #define STB0899_SELIQSRC (0x03 << 0)
1907 #define STB0899_OFFST_SELIQSRC 0
1908 #define STB0899_WIDTH_SELIQSRC 2
1910 #define STB0899_TSTTNR3 0xf1e2
1912 #define STB0899_I2CCFG 0xf129
1913 #define STB0899_I2CCFGRSVD (0x0f << 4)
1914 #define STB0899_OFFST_I2CCFGRSVD 4
1915 #define STB0899_WIDTH_I2CCFGRSVD 4
1916 #define STB0899_I2CFASTMODE (0x01 << 3)
1917 #define STB0899_OFFST_I2CFASTMODE 3
1918 #define STB0899_WIDTH_I2CFASTMODE 1
1919 #define STB0899_STATUSWR (0x01 << 2)
1920 #define STB0899_OFFST_STATUSWR 2
1921 #define STB0899_WIDTH_STATUSWR 1
1922 #define STB0899_I2CADDRINC (0x03 << 0)
1923 #define STB0899_OFFST_I2CADDRINC 0
1924 #define STB0899_WIDTH_I2CADDRINC 2
1926 #define STB0899_I2CRPT 0xf12a
1927 #define STB0899_I2CTON (0x01 << 7)
1928 #define STB0899_OFFST_I2CTON 7
1929 #define STB0899_WIDTH_I2CTON 1
1930 #define STB0899_ENARPTLEVEL (0x01 << 6)
1931 #define STB0899_OFFST_ENARPTLEVEL 6
1932 #define STB0899_WIDTH_ENARPTLEVEL 2
1933 #define STB0899_SCLTDELAY (0x01 << 3)
1934 #define STB0899_OFFST_SCLTDELAY 3
1935 #define STB0899_WIDTH_SCLTDELAY 1
1936 #define STB0899_STOPENA (0x01 << 2)
1937 #define STB0899_OFFST_STOPENA 2
1938 #define STB0899_WIDTH_STOPENA 1
1939 #define STB0899_STOPSDAT2SDA (0x01 << 1)
1940 #define STB0899_OFFST_STOPSDAT2SDA 1
1941 #define STB0899_WIDTH_STOPSDAT2SDA 1
1943 #define STB0899_IOPVALUE8 0xf136
1944 #define STB0899_IOPVALUE7 0xf137
1945 #define STB0899_IOPVALUE6 0xf138
1946 #define STB0899_IOPVALUE5 0xf139
1947 #define STB0899_IOPVALUE4 0xf13a
1948 #define STB0899_IOPVALUE3 0xf13b
1949 #define STB0899_IOPVALUE2 0xf13c
1950 #define STB0899_IOPVALUE1 0xf13d
1951 #define STB0899_IOPVALUE0 0xf13e
1953 #define STB0899_GPIO00CFG 0xf140
1955 #define STB0899_GPIO01CFG 0xf141
1956 #define STB0899_GPIO02CFG 0xf142
1957 #define STB0899_GPIO03CFG 0xf143
1958 #define STB0899_GPIO04CFG 0xf144
1959 #define STB0899_GPIO05CFG 0xf145
1960 #define STB0899_GPIO06CFG 0xf146
1961 #define STB0899_GPIO07CFG 0xf147
1962 #define STB0899_GPIO08CFG 0xf148
1963 #define STB0899_GPIO09CFG 0xf149
1964 #define STB0899_GPIO10CFG 0xf14a
1965 #define STB0899_GPIO11CFG 0xf14b
1966 #define STB0899_GPIO12CFG 0xf14c
1967 #define STB0899_GPIO13CFG 0xf14d
1968 #define STB0899_GPIO14CFG 0xf14e
1969 #define STB0899_GPIO15CFG 0xf14f
1970 #define STB0899_GPIO16CFG 0xf150
1971 #define STB0899_GPIO17CFG 0xf151
1972 #define STB0899_GPIO18CFG 0xf152
1973 #define STB0899_GPIO19CFG 0xf153
1974 #define STB0899_GPIO20CFG 0xf154
1976 #define STB0899_SDATCFG 0xf155
1977 #define STB0899_SCLTCFG 0xf156
1978 #define STB0899_AGCRFCFG 0xf157
1979 #define STB0899_GPIO22 0xf158 /* AGCBB2CFG */
1980 #define STB0899_GPIO21 0xf159 /* AGCBB1CFG */
1981 #define STB0899_DIRCLKCFG 0xf15a
1982 #define STB0899_CLKOUT27CFG 0xf15b
1983 #define STB0899_STDBYCFG 0xf15c
1984 #define STB0899_CS0CFG 0xf15d
1985 #define STB0899_CS1CFG 0xf15e
1986 #define STB0899_DISEQCOCFG 0xf15f
1988 #define STB0899_GPIO32CFG 0xf160
1989 #define STB0899_GPIO33CFG 0xf161
1990 #define STB0899_GPIO34CFG 0xf162
1991 #define STB0899_GPIO35CFG 0xf163
1992 #define STB0899_GPIO36CFG 0xf164
1993 #define STB0899_GPIO37CFG 0xf165
1994 #define STB0899_GPIO38CFG 0xf166
1995 #define STB0899_GPIO39CFG 0xf167
1997 #define STB0899_IRQSTATUS_3 0xf120
1998 #define STB0899_IRQSTATUS_2 0xf121
1999 #define STB0899_IRQSTATUS_1 0xf122
2000 #define STB0899_IRQSTATUS_0 0xf123
2002 #define STB0899_IRQMSK_3 0xf124
2003 #define STB0899_IRQMSK_2 0xf125
2004 #define STB0899_IRQMSK_1 0xf126
2005 #define STB0899_IRQMSK_0 0xf127
2007 #define STB0899_IRQCFG 0xf128
2009 #define STB0899_GHOSTREG 0xf000
2011 #define STB0899_S2DEMOD 0xf3fc
2012 #define STB0899_S2FEC 0xfafc
2015 #endif