xref: /linux/drivers/media/dvb-frontends/stv0900_init.h (revision 75bf465f0bc33e9b776a46d6a1b9b990f5fb7c37)
1*c942fddfSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */
2db7a4843SIgor M. Liplianin /*
3db7a4843SIgor M. Liplianin  * stv0900_init.h
4db7a4843SIgor M. Liplianin  *
5db7a4843SIgor M. Liplianin  * Driver for ST STV0900 satellite demodulator IC.
6db7a4843SIgor M. Liplianin  *
7db7a4843SIgor M. Liplianin  * Copyright (C) ST Microelectronics.
8db7a4843SIgor M. Liplianin  * Copyright (C) 2009 NetUP Inc.
9db7a4843SIgor M. Liplianin  * Copyright (C) 2009 Igor M. Liplianin <liplianin@netup.ru>
10db7a4843SIgor M. Liplianin  */
11db7a4843SIgor M. Liplianin 
12db7a4843SIgor M. Liplianin #ifndef STV0900_INIT_H
13db7a4843SIgor M. Liplianin #define STV0900_INIT_H
14db7a4843SIgor M. Liplianin 
15db7a4843SIgor M. Liplianin #include "stv0900_priv.h"
16db7a4843SIgor M. Liplianin 
17db7a4843SIgor M. Liplianin /* DVBS2 C/N Look-Up table */
18db7a4843SIgor M. Liplianin static const struct stv0900_table stv0900_s2_cn = {
19db7a4843SIgor M. Liplianin 	55,
20db7a4843SIgor M. Liplianin 	{
21db7a4843SIgor M. Liplianin 		{ -30,	13348 }, /*C/N=-3dB*/
22db7a4843SIgor M. Liplianin 		{ -20,	12640 }, /*C/N=-2dB*/
23db7a4843SIgor M. Liplianin 		{ -10,	11883 }, /*C/N=-1dB*/
24db7a4843SIgor M. Liplianin 		{ 0,	11101 }, /*C/N=-0dB*/
25db7a4843SIgor M. Liplianin 		{ 5,	10718 }, /*C/N=0.5dB*/
26db7a4843SIgor M. Liplianin 		{ 10,	10339 }, /*C/N=1.0dB*/
27db7a4843SIgor M. Liplianin 		{ 15,	9947 }, /*C/N=1.5dB*/
28db7a4843SIgor M. Liplianin 		{ 20,	9552 }, /*C/N=2.0dB*/
29db7a4843SIgor M. Liplianin 		{ 25,	9183 }, /*C/N=2.5dB*/
30db7a4843SIgor M. Liplianin 		{ 30,	8799 }, /*C/N=3.0dB*/
31db7a4843SIgor M. Liplianin 		{ 35,	8422 }, /*C/N=3.5dB*/
32db7a4843SIgor M. Liplianin 		{ 40,	8062 }, /*C/N=4.0dB*/
33db7a4843SIgor M. Liplianin 		{ 45,	7707 }, /*C/N=4.5dB*/
34db7a4843SIgor M. Liplianin 		{ 50,	7353 }, /*C/N=5.0dB*/
35db7a4843SIgor M. Liplianin 		{ 55,	7025 }, /*C/N=5.5dB*/
36db7a4843SIgor M. Liplianin 		{ 60,	6684 }, /*C/N=6.0dB*/
37db7a4843SIgor M. Liplianin 		{ 65,	6331 }, /*C/N=6.5dB*/
38db7a4843SIgor M. Liplianin 		{ 70,	6036 }, /*C/N=7.0dB*/
39db7a4843SIgor M. Liplianin 		{ 75,	5727 }, /*C/N=7.5dB*/
40db7a4843SIgor M. Liplianin 		{ 80,	5437 }, /*C/N=8.0dB*/
41db7a4843SIgor M. Liplianin 		{ 85,	5164 }, /*C/N=8.5dB*/
42db7a4843SIgor M. Liplianin 		{ 90,	4902 }, /*C/N=9.0dB*/
43db7a4843SIgor M. Liplianin 		{ 95,	4653 }, /*C/N=9.5dB*/
44db7a4843SIgor M. Liplianin 		{ 100,	4408 }, /*C/N=10.0dB*/
45db7a4843SIgor M. Liplianin 		{ 105,	4187 }, /*C/N=10.5dB*/
46db7a4843SIgor M. Liplianin 		{ 110,	3961 }, /*C/N=11.0dB*/
47db7a4843SIgor M. Liplianin 		{ 115,	3751 }, /*C/N=11.5dB*/
48db7a4843SIgor M. Liplianin 		{ 120,	3558 }, /*C/N=12.0dB*/
49db7a4843SIgor M. Liplianin 		{ 125,	3368 }, /*C/N=12.5dB*/
50db7a4843SIgor M. Liplianin 		{ 130,	3191 }, /*C/N=13.0dB*/
51db7a4843SIgor M. Liplianin 		{ 135,	3017 }, /*C/N=13.5dB*/
52db7a4843SIgor M. Liplianin 		{ 140,	2862 }, /*C/N=14.0dB*/
53db7a4843SIgor M. Liplianin 		{ 145,	2710 }, /*C/N=14.5dB*/
54db7a4843SIgor M. Liplianin 		{ 150,	2565 }, /*C/N=15.0dB*/
55db7a4843SIgor M. Liplianin 		{ 160,	2300 }, /*C/N=16.0dB*/
56db7a4843SIgor M. Liplianin 		{ 170,	2058 }, /*C/N=17.0dB*/
57db7a4843SIgor M. Liplianin 		{ 180,	1849 }, /*C/N=18.0dB*/
58db7a4843SIgor M. Liplianin 		{ 190,	1663 }, /*C/N=19.0dB*/
59db7a4843SIgor M. Liplianin 		{ 200,	1495 }, /*C/N=20.0dB*/
60db7a4843SIgor M. Liplianin 		{ 210,	1349 }, /*C/N=21.0dB*/
61db7a4843SIgor M. Liplianin 		{ 220,	1222 }, /*C/N=22.0dB*/
62db7a4843SIgor M. Liplianin 		{ 230,	1110 }, /*C/N=23.0dB*/
63db7a4843SIgor M. Liplianin 		{ 240,	1011 }, /*C/N=24.0dB*/
64db7a4843SIgor M. Liplianin 		{ 250,	925 }, /*C/N=25.0dB*/
65db7a4843SIgor M. Liplianin 		{ 260,	853 }, /*C/N=26.0dB*/
66db7a4843SIgor M. Liplianin 		{ 270,	789 }, /*C/N=27.0dB*/
67db7a4843SIgor M. Liplianin 		{ 280,	734 }, /*C/N=28.0dB*/
68db7a4843SIgor M. Liplianin 		{ 290,	690 }, /*C/N=29.0dB*/
69db7a4843SIgor M. Liplianin 		{ 300,	650 }, /*C/N=30.0dB*/
70db7a4843SIgor M. Liplianin 		{ 310,	619 }, /*C/N=31.0dB*/
71db7a4843SIgor M. Liplianin 		{ 320,	593 }, /*C/N=32.0dB*/
72db7a4843SIgor M. Liplianin 		{ 330,	571 }, /*C/N=33.0dB*/
73db7a4843SIgor M. Liplianin 		{ 400,	498 }, /*C/N=40.0dB*/
74db7a4843SIgor M. Liplianin 		{ 450,	484 }, /*C/N=45.0dB*/
75db7a4843SIgor M. Liplianin 		{ 500,	481 }  /*C/N=50.0dB*/
76db7a4843SIgor M. Liplianin 	}
77db7a4843SIgor M. Liplianin };
78db7a4843SIgor M. Liplianin 
79db7a4843SIgor M. Liplianin /* RF level C/N Look-Up table */
80db7a4843SIgor M. Liplianin static const struct stv0900_table stv0900_rf = {
81db7a4843SIgor M. Liplianin 	14,
82db7a4843SIgor M. Liplianin 	{
83db7a4843SIgor M. Liplianin 		{ -5, 0xCAA1 }, /*-5dBm*/
84db7a4843SIgor M. Liplianin 		{ -10, 0xC229 }, /*-10dBm*/
85db7a4843SIgor M. Liplianin 		{ -15, 0xBB08 }, /*-15dBm*/
86db7a4843SIgor M. Liplianin 		{ -20, 0xB4BC }, /*-20dBm*/
87db7a4843SIgor M. Liplianin 		{ -25, 0xAD5A }, /*-25dBm*/
88db7a4843SIgor M. Liplianin 		{ -30, 0xA298 }, /*-30dBm*/
89db7a4843SIgor M. Liplianin 		{ -35, 0x98A8 }, /*-35dBm*/
90db7a4843SIgor M. Liplianin 		{ -40, 0x8389 }, /*-40dBm*/
91db7a4843SIgor M. Liplianin 		{ -45, 0x59BE }, /*-45dBm*/
92db7a4843SIgor M. Liplianin 		{ -50, 0x3A14 }, /*-50dBm*/
93db7a4843SIgor M. Liplianin 		{ -55, 0x2D11 }, /*-55dBm*/
94db7a4843SIgor M. Liplianin 		{ -60, 0x210D }, /*-60dBm*/
95db7a4843SIgor M. Liplianin 		{ -65, 0xA14F }, /*-65dBm*/
96db7a4843SIgor M. Liplianin 		{ -70, 0x7AA }	/*-70dBm*/
97db7a4843SIgor M. Liplianin 	}
98db7a4843SIgor M. Liplianin };
99db7a4843SIgor M. Liplianin 
100db7a4843SIgor M. Liplianin struct stv0900_car_loop_optim {
101db7a4843SIgor M. Liplianin 	enum fe_stv0900_modcode modcode;
102db7a4843SIgor M. Liplianin 	u8 car_loop_pilots_on_2;
103db7a4843SIgor M. Liplianin 	u8 car_loop_pilots_off_2;
104db7a4843SIgor M. Liplianin 	u8 car_loop_pilots_on_5;
105db7a4843SIgor M. Liplianin 	u8 car_loop_pilots_off_5;
106db7a4843SIgor M. Liplianin 	u8 car_loop_pilots_on_10;
107db7a4843SIgor M. Liplianin 	u8 car_loop_pilots_off_10;
108db7a4843SIgor M. Liplianin 	u8 car_loop_pilots_on_20;
109db7a4843SIgor M. Liplianin 	u8 car_loop_pilots_off_20;
110db7a4843SIgor M. Liplianin 	u8 car_loop_pilots_on_30;
111db7a4843SIgor M. Liplianin 	u8 car_loop_pilots_off_30;
112db7a4843SIgor M. Liplianin 
113db7a4843SIgor M. Liplianin };
114db7a4843SIgor M. Liplianin 
115db7a4843SIgor M. Liplianin struct stv0900_short_frames_car_loop_optim {
116db7a4843SIgor M. Liplianin 	enum fe_stv0900_modulation modulation;
117db7a4843SIgor M. Liplianin 	u8 car_loop_cut12_2;    /* Cut 1.2,   SR<=3msps     */
118db7a4843SIgor M. Liplianin 	u8 car_loop_cut20_2;    /* Cut 2.0,   SR<3msps      */
119db7a4843SIgor M. Liplianin 	u8 car_loop_cut12_5;    /* Cut 1.2,   3<SR<=7msps   */
120db7a4843SIgor M. Liplianin 	u8 car_loop_cut20_5;    /* Cut 2.0,   3<SR<=7msps   */
121db7a4843SIgor M. Liplianin 	u8 car_loop_cut12_10;   /* Cut 1.2,   7<SR<=15msps  */
122db7a4843SIgor M. Liplianin 	u8 car_loop_cut20_10;   /* Cut 2.0,   7<SR<=15msps  */
123db7a4843SIgor M. Liplianin 	u8 car_loop_cut12_20;   /* Cut 1.2,   10<SR<=25msps */
124db7a4843SIgor M. Liplianin 	u8 car_loop_cut20_20;   /* Cut 2.0,   10<SR<=25msps */
125db7a4843SIgor M. Liplianin 	u8 car_loop_cut12_30;   /* Cut 1.2,   25<SR<=45msps */
126db7a4843SIgor M. Liplianin 	u8 car_loop_cut20_30;   /* Cut 2.0,   10<SR<=45msps */
127db7a4843SIgor M. Liplianin 
128db7a4843SIgor M. Liplianin };
129db7a4843SIgor M. Liplianin 
13046960eeaSIgor M. Liplianin struct stv0900_short_frames_car_loop_optim_vs_mod {
13146960eeaSIgor M. Liplianin 	enum fe_stv0900_modulation modulation;
13246960eeaSIgor M. Liplianin 	u8 car_loop_2;	  /* SR<3msps      */
13346960eeaSIgor M. Liplianin 	u8 car_loop_5;	  /* 3<SR<=7msps   */
13446960eeaSIgor M. Liplianin 	u8 car_loop_10;   /* 7<SR<=15msps  */
13546960eeaSIgor M. Liplianin 	u8 car_loop_20;   /* 10<SR<=25msps */
13646960eeaSIgor M. Liplianin 	u8 car_loop_30;   /* 10<SR<=45msps */
13746960eeaSIgor M. Liplianin };
13846960eeaSIgor M. Liplianin 
139db7a4843SIgor M. Liplianin /* Cut 1.x Tracking carrier loop carrier QPSK 1/2 to 8PSK 9/10 long Frame */
140db7a4843SIgor M. Liplianin static const struct stv0900_car_loop_optim FE_STV0900_S2CarLoop[14] = {
14146960eeaSIgor M. Liplianin 	/*Modcod		2MPon	2MPoff	5MPon	5MPoff	10MPon
14246960eeaSIgor M. Liplianin 				10MPoff	20MPon	20MPoff	30MPon	30MPoff */
14346960eeaSIgor M. Liplianin 	{ STV0900_QPSK_12,	0x1C,	0x0D,	0x1B,	0x2C,	0x3A,
14446960eeaSIgor M. Liplianin 				0x1C,	0x2A,	0x3B,	0x2A,	0x1B },
14546960eeaSIgor M. Liplianin 	{ STV0900_QPSK_35,	0x2C,	0x0D,	0x2B,	0x2C,	0x3A,
14646960eeaSIgor M. Liplianin 				0x0C,	0x3A,	0x2B,	0x2A,	0x0B },
14746960eeaSIgor M. Liplianin 	{ STV0900_QPSK_23,	0x2C,	0x0D,	0x2B,	0x2C,	0x0B,
14846960eeaSIgor M. Liplianin 				0x0C,	0x3A,	0x1B,	0x2A,	0x3A },
14946960eeaSIgor M. Liplianin 	{ STV0900_QPSK_34,	0x3C,	0x0D,	0x3B,	0x1C,	0x0B,
15046960eeaSIgor M. Liplianin 				0x3B,	0x3A,	0x0B,	0x2A,	0x3A },
15146960eeaSIgor M. Liplianin 	{ STV0900_QPSK_45,	0x3C,	0x0D,	0x3B,	0x1C,	0x0B,
15246960eeaSIgor M. Liplianin 				0x3B,	0x3A,	0x0B,	0x2A,	0x3A },
15346960eeaSIgor M. Liplianin 	{ STV0900_QPSK_56,	0x0D,	0x0D,	0x3B,	0x1C,	0x0B,
15446960eeaSIgor M. Liplianin 				0x3B,	0x3A,	0x0B,	0x2A,	0x3A },
15546960eeaSIgor M. Liplianin 	{ STV0900_QPSK_89,	0x0D,	0x0D,	0x3B,	0x1C,	0x1B,
15646960eeaSIgor M. Liplianin 				0x3B,	0x3A,	0x0B,	0x2A,	0x3A },
15746960eeaSIgor M. Liplianin 	{ STV0900_QPSK_910,	0x1D,	0x0D,	0x3B,	0x1C,	0x1B,
15846960eeaSIgor M. Liplianin 				0x3B,	0x3A,	0x0B,	0x2A,	0x3A },
15946960eeaSIgor M. Liplianin 	{ STV0900_8PSK_35,	0x29,	0x3B,	0x09,	0x2B,	0x38,
16046960eeaSIgor M. Liplianin 				0x0B,	0x18,	0x1A,	0x08,	0x0A },
16146960eeaSIgor M. Liplianin 	{ STV0900_8PSK_23,	0x0A,	0x3B,	0x29,	0x2B,	0x19,
16246960eeaSIgor M. Liplianin 				0x0B,	0x38,	0x1A,	0x18,	0x0A },
16346960eeaSIgor M. Liplianin 	{ STV0900_8PSK_34,	0x3A,	0x3B,	0x2A,	0x2B,	0x39,
16446960eeaSIgor M. Liplianin 				0x0B,	0x19,	0x1A,	0x38,	0x0A },
16546960eeaSIgor M. Liplianin 	{ STV0900_8PSK_56,	0x1B,	0x3B,	0x0B,	0x2B,	0x1A,
16646960eeaSIgor M. Liplianin 				0x0B,	0x39,	0x1A,	0x19,	0x0A },
16746960eeaSIgor M. Liplianin 	{ STV0900_8PSK_89,	0x3B,	0x3B,	0x0B,	0x2B,	0x2A,
16846960eeaSIgor M. Liplianin 				0x0B,	0x39,	0x1A,	0x29,	0x39 },
16946960eeaSIgor M. Liplianin 	{ STV0900_8PSK_910,	0x3B,	0x3B,	0x0B,	0x2B,	0x2A,
17046960eeaSIgor M. Liplianin 				0x0B,	0x39,	0x1A,	0x29,	0x39 }
171db7a4843SIgor M. Liplianin };
172db7a4843SIgor M. Liplianin 
173db7a4843SIgor M. Liplianin 
174db7a4843SIgor M. Liplianin /* Cut 2.0 Tracking carrier loop carrier QPSK 1/2 to 8PSK 9/10 long Frame */
175db7a4843SIgor M. Liplianin static const struct stv0900_car_loop_optim FE_STV0900_S2CarLoopCut20[14] = {
17646960eeaSIgor M. Liplianin 	/* Modcod		2MPon	2MPoff	5MPon	5MPoff	10MPon
17746960eeaSIgor M. Liplianin 				10MPoff	20MPon	20MPoff	30MPon	30MPoff */
17846960eeaSIgor M. Liplianin 	{ STV0900_QPSK_12,	0x1F,	0x3F,	0x1E,	0x3F,	0x3D,
17946960eeaSIgor M. Liplianin 				0x1F,	0x3D,	0x3E,	0x3D,	0x1E },
18046960eeaSIgor M. Liplianin 	{ STV0900_QPSK_35,	0x2F,	0x3F,	0x2E,	0x2F,	0x3D,
18146960eeaSIgor M. Liplianin 				0x0F,	0x0E,	0x2E,	0x3D,	0x0E },
18246960eeaSIgor M. Liplianin 	{ STV0900_QPSK_23,	0x2F,	0x3F,	0x2E,	0x2F,	0x0E,
18346960eeaSIgor M. Liplianin 				0x0F,	0x0E,	0x1E,	0x3D,	0x3D },
18446960eeaSIgor M. Liplianin 	{ STV0900_QPSK_34,	0x3F,	0x3F,	0x3E,	0x1F,	0x0E,
18546960eeaSIgor M. Liplianin 				0x3E,	0x0E,	0x1E,	0x3D,	0x3D },
18646960eeaSIgor M. Liplianin 	{ STV0900_QPSK_45,	0x3F,	0x3F,	0x3E,	0x1F,	0x0E,
18746960eeaSIgor M. Liplianin 				0x3E,	0x0E,	0x1E,	0x3D,	0x3D },
18846960eeaSIgor M. Liplianin 	{ STV0900_QPSK_56,	0x3F,	0x3F,	0x3E,	0x1F,	0x0E,
18946960eeaSIgor M. Liplianin 				0x3E,	0x0E,	0x1E,	0x3D,	0x3D },
19046960eeaSIgor M. Liplianin 	{ STV0900_QPSK_89,	0x3F,	0x3F,	0x3E,	0x1F,	0x1E,
19146960eeaSIgor M. Liplianin 				0x3E,	0x0E,	0x1E,	0x3D,	0x3D },
19246960eeaSIgor M. Liplianin 	{ STV0900_QPSK_910,	0x3F,	0x3F,	0x3E,	0x1F,	0x1E,
19346960eeaSIgor M. Liplianin 				0x3E,	0x0E,	0x1E,	0x3D,	0x3D },
19446960eeaSIgor M. Liplianin 	{ STV0900_8PSK_35,	0x3c,	0x0c,	0x1c,	0x3b,	0x0c,
19546960eeaSIgor M. Liplianin 				0x3b,	0x2b,	0x2b,	0x1b,	0x2b },
19646960eeaSIgor M. Liplianin 	{ STV0900_8PSK_23,	0x1d,	0x0c,	0x3c,	0x0c,	0x2c,
19746960eeaSIgor M. Liplianin 				0x3b,	0x0c,	0x2b,	0x2b,	0x2b },
19846960eeaSIgor M. Liplianin 	{ STV0900_8PSK_34,	0x0e,	0x1c,	0x3d,	0x0c,	0x0d,
19946960eeaSIgor M. Liplianin 				0x3b,	0x2c,	0x3b,	0x0c,	0x2b },
20046960eeaSIgor M. Liplianin 	{ STV0900_8PSK_56,	0x2e,	0x3e,	0x1e,	0x2e,	0x2d,
20146960eeaSIgor M. Liplianin 				0x1e,	0x3c,	0x2d,	0x2c,	0x1d },
20246960eeaSIgor M. Liplianin 	{ STV0900_8PSK_89,	0x3e,	0x3e,	0x1e,	0x2e,	0x3d,
20346960eeaSIgor M. Liplianin 				0x1e,	0x0d,	0x2d,	0x3c,	0x1d },
20446960eeaSIgor M. Liplianin 	{ STV0900_8PSK_910,	0x3e,	0x3e,	0x1e,	0x2e,	0x3d,
20546960eeaSIgor M. Liplianin 				0x1e,	0x1d,	0x2d,	0x0d,	0x1d },
206db7a4843SIgor M. Liplianin };
207db7a4843SIgor M. Liplianin 
208db7a4843SIgor M. Liplianin 
209db7a4843SIgor M. Liplianin 
210db7a4843SIgor M. Liplianin /* Cut 2.0 Tracking carrier loop carrier 16APSK 2/3 to 32APSK 9/10 long Frame */
211db7a4843SIgor M. Liplianin static const struct stv0900_car_loop_optim FE_STV0900_S2APSKCarLoopCut20[11] = {
21246960eeaSIgor M. Liplianin 	/* Modcod		2MPon	2MPoff	5MPon	5MPoff	10MPon
21346960eeaSIgor M. Liplianin 				10MPoff	20MPon	20MPoff	30MPon	30MPoff */
21446960eeaSIgor M. Liplianin 	{ STV0900_16APSK_23,	0x0C,	0x0C,	0x0C,	0x0C,	0x1D,
21546960eeaSIgor M. Liplianin 				0x0C,	0x3C,	0x0C,	0x2C,	0x0C },
21646960eeaSIgor M. Liplianin 	{ STV0900_16APSK_34,	0x0C,	0x0C,	0x0C,	0x0C,	0x0E,
21746960eeaSIgor M. Liplianin 				0x0C,	0x2D,	0x0C,	0x1D,	0x0C },
21846960eeaSIgor M. Liplianin 	{ STV0900_16APSK_45,	0x0C,	0x0C,	0x0C,	0x0C,	0x1E,
21946960eeaSIgor M. Liplianin 				0x0C,	0x3D,	0x0C,	0x2D,	0x0C },
22046960eeaSIgor M. Liplianin 	{ STV0900_16APSK_56,	0x0C,	0x0C,	0x0C,	0x0C,	0x1E,
22146960eeaSIgor M. Liplianin 				0x0C,	0x3D,	0x0C,	0x2D,	0x0C },
22246960eeaSIgor M. Liplianin 	{ STV0900_16APSK_89,	0x0C,	0x0C,	0x0C,	0x0C,	0x2E,
22346960eeaSIgor M. Liplianin 				0x0C,	0x0E,	0x0C,	0x3D,	0x0C },
22446960eeaSIgor M. Liplianin 	{ STV0900_16APSK_910,	0x0C,	0x0C,	0x0C,	0x0C,	0x2E,
22546960eeaSIgor M. Liplianin 				0x0C,	0x0E,	0x0C,	0x3D,	0x0C },
22646960eeaSIgor M. Liplianin 	{ STV0900_32APSK_34,	0x0C,	0x0C,	0x0C,	0x0C,	0x0C,
22746960eeaSIgor M. Liplianin 				0x0C,	0x0C,	0x0C,	0x0C,	0x0C },
22846960eeaSIgor M. Liplianin 	{ STV0900_32APSK_45,	0x0C,	0x0C,	0x0C,	0x0C,	0x0C,
22946960eeaSIgor M. Liplianin 				0x0C,	0x0C,	0x0C,	0x0C,	0x0C },
23046960eeaSIgor M. Liplianin 	{ STV0900_32APSK_56,	0x0C,	0x0C,	0x0C,	0x0C,	0x0C,
23146960eeaSIgor M. Liplianin 				0x0C,	0x0C,	0x0C,	0x0C,	0x0C },
23246960eeaSIgor M. Liplianin 	{ STV0900_32APSK_89,	0x0C,	0x0C,	0x0C,	0x0C,	0x0C,
23346960eeaSIgor M. Liplianin 				0x0C,	0x0C,	0x0C,	0x0C,	0x0C },
23446960eeaSIgor M. Liplianin 	{ STV0900_32APSK_910,	0x0C,	0x0C,	0x0C,	0x0C,	0x0C,
23546960eeaSIgor M. Liplianin 				0x0C,	0x0C,	0x0C,	0x0C,	0x0C },
236db7a4843SIgor M. Liplianin };
237db7a4843SIgor M. Liplianin 
238db7a4843SIgor M. Liplianin 
239db7a4843SIgor M. Liplianin /* Cut 2.0 Tracking carrier loop carrier QPSK 1/4 to QPSK 2/5 long Frame */
240db7a4843SIgor M. Liplianin static const struct stv0900_car_loop_optim FE_STV0900_S2LowQPCarLoopCut20[3] = {
24146960eeaSIgor M. Liplianin 	/* Modcod		2MPon	2MPoff	5MPon	5MPoff	10MPon
24246960eeaSIgor M. Liplianin 				10MPoff	20MPon	20MPoff	30MPon	30MPoff */
24346960eeaSIgor M. Liplianin 	{ STV0900_QPSK_14,	0x0F,	0x3F,	0x0E,	0x3F,	0x2D,
24446960eeaSIgor M. Liplianin 				0x2F,	0x2D,	0x1F,	0x3D,	0x3E },
24546960eeaSIgor M. Liplianin 	{ STV0900_QPSK_13,	0x0F,	0x3F,	0x0E,	0x3F,	0x2D,
24646960eeaSIgor M. Liplianin 				0x2F,	0x3D,	0x0F,	0x3D,	0x2E },
24746960eeaSIgor M. Liplianin 	{ STV0900_QPSK_25,	0x1F,	0x3F,	0x1E,	0x3F,	0x3D,
24846960eeaSIgor M. Liplianin 				0x1F,	0x3D,	0x3E,	0x3D,	0x2E }
249db7a4843SIgor M. Liplianin };
250db7a4843SIgor M. Liplianin 
251db7a4843SIgor M. Liplianin 
252db7a4843SIgor M. Liplianin /* Cut 2.0 Tracking carrier loop carrier  short Frame, cut 1.2 and 2.0 */
25346960eeaSIgor M. Liplianin static const
25446960eeaSIgor M. Liplianin struct stv0900_short_frames_car_loop_optim FE_STV0900_S2ShortCarLoop[4] = {
25546960eeaSIgor M. Liplianin 	/*Mod		2Mcut1.2 2Mcut2.0 5Mcut1.2 5Mcut2.0 10Mcut1.2
25646960eeaSIgor M. Liplianin 			10Mcut2.0 20Mcut1.2 20M_cut2.0 30Mcut1.2 30Mcut2.0*/
25746960eeaSIgor M. Liplianin 	{ STV0900_QPSK,		0x3C,	0x2F,	0x2B,	0x2E,	0x0B,
25846960eeaSIgor M. Liplianin 				0x0E,	0x3A,	0x0E,	0x2A,	0x3D },
25946960eeaSIgor M. Liplianin 	{ STV0900_8PSK,		0x0B,	0x3E,	0x2A,	0x0E,	0x0A,
26046960eeaSIgor M. Liplianin 				0x2D,	0x19,	0x0D,	0x09,	0x3C },
26146960eeaSIgor M. Liplianin 	{ STV0900_16APSK,	0x1B,	0x1E,	0x1B,	0x1E,	0x1B,
26246960eeaSIgor M. Liplianin 				0x1E,	0x3A,	0x3D,	0x2A,	0x2D },
26346960eeaSIgor M. Liplianin 	{ STV0900_32APSK,	0x1B,	0x1E,	0x1B,	0x1E,	0x1B,
26446960eeaSIgor M. Liplianin 				0x1E,	0x3A,	0x3D,	0x2A,	0x2D }
265db7a4843SIgor M. Liplianin };
266db7a4843SIgor M. Liplianin 
26746960eeaSIgor M. Liplianin static	const struct stv0900_car_loop_optim FE_STV0900_S2CarLoopCut30[14] = {
26846960eeaSIgor M. Liplianin 	/*Modcod		2MPon	2MPoff	5MPon	5MPoff	10MPon
26946960eeaSIgor M. Liplianin 				10MPoff	20MPon	20MPoff	30MPon	30MPoff	*/
27046960eeaSIgor M. Liplianin 	{ STV0900_QPSK_12,	0x3C,	0x2C,	0x0C,	0x2C,	0x1B,
27146960eeaSIgor M. Liplianin 				0x2C,	0x1B,	0x1C,	0x0B,	0x3B },
27246960eeaSIgor M. Liplianin 	{ STV0900_QPSK_35,	0x0D,	0x0D,	0x0C,	0x0D,	0x1B,
27346960eeaSIgor M. Liplianin 				0x3C,	0x1B,	0x1C,	0x0B,	0x3B },
27446960eeaSIgor M. Liplianin 	{ STV0900_QPSK_23,	0x1D,	0x0D,	0x0C,	0x1D,	0x2B,
27546960eeaSIgor M. Liplianin 				0x3C,	0x1B,	0x1C,	0x0B,	0x3B },
27646960eeaSIgor M. Liplianin 	{ STV0900_QPSK_34,	0x1D,	0x1D,	0x0C,	0x1D,	0x2B,
27746960eeaSIgor M. Liplianin 				0x3C,	0x1B,	0x1C,	0x0B,	0x3B },
27846960eeaSIgor M. Liplianin 	{ STV0900_QPSK_45,	0x2D,	0x1D,	0x1C,	0x1D,	0x2B,
27946960eeaSIgor M. Liplianin 				0x3C,	0x2B,	0x0C,	0x1B,	0x3B },
28046960eeaSIgor M. Liplianin 	{ STV0900_QPSK_56,	0x2D,	0x1D,	0x1C,	0x1D,	0x2B,
28146960eeaSIgor M. Liplianin 				0x3C,	0x2B,	0x0C,	0x1B,	0x3B },
28246960eeaSIgor M. Liplianin 	{ STV0900_QPSK_89,	0x3D,	0x2D,	0x1C,	0x1D,	0x3B,
28346960eeaSIgor M. Liplianin 				0x3C,	0x2B,	0x0C,	0x1B,	0x3B },
28446960eeaSIgor M. Liplianin 	{ STV0900_QPSK_910,	0x3D,	0x2D,	0x1C,	0x1D,	0x3B,
28546960eeaSIgor M. Liplianin 				0x3C,	0x2B,	0x0C,	0x1B,	0x3B },
28646960eeaSIgor M. Liplianin 	{ STV0900_8PSK_35,	0x39,	0x19,	0x39,	0x19,	0x19,
28746960eeaSIgor M. Liplianin 				0x19,	0x19,	0x19,	0x09,	0x19 },
28846960eeaSIgor M. Liplianin 	{ STV0900_8PSK_23,	0x2A,	0x39,	0x1A,	0x0A,	0x39,
28946960eeaSIgor M. Liplianin 				0x0A,	0x29,	0x39,	0x29,	0x0A },
29046960eeaSIgor M. Liplianin 	{ STV0900_8PSK_34,	0x0B,	0x3A,	0x0B,	0x0B,	0x3A,
29146960eeaSIgor M. Liplianin 				0x1B,	0x1A,	0x0B,	0x1A,	0x3A },
29246960eeaSIgor M. Liplianin 	{ STV0900_8PSK_56,	0x0C,	0x1B,	0x3B,	0x2B,	0x1B,
29346960eeaSIgor M. Liplianin 				0x3B,	0x3A,	0x3B,	0x3A,	0x1B },
29446960eeaSIgor M. Liplianin 	{ STV0900_8PSK_89,	0x2C,	0x2C,	0x2C,	0x1C,	0x2B,
29546960eeaSIgor M. Liplianin 				0x0C,	0x0B,	0x3B,	0x0B,	0x1B },
29646960eeaSIgor M. Liplianin 	{ STV0900_8PSK_910,	0x2C,	0x3C,	0x2C,	0x1C,	0x3B,
29746960eeaSIgor M. Liplianin 				0x1C,	0x0B,	0x3B,	0x0B,	0x1B }
29846960eeaSIgor M. Liplianin };
29946960eeaSIgor M. Liplianin 
30046960eeaSIgor M. Liplianin static	const
30146960eeaSIgor M. Liplianin struct stv0900_car_loop_optim FE_STV0900_S2APSKCarLoopCut30[11] = {
30246960eeaSIgor M. Liplianin 	/*Modcod		2MPon	2MPoff	5MPon	5MPoff	10MPon
30346960eeaSIgor M. Liplianin 				10MPoff	20MPon	20MPoff	30MPon	30MPoff	*/
30446960eeaSIgor M. Liplianin 	{ STV0900_16APSK_23,	0x0A,	0x0A,	0x0A,	0x0A,	0x1A,
30546960eeaSIgor M. Liplianin 				0x0A,	0x3A,	0x0A,	0x2A,	0x0A },
30646960eeaSIgor M. Liplianin 	{ STV0900_16APSK_34,	0x0A,	0x0A,	0x0A,	0x0A,	0x0B,
30746960eeaSIgor M. Liplianin 				0x0A,	0x3B,	0x0A,	0x1B,	0x0A },
30846960eeaSIgor M. Liplianin 	{ STV0900_16APSK_45,	0x0A,	0x0A,	0x0A,	0x0A,	0x1B,
30946960eeaSIgor M. Liplianin 				0x0A,	0x3B,	0x0A,	0x2B,	0x0A },
31046960eeaSIgor M. Liplianin 	{ STV0900_16APSK_56,	0x0A,	0x0A,	0x0A,	0x0A,	0x1B,
31146960eeaSIgor M. Liplianin 				0x0A,	0x3B,	0x0A,	0x2B,	0x0A },
31246960eeaSIgor M. Liplianin 	{ STV0900_16APSK_89,	0x0A,	0x0A,	0x0A,	0x0A,	0x2B,
31346960eeaSIgor M. Liplianin 				0x0A,	0x0C,	0x0A,	0x3B,	0x0A },
31446960eeaSIgor M. Liplianin 	{ STV0900_16APSK_910,	0x0A,	0x0A,	0x0A,	0x0A,	0x2B,
31546960eeaSIgor M. Liplianin 				0x0A,	0x0C,	0x0A,	0x3B,	0x0A },
31646960eeaSIgor M. Liplianin 	{ STV0900_32APSK_34,	0x0A,	0x0A,	0x0A,	0x0A,	0x0A,
31746960eeaSIgor M. Liplianin 				0x0A,	0x0A,	0x0A,	0x0A,	0x0A },
31846960eeaSIgor M. Liplianin 	{ STV0900_32APSK_45,	0x0A,	0x0A,	0x0A,	0x0A,	0x0A,
31946960eeaSIgor M. Liplianin 				0x0A,	0x0A,	0x0A,	0x0A,	0x0A },
32046960eeaSIgor M. Liplianin 	{ STV0900_32APSK_56,	0x0A,	0x0A,	0x0A,	0x0A,	0x0A,
32146960eeaSIgor M. Liplianin 				0x0A,	0x0A,	0x0A,	0x0A,	0x0A },
32246960eeaSIgor M. Liplianin 	{ STV0900_32APSK_89,	0x0A,	0x0A,	0x0A,	0x0A,	0x0A,
32346960eeaSIgor M. Liplianin 				0x0A,	0x0A,	0x0A,	0x0A,	0x0A },
32446960eeaSIgor M. Liplianin 	{ STV0900_32APSK_910,	0x0A,	0x0A,	0x0A,	0x0A,	0x0A,
32546960eeaSIgor M. Liplianin 				0x0A,	0x0A,	0x0A,	0x0A,	0x0A }
32646960eeaSIgor M. Liplianin };
32746960eeaSIgor M. Liplianin 
32846960eeaSIgor M. Liplianin static	const
32946960eeaSIgor M. Liplianin struct stv0900_car_loop_optim FE_STV0900_S2LowQPCarLoopCut30[3] = {
33046960eeaSIgor M. Liplianin 	/*Modcod		2MPon	2MPoff	5MPon	5MPoff	10MPon
33146960eeaSIgor M. Liplianin 				10MPoff	20MPon	20MPoff	30MPon	30MPoff*/
33246960eeaSIgor M. Liplianin 	{ STV0900_QPSK_14,	0x0C,	0x3C,	0x0B,	0x3C,	0x2A,
33346960eeaSIgor M. Liplianin 				0x2C,	0x2A,	0x1C,	0x3A,	0x3B },
33446960eeaSIgor M. Liplianin 	{ STV0900_QPSK_13,	0x0C,	0x3C,	0x0B,	0x3C,	0x2A,
33546960eeaSIgor M. Liplianin 				0x2C,	0x3A,	0x0C,	0x3A,	0x2B },
33646960eeaSIgor M. Liplianin 	{ STV0900_QPSK_25,	0x1C,	0x3C,	0x1B,	0x3C,	0x3A,
33746960eeaSIgor M. Liplianin 				0x1C,	0x3A,	0x3B,	0x3A,	0x2B }
33846960eeaSIgor M. Liplianin };
33946960eeaSIgor M. Liplianin 
34046960eeaSIgor M. Liplianin static	const struct stv0900_short_frames_car_loop_optim_vs_mod
34146960eeaSIgor M. Liplianin FE_STV0900_S2ShortCarLoopCut30[4] = {
34246960eeaSIgor M. Liplianin 	/*Mod		2Mcut3.0 5Mcut3.0 10Mcut3.0 20Mcut3.0 30Mcut3.0*/
34346960eeaSIgor M. Liplianin 	{ STV0900_QPSK,		0x2C,	0x2B,	0x0B,	0x0B,	0x3A },
34446960eeaSIgor M. Liplianin 	{ STV0900_8PSK,		0x3B,	0x0B,	0x2A,	0x0A,	0x39 },
34546960eeaSIgor M. Liplianin 	{ STV0900_16APSK,	0x1B,	0x1B,	0x1B,	0x3A,	0x2A },
34646960eeaSIgor M. Liplianin 	{ STV0900_32APSK,	0x1B,	0x1B,	0x1B,	0x3A,	0x2A },
34746960eeaSIgor M. Liplianin 
34846960eeaSIgor M. Liplianin };
34946960eeaSIgor M. Liplianin 
35046960eeaSIgor M. Liplianin static const u16 STV0900_InitVal[181][2] = {
351db7a4843SIgor M. Liplianin 	{ R0900_OUTCFG		, 0x00	},
352db7a4843SIgor M. Liplianin 	{ R0900_AGCRF1CFG	, 0x11	},
353db7a4843SIgor M. Liplianin 	{ R0900_AGCRF2CFG	, 0x13	},
354db7a4843SIgor M. Liplianin 	{ R0900_TSGENERAL1X	, 0x14	},
355db7a4843SIgor M. Liplianin 	{ R0900_TSTTNR2		, 0x21	},
356db7a4843SIgor M. Liplianin 	{ R0900_TSTTNR4		, 0x21	},
357db7a4843SIgor M. Liplianin 	{ R0900_P2_DISTXCTL	, 0x22	},
358db7a4843SIgor M. Liplianin 	{ R0900_P2_F22TX	, 0xc0	},
359db7a4843SIgor M. Liplianin 	{ R0900_P2_F22RX	, 0xc0	},
360db7a4843SIgor M. Liplianin 	{ R0900_P2_DISRXCTL	, 0x00	},
361db7a4843SIgor M. Liplianin 	{ R0900_P2_TNRSTEPS	, 0x87	},
362db7a4843SIgor M. Liplianin 	{ R0900_P2_TNRGAIN	, 0x09	},
363db7a4843SIgor M. Liplianin 	{ R0900_P2_DMDCFGMD	, 0xF9	},
364db7a4843SIgor M. Liplianin 	{ R0900_P2_DEMOD	, 0x08	},
365db7a4843SIgor M. Liplianin 	{ R0900_P2_DMDCFG3	, 0xc4	},
366db7a4843SIgor M. Liplianin 	{ R0900_P2_CARFREQ	, 0xed	},
367db7a4843SIgor M. Liplianin 	{ R0900_P2_TNRCFG2	, 0x02	},
368db7a4843SIgor M. Liplianin 	{ R0900_P2_TNRCFG3	, 0x02	},
369db7a4843SIgor M. Liplianin 	{ R0900_P2_LDT		, 0xd0	},
370db7a4843SIgor M. Liplianin 	{ R0900_P2_LDT2		, 0xb8	},
371db7a4843SIgor M. Liplianin 	{ R0900_P2_TMGCFG	, 0xd2	},
372db7a4843SIgor M. Liplianin 	{ R0900_P2_TMGTHRISE	, 0x20	},
373db7a4843SIgor M. Liplianin 	{ R0900_P2_TMGTHFALL	, 0x00	},
374db7a4843SIgor M. Liplianin 	{ R0900_P2_FECSPY	, 0x88	},
375db7a4843SIgor M. Liplianin 	{ R0900_P2_FSPYDATA	, 0x3a	},
376db7a4843SIgor M. Liplianin 	{ R0900_P2_FBERCPT4	, 0x00	},
377db7a4843SIgor M. Liplianin 	{ R0900_P2_FSPYBER	, 0x10	},
378db7a4843SIgor M. Liplianin 	{ R0900_P2_ERRCTRL1	, 0x35	},
379db7a4843SIgor M. Liplianin 	{ R0900_P2_ERRCTRL2	, 0xc1	},
380db7a4843SIgor M. Liplianin 	{ R0900_P2_CFRICFG	, 0xf8	},
381db7a4843SIgor M. Liplianin 	{ R0900_P2_NOSCFG	, 0x1c	},
382db7a4843SIgor M. Liplianin 	{ R0900_P2_DMDT0M	, 0x20	},
383db7a4843SIgor M. Liplianin 	{ R0900_P2_CORRELMANT	, 0x70	},
384db7a4843SIgor M. Liplianin 	{ R0900_P2_CORRELABS	, 0x88	},
385db7a4843SIgor M. Liplianin 	{ R0900_P2_AGC2O	, 0x5b	},
386db7a4843SIgor M. Liplianin 	{ R0900_P2_AGC2REF	, 0x38	},
387db7a4843SIgor M. Liplianin 	{ R0900_P2_CARCFG	, 0xe4	},
388db7a4843SIgor M. Liplianin 	{ R0900_P2_ACLC		, 0x1A	},
389db7a4843SIgor M. Liplianin 	{ R0900_P2_BCLC		, 0x09	},
390db7a4843SIgor M. Liplianin 	{ R0900_P2_CARHDR	, 0x08	},
391db7a4843SIgor M. Liplianin 	{ R0900_P2_KREFTMG	, 0xc1	},
392db7a4843SIgor M. Liplianin 	{ R0900_P2_SFRUPRATIO	, 0xf0	},
393db7a4843SIgor M. Liplianin 	{ R0900_P2_SFRLOWRATIO	, 0x70	},
394db7a4843SIgor M. Liplianin 	{ R0900_P2_SFRSTEP	, 0x58	},
395db7a4843SIgor M. Liplianin 	{ R0900_P2_TMGCFG2	, 0x01	},
396db7a4843SIgor M. Liplianin 	{ R0900_P2_CAR2CFG	, 0x26	},
397db7a4843SIgor M. Liplianin 	{ R0900_P2_BCLC2S2Q	, 0x86	},
398db7a4843SIgor M. Liplianin 	{ R0900_P2_BCLC2S28	, 0x86	},
399db7a4843SIgor M. Liplianin 	{ R0900_P2_SMAPCOEF7	, 0x77	},
400db7a4843SIgor M. Liplianin 	{ R0900_P2_SMAPCOEF6	, 0x85	},
401db7a4843SIgor M. Liplianin 	{ R0900_P2_SMAPCOEF5	, 0x77	},
402db7a4843SIgor M. Liplianin 	{ R0900_P2_TSCFGL	, 0x20	},
403db7a4843SIgor M. Liplianin 	{ R0900_P2_DMDCFG2	, 0x3b	},
404db7a4843SIgor M. Liplianin 	{ R0900_P2_MODCODLST0	, 0xff	},
405db7a4843SIgor M. Liplianin 	{ R0900_P2_MODCODLST1	, 0xff	},
406db7a4843SIgor M. Liplianin 	{ R0900_P2_MODCODLST2	, 0xff	},
407db7a4843SIgor M. Liplianin 	{ R0900_P2_MODCODLST3	, 0xff	},
408db7a4843SIgor M. Liplianin 	{ R0900_P2_MODCODLST4	, 0xff	},
409db7a4843SIgor M. Liplianin 	{ R0900_P2_MODCODLST5	, 0xff	},
410db7a4843SIgor M. Liplianin 	{ R0900_P2_MODCODLST6	, 0xff	},
411db7a4843SIgor M. Liplianin 	{ R0900_P2_MODCODLST7	, 0xcc	},
412db7a4843SIgor M. Liplianin 	{ R0900_P2_MODCODLST8	, 0xcc	},
413db7a4843SIgor M. Liplianin 	{ R0900_P2_MODCODLST9	, 0xcc	},
414db7a4843SIgor M. Liplianin 	{ R0900_P2_MODCODLSTA	, 0xcc	},
415db7a4843SIgor M. Liplianin 	{ R0900_P2_MODCODLSTB	, 0xcc	},
416db7a4843SIgor M. Liplianin 	{ R0900_P2_MODCODLSTC	, 0xcc	},
417db7a4843SIgor M. Liplianin 	{ R0900_P2_MODCODLSTD	, 0xcc	},
418db7a4843SIgor M. Liplianin 	{ R0900_P2_MODCODLSTE	, 0xcc	},
419db7a4843SIgor M. Liplianin 	{ R0900_P2_MODCODLSTF	, 0xcf	},
420db7a4843SIgor M. Liplianin 	{ R0900_P1_DISTXCTL	, 0x22	},
421db7a4843SIgor M. Liplianin 	{ R0900_P1_F22TX	, 0xc0	},
422db7a4843SIgor M. Liplianin 	{ R0900_P1_F22RX	, 0xc0	},
423db7a4843SIgor M. Liplianin 	{ R0900_P1_DISRXCTL	, 0x00	},
424db7a4843SIgor M. Liplianin 	{ R0900_P1_TNRSTEPS	, 0x87	},
425db7a4843SIgor M. Liplianin 	{ R0900_P1_TNRGAIN	, 0x09	},
426db7a4843SIgor M. Liplianin 	{ R0900_P1_DMDCFGMD	, 0xf9	},
427db7a4843SIgor M. Liplianin 	{ R0900_P1_DEMOD	, 0x08	},
428db7a4843SIgor M. Liplianin 	{ R0900_P1_DMDCFG3	, 0xc4	},
429db7a4843SIgor M. Liplianin 	{ R0900_P1_DMDT0M	, 0x20	},
430db7a4843SIgor M. Liplianin 	{ R0900_P1_CARFREQ	, 0xed	},
431db7a4843SIgor M. Liplianin 	{ R0900_P1_TNRCFG2	, 0x82	},
432db7a4843SIgor M. Liplianin 	{ R0900_P1_TNRCFG3	, 0x02	},
433db7a4843SIgor M. Liplianin 	{ R0900_P1_LDT		, 0xd0	},
434db7a4843SIgor M. Liplianin 	{ R0900_P1_LDT2		, 0xb8	},
435db7a4843SIgor M. Liplianin 	{ R0900_P1_TMGCFG	, 0xd2	},
436db7a4843SIgor M. Liplianin 	{ R0900_P1_TMGTHRISE	, 0x20	},
437db7a4843SIgor M. Liplianin 	{ R0900_P1_TMGTHFALL	, 0x00	},
438db7a4843SIgor M. Liplianin 	{ R0900_P1_SFRUPRATIO	, 0xf0	},
439db7a4843SIgor M. Liplianin 	{ R0900_P1_SFRLOWRATIO	, 0x70	},
440db7a4843SIgor M. Liplianin 	{ R0900_P1_TSCFGL	, 0x20	},
441db7a4843SIgor M. Liplianin 	{ R0900_P1_FECSPY	, 0x88	},
442db7a4843SIgor M. Liplianin 	{ R0900_P1_FSPYDATA	, 0x3a	},
443db7a4843SIgor M. Liplianin 	{ R0900_P1_FBERCPT4	, 0x00	},
444db7a4843SIgor M. Liplianin 	{ R0900_P1_FSPYBER	, 0x10	},
445db7a4843SIgor M. Liplianin 	{ R0900_P1_ERRCTRL1	, 0x35	},
446db7a4843SIgor M. Liplianin 	{ R0900_P1_ERRCTRL2	, 0xc1	},
447db7a4843SIgor M. Liplianin 	{ R0900_P1_CFRICFG	, 0xf8	},
448db7a4843SIgor M. Liplianin 	{ R0900_P1_NOSCFG	, 0x1c	},
449db7a4843SIgor M. Liplianin 	{ R0900_P1_CORRELMANT	, 0x70	},
450db7a4843SIgor M. Liplianin 	{ R0900_P1_CORRELABS	, 0x88	},
451db7a4843SIgor M. Liplianin 	{ R0900_P1_AGC2O	, 0x5b	},
452db7a4843SIgor M. Liplianin 	{ R0900_P1_AGC2REF	, 0x38	},
453db7a4843SIgor M. Liplianin 	{ R0900_P1_CARCFG	, 0xe4	},
454db7a4843SIgor M. Liplianin 	{ R0900_P1_ACLC		, 0x1A	},
455db7a4843SIgor M. Liplianin 	{ R0900_P1_BCLC		, 0x09	},
456db7a4843SIgor M. Liplianin 	{ R0900_P1_CARHDR	, 0x08	},
457db7a4843SIgor M. Liplianin 	{ R0900_P1_KREFTMG	, 0xc1	},
458db7a4843SIgor M. Liplianin 	{ R0900_P1_SFRSTEP	, 0x58	},
459db7a4843SIgor M. Liplianin 	{ R0900_P1_TMGCFG2	, 0x01	},
460db7a4843SIgor M. Liplianin 	{ R0900_P1_CAR2CFG	, 0x26	},
461db7a4843SIgor M. Liplianin 	{ R0900_P1_BCLC2S2Q	, 0x86	},
462db7a4843SIgor M. Liplianin 	{ R0900_P1_BCLC2S28	, 0x86	},
463db7a4843SIgor M. Liplianin 	{ R0900_P1_SMAPCOEF7	, 0x77	},
464db7a4843SIgor M. Liplianin 	{ R0900_P1_SMAPCOEF6	, 0x85	},
465db7a4843SIgor M. Liplianin 	{ R0900_P1_SMAPCOEF5	, 0x77	},
466db7a4843SIgor M. Liplianin 	{ R0900_P1_DMDCFG2	, 0x3b	},
467db7a4843SIgor M. Liplianin 	{ R0900_P1_MODCODLST0	, 0xff	},
468db7a4843SIgor M. Liplianin 	{ R0900_P1_MODCODLST1	, 0xff	},
469db7a4843SIgor M. Liplianin 	{ R0900_P1_MODCODLST2	, 0xff	},
470db7a4843SIgor M. Liplianin 	{ R0900_P1_MODCODLST3	, 0xff	},
471db7a4843SIgor M. Liplianin 	{ R0900_P1_MODCODLST4	, 0xff	},
472db7a4843SIgor M. Liplianin 	{ R0900_P1_MODCODLST5	, 0xff	},
473db7a4843SIgor M. Liplianin 	{ R0900_P1_MODCODLST6	, 0xff	},
474db7a4843SIgor M. Liplianin 	{ R0900_P1_MODCODLST7	, 0xcc	},
475db7a4843SIgor M. Liplianin 	{ R0900_P1_MODCODLST8	, 0xcc	},
476db7a4843SIgor M. Liplianin 	{ R0900_P1_MODCODLST9	, 0xcc	},
477db7a4843SIgor M. Liplianin 	{ R0900_P1_MODCODLSTA	, 0xcc	},
478db7a4843SIgor M. Liplianin 	{ R0900_P1_MODCODLSTB	, 0xcc	},
479db7a4843SIgor M. Liplianin 	{ R0900_P1_MODCODLSTC	, 0xcc	},
480db7a4843SIgor M. Liplianin 	{ R0900_P1_MODCODLSTD	, 0xcc	},
481db7a4843SIgor M. Liplianin 	{ R0900_P1_MODCODLSTE	, 0xcc	},
482db7a4843SIgor M. Liplianin 	{ R0900_P1_MODCODLSTF	, 0xcf	},
483db7a4843SIgor M. Liplianin 	{ R0900_GENCFG		, 0x1d	},
484db7a4843SIgor M. Liplianin 	{ R0900_NBITER_NF4	, 0x37	},
485db7a4843SIgor M. Liplianin 	{ R0900_NBITER_NF5	, 0x29	},
486db7a4843SIgor M. Liplianin 	{ R0900_NBITER_NF6	, 0x37	},
487db7a4843SIgor M. Liplianin 	{ R0900_NBITER_NF7	, 0x33	},
488db7a4843SIgor M. Liplianin 	{ R0900_NBITER_NF8	, 0x31	},
489db7a4843SIgor M. Liplianin 	{ R0900_NBITER_NF9	, 0x2f	},
490db7a4843SIgor M. Liplianin 	{ R0900_NBITER_NF10	, 0x39	},
491db7a4843SIgor M. Liplianin 	{ R0900_NBITER_NF11	, 0x3a	},
492db7a4843SIgor M. Liplianin 	{ R0900_NBITER_NF12	, 0x29	},
493db7a4843SIgor M. Liplianin 	{ R0900_NBITER_NF13	, 0x37	},
494db7a4843SIgor M. Liplianin 	{ R0900_NBITER_NF14	, 0x33	},
495db7a4843SIgor M. Liplianin 	{ R0900_NBITER_NF15	, 0x2f	},
496db7a4843SIgor M. Liplianin 	{ R0900_NBITER_NF16	, 0x39	},
497db7a4843SIgor M. Liplianin 	{ R0900_NBITER_NF17	, 0x3a	},
498db7a4843SIgor M. Liplianin 	{ R0900_NBITERNOERR	, 0x04	},
499db7a4843SIgor M. Liplianin 	{ R0900_GAINLLR_NF4	, 0x0C	},
500db7a4843SIgor M. Liplianin 	{ R0900_GAINLLR_NF5	, 0x0F	},
501db7a4843SIgor M. Liplianin 	{ R0900_GAINLLR_NF6	, 0x11	},
502db7a4843SIgor M. Liplianin 	{ R0900_GAINLLR_NF7	, 0x14	},
503db7a4843SIgor M. Liplianin 	{ R0900_GAINLLR_NF8	, 0x17	},
504db7a4843SIgor M. Liplianin 	{ R0900_GAINLLR_NF9	, 0x19	},
505db7a4843SIgor M. Liplianin 	{ R0900_GAINLLR_NF10	, 0x20	},
506db7a4843SIgor M. Liplianin 	{ R0900_GAINLLR_NF11	, 0x21	},
507db7a4843SIgor M. Liplianin 	{ R0900_GAINLLR_NF12	, 0x0D	},
508db7a4843SIgor M. Liplianin 	{ R0900_GAINLLR_NF13	, 0x0F	},
509db7a4843SIgor M. Liplianin 	{ R0900_GAINLLR_NF14	, 0x13	},
510db7a4843SIgor M. Liplianin 	{ R0900_GAINLLR_NF15	, 0x1A	},
511db7a4843SIgor M. Liplianin 	{ R0900_GAINLLR_NF16	, 0x1F	},
512db7a4843SIgor M. Liplianin 	{ R0900_GAINLLR_NF17	, 0x21	},
51346960eeaSIgor M. Liplianin 	{ R0900_RCCFG2		, 0x20	},
514db7a4843SIgor M. Liplianin 	{ R0900_P1_FECM		, 0x01	}, /*disable DSS modes*/
515db7a4843SIgor M. Liplianin 	{ R0900_P2_FECM		, 0x01	}, /*disable DSS modes*/
516db7a4843SIgor M. Liplianin 	{ R0900_P1_PRVIT	, 0x2F	}, /*disable puncture rate 6/7*/
517db7a4843SIgor M. Liplianin 	{ R0900_P2_PRVIT	, 0x2F	}, /*disable puncture rate 6/7*/
518db7a4843SIgor M. Liplianin 	{ R0900_STROUT1CFG	, 0x4c	},
519db7a4843SIgor M. Liplianin 	{ R0900_STROUT2CFG	, 0x4c	},
520db7a4843SIgor M. Liplianin 	{ R0900_CLKOUT1CFG	, 0x50	},
521db7a4843SIgor M. Liplianin 	{ R0900_CLKOUT2CFG	, 0x50	},
522db7a4843SIgor M. Liplianin 	{ R0900_DPN1CFG		, 0x4a	},
523db7a4843SIgor M. Liplianin 	{ R0900_DPN2CFG		, 0x4a	},
524db7a4843SIgor M. Liplianin 	{ R0900_DATA71CFG	, 0x52	},
525db7a4843SIgor M. Liplianin 	{ R0900_DATA72CFG	, 0x52	},
526db7a4843SIgor M. Liplianin 	{ R0900_P1_TSCFGM	, 0xc0	},
527db7a4843SIgor M. Liplianin 	{ R0900_P2_TSCFGM	, 0xc0	},
528e9d4a6d5SAbylay Ospan 	{ R0900_P1_TSCFGH	, 0xe0	}, /* DVB-CI timings */
529e9d4a6d5SAbylay Ospan 	{ R0900_P2_TSCFGH	, 0xe0	}, /* DVB-CI timings */
530db7a4843SIgor M. Liplianin 	{ R0900_P1_TSSPEED	, 0x40	},
531db7a4843SIgor M. Liplianin 	{ R0900_P2_TSSPEED	, 0x40	},
532db7a4843SIgor M. Liplianin };
533db7a4843SIgor M. Liplianin 
534db7a4843SIgor M. Liplianin static const u16 STV0900_Cut20_AddOnVal[32][2] = {
535db7a4843SIgor M. Liplianin 	{ R0900_P2_DMDCFG3	, 0xe8	},
536db7a4843SIgor M. Liplianin 	{ R0900_P2_DMDCFG4	, 0x10	},
537db7a4843SIgor M. Liplianin 	{ R0900_P2_CARFREQ	, 0x38	},
538db7a4843SIgor M. Liplianin 	{ R0900_P2_CARHDR	, 0x20	},
539db7a4843SIgor M. Liplianin 	{ R0900_P2_KREFTMG	, 0x5a	},
540db7a4843SIgor M. Liplianin 	{ R0900_P2_SMAPCOEF7	, 0x06	},
541db7a4843SIgor M. Liplianin 	{ R0900_P2_SMAPCOEF6	, 0x00	},
542db7a4843SIgor M. Liplianin 	{ R0900_P2_SMAPCOEF5	, 0x04	},
543db7a4843SIgor M. Liplianin 	{ R0900_P2_NOSCFG	, 0x0c	},
544db7a4843SIgor M. Liplianin 	{ R0900_P1_DMDCFG3	, 0xe8	},
545db7a4843SIgor M. Liplianin 	{ R0900_P1_DMDCFG4	, 0x10	},
546db7a4843SIgor M. Liplianin 	{ R0900_P1_CARFREQ	, 0x38	},
547db7a4843SIgor M. Liplianin 	{ R0900_P1_CARHDR	, 0x20	},
548db7a4843SIgor M. Liplianin 	{ R0900_P1_KREFTMG	, 0x5a	},
549db7a4843SIgor M. Liplianin 	{ R0900_P1_SMAPCOEF7	, 0x06	},
550db7a4843SIgor M. Liplianin 	{ R0900_P1_SMAPCOEF6	, 0x00	},
551db7a4843SIgor M. Liplianin 	{ R0900_P1_SMAPCOEF5	, 0x04	},
552db7a4843SIgor M. Liplianin 	{ R0900_P1_NOSCFG	, 0x0c	},
553db7a4843SIgor M. Liplianin 	{ R0900_GAINLLR_NF4	, 0x21	},
554db7a4843SIgor M. Liplianin 	{ R0900_GAINLLR_NF5	, 0x21	},
555db7a4843SIgor M. Liplianin 	{ R0900_GAINLLR_NF6	, 0x20	},
556db7a4843SIgor M. Liplianin 	{ R0900_GAINLLR_NF7	, 0x1F	},
557db7a4843SIgor M. Liplianin 	{ R0900_GAINLLR_NF8	, 0x1E	},
558db7a4843SIgor M. Liplianin 	{ R0900_GAINLLR_NF9	, 0x1E	},
559db7a4843SIgor M. Liplianin 	{ R0900_GAINLLR_NF10	, 0x1D	},
560db7a4843SIgor M. Liplianin 	{ R0900_GAINLLR_NF11	, 0x1B	},
561db7a4843SIgor M. Liplianin 	{ R0900_GAINLLR_NF12	, 0x20	},
562db7a4843SIgor M. Liplianin 	{ R0900_GAINLLR_NF13	, 0x20	},
563db7a4843SIgor M. Liplianin 	{ R0900_GAINLLR_NF14	, 0x20	},
564db7a4843SIgor M. Liplianin 	{ R0900_GAINLLR_NF15	, 0x20	},
565db7a4843SIgor M. Liplianin 	{ R0900_GAINLLR_NF16	, 0x20	},
566db7a4843SIgor M. Liplianin 	{ R0900_GAINLLR_NF17	, 0x21	}
567db7a4843SIgor M. Liplianin 
568db7a4843SIgor M. Liplianin };
569db7a4843SIgor M. Liplianin 
570db7a4843SIgor M. Liplianin #endif
571