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