11da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* 21da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds Driver for Zarlink MT312 QPSK Frontend 31da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 41da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds Copyright (C) 2003 Andreas Oberritter <obi@linuxtv.org> 51da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 61da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds This program is free software; you can redistribute it and/or modify 71da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds it under the terms of the GNU General Public License as published by 81da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds the Free Software Foundation; either version 2 of the License, or 91da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds (at your option) any later version. 101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds This program is distributed in the hope that it will be useful, 121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds but WITHOUT ANY WARRANTY; without even the implied warranty of 131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds GNU General Public License for more details. 161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds You should have received a copy of the GNU General Public License 181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds along with this program; if not, write to the Free Software 191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds*/ 221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#ifndef _DVB_FRONTENDS_MT312_PRIV 241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define _DVB_FRONTENDS_MT312_PRIV 251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsenum mt312_reg_addr { 271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds QPSK_INT_H = 0, 281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds QPSK_INT_M = 1, 291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds QPSK_INT_L = 2, 301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds FEC_INT = 3, 311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds QPSK_STAT_H = 4, 321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds QPSK_STAT_L = 5, 331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds FEC_STATUS = 6, 341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds LNB_FREQ_H = 7, 351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds LNB_FREQ_L = 8, 361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds M_SNR_H = 9, 371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds M_SNR_L = 10, 381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds VIT_ERRCNT_H = 11, 391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds VIT_ERRCNT_M = 12, 401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds VIT_ERRCNT_L = 13, 411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds RS_BERCNT_H = 14, 421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds RS_BERCNT_M = 15, 431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds RS_BERCNT_L = 16, 441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds RS_UBC_H = 17, 451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds RS_UBC_L = 18, 461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds SIG_LEVEL = 19, 471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds GPP_CTRL = 20, 481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds RESET = 21, 491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds DISEQC_MODE = 22, 501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds SYM_RATE_H = 23, 511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds SYM_RATE_L = 24, 521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds VIT_MODE = 25, 531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds QPSK_CTRL = 26, 541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds GO = 27, 551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds IE_QPSK_H = 28, 561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds IE_QPSK_M = 29, 571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds IE_QPSK_L = 30, 581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds IE_FEC = 31, 591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds QPSK_STAT_EN = 32, 601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds FEC_STAT_EN = 33, 611da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds SYS_CLK = 34, 621da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds DISEQC_RATIO = 35, 631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds DISEQC_INSTR = 36, 641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds FR_LIM = 37, 651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds FR_OFF = 38, 661da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds AGC_CTRL = 39, 671da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds AGC_INIT = 40, 681da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds AGC_REF = 41, 691da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds AGC_MAX = 42, 701da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds AGC_MIN = 43, 711da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds AGC_LK_TH = 44, 721da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds TS_AGC_LK_TH = 45, 731da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds AGC_PWR_SET = 46, 741da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds QPSK_MISC = 47, 751da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds SNR_THS_LOW = 48, 761da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds SNR_THS_HIGH = 49, 771da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds TS_SW_RATE = 50, 781da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds TS_SW_LIM_L = 51, 791da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds TS_SW_LIM_H = 52, 801da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds CS_SW_RATE_1 = 53, 811da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds CS_SW_RATE_2 = 54, 821da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds CS_SW_RATE_3 = 55, 831da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds CS_SW_RATE_4 = 56, 841da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds CS_SW_LIM = 57, 851da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds TS_LPK = 58, 861da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds TS_LPK_M = 59, 871da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds TS_LPK_L = 60, 881da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds CS_KPROP_H = 61, 891da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds CS_KPROP_L = 62, 901da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds CS_KINT_H = 63, 911da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds CS_KINT_L = 64, 921da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds QPSK_SCALE = 65, 931da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds TLD_OUTCLK_TH = 66, 941da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds TLD_INCLK_TH = 67, 951da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds FLD_TH = 68, 961da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds PLD_OUTLK3 = 69, 971da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds PLD_OUTLK2 = 70, 981da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds PLD_OUTLK1 = 71, 991da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds PLD_OUTLK0 = 72, 1001da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds PLD_INLK3 = 73, 1011da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds PLD_INLK2 = 74, 1021da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds PLD_INLK1 = 75, 1031da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds PLD_INLK0 = 76, 1041da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds PLD_ACC_TIME = 77, 1051da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds SWEEP_PAR = 78, 1061da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds STARTUP_TIME = 79, 1071da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds LOSSLOCK_TH = 80, 1081da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds FEC_LOCK_TM = 81, 1091da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds LOSSLOCK_TM = 82, 1101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds VIT_ERRPER_H = 83, 1111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds VIT_ERRPER_M = 84, 1121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds VIT_ERRPER_L = 85, 1136a5cbd591c703491b62892682adc124ece67f3a9Matthias Schwarzott HW_CTRL = 84, /* ZL10313 only */ 1146a5cbd591c703491b62892682adc124ece67f3a9Matthias Schwarzott MPEG_CTRL = 85, /* ZL10313 only */ 1151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds VIT_SETUP = 86, 1161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds VIT_REF0 = 87, 1171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds VIT_REF1 = 88, 1181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds VIT_REF2 = 89, 1191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds VIT_REF3 = 90, 1201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds VIT_REF4 = 91, 1211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds VIT_REF5 = 92, 1221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds VIT_REF6 = 93, 1231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds VIT_MAXERR = 94, 1241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds BA_SETUPT = 95, 1251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds OP_CTRL = 96, 1261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds FEC_SETUP = 97, 1271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds PROG_SYNC = 98, 1281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds AFC_SEAR_TH = 99, 1291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds CSACC_DIF_TH = 100, 1301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds QPSK_LK_CT = 101, 1311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds QPSK_ST_CT = 102, 1321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds MON_CTRL = 103, 1331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds QPSK_RESET = 104, 1341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds QPSK_TST_CT = 105, 1351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds QPSK_TST_ST = 106, 1361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds TEST_R = 107, 1371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds AGC_H = 108, 1381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds AGC_M = 109, 1391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds AGC_L = 110, 1401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds FREQ_ERR1_H = 111, 1411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds FREQ_ERR1_M = 112, 1421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds FREQ_ERR1_L = 113, 1431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds FREQ_ERR2_H = 114, 1441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds FREQ_ERR2_L = 115, 1451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds SYM_RAT_OP_H = 116, 1461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds SYM_RAT_OP_L = 117, 1471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds DESEQC2_INT = 118, 1481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds DISEQC2_STAT = 119, 1491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds DISEQC2_FIFO = 120, 1501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds DISEQC2_CTRL1 = 121, 1511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds DISEQC2_CTRL2 = 122, 1521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds MONITOR_H = 123, 1531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds MONITOR_L = 124, 1541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds TEST_MODE = 125, 1551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds ID = 126, 1561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds CONFIG = 127 1571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}; 1581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsenum mt312_model_id { 1601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds ID_VP310 = 1, 1616a5cbd591c703491b62892682adc124ece67f3a9Matthias Schwarzott ID_MT312 = 3, 1626a5cbd591c703491b62892682adc124ece67f3a9Matthias Schwarzott ID_ZL10313 = 5, 1631da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds}; 1641da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 1651da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#endif /* DVB_FRONTENDS_MT312_PRIV */ 166