1292 lines · c
1/* SPDX-License-Identifier: GPL-2.0-or-later */2/*3 * stv0367_defs.h4 *5 * Driver for ST STV0367 DVB-T & DVB-C demodulator IC.6 *7 * Copyright (C) ST Microelectronics.8 * Copyright (C) 2010,2011 NetUP Inc.9 * Copyright (C) 2010,2011 Igor M. Liplianin <liplianin@netup.ru>10 */11 12#ifndef STV0367_DEFS_H13#define STV0367_DEFS_H14 15#include "stv0367_regs.h"16 17#define STV0367_DEFTAB_GENERIC 018#define STV0367_DEFTAB_DDB 119#define STV0367_DEFTAB_MAX 220 21#define STV0367_TAB_TER 022#define STV0367_TAB_CAB 123#define STV0367_TAB_BASE 224#define STV0367_TAB_MAX 325 26struct st_register {27 u16 addr;28 u8 value;29};30 31/* values for STV4100 XTAL=30M int clk=53.125M*/32static const struct st_register def0367ter[] = {33 {R367TER_ID, 0x60},34 {R367TER_I2CRPT, 0xa0},35 /* {R367TER_I2CRPT, 0x22},*/36 {R367TER_TOPCTRL, 0x00},/* for xc5000; was 0x02 */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},/* for xc5000; was 0x2b */67 {R367TER_GAIN_SRC2, 0xd6},/* for xc5000; was 0x04 */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},/* for xc5000; was 0xac */163 {R367TER_TRL_NOMRATE1, 0xae},/* for xc5000; was 0x1e */164 {R367TER_TRL_NOMRATE2, 0x56},/* for xc5000; was 0x58 */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},/* PLL stopped, restart at init!!! */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},/* for xc5000; was 0x0c */217 {R367TER_PLLNDIV, 0x06},/* for xc5000; was 0x55 */218 {R367TER_PLLSETUP, 0x18},219 {R367TER_DUAL_AD12, 0x0C},/* for xc5000 AGC voltage 1.6V */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},/* for xc5000; was 0x00 */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},/* for xc5000; was 0x6f */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 482static const struct st_register def0367cab[] = {483 {R367CAB_ID, 0x60},484 {R367CAB_I2CRPT, 0xa0},485 /*{R367CAB_I2CRPT, 0x22},*/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},/* was 0x00 need to check - I.M.L.*/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}, /* for xc5000 AGC voltage 1.6V */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},/* 0x00 */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 * Defaults / Tables for Digital Devices C/T Cine/Flex devices677 *678 **************/679 680static 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} /* EOT */1086};1087 1088static const struct st_register def0367dd_qam[] = {1089 {R367CAB_CTRL_1, 0x06}, /* Original 0x04 */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}, /* RF Freeze */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} /* EOT */1251};1252 1253static 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} /* EOT */1277};1278 1279/*1280 * Tables combined1281 */1282 1283static const struct1284st_register *stv0367_deftabs[STV0367_DEFTAB_MAX][STV0367_TAB_MAX] = {1285 /* generic default/init tabs */1286 { def0367ter, def0367cab, NULL },1287 /* default tabs for digital devices cards/flex modules */1288 { def0367dd_ofdm, def0367dd_qam, def0367dd_base },1289};1290 1291#endif1292