1*c942fddfSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */ 29a0bf528SMauro Carvalho Chehab /* 39a0bf528SMauro Carvalho Chehab * Driver for Zarlink DVB-T MT352 demodulator 49a0bf528SMauro Carvalho Chehab * 59a0bf528SMauro Carvalho Chehab * Written by Holger Waechtler <holger@qanu.de> 69a0bf528SMauro Carvalho Chehab * and Daniel Mack <daniel@qanu.de> 79a0bf528SMauro Carvalho Chehab * 89a0bf528SMauro Carvalho Chehab * AVerMedia AVerTV DVB-T 771 support by 99a0bf528SMauro Carvalho Chehab * Wolfram Joost <dbox2@frokaschwei.de> 109a0bf528SMauro Carvalho Chehab * 119a0bf528SMauro Carvalho Chehab * Support for Samsung TDTC9251DH01C(M) tuner 129a0bf528SMauro Carvalho Chehab * Copyright (C) 2004 Antonio Mancuso <antonio.mancuso@digitaltelevision.it> 139a0bf528SMauro Carvalho Chehab * Amauri Celani <acelani@essegi.net> 149a0bf528SMauro Carvalho Chehab * 159a0bf528SMauro Carvalho Chehab * DVICO FusionHDTV DVB-T1 and DVICO FusionHDTV DVB-T Lite support by 169a0bf528SMauro Carvalho Chehab * Christopher Pascoe <c.pascoe@itee.uq.edu.au> 179a0bf528SMauro Carvalho Chehab */ 189a0bf528SMauro Carvalho Chehab 199a0bf528SMauro Carvalho Chehab #ifndef _MT352_PRIV_ 209a0bf528SMauro Carvalho Chehab #define _MT352_PRIV_ 219a0bf528SMauro Carvalho Chehab 229a0bf528SMauro Carvalho Chehab #define ID_MT352 0x13 239a0bf528SMauro Carvalho Chehab 249a0bf528SMauro Carvalho Chehab #define msb(x) (((x) >> 8) & 0xff) 259a0bf528SMauro Carvalho Chehab #define lsb(x) ((x) & 0xff) 269a0bf528SMauro Carvalho Chehab 279a0bf528SMauro Carvalho Chehab enum mt352_reg_addr { 289a0bf528SMauro Carvalho Chehab STATUS_0 = 0x00, 299a0bf528SMauro Carvalho Chehab STATUS_1 = 0x01, 309a0bf528SMauro Carvalho Chehab STATUS_2 = 0x02, 319a0bf528SMauro Carvalho Chehab STATUS_3 = 0x03, 329a0bf528SMauro Carvalho Chehab STATUS_4 = 0x04, 339a0bf528SMauro Carvalho Chehab INTERRUPT_0 = 0x05, 349a0bf528SMauro Carvalho Chehab INTERRUPT_1 = 0x06, 359a0bf528SMauro Carvalho Chehab INTERRUPT_2 = 0x07, 369a0bf528SMauro Carvalho Chehab INTERRUPT_3 = 0x08, 379a0bf528SMauro Carvalho Chehab SNR = 0x09, 389a0bf528SMauro Carvalho Chehab VIT_ERR_CNT_2 = 0x0A, 399a0bf528SMauro Carvalho Chehab VIT_ERR_CNT_1 = 0x0B, 409a0bf528SMauro Carvalho Chehab VIT_ERR_CNT_0 = 0x0C, 419a0bf528SMauro Carvalho Chehab RS_ERR_CNT_2 = 0x0D, 429a0bf528SMauro Carvalho Chehab RS_ERR_CNT_1 = 0x0E, 439a0bf528SMauro Carvalho Chehab RS_ERR_CNT_0 = 0x0F, 449a0bf528SMauro Carvalho Chehab RS_UBC_1 = 0x10, 459a0bf528SMauro Carvalho Chehab RS_UBC_0 = 0x11, 469a0bf528SMauro Carvalho Chehab AGC_GAIN_3 = 0x12, 479a0bf528SMauro Carvalho Chehab AGC_GAIN_2 = 0x13, 489a0bf528SMauro Carvalho Chehab AGC_GAIN_1 = 0x14, 499a0bf528SMauro Carvalho Chehab AGC_GAIN_0 = 0x15, 509a0bf528SMauro Carvalho Chehab FREQ_OFFSET_2 = 0x17, 519a0bf528SMauro Carvalho Chehab FREQ_OFFSET_1 = 0x18, 529a0bf528SMauro Carvalho Chehab FREQ_OFFSET_0 = 0x19, 539a0bf528SMauro Carvalho Chehab TIMING_OFFSET_1 = 0x1A, 549a0bf528SMauro Carvalho Chehab TIMING_OFFSET_0 = 0x1B, 559a0bf528SMauro Carvalho Chehab CHAN_FREQ_1 = 0x1C, 569a0bf528SMauro Carvalho Chehab CHAN_FREQ_0 = 0x1D, 579a0bf528SMauro Carvalho Chehab TPS_RECEIVED_1 = 0x1E, 589a0bf528SMauro Carvalho Chehab TPS_RECEIVED_0 = 0x1F, 599a0bf528SMauro Carvalho Chehab TPS_CURRENT_1 = 0x20, 609a0bf528SMauro Carvalho Chehab TPS_CURRENT_0 = 0x21, 619a0bf528SMauro Carvalho Chehab TPS_CELL_ID_1 = 0x22, 629a0bf528SMauro Carvalho Chehab TPS_CELL_ID_0 = 0x23, 639a0bf528SMauro Carvalho Chehab TPS_MISC_DATA_2 = 0x24, 649a0bf528SMauro Carvalho Chehab TPS_MISC_DATA_1 = 0x25, 659a0bf528SMauro Carvalho Chehab TPS_MISC_DATA_0 = 0x26, 669a0bf528SMauro Carvalho Chehab RESET = 0x50, 679a0bf528SMauro Carvalho Chehab TPS_GIVEN_1 = 0x51, 689a0bf528SMauro Carvalho Chehab TPS_GIVEN_0 = 0x52, 699a0bf528SMauro Carvalho Chehab ACQ_CTL = 0x53, 709a0bf528SMauro Carvalho Chehab TRL_NOMINAL_RATE_1 = 0x54, 719a0bf528SMauro Carvalho Chehab TRL_NOMINAL_RATE_0 = 0x55, 729a0bf528SMauro Carvalho Chehab INPUT_FREQ_1 = 0x56, 739a0bf528SMauro Carvalho Chehab INPUT_FREQ_0 = 0x57, 749a0bf528SMauro Carvalho Chehab TUNER_ADDR = 0x58, 759a0bf528SMauro Carvalho Chehab CHAN_START_1 = 0x59, 769a0bf528SMauro Carvalho Chehab CHAN_START_0 = 0x5A, 779a0bf528SMauro Carvalho Chehab CONT_1 = 0x5B, 789a0bf528SMauro Carvalho Chehab CONT_0 = 0x5C, 799a0bf528SMauro Carvalho Chehab TUNER_GO = 0x5D, 809a0bf528SMauro Carvalho Chehab STATUS_EN_0 = 0x5F, 819a0bf528SMauro Carvalho Chehab STATUS_EN_1 = 0x60, 829a0bf528SMauro Carvalho Chehab INTERRUPT_EN_0 = 0x61, 839a0bf528SMauro Carvalho Chehab INTERRUPT_EN_1 = 0x62, 849a0bf528SMauro Carvalho Chehab INTERRUPT_EN_2 = 0x63, 859a0bf528SMauro Carvalho Chehab INTERRUPT_EN_3 = 0x64, 869a0bf528SMauro Carvalho Chehab AGC_TARGET = 0x67, 879a0bf528SMauro Carvalho Chehab AGC_CTL = 0x68, 889a0bf528SMauro Carvalho Chehab CAPT_RANGE = 0x75, 899a0bf528SMauro Carvalho Chehab SNR_SELECT_1 = 0x79, 909a0bf528SMauro Carvalho Chehab SNR_SELECT_0 = 0x7A, 919a0bf528SMauro Carvalho Chehab RS_ERR_PER_1 = 0x7C, 929a0bf528SMauro Carvalho Chehab RS_ERR_PER_0 = 0x7D, 939a0bf528SMauro Carvalho Chehab CHIP_ID = 0x7F, 949a0bf528SMauro Carvalho Chehab CHAN_STOP_1 = 0x80, 959a0bf528SMauro Carvalho Chehab CHAN_STOP_0 = 0x81, 969a0bf528SMauro Carvalho Chehab CHAN_STEP_1 = 0x82, 979a0bf528SMauro Carvalho Chehab CHAN_STEP_0 = 0x83, 989a0bf528SMauro Carvalho Chehab FEC_LOCK_TIME = 0x85, 999a0bf528SMauro Carvalho Chehab OFDM_LOCK_TIME = 0x86, 1009a0bf528SMauro Carvalho Chehab ACQ_DELAY = 0x87, 1019a0bf528SMauro Carvalho Chehab SCAN_CTL = 0x88, 1029a0bf528SMauro Carvalho Chehab CLOCK_CTL = 0x89, 1039a0bf528SMauro Carvalho Chehab CONFIG = 0x8A, 1049a0bf528SMauro Carvalho Chehab MCLK_RATIO = 0x8B, 1059a0bf528SMauro Carvalho Chehab GPP_CTL = 0x8C, 1069a0bf528SMauro Carvalho Chehab ADC_CTL_1 = 0x8E, 1079a0bf528SMauro Carvalho Chehab ADC_CTL_0 = 0x8F 1089a0bf528SMauro Carvalho Chehab }; 1099a0bf528SMauro Carvalho Chehab 1109a0bf528SMauro Carvalho Chehab /* here we assume 1/6MHz == 166.66kHz stepsize */ 1119a0bf528SMauro Carvalho Chehab #define IF_FREQUENCYx6 217 /* 6 * 36.16666666667MHz */ 1129a0bf528SMauro Carvalho Chehab 1139a0bf528SMauro Carvalho Chehab #endif /* _MT352_PRIV_ */ 114