1
2
3
4
5
6
7
8
9
10
11
12 #ifndef STV0367_DEFS_H
13 #define STV0367_DEFS_H
14
15 #include "stv0367_regs.h"
16
17 #define STV0367_DEFTAB_GENERIC 0
18 #define STV0367_DEFTAB_DDB 1
19 #define STV0367_DEFTAB_MAX 2
20
21 #define STV0367_TAB_TER 0
22 #define STV0367_TAB_CAB 1
23 #define STV0367_TAB_BASE 2
24 #define STV0367_TAB_MAX 3
25
26 struct st_register {
27 u16 addr;
28 u8 value;
29 };
30
31
32 static const struct st_register def0367ter[] = {
33 {R367TER_ID, 0x60},
34 {R367TER_I2CRPT, 0xa0},
35
36 {R367TER_TOPCTRL, 0x00},
37 {R367TER_IOCFG0, 0x40},
38 {R367TER_DAC0R, 0x00},
39 {R367TER_IOCFG1, 0x00},
40 {R367TER_DAC1R, 0x00},
41 {R367TER_IOCFG2, 0x62},
42 {R367TER_SDFR, 0x00},
43 {R367TER_STATUS, 0xf8},
44 {R367TER_AUX_CLK, 0x0a},
45 {R367TER_FREESYS1, 0x00},
46 {R367TER_FREESYS2, 0x00},
47 {R367TER_FREESYS3, 0x00},
48 {R367TER_GPIO_CFG, 0x55},
49 {R367TER_GPIO_CMD, 0x00},
50 {R367TER_AGC2MAX, 0xff},
51 {R367TER_AGC2MIN, 0x00},
52 {R367TER_AGC1MAX, 0xff},
53 {R367TER_AGC1MIN, 0x00},
54 {R367TER_AGCR, 0xbc},
55 {R367TER_AGC2TH, 0x00},
56 {R367TER_AGC12C, 0x00},
57 {R367TER_AGCCTRL1, 0x85},
58 {R367TER_AGCCTRL2, 0x1f},
59 {R367TER_AGC1VAL1, 0x00},
60 {R367TER_AGC1VAL2, 0x00},
61 {R367TER_AGC2VAL1, 0x6f},
62 {R367TER_AGC2VAL2, 0x05},
63 {R367TER_AGC2PGA, 0x00},
64 {R367TER_OVF_RATE1, 0x00},
65 {R367TER_OVF_RATE2, 0x00},
66 {R367TER_GAIN_SRC1, 0xaa},
67 {R367TER_GAIN_SRC2, 0xd6},
68 {R367TER_INC_DEROT1, 0x55},
69 {R367TER_INC_DEROT2, 0x55},
70 {R367TER_PPM_CPAMP_DIR, 0x2c},
71 {R367TER_PPM_CPAMP_INV, 0x00},
72 {R367TER_FREESTFE_1, 0x00},
73 {R367TER_FREESTFE_2, 0x1c},
74 {R367TER_DCOFFSET, 0x00},
75 {R367TER_EN_PROCESS, 0x05},
76 {R367TER_SDI_SMOOTHER, 0x80},
77 {R367TER_FE_LOOP_OPEN, 0x1c},
78 {R367TER_FREQOFF1, 0x00},
79 {R367TER_FREQOFF2, 0x00},
80 {R367TER_FREQOFF3, 0x00},
81 {R367TER_TIMOFF1, 0x00},
82 {R367TER_TIMOFF2, 0x00},
83 {R367TER_EPQ, 0x02},
84 {R367TER_EPQAUTO, 0x01},
85 {R367TER_SYR_UPDATE, 0xf5},
86 {R367TER_CHPFREE, 0x00},
87 {R367TER_PPM_STATE_MAC, 0x23},
88 {R367TER_INR_THRESHOLD, 0xff},
89 {R367TER_EPQ_TPS_ID_CELL, 0xf9},
90 {R367TER_EPQ_CFG, 0x00},
91 {R367TER_EPQ_STATUS, 0x01},
92 {R367TER_AUTORELOCK, 0x81},
93 {R367TER_BER_THR_VMSB, 0x00},
94 {R367TER_BER_THR_MSB, 0x00},
95 {R367TER_BER_THR_LSB, 0x00},
96 {R367TER_CCD, 0x83},
97 {R367TER_SPECTR_CFG, 0x00},
98 {R367TER_CHC_DUMMY, 0x18},
99 {R367TER_INC_CTL, 0x88},
100 {R367TER_INCTHRES_COR1, 0xb4},
101 {R367TER_INCTHRES_COR2, 0x96},
102 {R367TER_INCTHRES_DET1, 0x0e},
103 {R367TER_INCTHRES_DET2, 0x11},
104 {R367TER_IIR_CELLNB, 0x8d},
105 {R367TER_IIRCX_COEFF1_MSB, 0x00},
106 {R367TER_IIRCX_COEFF1_LSB, 0x00},
107 {R367TER_IIRCX_COEFF2_MSB, 0x09},
108 {R367TER_IIRCX_COEFF2_LSB, 0x18},
109 {R367TER_IIRCX_COEFF3_MSB, 0x14},
110 {R367TER_IIRCX_COEFF3_LSB, 0x9c},
111 {R367TER_IIRCX_COEFF4_MSB, 0x00},
112 {R367TER_IIRCX_COEFF4_LSB, 0x00},
113 {R367TER_IIRCX_COEFF5_MSB, 0x36},
114 {R367TER_IIRCX_COEFF5_LSB, 0x42},
115 {R367TER_FEPATH_CFG, 0x00},
116 {R367TER_PMC1_FUNC, 0x65},
117 {R367TER_PMC1_FOR, 0x00},
118 {R367TER_PMC2_FUNC, 0x00},
119 {R367TER_STATUS_ERR_DA, 0xe0},
120 {R367TER_DIG_AGC_R, 0xfe},
121 {R367TER_COMAGC_TARMSB, 0x0b},
122 {R367TER_COM_AGC_TAR_ENMODE, 0x41},
123 {R367TER_COM_AGC_CFG, 0x3e},
124 {R367TER_COM_AGC_GAIN1, 0x39},
125 {R367TER_AUT_AGC_TARGETMSB, 0x0b},
126 {R367TER_LOCK_DET_MSB, 0x01},
127 {R367TER_AGCTAR_LOCK_LSBS, 0x40},
128 {R367TER_AUT_GAIN_EN, 0xf4},
129 {R367TER_AUT_CFG, 0xf0},
130 {R367TER_LOCKN, 0x23},
131 {R367TER_INT_X_3, 0x00},
132 {R367TER_INT_X_2, 0x03},
133 {R367TER_INT_X_1, 0x8d},
134 {R367TER_INT_X_0, 0xa0},
135 {R367TER_MIN_ERRX_MSB, 0x00},
136 {R367TER_COR_CTL, 0x23},
137 {R367TER_COR_STAT, 0xf6},
138 {R367TER_COR_INTEN, 0x00},
139 {R367TER_COR_INTSTAT, 0x3f},
140 {R367TER_COR_MODEGUARD, 0x03},
141 {R367TER_AGC_CTL, 0x08},
142 {R367TER_AGC_MANUAL1, 0x00},
143 {R367TER_AGC_MANUAL2, 0x00},
144 {R367TER_AGC_TARG, 0x16},
145 {R367TER_AGC_GAIN1, 0x53},
146 {R367TER_AGC_GAIN2, 0x1d},
147 {R367TER_RESERVED_1, 0x00},
148 {R367TER_RESERVED_2, 0x00},
149 {R367TER_RESERVED_3, 0x00},
150 {R367TER_CAS_CTL, 0x44},
151 {R367TER_CAS_FREQ, 0xb3},
152 {R367TER_CAS_DAGCGAIN, 0x12},
153 {R367TER_SYR_CTL, 0x04},
154 {R367TER_SYR_STAT, 0x10},
155 {R367TER_SYR_NCO1, 0x00},
156 {R367TER_SYR_NCO2, 0x00},
157 {R367TER_SYR_OFFSET1, 0x00},
158 {R367TER_SYR_OFFSET2, 0x00},
159 {R367TER_FFT_CTL, 0x00},
160 {R367TER_SCR_CTL, 0x70},
161 {R367TER_PPM_CTL1, 0xf8},
162 {R367TER_TRL_CTL, 0x14},
163 {R367TER_TRL_NOMRATE1, 0xae},
164 {R367TER_TRL_NOMRATE2, 0x56},
165 {R367TER_TRL_TIME1, 0x1d},
166 {R367TER_TRL_TIME2, 0xfc},
167 {R367TER_CRL_CTL, 0x24},
168 {R367TER_CRL_FREQ1, 0xad},
169 {R367TER_CRL_FREQ2, 0x9d},
170 {R367TER_CRL_FREQ3, 0xff},
171 {R367TER_CHC_CTL, 0x01},
172 {R367TER_CHC_SNR, 0xf0},
173 {R367TER_BDI_CTL, 0x00},
174 {R367TER_DMP_CTL, 0x00},
175 {R367TER_TPS_RCVD1, 0x30},
176 {R367TER_TPS_RCVD2, 0x02},
177 {R367TER_TPS_RCVD3, 0x01},
178 {R367TER_TPS_RCVD4, 0x00},
179 {R367TER_TPS_ID_CELL1, 0x00},
180 {R367TER_TPS_ID_CELL2, 0x00},
181 {R367TER_TPS_RCVD5_SET1, 0x02},
182 {R367TER_TPS_SET2, 0x02},
183 {R367TER_TPS_SET3, 0x01},
184 {R367TER_TPS_CTL, 0x00},
185 {R367TER_CTL_FFTOSNUM, 0x34},
186 {R367TER_TESTSELECT, 0x09},
187 {R367TER_MSC_REV, 0x0a},
188 {R367TER_PIR_CTL, 0x00},
189 {R367TER_SNR_CARRIER1, 0xa1},
190 {R367TER_SNR_CARRIER2, 0x9a},
191 {R367TER_PPM_CPAMP, 0x2c},
192 {R367TER_TSM_AP0, 0x00},
193 {R367TER_TSM_AP1, 0x00},
194 {R367TER_TSM_AP2, 0x00},
195 {R367TER_TSM_AP3, 0x00},
196 {R367TER_TSM_AP4, 0x00},
197 {R367TER_TSM_AP5, 0x00},
198 {R367TER_TSM_AP6, 0x00},
199 {R367TER_TSM_AP7, 0x00},
200 {R367TER_TSTRES, 0x00},
201 {R367TER_ANACTRL, 0x0D},
202 {R367TER_TSTBUS, 0x00},
203 {R367TER_TSTRATE, 0x00},
204 {R367TER_CONSTMODE, 0x01},
205 {R367TER_CONSTCARR1, 0x00},
206 {R367TER_CONSTCARR2, 0x00},
207 {R367TER_ICONSTEL, 0x0a},
208 {R367TER_QCONSTEL, 0x15},
209 {R367TER_TSTBISTRES0, 0x00},
210 {R367TER_TSTBISTRES1, 0x00},
211 {R367TER_TSTBISTRES2, 0x28},
212 {R367TER_TSTBISTRES3, 0x00},
213 {R367TER_RF_AGC1, 0xff},
214 {R367TER_RF_AGC2, 0x83},
215 {R367TER_ANADIGCTRL, 0x19},
216 {R367TER_PLLMDIV, 0x01},
217 {R367TER_PLLNDIV, 0x06},
218 {R367TER_PLLSETUP, 0x18},
219 {R367TER_DUAL_AD12, 0x0C},
220 {R367TER_TSTBIST, 0x00},
221 {R367TER_PAD_COMP_CTRL, 0x00},
222 {R367TER_PAD_COMP_WR, 0x00},
223 {R367TER_PAD_COMP_RD, 0xe0},
224 {R367TER_SYR_TARGET_FFTADJT_MSB, 0x00},
225 {R367TER_SYR_TARGET_FFTADJT_LSB, 0x00},
226 {R367TER_SYR_TARGET_CHCADJT_MSB, 0x00},
227 {R367TER_SYR_TARGET_CHCADJT_LSB, 0x00},
228 {R367TER_SYR_FLAG, 0x00},
229 {R367TER_CRL_TARGET1, 0x00},
230 {R367TER_CRL_TARGET2, 0x00},
231 {R367TER_CRL_TARGET3, 0x00},
232 {R367TER_CRL_TARGET4, 0x00},
233 {R367TER_CRL_FLAG, 0x00},
234 {R367TER_TRL_TARGET1, 0x00},
235 {R367TER_TRL_TARGET2, 0x00},
236 {R367TER_TRL_CHC, 0x00},
237 {R367TER_CHC_SNR_TARG, 0x00},
238 {R367TER_TOP_TRACK, 0x00},
239 {R367TER_TRACKER_FREE1, 0x00},
240 {R367TER_ERROR_CRL1, 0x00},
241 {R367TER_ERROR_CRL2, 0x00},
242 {R367TER_ERROR_CRL3, 0x00},
243 {R367TER_ERROR_CRL4, 0x00},
244 {R367TER_DEC_NCO1, 0x2c},
245 {R367TER_DEC_NCO2, 0x0f},
246 {R367TER_DEC_NCO3, 0x20},
247 {R367TER_SNR, 0xf1},
248 {R367TER_SYR_FFTADJ1, 0x00},
249 {R367TER_SYR_FFTADJ2, 0x00},
250 {R367TER_SYR_CHCADJ1, 0x00},
251 {R367TER_SYR_CHCADJ2, 0x00},
252 {R367TER_SYR_OFF, 0x00},
253 {R367TER_PPM_OFFSET1, 0x00},
254 {R367TER_PPM_OFFSET2, 0x03},
255 {R367TER_TRACKER_FREE2, 0x00},
256 {R367TER_DEBG_LT10, 0x00},
257 {R367TER_DEBG_LT11, 0x00},
258 {R367TER_DEBG_LT12, 0x00},
259 {R367TER_DEBG_LT13, 0x00},
260 {R367TER_DEBG_LT14, 0x00},
261 {R367TER_DEBG_LT15, 0x00},
262 {R367TER_DEBG_LT16, 0x00},
263 {R367TER_DEBG_LT17, 0x00},
264 {R367TER_DEBG_LT18, 0x00},
265 {R367TER_DEBG_LT19, 0x00},
266 {R367TER_DEBG_LT1A, 0x00},
267 {R367TER_DEBG_LT1B, 0x00},
268 {R367TER_DEBG_LT1C, 0x00},
269 {R367TER_DEBG_LT1D, 0x00},
270 {R367TER_DEBG_LT1E, 0x00},
271 {R367TER_DEBG_LT1F, 0x00},
272 {R367TER_RCCFGH, 0x00},
273 {R367TER_RCCFGM, 0x00},
274 {R367TER_RCCFGL, 0x00},
275 {R367TER_RCINSDELH, 0x00},
276 {R367TER_RCINSDELM, 0x00},
277 {R367TER_RCINSDELL, 0x00},
278 {R367TER_RCSTATUS, 0x00},
279 {R367TER_RCSPEED, 0x6f},
280 {R367TER_RCDEBUGM, 0xe7},
281 {R367TER_RCDEBUGL, 0x9b},
282 {R367TER_RCOBSCFG, 0x00},
283 {R367TER_RCOBSM, 0x00},
284 {R367TER_RCOBSL, 0x00},
285 {R367TER_RCFECSPY, 0x00},
286 {R367TER_RCFSPYCFG, 0x00},
287 {R367TER_RCFSPYDATA, 0x00},
288 {R367TER_RCFSPYOUT, 0x00},
289 {R367TER_RCFSTATUS, 0x00},
290 {R367TER_RCFGOODPACK, 0x00},
291 {R367TER_RCFPACKCNT, 0x00},
292 {R367TER_RCFSPYMISC, 0x00},
293 {R367TER_RCFBERCPT4, 0x00},
294 {R367TER_RCFBERCPT3, 0x00},
295 {R367TER_RCFBERCPT2, 0x00},
296 {R367TER_RCFBERCPT1, 0x00},
297 {R367TER_RCFBERCPT0, 0x00},
298 {R367TER_RCFBERERR2, 0x00},
299 {R367TER_RCFBERERR1, 0x00},
300 {R367TER_RCFBERERR0, 0x00},
301 {R367TER_RCFSTATESM, 0x00},
302 {R367TER_RCFSTATESL, 0x00},
303 {R367TER_RCFSPYBER, 0x00},
304 {R367TER_RCFSPYDISTM, 0x00},
305 {R367TER_RCFSPYDISTL, 0x00},
306 {R367TER_RCFSPYOBS7, 0x00},
307 {R367TER_RCFSPYOBS6, 0x00},
308 {R367TER_RCFSPYOBS5, 0x00},
309 {R367TER_RCFSPYOBS4, 0x00},
310 {R367TER_RCFSPYOBS3, 0x00},
311 {R367TER_RCFSPYOBS2, 0x00},
312 {R367TER_RCFSPYOBS1, 0x00},
313 {R367TER_RCFSPYOBS0, 0x00},
314 {R367TER_TSGENERAL, 0x00},
315 {R367TER_RC1SPEED, 0x6f},
316 {R367TER_TSGSTATUS, 0x18},
317 {R367TER_FECM, 0x01},
318 {R367TER_VTH12, 0xff},
319 {R367TER_VTH23, 0xa1},
320 {R367TER_VTH34, 0x64},
321 {R367TER_VTH56, 0x40},
322 {R367TER_VTH67, 0x00},
323 {R367TER_VTH78, 0x2c},
324 {R367TER_VITCURPUN, 0x12},
325 {R367TER_VERROR, 0x01},
326 {R367TER_PRVIT, 0x3f},
327 {R367TER_VAVSRVIT, 0x00},
328 {R367TER_VSTATUSVIT, 0xbd},
329 {R367TER_VTHINUSE, 0xa1},
330 {R367TER_KDIV12, 0x20},
331 {R367TER_KDIV23, 0x40},
332 {R367TER_KDIV34, 0x20},
333 {R367TER_KDIV56, 0x30},
334 {R367TER_KDIV67, 0x00},
335 {R367TER_KDIV78, 0x30},
336 {R367TER_SIGPOWER, 0x54},
337 {R367TER_DEMAPVIT, 0x40},
338 {R367TER_VITSCALE, 0x00},
339 {R367TER_FFEC1PRG, 0x00},
340 {R367TER_FVITCURPUN, 0x12},
341 {R367TER_FVERROR, 0x01},
342 {R367TER_FVSTATUSVIT, 0xbd},
343 {R367TER_DEBUG_LT1, 0x00},
344 {R367TER_DEBUG_LT2, 0x00},
345 {R367TER_DEBUG_LT3, 0x00},
346 {R367TER_TSTSFMET, 0x00},
347 {R367TER_SELOUT, 0x00},
348 {R367TER_TSYNC, 0x00},
349 {R367TER_TSTERR, 0x00},
350 {R367TER_TSFSYNC, 0x00},
351 {R367TER_TSTSFERR, 0x00},
352 {R367TER_TSTTSSF1, 0x01},
353 {R367TER_TSTTSSF2, 0x1f},
354 {R367TER_TSTTSSF3, 0x00},
355 {R367TER_TSTTS1, 0x00},
356 {R367TER_TSTTS2, 0x1f},
357 {R367TER_TSTTS3, 0x01},
358 {R367TER_TSTTS4, 0x00},
359 {R367TER_TSTTSRC, 0x00},
360 {R367TER_TSTTSRS, 0x00},
361 {R367TER_TSSTATEM, 0xb0},
362 {R367TER_TSSTATEL, 0x40},
363 {R367TER_TSCFGH, 0xC0},
364 {R367TER_TSCFGM, 0xc0},
365 {R367TER_TSCFGL, 0x20},
366 {R367TER_TSSYNC, 0x00},
367 {R367TER_TSINSDELH, 0x00},
368 {R367TER_TSINSDELM, 0x00},
369 {R367TER_TSINSDELL, 0x00},
370 {R367TER_TSDIVN, 0x03},
371 {R367TER_TSDIVPM, 0x00},
372 {R367TER_TSDIVPL, 0x00},
373 {R367TER_TSDIVQM, 0x00},
374 {R367TER_TSDIVQL, 0x00},
375 {R367TER_TSDILSTKM, 0x00},
376 {R367TER_TSDILSTKL, 0x00},
377 {R367TER_TSSPEED, 0x40},
378 {R367TER_TSSTATUS, 0x81},
379 {R367TER_TSSTATUS2, 0x6a},
380 {R367TER_TSBITRATEM, 0x0f},
381 {R367TER_TSBITRATEL, 0xc6},
382 {R367TER_TSPACKLENM, 0x00},
383 {R367TER_TSPACKLENL, 0xfc},
384 {R367TER_TSBLOCLENM, 0x0a},
385 {R367TER_TSBLOCLENL, 0x80},
386 {R367TER_TSDLYH, 0x90},
387 {R367TER_TSDLYM, 0x68},
388 {R367TER_TSDLYL, 0x01},
389 {R367TER_TSNPDAV, 0x00},
390 {R367TER_TSBUFSTATH, 0x00},
391 {R367TER_TSBUFSTATM, 0x00},
392 {R367TER_TSBUFSTATL, 0x00},
393 {R367TER_TSDEBUGM, 0xcf},
394 {R367TER_TSDEBUGL, 0x1e},
395 {R367TER_TSDLYSETH, 0x00},
396 {R367TER_TSDLYSETM, 0x68},
397 {R367TER_TSDLYSETL, 0x00},
398 {R367TER_TSOBSCFG, 0x00},
399 {R367TER_TSOBSM, 0x47},
400 {R367TER_TSOBSL, 0x1f},
401 {R367TER_ERRCTRL1, 0x95},
402 {R367TER_ERRCNT1H, 0x80},
403 {R367TER_ERRCNT1M, 0x00},
404 {R367TER_ERRCNT1L, 0x00},
405 {R367TER_ERRCTRL2, 0x95},
406 {R367TER_ERRCNT2H, 0x00},
407 {R367TER_ERRCNT2M, 0x00},
408 {R367TER_ERRCNT2L, 0x00},
409 {R367TER_FECSPY, 0x88},
410 {R367TER_FSPYCFG, 0x2c},
411 {R367TER_FSPYDATA, 0x3a},
412 {R367TER_FSPYOUT, 0x06},
413 {R367TER_FSTATUS, 0x61},
414 {R367TER_FGOODPACK, 0xff},
415 {R367TER_FPACKCNT, 0xff},
416 {R367TER_FSPYMISC, 0x66},
417 {R367TER_FBERCPT4, 0x00},
418 {R367TER_FBERCPT3, 0x00},
419 {R367TER_FBERCPT2, 0x36},
420 {R367TER_FBERCPT1, 0x36},
421 {R367TER_FBERCPT0, 0x14},
422 {R367TER_FBERERR2, 0x00},
423 {R367TER_FBERERR1, 0x03},
424 {R367TER_FBERERR0, 0x28},
425 {R367TER_FSTATESM, 0x00},
426 {R367TER_FSTATESL, 0x02},
427 {R367TER_FSPYBER, 0x00},
428 {R367TER_FSPYDISTM, 0x01},
429 {R367TER_FSPYDISTL, 0x9f},
430 {R367TER_FSPYOBS7, 0xc9},
431 {R367TER_FSPYOBS6, 0x99},
432 {R367TER_FSPYOBS5, 0x08},
433 {R367TER_FSPYOBS4, 0xec},
434 {R367TER_FSPYOBS3, 0x01},
435 {R367TER_FSPYOBS2, 0x0f},
436 {R367TER_FSPYOBS1, 0xf5},
437 {R367TER_FSPYOBS0, 0x08},
438 {R367TER_SFDEMAP, 0x40},
439 {R367TER_SFERROR, 0x00},
440 {R367TER_SFAVSR, 0x30},
441 {R367TER_SFECSTATUS, 0xcc},
442 {R367TER_SFKDIV12, 0x20},
443 {R367TER_SFKDIV23, 0x40},
444 {R367TER_SFKDIV34, 0x20},
445 {R367TER_SFKDIV56, 0x20},
446 {R367TER_SFKDIV67, 0x00},
447 {R367TER_SFKDIV78, 0x20},
448 {R367TER_SFDILSTKM, 0x00},
449 {R367TER_SFDILSTKL, 0x00},
450 {R367TER_SFSTATUS, 0xb5},
451 {R367TER_SFDLYH, 0x90},
452 {R367TER_SFDLYM, 0x60},
453 {R367TER_SFDLYL, 0x01},
454 {R367TER_SFDLYSETH, 0xc0},
455 {R367TER_SFDLYSETM, 0x60},
456 {R367TER_SFDLYSETL, 0x00},
457 {R367TER_SFOBSCFG, 0x00},
458 {R367TER_SFOBSM, 0x47},
459 {R367TER_SFOBSL, 0x05},
460 {R367TER_SFECINFO, 0x40},
461 {R367TER_SFERRCTRL, 0x74},
462 {R367TER_SFERRCNTH, 0x80},
463 {R367TER_SFERRCNTM, 0x00},
464 {R367TER_SFERRCNTL, 0x00},
465 {R367TER_SYMBRATEM, 0x2f},
466 {R367TER_SYMBRATEL, 0x50},
467 {R367TER_SYMBSTATUS, 0x7f},
468 {R367TER_SYMBCFG, 0x00},
469 {R367TER_SYMBFIFOM, 0xf4},
470 {R367TER_SYMBFIFOL, 0x0d},
471 {R367TER_SYMBOFFSM, 0xf0},
472 {R367TER_SYMBOFFSL, 0x2d},
473 {R367TER_DEBUG_LT4, 0x00},
474 {R367TER_DEBUG_LT5, 0x00},
475 {R367TER_DEBUG_LT6, 0x00},
476 {R367TER_DEBUG_LT7, 0x00},
477 {R367TER_DEBUG_LT8, 0x00},
478 {R367TER_DEBUG_LT9, 0x00},
479 {0x0000, 0x00},
480 };
481
482 static const struct st_register def0367cab[] = {
483 {R367CAB_ID, 0x60},
484 {R367CAB_I2CRPT, 0xa0},
485
486 {R367CAB_TOPCTRL, 0x10},
487 {R367CAB_IOCFG0, 0x80},
488 {R367CAB_DAC0R, 0x00},
489 {R367CAB_IOCFG1, 0x00},
490 {R367CAB_DAC1R, 0x00},
491 {R367CAB_IOCFG2, 0x00},
492 {R367CAB_SDFR, 0x00},
493 {R367CAB_AUX_CLK, 0x00},
494 {R367CAB_FREESYS1, 0x00},
495 {R367CAB_FREESYS2, 0x00},
496 {R367CAB_FREESYS3, 0x00},
497 {R367CAB_GPIO_CFG, 0x55},
498 {R367CAB_GPIO_CMD, 0x01},
499 {R367CAB_TSTRES, 0x00},
500 {R367CAB_ANACTRL, 0x0d},
501 {R367CAB_TSTBUS, 0x00},
502 {R367CAB_RF_AGC1, 0xea},
503 {R367CAB_RF_AGC2, 0x82},
504 {R367CAB_ANADIGCTRL, 0x0b},
505 {R367CAB_PLLMDIV, 0x01},
506 {R367CAB_PLLNDIV, 0x08},
507 {R367CAB_PLLSETUP, 0x18},
508 {R367CAB_DUAL_AD12, 0x0C},
509 {R367CAB_TSTBIST, 0x00},
510 {R367CAB_CTRL_1, 0x00},
511 {R367CAB_CTRL_2, 0x03},
512 {R367CAB_IT_STATUS1, 0x2b},
513 {R367CAB_IT_STATUS2, 0x08},
514 {R367CAB_IT_EN1, 0x00},
515 {R367CAB_IT_EN2, 0x00},
516 {R367CAB_CTRL_STATUS, 0x04},
517 {R367CAB_TEST_CTL, 0x00},
518 {R367CAB_AGC_CTL, 0x73},
519 {R367CAB_AGC_IF_CFG, 0x50},
520 {R367CAB_AGC_RF_CFG, 0x00},
521 {R367CAB_AGC_PWM_CFG, 0x03},
522 {R367CAB_AGC_PWR_REF_L, 0x5a},
523 {R367CAB_AGC_PWR_REF_H, 0x00},
524 {R367CAB_AGC_RF_TH_L, 0xff},
525 {R367CAB_AGC_RF_TH_H, 0x07},
526 {R367CAB_AGC_IF_LTH_L, 0x00},
527 {R367CAB_AGC_IF_LTH_H, 0x08},
528 {R367CAB_AGC_IF_HTH_L, 0xff},
529 {R367CAB_AGC_IF_HTH_H, 0x07},
530 {R367CAB_AGC_PWR_RD_L, 0xa0},
531 {R367CAB_AGC_PWR_RD_M, 0xe9},
532 {R367CAB_AGC_PWR_RD_H, 0x03},
533 {R367CAB_AGC_PWM_IFCMD_L, 0xe4},
534 {R367CAB_AGC_PWM_IFCMD_H, 0x00},
535 {R367CAB_AGC_PWM_RFCMD_L, 0xff},
536 {R367CAB_AGC_PWM_RFCMD_H, 0x07},
537 {R367CAB_IQDEM_CFG, 0x01},
538 {R367CAB_MIX_NCO_LL, 0x22},
539 {R367CAB_MIX_NCO_HL, 0x96},
540 {R367CAB_MIX_NCO_HH, 0x55},
541 {R367CAB_SRC_NCO_LL, 0xff},
542 {R367CAB_SRC_NCO_LH, 0x0c},
543 {R367CAB_SRC_NCO_HL, 0xf5},
544 {R367CAB_SRC_NCO_HH, 0x20},
545 {R367CAB_IQDEM_GAIN_SRC_L, 0x06},
546 {R367CAB_IQDEM_GAIN_SRC_H, 0x01},
547 {R367CAB_IQDEM_DCRM_CFG_LL, 0xfe},
548 {R367CAB_IQDEM_DCRM_CFG_LH, 0xff},
549 {R367CAB_IQDEM_DCRM_CFG_HL, 0x0f},
550 {R367CAB_IQDEM_DCRM_CFG_HH, 0x00},
551 {R367CAB_IQDEM_ADJ_COEFF0, 0x34},
552 {R367CAB_IQDEM_ADJ_COEFF1, 0xae},
553 {R367CAB_IQDEM_ADJ_COEFF2, 0x46},
554 {R367CAB_IQDEM_ADJ_COEFF3, 0x77},
555 {R367CAB_IQDEM_ADJ_COEFF4, 0x96},
556 {R367CAB_IQDEM_ADJ_COEFF5, 0x69},
557 {R367CAB_IQDEM_ADJ_COEFF6, 0xc7},
558 {R367CAB_IQDEM_ADJ_COEFF7, 0x01},
559 {R367CAB_IQDEM_ADJ_EN, 0x04},
560 {R367CAB_IQDEM_ADJ_AGC_REF, 0x94},
561 {R367CAB_ALLPASSFILT1, 0xc9},
562 {R367CAB_ALLPASSFILT2, 0x2d},
563 {R367CAB_ALLPASSFILT3, 0xa3},
564 {R367CAB_ALLPASSFILT4, 0xfb},
565 {R367CAB_ALLPASSFILT5, 0xf6},
566 {R367CAB_ALLPASSFILT6, 0x45},
567 {R367CAB_ALLPASSFILT7, 0x6f},
568 {R367CAB_ALLPASSFILT8, 0x7e},
569 {R367CAB_ALLPASSFILT9, 0x05},
570 {R367CAB_ALLPASSFILT10, 0x0a},
571 {R367CAB_ALLPASSFILT11, 0x51},
572 {R367CAB_TRL_AGC_CFG, 0x20},
573 {R367CAB_TRL_LPF_CFG, 0x28},
574 {R367CAB_TRL_LPF_ACQ_GAIN, 0x44},
575 {R367CAB_TRL_LPF_TRK_GAIN, 0x22},
576 {R367CAB_TRL_LPF_OUT_GAIN, 0x03},
577 {R367CAB_TRL_LOCKDET_LTH, 0x04},
578 {R367CAB_TRL_LOCKDET_HTH, 0x11},
579 {R367CAB_TRL_LOCKDET_TRGVAL, 0x20},
580 {R367CAB_IQ_QAM, 0x01},
581 {R367CAB_FSM_STATE, 0xa0},
582 {R367CAB_FSM_CTL, 0x08},
583 {R367CAB_FSM_STS, 0x0c},
584 {R367CAB_FSM_SNR0_HTH, 0x00},
585 {R367CAB_FSM_SNR1_HTH, 0x00},
586 {R367CAB_FSM_SNR2_HTH, 0x23},
587 {R367CAB_FSM_SNR0_LTH, 0x00},
588 {R367CAB_FSM_SNR1_LTH, 0x00},
589 {R367CAB_FSM_EQA1_HTH, 0x00},
590 {R367CAB_FSM_TEMPO, 0x32},
591 {R367CAB_FSM_CONFIG, 0x03},
592 {R367CAB_EQU_I_TESTTAP_L, 0x11},
593 {R367CAB_EQU_I_TESTTAP_M, 0x00},
594 {R367CAB_EQU_I_TESTTAP_H, 0x00},
595 {R367CAB_EQU_TESTAP_CFG, 0x00},
596 {R367CAB_EQU_Q_TESTTAP_L, 0xff},
597 {R367CAB_EQU_Q_TESTTAP_M, 0x00},
598 {R367CAB_EQU_Q_TESTTAP_H, 0x00},
599 {R367CAB_EQU_TAP_CTRL, 0x00},
600 {R367CAB_EQU_CTR_CRL_CONTROL_L, 0x11},
601 {R367CAB_EQU_CTR_CRL_CONTROL_H, 0x05},
602 {R367CAB_EQU_CTR_HIPOW_L, 0x00},
603 {R367CAB_EQU_CTR_HIPOW_H, 0x00},
604 {R367CAB_EQU_I_EQU_LO, 0xef},
605 {R367CAB_EQU_I_EQU_HI, 0x00},
606 {R367CAB_EQU_Q_EQU_LO, 0xee},
607 {R367CAB_EQU_Q_EQU_HI, 0x00},
608 {R367CAB_EQU_MAPPER, 0xc5},
609 {R367CAB_EQU_SWEEP_RATE, 0x80},
610 {R367CAB_EQU_SNR_LO, 0x64},
611 {R367CAB_EQU_SNR_HI, 0x03},
612 {R367CAB_EQU_GAMMA_LO, 0x00},
613 {R367CAB_EQU_GAMMA_HI, 0x00},
614 {R367CAB_EQU_ERR_GAIN, 0x36},
615 {R367CAB_EQU_RADIUS, 0xaa},
616 {R367CAB_EQU_FFE_MAINTAP, 0x00},
617 {R367CAB_EQU_FFE_LEAKAGE, 0x63},
618 {R367CAB_EQU_FFE_MAINTAP_POS, 0xdf},
619 {R367CAB_EQU_GAIN_WIDE, 0x88},
620 {R367CAB_EQU_GAIN_NARROW, 0x41},
621 {R367CAB_EQU_CTR_LPF_GAIN, 0xd1},
622 {R367CAB_EQU_CRL_LPF_GAIN, 0xa7},
623 {R367CAB_EQU_GLOBAL_GAIN, 0x06},
624 {R367CAB_EQU_CRL_LD_SEN, 0x85},
625 {R367CAB_EQU_CRL_LD_VAL, 0xe2},
626 {R367CAB_EQU_CRL_TFR, 0x20},
627 {R367CAB_EQU_CRL_BISTH_LO, 0x00},
628 {R367CAB_EQU_CRL_BISTH_HI, 0x00},
629 {R367CAB_EQU_SWEEP_RANGE_LO, 0x00},
630 {R367CAB_EQU_SWEEP_RANGE_HI, 0x00},
631 {R367CAB_EQU_CRL_LIMITER, 0x40},
632 {R367CAB_EQU_MODULUS_MAP, 0x90},
633 {R367CAB_EQU_PNT_GAIN, 0xa7},
634 {R367CAB_FEC_AC_CTR_0, 0x16},
635 {R367CAB_FEC_AC_CTR_1, 0x0b},
636 {R367CAB_FEC_AC_CTR_2, 0x88},
637 {R367CAB_FEC_AC_CTR_3, 0x02},
638 {R367CAB_FEC_STATUS, 0x12},
639 {R367CAB_RS_COUNTER_0, 0x7d},
640 {R367CAB_RS_COUNTER_1, 0xd0},
641 {R367CAB_RS_COUNTER_2, 0x19},
642 {R367CAB_RS_COUNTER_3, 0x0b},
643 {R367CAB_RS_COUNTER_4, 0xa3},
644 {R367CAB_RS_COUNTER_5, 0x00},
645 {R367CAB_BERT_0, 0x01},
646 {R367CAB_BERT_1, 0x25},
647 {R367CAB_BERT_2, 0x41},
648 {R367CAB_BERT_3, 0x39},
649 {R367CAB_OUTFORMAT_0, 0xc2},
650 {R367CAB_OUTFORMAT_1, 0x22},
651 {R367CAB_SMOOTHER_2, 0x28},
652 {R367CAB_TSMF_CTRL_0, 0x01},
653 {R367CAB_TSMF_CTRL_1, 0xc6},
654 {R367CAB_TSMF_CTRL_3, 0x43},
655 {R367CAB_TS_ON_ID_0, 0x00},
656 {R367CAB_TS_ON_ID_1, 0x00},
657 {R367CAB_TS_ON_ID_2, 0x00},
658 {R367CAB_TS_ON_ID_3, 0x00},
659 {R367CAB_RE_STATUS_0, 0x00},
660 {R367CAB_RE_STATUS_1, 0x00},
661 {R367CAB_RE_STATUS_2, 0x00},
662 {R367CAB_RE_STATUS_3, 0x00},
663 {R367CAB_TS_STATUS_0, 0x00},
664 {R367CAB_TS_STATUS_1, 0x00},
665 {R367CAB_TS_STATUS_2, 0xa0},
666 {R367CAB_TS_STATUS_3, 0x00},
667 {R367CAB_T_O_ID_0, 0x00},
668 {R367CAB_T_O_ID_1, 0x00},
669 {R367CAB_T_O_ID_2, 0x00},
670 {R367CAB_T_O_ID_3, 0x00},
671 {0x0000, 0x00},
672 };
673
674
675
676
677
678
679
680 static const struct st_register def0367dd_ofdm[] = {
681 {R367TER_AGC2MAX, 0xff},
682 {R367TER_AGC2MIN, 0x00},
683 {R367TER_AGC1MAX, 0xff},
684 {R367TER_AGC1MIN, 0x00},
685 {R367TER_AGCR, 0xbc},
686 {R367TER_AGC2TH, 0x00},
687 {R367TER_AGCCTRL1, 0x85},
688 {R367TER_AGCCTRL2, 0x1f},
689 {R367TER_AGC1VAL1, 0x00},
690 {R367TER_AGC1VAL2, 0x00},
691 {R367TER_AGC2VAL1, 0x6f},
692 {R367TER_AGC2VAL2, 0x05},
693 {R367TER_AGC2PGA, 0x00},
694 {R367TER_OVF_RATE1, 0x00},
695 {R367TER_OVF_RATE2, 0x00},
696 {R367TER_GAIN_SRC1, 0x2b},
697 {R367TER_GAIN_SRC2, 0x04},
698 {R367TER_INC_DEROT1, 0x55},
699 {R367TER_INC_DEROT2, 0x55},
700 {R367TER_PPM_CPAMP_DIR, 0x2c},
701 {R367TER_PPM_CPAMP_INV, 0x00},
702 {R367TER_FREESTFE_1, 0x00},
703 {R367TER_FREESTFE_2, 0x1c},
704 {R367TER_DCOFFSET, 0x00},
705 {R367TER_EN_PROCESS, 0x05},
706 {R367TER_SDI_SMOOTHER, 0x80},
707 {R367TER_FE_LOOP_OPEN, 0x1c},
708 {R367TER_FREQOFF1, 0x00},
709 {R367TER_FREQOFF2, 0x00},
710 {R367TER_FREQOFF3, 0x00},
711 {R367TER_TIMOFF1, 0x00},
712 {R367TER_TIMOFF2, 0x00},
713 {R367TER_EPQ, 0x02},
714 {R367TER_EPQAUTO, 0x01},
715 {R367TER_SYR_UPDATE, 0xf5},
716 {R367TER_CHPFREE, 0x00},
717 {R367TER_PPM_STATE_MAC, 0x23},
718 {R367TER_INR_THRESHOLD, 0xff},
719 {R367TER_EPQ_TPS_ID_CELL, 0xf9},
720 {R367TER_EPQ_CFG, 0x00},
721 {R367TER_EPQ_STATUS, 0x01},
722 {R367TER_AUTORELOCK, 0x81},
723 {R367TER_BER_THR_VMSB, 0x00},
724 {R367TER_BER_THR_MSB, 0x00},
725 {R367TER_BER_THR_LSB, 0x00},
726 {R367TER_CCD, 0x83},
727 {R367TER_SPECTR_CFG, 0x00},
728 {R367TER_CHC_DUMMY, 0x18},
729 {R367TER_INC_CTL, 0x88},
730 {R367TER_INCTHRES_COR1, 0xb4},
731 {R367TER_INCTHRES_COR2, 0x96},
732 {R367TER_INCTHRES_DET1, 0x0e},
733 {R367TER_INCTHRES_DET2, 0x11},
734 {R367TER_IIR_CELLNB, 0x8d},
735 {R367TER_IIRCX_COEFF1_MSB, 0x00},
736 {R367TER_IIRCX_COEFF1_LSB, 0x00},
737 {R367TER_IIRCX_COEFF2_MSB, 0x09},
738 {R367TER_IIRCX_COEFF2_LSB, 0x18},
739 {R367TER_IIRCX_COEFF3_MSB, 0x14},
740 {R367TER_IIRCX_COEFF3_LSB, 0x9c},
741 {R367TER_IIRCX_COEFF4_MSB, 0x00},
742 {R367TER_IIRCX_COEFF4_LSB, 0x00},
743 {R367TER_IIRCX_COEFF5_MSB, 0x36},
744 {R367TER_IIRCX_COEFF5_LSB, 0x42},
745 {R367TER_FEPATH_CFG, 0x00},
746 {R367TER_PMC1_FUNC, 0x65},
747 {R367TER_PMC1_FOR, 0x00},
748 {R367TER_PMC2_FUNC, 0x00},
749 {R367TER_STATUS_ERR_DA, 0xe0},
750 {R367TER_DIG_AGC_R, 0xfe},
751 {R367TER_COMAGC_TARMSB, 0x0b},
752 {R367TER_COM_AGC_TAR_ENMODE, 0x41},
753 {R367TER_COM_AGC_CFG, 0x3e},
754 {R367TER_COM_AGC_GAIN1, 0x39},
755 {R367TER_AUT_AGC_TARGETMSB, 0x0b},
756 {R367TER_LOCK_DET_MSB, 0x01},
757 {R367TER_AGCTAR_LOCK_LSBS, 0x40},
758 {R367TER_AUT_GAIN_EN, 0xf4},
759 {R367TER_AUT_CFG, 0xf0},
760 {R367TER_LOCKN, 0x23},
761 {R367TER_INT_X_3, 0x00},
762 {R367TER_INT_X_2, 0x03},
763 {R367TER_INT_X_1, 0x8d},
764 {R367TER_INT_X_0, 0xa0},
765 {R367TER_MIN_ERRX_MSB, 0x00},
766 {R367TER_COR_CTL, 0x00},
767 {R367TER_COR_STAT, 0xf6},
768 {R367TER_COR_INTEN, 0x00},
769 {R367TER_COR_INTSTAT, 0x3f},
770 {R367TER_COR_MODEGUARD, 0x03},
771 {R367TER_AGC_CTL, 0x08},
772 {R367TER_AGC_MANUAL1, 0x00},
773 {R367TER_AGC_MANUAL2, 0x00},
774 {R367TER_AGC_TARG, 0x16},
775 {R367TER_AGC_GAIN1, 0x53},
776 {R367TER_AGC_GAIN2, 0x1d},
777 {R367TER_RESERVED_1, 0x00},
778 {R367TER_RESERVED_2, 0x00},
779 {R367TER_RESERVED_3, 0x00},
780 {R367TER_CAS_CTL, 0x44},
781 {R367TER_CAS_FREQ, 0xb3},
782 {R367TER_CAS_DAGCGAIN, 0x12},
783 {R367TER_SYR_CTL, 0x04},
784 {R367TER_SYR_STAT, 0x10},
785 {R367TER_SYR_NCO1, 0x00},
786 {R367TER_SYR_NCO2, 0x00},
787 {R367TER_SYR_OFFSET1, 0x00},
788 {R367TER_SYR_OFFSET2, 0x00},
789 {R367TER_FFT_CTL, 0x00},
790 {R367TER_SCR_CTL, 0x70},
791 {R367TER_PPM_CTL1, 0xf8},
792 {R367TER_TRL_CTL, 0xac},
793 {R367TER_TRL_NOMRATE1, 0x1e},
794 {R367TER_TRL_NOMRATE2, 0x58},
795 {R367TER_TRL_TIME1, 0x1d},
796 {R367TER_TRL_TIME2, 0xfc},
797 {R367TER_CRL_CTL, 0x24},
798 {R367TER_CRL_FREQ1, 0xad},
799 {R367TER_CRL_FREQ2, 0x9d},
800 {R367TER_CRL_FREQ3, 0xff},
801 {R367TER_CHC_CTL, 0x01},
802 {R367TER_CHC_SNR, 0xf0},
803 {R367TER_BDI_CTL, 0x00},
804 {R367TER_DMP_CTL, 0x00},
805 {R367TER_TPS_RCVD1, 0x30},
806 {R367TER_TPS_RCVD2, 0x02},
807 {R367TER_TPS_RCVD3, 0x01},
808 {R367TER_TPS_RCVD4, 0x00},
809 {R367TER_TPS_ID_CELL1, 0x00},
810 {R367TER_TPS_ID_CELL2, 0x00},
811 {R367TER_TPS_RCVD5_SET1, 0x02},
812 {R367TER_TPS_SET2, 0x02},
813 {R367TER_TPS_SET3, 0x01},
814 {R367TER_TPS_CTL, 0x00},
815 {R367TER_CTL_FFTOSNUM, 0x34},
816 {R367TER_TESTSELECT, 0x09},
817 {R367TER_MSC_REV, 0x0a},
818 {R367TER_PIR_CTL, 0x00},
819 {R367TER_SNR_CARRIER1, 0xa1},
820 {R367TER_SNR_CARRIER2, 0x9a},
821 {R367TER_PPM_CPAMP, 0x2c},
822 {R367TER_TSM_AP0, 0x00},
823 {R367TER_TSM_AP1, 0x00},
824 {R367TER_TSM_AP2, 0x00},
825 {R367TER_TSM_AP3, 0x00},
826 {R367TER_TSM_AP4, 0x00},
827 {R367TER_TSM_AP5, 0x00},
828 {R367TER_TSM_AP6, 0x00},
829 {R367TER_TSM_AP7, 0x00},
830 {R367TER_CONSTMODE, 0x01},
831 {R367TER_CONSTCARR1, 0x00},
832 {R367TER_CONSTCARR2, 0x00},
833 {R367TER_ICONSTEL, 0x0a},
834 {R367TER_QCONSTEL, 0x15},
835 {R367TER_TSTBISTRES0, 0x00},
836 {R367TER_TSTBISTRES1, 0x00},
837 {R367TER_TSTBISTRES2, 0x28},
838 {R367TER_TSTBISTRES3, 0x00},
839 {R367TER_SYR_TARGET_FFTADJT_MSB, 0x00},
840 {R367TER_SYR_TARGET_FFTADJT_LSB, 0x00},
841 {R367TER_SYR_TARGET_CHCADJT_MSB, 0x00},
842 {R367TER_SYR_TARGET_CHCADJT_LSB, 0x00},
843 {R367TER_SYR_FLAG, 0x00},
844 {R367TER_CRL_TARGET1, 0x00},
845 {R367TER_CRL_TARGET2, 0x00},
846 {R367TER_CRL_TARGET3, 0x00},
847 {R367TER_CRL_TARGET4, 0x00},
848 {R367TER_CRL_FLAG, 0x00},
849 {R367TER_TRL_TARGET1, 0x00},
850 {R367TER_TRL_TARGET2, 0x00},
851 {R367TER_TRL_CHC, 0x00},
852 {R367TER_CHC_SNR_TARG, 0x00},
853 {R367TER_TOP_TRACK, 0x00},
854 {R367TER_TRACKER_FREE1, 0x00},
855 {R367TER_ERROR_CRL1, 0x00},
856 {R367TER_ERROR_CRL2, 0x00},
857 {R367TER_ERROR_CRL3, 0x00},
858 {R367TER_ERROR_CRL4, 0x00},
859 {R367TER_DEC_NCO1, 0x2c},
860 {R367TER_DEC_NCO2, 0x0f},
861 {R367TER_DEC_NCO3, 0x20},
862 {R367TER_SNR, 0xf1},
863 {R367TER_SYR_FFTADJ1, 0x00},
864 {R367TER_SYR_FFTADJ2, 0x00},
865 {R367TER_SYR_CHCADJ1, 0x00},
866 {R367TER_SYR_CHCADJ2, 0x00},
867 {R367TER_SYR_OFF, 0x00},
868 {R367TER_PPM_OFFSET1, 0x00},
869 {R367TER_PPM_OFFSET2, 0x03},
870 {R367TER_TRACKER_FREE2, 0x00},
871 {R367TER_DEBG_LT10, 0x00},
872 {R367TER_DEBG_LT11, 0x00},
873 {R367TER_DEBG_LT12, 0x00},
874 {R367TER_DEBG_LT13, 0x00},
875 {R367TER_DEBG_LT14, 0x00},
876 {R367TER_DEBG_LT15, 0x00},
877 {R367TER_DEBG_LT16, 0x00},
878 {R367TER_DEBG_LT17, 0x00},
879 {R367TER_DEBG_LT18, 0x00},
880 {R367TER_DEBG_LT19, 0x00},
881 {R367TER_DEBG_LT1A, 0x00},
882 {R367TER_DEBG_LT1B, 0x00},
883 {R367TER_DEBG_LT1C, 0x00},
884 {R367TER_DEBG_LT1D, 0x00},
885 {R367TER_DEBG_LT1E, 0x00},
886 {R367TER_DEBG_LT1F, 0x00},
887 {R367TER_RCCFGH, 0x00},
888 {R367TER_RCCFGM, 0x00},
889 {R367TER_RCCFGL, 0x00},
890 {R367TER_RCINSDELH, 0x00},
891 {R367TER_RCINSDELM, 0x00},
892 {R367TER_RCINSDELL, 0x00},
893 {R367TER_RCSTATUS, 0x00},
894 {R367TER_RCSPEED, 0x6f},
895 {R367TER_RCDEBUGM, 0xe7},
896 {R367TER_RCDEBUGL, 0x9b},
897 {R367TER_RCOBSCFG, 0x00},
898 {R367TER_RCOBSM, 0x00},
899 {R367TER_RCOBSL, 0x00},
900 {R367TER_RCFECSPY, 0x00},
901 {R367TER_RCFSPYCFG, 0x00},
902 {R367TER_RCFSPYDATA, 0x00},
903 {R367TER_RCFSPYOUT, 0x00},
904 {R367TER_RCFSTATUS, 0x00},
905 {R367TER_RCFGOODPACK, 0x00},
906 {R367TER_RCFPACKCNT, 0x00},
907 {R367TER_RCFSPYMISC, 0x00},
908 {R367TER_RCFBERCPT4, 0x00},
909 {R367TER_RCFBERCPT3, 0x00},
910 {R367TER_RCFBERCPT2, 0x00},
911 {R367TER_RCFBERCPT1, 0x00},
912 {R367TER_RCFBERCPT0, 0x00},
913 {R367TER_RCFBERERR2, 0x00},
914 {R367TER_RCFBERERR1, 0x00},
915 {R367TER_RCFBERERR0, 0x00},
916 {R367TER_RCFSTATESM, 0x00},
917 {R367TER_RCFSTATESL, 0x00},
918 {R367TER_RCFSPYBER, 0x00},
919 {R367TER_RCFSPYDISTM, 0x00},
920 {R367TER_RCFSPYDISTL, 0x00},
921 {R367TER_RCFSPYOBS7, 0x00},
922 {R367TER_RCFSPYOBS6, 0x00},
923 {R367TER_RCFSPYOBS5, 0x00},
924 {R367TER_RCFSPYOBS4, 0x00},
925 {R367TER_RCFSPYOBS3, 0x00},
926 {R367TER_RCFSPYOBS2, 0x00},
927 {R367TER_RCFSPYOBS1, 0x00},
928 {R367TER_RCFSPYOBS0, 0x00},
929 {R367TER_FECM, 0x01},
930 {R367TER_VTH12, 0xff},
931 {R367TER_VTH23, 0xa1},
932 {R367TER_VTH34, 0x64},
933 {R367TER_VTH56, 0x40},
934 {R367TER_VTH67, 0x00},
935 {R367TER_VTH78, 0x2c},
936 {R367TER_VITCURPUN, 0x12},
937 {R367TER_VERROR, 0x01},
938 {R367TER_PRVIT, 0x3f},
939 {R367TER_VAVSRVIT, 0x00},
940 {R367TER_VSTATUSVIT, 0xbd},
941 {R367TER_VTHINUSE, 0xa1},
942 {R367TER_KDIV12, 0x20},
943 {R367TER_KDIV23, 0x40},
944 {R367TER_KDIV34, 0x20},
945 {R367TER_KDIV56, 0x30},
946 {R367TER_KDIV67, 0x00},
947 {R367TER_KDIV78, 0x30},
948 {R367TER_SIGPOWER, 0x54},
949 {R367TER_DEMAPVIT, 0x40},
950 {R367TER_VITSCALE, 0x00},
951 {R367TER_FFEC1PRG, 0x00},
952 {R367TER_FVITCURPUN, 0x12},
953 {R367TER_FVERROR, 0x01},
954 {R367TER_FVSTATUSVIT, 0xbd},
955 {R367TER_DEBUG_LT1, 0x00},
956 {R367TER_DEBUG_LT2, 0x00},
957 {R367TER_DEBUG_LT3, 0x00},
958 {R367TER_TSTSFMET, 0x00},
959 {R367TER_SELOUT, 0x00},
960 {R367TER_TSYNC, 0x00},
961 {R367TER_TSTERR, 0x00},
962 {R367TER_TSFSYNC, 0x00},
963 {R367TER_TSTSFERR, 0x00},
964 {R367TER_TSTTSSF1, 0x01},
965 {R367TER_TSTTSSF2, 0x1f},
966 {R367TER_TSTTSSF3, 0x00},
967 {R367TER_TSTTS1, 0x00},
968 {R367TER_TSTTS2, 0x1f},
969 {R367TER_TSTTS3, 0x01},
970 {R367TER_TSTTS4, 0x00},
971 {R367TER_TSTTSRC, 0x00},
972 {R367TER_TSTTSRS, 0x00},
973 {R367TER_TSSTATEM, 0xb0},
974 {R367TER_TSSTATEL, 0x40},
975 {R367TER_TSCFGH, 0x80},
976 {R367TER_TSCFGM, 0x00},
977 {R367TER_TSCFGL, 0x20},
978 {R367TER_TSSYNC, 0x00},
979 {R367TER_TSINSDELH, 0x00},
980 {R367TER_TSINSDELM, 0x00},
981 {R367TER_TSINSDELL, 0x00},
982 {R367TER_TSDIVN, 0x03},
983 {R367TER_TSDIVPM, 0x00},
984 {R367TER_TSDIVPL, 0x00},
985 {R367TER_TSDIVQM, 0x00},
986 {R367TER_TSDIVQL, 0x00},
987 {R367TER_TSDILSTKM, 0x00},
988 {R367TER_TSDILSTKL, 0x00},
989 {R367TER_TSSPEED, 0x6f},
990 {R367TER_TSSTATUS, 0x81},
991 {R367TER_TSSTATUS2, 0x6a},
992 {R367TER_TSBITRATEM, 0x0f},
993 {R367TER_TSBITRATEL, 0xc6},
994 {R367TER_TSPACKLENM, 0x00},
995 {R367TER_TSPACKLENL, 0xfc},
996 {R367TER_TSBLOCLENM, 0x0a},
997 {R367TER_TSBLOCLENL, 0x80},
998 {R367TER_TSDLYH, 0x90},
999 {R367TER_TSDLYM, 0x68},
1000 {R367TER_TSDLYL, 0x01},
1001 {R367TER_TSNPDAV, 0x00},
1002 {R367TER_TSBUFSTATH, 0x00},
1003 {R367TER_TSBUFSTATM, 0x00},
1004 {R367TER_TSBUFSTATL, 0x00},
1005 {R367TER_TSDEBUGM, 0xcf},
1006 {R367TER_TSDEBUGL, 0x1e},
1007 {R367TER_TSDLYSETH, 0x00},
1008 {R367TER_TSDLYSETM, 0x68},
1009 {R367TER_TSDLYSETL, 0x00},
1010 {R367TER_TSOBSCFG, 0x00},
1011 {R367TER_TSOBSM, 0x47},
1012 {R367TER_TSOBSL, 0x1f},
1013 {R367TER_ERRCTRL1, 0x95},
1014 {R367TER_ERRCNT1H, 0x80},
1015 {R367TER_ERRCNT1M, 0x00},
1016 {R367TER_ERRCNT1L, 0x00},
1017 {R367TER_ERRCTRL2, 0x95},
1018 {R367TER_ERRCNT2H, 0x00},
1019 {R367TER_ERRCNT2M, 0x00},
1020 {R367TER_ERRCNT2L, 0x00},
1021 {R367TER_FECSPY, 0x88},
1022 {R367TER_FSPYCFG, 0x2c},
1023 {R367TER_FSPYDATA, 0x3a},
1024 {R367TER_FSPYOUT, 0x06},
1025 {R367TER_FSTATUS, 0x61},
1026 {R367TER_FGOODPACK, 0xff},
1027 {R367TER_FPACKCNT, 0xff},
1028 {R367TER_FSPYMISC, 0x66},
1029 {R367TER_FBERCPT4, 0x00},
1030 {R367TER_FBERCPT3, 0x00},
1031 {R367TER_FBERCPT2, 0x36},
1032 {R367TER_FBERCPT1, 0x36},
1033 {R367TER_FBERCPT0, 0x14},
1034 {R367TER_FBERERR2, 0x00},
1035 {R367TER_FBERERR1, 0x03},
1036 {R367TER_FBERERR0, 0x28},
1037 {R367TER_FSTATESM, 0x00},
1038 {R367TER_FSTATESL, 0x02},
1039 {R367TER_FSPYBER, 0x00},
1040 {R367TER_FSPYDISTM, 0x01},
1041 {R367TER_FSPYDISTL, 0x9f},
1042 {R367TER_FSPYOBS7, 0xc9},
1043 {R367TER_FSPYOBS6, 0x99},
1044 {R367TER_FSPYOBS5, 0x08},
1045 {R367TER_FSPYOBS4, 0xec},
1046 {R367TER_FSPYOBS3, 0x01},
1047 {R367TER_FSPYOBS2, 0x0f},
1048 {R367TER_FSPYOBS1, 0xf5},
1049 {R367TER_FSPYOBS0, 0x08},
1050 {R367TER_SFDEMAP, 0x40},
1051 {R367TER_SFERROR, 0x00},
1052 {R367TER_SFAVSR, 0x30},
1053 {R367TER_SFECSTATUS, 0xcc},
1054 {R367TER_SFKDIV12, 0x20},
1055 {R367TER_SFKDIV23, 0x40},
1056 {R367TER_SFKDIV34, 0x20},
1057 {R367TER_SFKDIV56, 0x20},
1058 {R367TER_SFKDIV67, 0x00},
1059 {R367TER_SFKDIV78, 0x20},
1060 {R367TER_SFDILSTKM, 0x00},
1061 {R367TER_SFDILSTKL, 0x00},
1062 {R367TER_SFSTATUS, 0xb5},
1063 {R367TER_SFDLYH, 0x90},
1064 {R367TER_SFDLYM, 0x60},
1065 {R367TER_SFDLYL, 0x01},
1066 {R367TER_SFDLYSETH, 0xc0},
1067 {R367TER_SFDLYSETM, 0x60},
1068 {R367TER_SFDLYSETL, 0x00},
1069 {R367TER_SFOBSCFG, 0x00},
1070 {R367TER_SFOBSM, 0x47},
1071 {R367TER_SFOBSL, 0x05},
1072 {R367TER_SFECINFO, 0x40},
1073 {R367TER_SFERRCTRL, 0x74},
1074 {R367TER_SFERRCNTH, 0x80},
1075 {R367TER_SFERRCNTM, 0x00},
1076 {R367TER_SFERRCNTL, 0x00},
1077 {R367TER_SYMBRATEM, 0x2f},
1078 {R367TER_SYMBRATEL, 0x50},
1079 {R367TER_SYMBSTATUS, 0x7f},
1080 {R367TER_SYMBCFG, 0x00},
1081 {R367TER_SYMBFIFOM, 0xf4},
1082 {R367TER_SYMBFIFOL, 0x0d},
1083 {R367TER_SYMBOFFSM, 0xf0},
1084 {R367TER_SYMBOFFSL, 0x2d},
1085 {0x0000, 0x00}
1086 };
1087
1088 static const struct st_register def0367dd_qam[] = {
1089 {R367CAB_CTRL_1, 0x06},
1090 {R367CAB_CTRL_2, 0x03},
1091 {R367CAB_IT_STATUS1, 0x2b},
1092 {R367CAB_IT_STATUS2, 0x08},
1093 {R367CAB_IT_EN1, 0x00},
1094 {R367CAB_IT_EN2, 0x00},
1095 {R367CAB_CTRL_STATUS, 0x04},
1096 {R367CAB_TEST_CTL, 0x00},
1097 {R367CAB_AGC_CTL, 0x73},
1098 {R367CAB_AGC_IF_CFG, 0x50},
1099 {R367CAB_AGC_RF_CFG, 0x02},
1100 {R367CAB_AGC_PWM_CFG, 0x03},
1101 {R367CAB_AGC_PWR_REF_L, 0x5a},
1102 {R367CAB_AGC_PWR_REF_H, 0x00},
1103 {R367CAB_AGC_RF_TH_L, 0xff},
1104 {R367CAB_AGC_RF_TH_H, 0x07},
1105 {R367CAB_AGC_IF_LTH_L, 0x00},
1106 {R367CAB_AGC_IF_LTH_H, 0x08},
1107 {R367CAB_AGC_IF_HTH_L, 0xff},
1108 {R367CAB_AGC_IF_HTH_H, 0x07},
1109 {R367CAB_AGC_PWR_RD_L, 0xa0},
1110 {R367CAB_AGC_PWR_RD_M, 0xe9},
1111 {R367CAB_AGC_PWR_RD_H, 0x03},
1112 {R367CAB_AGC_PWM_IFCMD_L, 0xe4},
1113 {R367CAB_AGC_PWM_IFCMD_H, 0x00},
1114 {R367CAB_AGC_PWM_RFCMD_L, 0xff},
1115 {R367CAB_AGC_PWM_RFCMD_H, 0x07},
1116 {R367CAB_IQDEM_CFG, 0x01},
1117 {R367CAB_MIX_NCO_LL, 0x22},
1118 {R367CAB_MIX_NCO_HL, 0x96},
1119 {R367CAB_MIX_NCO_HH, 0x55},
1120 {R367CAB_SRC_NCO_LL, 0xff},
1121 {R367CAB_SRC_NCO_LH, 0x0c},
1122 {R367CAB_SRC_NCO_HL, 0xf5},
1123 {R367CAB_SRC_NCO_HH, 0x20},
1124 {R367CAB_IQDEM_GAIN_SRC_L, 0x06},
1125 {R367CAB_IQDEM_GAIN_SRC_H, 0x01},
1126 {R367CAB_IQDEM_DCRM_CFG_LL, 0xfe},
1127 {R367CAB_IQDEM_DCRM_CFG_LH, 0xff},
1128 {R367CAB_IQDEM_DCRM_CFG_HL, 0x0f},
1129 {R367CAB_IQDEM_DCRM_CFG_HH, 0x00},
1130 {R367CAB_IQDEM_ADJ_COEFF0, 0x34},
1131 {R367CAB_IQDEM_ADJ_COEFF1, 0xae},
1132 {R367CAB_IQDEM_ADJ_COEFF2, 0x46},
1133 {R367CAB_IQDEM_ADJ_COEFF3, 0x77},
1134 {R367CAB_IQDEM_ADJ_COEFF4, 0x96},
1135 {R367CAB_IQDEM_ADJ_COEFF5, 0x69},
1136 {R367CAB_IQDEM_ADJ_COEFF6, 0xc7},
1137 {R367CAB_IQDEM_ADJ_COEFF7, 0x01},
1138 {R367CAB_IQDEM_ADJ_EN, 0x04},
1139 {R367CAB_IQDEM_ADJ_AGC_REF, 0x94},
1140 {R367CAB_ALLPASSFILT1, 0xc9},
1141 {R367CAB_ALLPASSFILT2, 0x2d},
1142 {R367CAB_ALLPASSFILT3, 0xa3},
1143 {R367CAB_ALLPASSFILT4, 0xfb},
1144 {R367CAB_ALLPASSFILT5, 0xf6},
1145 {R367CAB_ALLPASSFILT6, 0x45},
1146 {R367CAB_ALLPASSFILT7, 0x6f},
1147 {R367CAB_ALLPASSFILT8, 0x7e},
1148 {R367CAB_ALLPASSFILT9, 0x05},
1149 {R367CAB_ALLPASSFILT10, 0x0a},
1150 {R367CAB_ALLPASSFILT11, 0x51},
1151 {R367CAB_TRL_AGC_CFG, 0x20},
1152 {R367CAB_TRL_LPF_CFG, 0x28},
1153 {R367CAB_TRL_LPF_ACQ_GAIN, 0x44},
1154 {R367CAB_TRL_LPF_TRK_GAIN, 0x22},
1155 {R367CAB_TRL_LPF_OUT_GAIN, 0x03},
1156 {R367CAB_TRL_LOCKDET_LTH, 0x04},
1157 {R367CAB_TRL_LOCKDET_HTH, 0x11},
1158 {R367CAB_TRL_LOCKDET_TRGVAL, 0x20},
1159 {R367CAB_IQ_QAM, 0x01},
1160 {R367CAB_FSM_STATE, 0xa0},
1161 {R367CAB_FSM_CTL, 0x08},
1162 {R367CAB_FSM_STS, 0x0c},
1163 {R367CAB_FSM_SNR0_HTH, 0x00},
1164 {R367CAB_FSM_SNR1_HTH, 0x00},
1165 {R367CAB_FSM_SNR2_HTH, 0x00},
1166 {R367CAB_FSM_SNR0_LTH, 0x00},
1167 {R367CAB_FSM_SNR1_LTH, 0x00},
1168 {R367CAB_FSM_EQA1_HTH, 0x00},
1169 {R367CAB_FSM_TEMPO, 0x32},
1170 {R367CAB_FSM_CONFIG, 0x03},
1171 {R367CAB_EQU_I_TESTTAP_L, 0x11},
1172 {R367CAB_EQU_I_TESTTAP_M, 0x00},
1173 {R367CAB_EQU_I_TESTTAP_H, 0x00},
1174 {R367CAB_EQU_TESTAP_CFG, 0x00},
1175 {R367CAB_EQU_Q_TESTTAP_L, 0xff},
1176 {R367CAB_EQU_Q_TESTTAP_M, 0x00},
1177 {R367CAB_EQU_Q_TESTTAP_H, 0x00},
1178 {R367CAB_EQU_TAP_CTRL, 0x00},
1179 {R367CAB_EQU_CTR_CRL_CONTROL_L, 0x11},
1180 {R367CAB_EQU_CTR_CRL_CONTROL_H, 0x05},
1181 {R367CAB_EQU_CTR_HIPOW_L, 0x00},
1182 {R367CAB_EQU_CTR_HIPOW_H, 0x00},
1183 {R367CAB_EQU_I_EQU_LO, 0xef},
1184 {R367CAB_EQU_I_EQU_HI, 0x00},
1185 {R367CAB_EQU_Q_EQU_LO, 0xee},
1186 {R367CAB_EQU_Q_EQU_HI, 0x00},
1187 {R367CAB_EQU_MAPPER, 0xc5},
1188 {R367CAB_EQU_SWEEP_RATE, 0x80},
1189 {R367CAB_EQU_SNR_LO, 0x64},
1190 {R367CAB_EQU_SNR_HI, 0x03},
1191 {R367CAB_EQU_GAMMA_LO, 0x00},
1192 {R367CAB_EQU_GAMMA_HI, 0x00},
1193 {R367CAB_EQU_ERR_GAIN, 0x36},
1194 {R367CAB_EQU_RADIUS, 0xaa},
1195 {R367CAB_EQU_FFE_MAINTAP, 0x00},
1196 {R367CAB_EQU_FFE_LEAKAGE, 0x63},
1197 {R367CAB_EQU_FFE_MAINTAP_POS, 0xdf},
1198 {R367CAB_EQU_GAIN_WIDE, 0x88},
1199 {R367CAB_EQU_GAIN_NARROW, 0x41},
1200 {R367CAB_EQU_CTR_LPF_GAIN, 0xd1},
1201 {R367CAB_EQU_CRL_LPF_GAIN, 0xa7},
1202 {R367CAB_EQU_GLOBAL_GAIN, 0x06},
1203 {R367CAB_EQU_CRL_LD_SEN, 0x85},
1204 {R367CAB_EQU_CRL_LD_VAL, 0xe2},
1205 {R367CAB_EQU_CRL_TFR, 0x20},
1206 {R367CAB_EQU_CRL_BISTH_LO, 0x00},
1207 {R367CAB_EQU_CRL_BISTH_HI, 0x00},
1208 {R367CAB_EQU_SWEEP_RANGE_LO, 0x00},
1209 {R367CAB_EQU_SWEEP_RANGE_HI, 0x00},
1210 {R367CAB_EQU_CRL_LIMITER, 0x40},
1211 {R367CAB_EQU_MODULUS_MAP, 0x90},
1212 {R367CAB_EQU_PNT_GAIN, 0xa7},
1213 {R367CAB_FEC_AC_CTR_0, 0x16},
1214 {R367CAB_FEC_AC_CTR_1, 0x0b},
1215 {R367CAB_FEC_AC_CTR_2, 0x88},
1216 {R367CAB_FEC_AC_CTR_3, 0x02},
1217 {R367CAB_FEC_STATUS, 0x12},
1218 {R367CAB_RS_COUNTER_0, 0x7d},
1219 {R367CAB_RS_COUNTER_1, 0xd0},
1220 {R367CAB_RS_COUNTER_2, 0x19},
1221 {R367CAB_RS_COUNTER_3, 0x0b},
1222 {R367CAB_RS_COUNTER_4, 0xa3},
1223 {R367CAB_RS_COUNTER_5, 0x00},
1224 {R367CAB_BERT_0, 0x01},
1225 {R367CAB_BERT_1, 0x25},
1226 {R367CAB_BERT_2, 0x41},
1227 {R367CAB_BERT_3, 0x39},
1228 {R367CAB_OUTFORMAT_0, 0xc2},
1229 {R367CAB_OUTFORMAT_1, 0x22},
1230 {R367CAB_SMOOTHER_2, 0x28},
1231 {R367CAB_TSMF_CTRL_0, 0x01},
1232 {R367CAB_TSMF_CTRL_1, 0xc6},
1233 {R367CAB_TSMF_CTRL_3, 0x43},
1234 {R367CAB_TS_ON_ID_0, 0x00},
1235 {R367CAB_TS_ON_ID_1, 0x00},
1236 {R367CAB_TS_ON_ID_2, 0x00},
1237 {R367CAB_TS_ON_ID_3, 0x00},
1238 {R367CAB_RE_STATUS_0, 0x00},
1239 {R367CAB_RE_STATUS_1, 0x00},
1240 {R367CAB_RE_STATUS_2, 0x00},
1241 {R367CAB_RE_STATUS_3, 0x00},
1242 {R367CAB_TS_STATUS_0, 0x00},
1243 {R367CAB_TS_STATUS_1, 0x00},
1244 {R367CAB_TS_STATUS_2, 0xa0},
1245 {R367CAB_TS_STATUS_3, 0x00},
1246 {R367CAB_T_O_ID_0, 0x00},
1247 {R367CAB_T_O_ID_1, 0x00},
1248 {R367CAB_T_O_ID_2, 0x00},
1249 {R367CAB_T_O_ID_3, 0x00},
1250 {0x0000, 0x00}
1251 };
1252
1253 static const struct st_register def0367dd_base[] = {
1254 {R367TER_IOCFG0, 0x80},
1255 {R367TER_DAC0R, 0x00},
1256 {R367TER_IOCFG1, 0x00},
1257 {R367TER_DAC1R, 0x00},
1258 {R367TER_IOCFG2, 0x00},
1259 {R367TER_SDFR, 0x00},
1260 {R367TER_AUX_CLK, 0x00},
1261 {R367TER_FREESYS1, 0x00},
1262 {R367TER_FREESYS2, 0x00},
1263 {R367TER_FREESYS3, 0x00},
1264 {R367TER_GPIO_CFG, 0x55},
1265 {R367TER_GPIO_CMD, 0x01},
1266 {R367TER_TSTRES, 0x00},
1267 {R367TER_ANACTRL, 0x00},
1268 {R367TER_TSTBUS, 0x00},
1269 {R367TER_RF_AGC2, 0x20},
1270 {R367TER_ANADIGCTRL, 0x0b},
1271 {R367TER_PLLMDIV, 0x01},
1272 {R367TER_PLLNDIV, 0x08},
1273 {R367TER_PLLSETUP, 0x18},
1274 {R367TER_DUAL_AD12, 0x04},
1275 {R367TER_TSTBIST, 0x00},
1276 {0x0000, 0x00}
1277 };
1278
1279
1280
1281
1282
1283 static const struct
1284 st_register *stv0367_deftabs[STV0367_DEFTAB_MAX][STV0367_TAB_MAX] = {
1285
1286 { def0367ter, def0367cab, NULL },
1287
1288 { def0367dd_ofdm, def0367dd_qam, def0367dd_base },
1289 };
1290
1291 #endif