/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
    Driver for Zarlink MT312 QPSK Frontend

    Copyright (C) 2003 Andreas Oberritter <obi@linuxtv.org>


*/

#ifndef _DVB_FRONTENDS_MT312_PRIV
#define _DVB_FRONTENDS_MT312_PRIV

enum mt312_reg_addr {
	QPSK_INT_H = 0,
	QPSK_INT_M = 1,
	QPSK_INT_L = 2,
	FEC_INT = 3,
	QPSK_STAT_H = 4,
	QPSK_STAT_L = 5,
	FEC_STATUS = 6,
	LNB_FREQ_H = 7,
	LNB_FREQ_L = 8,
	M_SNR_H = 9,
	M_SNR_L = 10,
	VIT_ERRCNT_H = 11,
	VIT_ERRCNT_M = 12,
	VIT_ERRCNT_L = 13,
	RS_BERCNT_H = 14,
	RS_BERCNT_M = 15,
	RS_BERCNT_L = 16,
	RS_UBC_H = 17,
	RS_UBC_L = 18,
	SIG_LEVEL = 19,
	GPP_CTRL = 20,
	RESET = 21,
	DISEQC_MODE = 22,
	SYM_RATE_H = 23,
	SYM_RATE_L = 24,
	VIT_MODE = 25,
	QPSK_CTRL = 26,
	GO = 27,
	IE_QPSK_H = 28,
	IE_QPSK_M = 29,
	IE_QPSK_L = 30,
	IE_FEC = 31,
	QPSK_STAT_EN = 32,
	FEC_STAT_EN = 33,
	SYS_CLK = 34,
	DISEQC_RATIO = 35,
	DISEQC_INSTR = 36,
	FR_LIM = 37,
	FR_OFF = 38,
	AGC_CTRL = 39,
	AGC_INIT = 40,
	AGC_REF = 41,
	AGC_MAX = 42,
	AGC_MIN = 43,
	AGC_LK_TH = 44,
	TS_AGC_LK_TH = 45,
	AGC_PWR_SET = 46,
	QPSK_MISC = 47,
	SNR_THS_LOW = 48,
	SNR_THS_HIGH = 49,
	TS_SW_RATE = 50,
	TS_SW_LIM_L = 51,
	TS_SW_LIM_H = 52,
	CS_SW_RATE_1 = 53,
	CS_SW_RATE_2 = 54,
	CS_SW_RATE_3 = 55,
	CS_SW_RATE_4 = 56,
	CS_SW_LIM = 57,
	TS_LPK = 58,
	TS_LPK_M = 59,
	TS_LPK_L = 60,
	CS_KPROP_H = 61,
	CS_KPROP_L = 62,
	CS_KINT_H = 63,
	CS_KINT_L = 64,
	QPSK_SCALE = 65,
	TLD_OUTCLK_TH = 66,
	TLD_INCLK_TH = 67,
	FLD_TH = 68,
	PLD_OUTLK3 = 69,
	PLD_OUTLK2 = 70,
	PLD_OUTLK1 = 71,
	PLD_OUTLK0 = 72,
	PLD_INLK3 = 73,
	PLD_INLK2 = 74,
	PLD_INLK1 = 75,
	PLD_INLK0 = 76,
	PLD_ACC_TIME = 77,
	SWEEP_PAR = 78,
	STARTUP_TIME = 79,
	LOSSLOCK_TH = 80,
	FEC_LOCK_TM = 81,
	LOSSLOCK_TM = 82,
	VIT_ERRPER_H = 83,
	VIT_ERRPER_M = 84,
	VIT_ERRPER_L = 85,
	HW_CTRL = 84,	/* ZL10313 only */
	MPEG_CTRL = 85,	/* ZL10313 only */
	VIT_SETUP = 86,
	VIT_REF0 = 87,
	VIT_REF1 = 88,
	VIT_REF2 = 89,
	VIT_REF3 = 90,
	VIT_REF4 = 91,
	VIT_REF5 = 92,
	VIT_REF6 = 93,
	VIT_MAXERR = 94,
	BA_SETUPT = 95,
	OP_CTRL = 96,
	FEC_SETUP = 97,
	PROG_SYNC = 98,
	AFC_SEAR_TH = 99,
	CSACC_DIF_TH = 100,
	QPSK_LK_CT = 101,
	QPSK_ST_CT = 102,
	MON_CTRL = 103,
	QPSK_RESET = 104,
	QPSK_TST_CT = 105,
	QPSK_TST_ST = 106,
	TEST_R = 107,
	AGC_H = 108,
	AGC_M = 109,
	AGC_L = 110,
	FREQ_ERR1_H = 111,
	FREQ_ERR1_M = 112,
	FREQ_ERR1_L = 113,
	FREQ_ERR2_H = 114,
	FREQ_ERR2_L = 115,
	SYM_RAT_OP_H = 116,
	SYM_RAT_OP_L = 117,
	DESEQC2_INT = 118,
	DISEQC2_STAT = 119,
	DISEQC2_FIFO = 120,
	DISEQC2_CTRL1 = 121,
	DISEQC2_CTRL2 = 122,
	MONITOR_H = 123,
	MONITOR_L = 124,
	TEST_MODE = 125,
	ID = 126,
	CONFIG = 127
};

enum mt312_model_id {
	ID_VP310 = 1,
	ID_MT312 = 3,
	ID_ZL10313 = 5,
};

#endif				/* DVB_FRONTENDS_MT312_PRIV */
