18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * stv0900_init.h
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci * Driver for ST STV0900 satellite demodulator IC.
68c2ecf20Sopenharmony_ci *
78c2ecf20Sopenharmony_ci * Copyright (C) ST Microelectronics.
88c2ecf20Sopenharmony_ci * Copyright (C) 2009 NetUP Inc.
98c2ecf20Sopenharmony_ci * Copyright (C) 2009 Igor M. Liplianin <liplianin@netup.ru>
108c2ecf20Sopenharmony_ci */
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ci#ifndef STV0900_INIT_H
138c2ecf20Sopenharmony_ci#define STV0900_INIT_H
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci#include "stv0900_priv.h"
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ci/* DVBS2 C/N Look-Up table */
188c2ecf20Sopenharmony_cistatic const struct stv0900_table stv0900_s2_cn = {
198c2ecf20Sopenharmony_ci	55,
208c2ecf20Sopenharmony_ci	{
218c2ecf20Sopenharmony_ci		{ -30,	13348 }, /*C/N=-3dB*/
228c2ecf20Sopenharmony_ci		{ -20,	12640 }, /*C/N=-2dB*/
238c2ecf20Sopenharmony_ci		{ -10,	11883 }, /*C/N=-1dB*/
248c2ecf20Sopenharmony_ci		{ 0,	11101 }, /*C/N=-0dB*/
258c2ecf20Sopenharmony_ci		{ 5,	10718 }, /*C/N=0.5dB*/
268c2ecf20Sopenharmony_ci		{ 10,	10339 }, /*C/N=1.0dB*/
278c2ecf20Sopenharmony_ci		{ 15,	9947 }, /*C/N=1.5dB*/
288c2ecf20Sopenharmony_ci		{ 20,	9552 }, /*C/N=2.0dB*/
298c2ecf20Sopenharmony_ci		{ 25,	9183 }, /*C/N=2.5dB*/
308c2ecf20Sopenharmony_ci		{ 30,	8799 }, /*C/N=3.0dB*/
318c2ecf20Sopenharmony_ci		{ 35,	8422 }, /*C/N=3.5dB*/
328c2ecf20Sopenharmony_ci		{ 40,	8062 }, /*C/N=4.0dB*/
338c2ecf20Sopenharmony_ci		{ 45,	7707 }, /*C/N=4.5dB*/
348c2ecf20Sopenharmony_ci		{ 50,	7353 }, /*C/N=5.0dB*/
358c2ecf20Sopenharmony_ci		{ 55,	7025 }, /*C/N=5.5dB*/
368c2ecf20Sopenharmony_ci		{ 60,	6684 }, /*C/N=6.0dB*/
378c2ecf20Sopenharmony_ci		{ 65,	6331 }, /*C/N=6.5dB*/
388c2ecf20Sopenharmony_ci		{ 70,	6036 }, /*C/N=7.0dB*/
398c2ecf20Sopenharmony_ci		{ 75,	5727 }, /*C/N=7.5dB*/
408c2ecf20Sopenharmony_ci		{ 80,	5437 }, /*C/N=8.0dB*/
418c2ecf20Sopenharmony_ci		{ 85,	5164 }, /*C/N=8.5dB*/
428c2ecf20Sopenharmony_ci		{ 90,	4902 }, /*C/N=9.0dB*/
438c2ecf20Sopenharmony_ci		{ 95,	4653 }, /*C/N=9.5dB*/
448c2ecf20Sopenharmony_ci		{ 100,	4408 }, /*C/N=10.0dB*/
458c2ecf20Sopenharmony_ci		{ 105,	4187 }, /*C/N=10.5dB*/
468c2ecf20Sopenharmony_ci		{ 110,	3961 }, /*C/N=11.0dB*/
478c2ecf20Sopenharmony_ci		{ 115,	3751 }, /*C/N=11.5dB*/
488c2ecf20Sopenharmony_ci		{ 120,	3558 }, /*C/N=12.0dB*/
498c2ecf20Sopenharmony_ci		{ 125,	3368 }, /*C/N=12.5dB*/
508c2ecf20Sopenharmony_ci		{ 130,	3191 }, /*C/N=13.0dB*/
518c2ecf20Sopenharmony_ci		{ 135,	3017 }, /*C/N=13.5dB*/
528c2ecf20Sopenharmony_ci		{ 140,	2862 }, /*C/N=14.0dB*/
538c2ecf20Sopenharmony_ci		{ 145,	2710 }, /*C/N=14.5dB*/
548c2ecf20Sopenharmony_ci		{ 150,	2565 }, /*C/N=15.0dB*/
558c2ecf20Sopenharmony_ci		{ 160,	2300 }, /*C/N=16.0dB*/
568c2ecf20Sopenharmony_ci		{ 170,	2058 }, /*C/N=17.0dB*/
578c2ecf20Sopenharmony_ci		{ 180,	1849 }, /*C/N=18.0dB*/
588c2ecf20Sopenharmony_ci		{ 190,	1663 }, /*C/N=19.0dB*/
598c2ecf20Sopenharmony_ci		{ 200,	1495 }, /*C/N=20.0dB*/
608c2ecf20Sopenharmony_ci		{ 210,	1349 }, /*C/N=21.0dB*/
618c2ecf20Sopenharmony_ci		{ 220,	1222 }, /*C/N=22.0dB*/
628c2ecf20Sopenharmony_ci		{ 230,	1110 }, /*C/N=23.0dB*/
638c2ecf20Sopenharmony_ci		{ 240,	1011 }, /*C/N=24.0dB*/
648c2ecf20Sopenharmony_ci		{ 250,	925 }, /*C/N=25.0dB*/
658c2ecf20Sopenharmony_ci		{ 260,	853 }, /*C/N=26.0dB*/
668c2ecf20Sopenharmony_ci		{ 270,	789 }, /*C/N=27.0dB*/
678c2ecf20Sopenharmony_ci		{ 280,	734 }, /*C/N=28.0dB*/
688c2ecf20Sopenharmony_ci		{ 290,	690 }, /*C/N=29.0dB*/
698c2ecf20Sopenharmony_ci		{ 300,	650 }, /*C/N=30.0dB*/
708c2ecf20Sopenharmony_ci		{ 310,	619 }, /*C/N=31.0dB*/
718c2ecf20Sopenharmony_ci		{ 320,	593 }, /*C/N=32.0dB*/
728c2ecf20Sopenharmony_ci		{ 330,	571 }, /*C/N=33.0dB*/
738c2ecf20Sopenharmony_ci		{ 400,	498 }, /*C/N=40.0dB*/
748c2ecf20Sopenharmony_ci		{ 450,	484 }, /*C/N=45.0dB*/
758c2ecf20Sopenharmony_ci		{ 500,	481 }  /*C/N=50.0dB*/
768c2ecf20Sopenharmony_ci	}
778c2ecf20Sopenharmony_ci};
788c2ecf20Sopenharmony_ci
798c2ecf20Sopenharmony_ci/* RF level C/N Look-Up table */
808c2ecf20Sopenharmony_cistatic const struct stv0900_table stv0900_rf = {
818c2ecf20Sopenharmony_ci	14,
828c2ecf20Sopenharmony_ci	{
838c2ecf20Sopenharmony_ci		{ -5, 0xCAA1 }, /*-5dBm*/
848c2ecf20Sopenharmony_ci		{ -10, 0xC229 }, /*-10dBm*/
858c2ecf20Sopenharmony_ci		{ -15, 0xBB08 }, /*-15dBm*/
868c2ecf20Sopenharmony_ci		{ -20, 0xB4BC }, /*-20dBm*/
878c2ecf20Sopenharmony_ci		{ -25, 0xAD5A }, /*-25dBm*/
888c2ecf20Sopenharmony_ci		{ -30, 0xA298 }, /*-30dBm*/
898c2ecf20Sopenharmony_ci		{ -35, 0x98A8 }, /*-35dBm*/
908c2ecf20Sopenharmony_ci		{ -40, 0x8389 }, /*-40dBm*/
918c2ecf20Sopenharmony_ci		{ -45, 0x59BE }, /*-45dBm*/
928c2ecf20Sopenharmony_ci		{ -50, 0x3A14 }, /*-50dBm*/
938c2ecf20Sopenharmony_ci		{ -55, 0x2D11 }, /*-55dBm*/
948c2ecf20Sopenharmony_ci		{ -60, 0x210D }, /*-60dBm*/
958c2ecf20Sopenharmony_ci		{ -65, 0xA14F }, /*-65dBm*/
968c2ecf20Sopenharmony_ci		{ -70, 0x7AA }	/*-70dBm*/
978c2ecf20Sopenharmony_ci	}
988c2ecf20Sopenharmony_ci};
998c2ecf20Sopenharmony_ci
1008c2ecf20Sopenharmony_cistruct stv0900_car_loop_optim {
1018c2ecf20Sopenharmony_ci	enum fe_stv0900_modcode modcode;
1028c2ecf20Sopenharmony_ci	u8 car_loop_pilots_on_2;
1038c2ecf20Sopenharmony_ci	u8 car_loop_pilots_off_2;
1048c2ecf20Sopenharmony_ci	u8 car_loop_pilots_on_5;
1058c2ecf20Sopenharmony_ci	u8 car_loop_pilots_off_5;
1068c2ecf20Sopenharmony_ci	u8 car_loop_pilots_on_10;
1078c2ecf20Sopenharmony_ci	u8 car_loop_pilots_off_10;
1088c2ecf20Sopenharmony_ci	u8 car_loop_pilots_on_20;
1098c2ecf20Sopenharmony_ci	u8 car_loop_pilots_off_20;
1108c2ecf20Sopenharmony_ci	u8 car_loop_pilots_on_30;
1118c2ecf20Sopenharmony_ci	u8 car_loop_pilots_off_30;
1128c2ecf20Sopenharmony_ci
1138c2ecf20Sopenharmony_ci};
1148c2ecf20Sopenharmony_ci
1158c2ecf20Sopenharmony_cistruct stv0900_short_frames_car_loop_optim {
1168c2ecf20Sopenharmony_ci	enum fe_stv0900_modulation modulation;
1178c2ecf20Sopenharmony_ci	u8 car_loop_cut12_2;    /* Cut 1.2,   SR<=3msps     */
1188c2ecf20Sopenharmony_ci	u8 car_loop_cut20_2;    /* Cut 2.0,   SR<3msps      */
1198c2ecf20Sopenharmony_ci	u8 car_loop_cut12_5;    /* Cut 1.2,   3<SR<=7msps   */
1208c2ecf20Sopenharmony_ci	u8 car_loop_cut20_5;    /* Cut 2.0,   3<SR<=7msps   */
1218c2ecf20Sopenharmony_ci	u8 car_loop_cut12_10;   /* Cut 1.2,   7<SR<=15msps  */
1228c2ecf20Sopenharmony_ci	u8 car_loop_cut20_10;   /* Cut 2.0,   7<SR<=15msps  */
1238c2ecf20Sopenharmony_ci	u8 car_loop_cut12_20;   /* Cut 1.2,   10<SR<=25msps */
1248c2ecf20Sopenharmony_ci	u8 car_loop_cut20_20;   /* Cut 2.0,   10<SR<=25msps */
1258c2ecf20Sopenharmony_ci	u8 car_loop_cut12_30;   /* Cut 1.2,   25<SR<=45msps */
1268c2ecf20Sopenharmony_ci	u8 car_loop_cut20_30;   /* Cut 2.0,   10<SR<=45msps */
1278c2ecf20Sopenharmony_ci
1288c2ecf20Sopenharmony_ci};
1298c2ecf20Sopenharmony_ci
1308c2ecf20Sopenharmony_cistruct stv0900_short_frames_car_loop_optim_vs_mod {
1318c2ecf20Sopenharmony_ci	enum fe_stv0900_modulation modulation;
1328c2ecf20Sopenharmony_ci	u8 car_loop_2;	  /* SR<3msps      */
1338c2ecf20Sopenharmony_ci	u8 car_loop_5;	  /* 3<SR<=7msps   */
1348c2ecf20Sopenharmony_ci	u8 car_loop_10;   /* 7<SR<=15msps  */
1358c2ecf20Sopenharmony_ci	u8 car_loop_20;   /* 10<SR<=25msps */
1368c2ecf20Sopenharmony_ci	u8 car_loop_30;   /* 10<SR<=45msps */
1378c2ecf20Sopenharmony_ci};
1388c2ecf20Sopenharmony_ci
1398c2ecf20Sopenharmony_ci/* Cut 1.x Tracking carrier loop carrier QPSK 1/2 to 8PSK 9/10 long Frame */
1408c2ecf20Sopenharmony_cistatic const struct stv0900_car_loop_optim FE_STV0900_S2CarLoop[14] = {
1418c2ecf20Sopenharmony_ci	/*Modcod		2MPon	2MPoff	5MPon	5MPoff	10MPon
1428c2ecf20Sopenharmony_ci				10MPoff	20MPon	20MPoff	30MPon	30MPoff */
1438c2ecf20Sopenharmony_ci	{ STV0900_QPSK_12,	0x1C,	0x0D,	0x1B,	0x2C,	0x3A,
1448c2ecf20Sopenharmony_ci				0x1C,	0x2A,	0x3B,	0x2A,	0x1B },
1458c2ecf20Sopenharmony_ci	{ STV0900_QPSK_35,	0x2C,	0x0D,	0x2B,	0x2C,	0x3A,
1468c2ecf20Sopenharmony_ci				0x0C,	0x3A,	0x2B,	0x2A,	0x0B },
1478c2ecf20Sopenharmony_ci	{ STV0900_QPSK_23,	0x2C,	0x0D,	0x2B,	0x2C,	0x0B,
1488c2ecf20Sopenharmony_ci				0x0C,	0x3A,	0x1B,	0x2A,	0x3A },
1498c2ecf20Sopenharmony_ci	{ STV0900_QPSK_34,	0x3C,	0x0D,	0x3B,	0x1C,	0x0B,
1508c2ecf20Sopenharmony_ci				0x3B,	0x3A,	0x0B,	0x2A,	0x3A },
1518c2ecf20Sopenharmony_ci	{ STV0900_QPSK_45,	0x3C,	0x0D,	0x3B,	0x1C,	0x0B,
1528c2ecf20Sopenharmony_ci				0x3B,	0x3A,	0x0B,	0x2A,	0x3A },
1538c2ecf20Sopenharmony_ci	{ STV0900_QPSK_56,	0x0D,	0x0D,	0x3B,	0x1C,	0x0B,
1548c2ecf20Sopenharmony_ci				0x3B,	0x3A,	0x0B,	0x2A,	0x3A },
1558c2ecf20Sopenharmony_ci	{ STV0900_QPSK_89,	0x0D,	0x0D,	0x3B,	0x1C,	0x1B,
1568c2ecf20Sopenharmony_ci				0x3B,	0x3A,	0x0B,	0x2A,	0x3A },
1578c2ecf20Sopenharmony_ci	{ STV0900_QPSK_910,	0x1D,	0x0D,	0x3B,	0x1C,	0x1B,
1588c2ecf20Sopenharmony_ci				0x3B,	0x3A,	0x0B,	0x2A,	0x3A },
1598c2ecf20Sopenharmony_ci	{ STV0900_8PSK_35,	0x29,	0x3B,	0x09,	0x2B,	0x38,
1608c2ecf20Sopenharmony_ci				0x0B,	0x18,	0x1A,	0x08,	0x0A },
1618c2ecf20Sopenharmony_ci	{ STV0900_8PSK_23,	0x0A,	0x3B,	0x29,	0x2B,	0x19,
1628c2ecf20Sopenharmony_ci				0x0B,	0x38,	0x1A,	0x18,	0x0A },
1638c2ecf20Sopenharmony_ci	{ STV0900_8PSK_34,	0x3A,	0x3B,	0x2A,	0x2B,	0x39,
1648c2ecf20Sopenharmony_ci				0x0B,	0x19,	0x1A,	0x38,	0x0A },
1658c2ecf20Sopenharmony_ci	{ STV0900_8PSK_56,	0x1B,	0x3B,	0x0B,	0x2B,	0x1A,
1668c2ecf20Sopenharmony_ci				0x0B,	0x39,	0x1A,	0x19,	0x0A },
1678c2ecf20Sopenharmony_ci	{ STV0900_8PSK_89,	0x3B,	0x3B,	0x0B,	0x2B,	0x2A,
1688c2ecf20Sopenharmony_ci				0x0B,	0x39,	0x1A,	0x29,	0x39 },
1698c2ecf20Sopenharmony_ci	{ STV0900_8PSK_910,	0x3B,	0x3B,	0x0B,	0x2B,	0x2A,
1708c2ecf20Sopenharmony_ci				0x0B,	0x39,	0x1A,	0x29,	0x39 }
1718c2ecf20Sopenharmony_ci};
1728c2ecf20Sopenharmony_ci
1738c2ecf20Sopenharmony_ci
1748c2ecf20Sopenharmony_ci/* Cut 2.0 Tracking carrier loop carrier QPSK 1/2 to 8PSK 9/10 long Frame */
1758c2ecf20Sopenharmony_cistatic const struct stv0900_car_loop_optim FE_STV0900_S2CarLoopCut20[14] = {
1768c2ecf20Sopenharmony_ci	/* Modcod		2MPon	2MPoff	5MPon	5MPoff	10MPon
1778c2ecf20Sopenharmony_ci				10MPoff	20MPon	20MPoff	30MPon	30MPoff */
1788c2ecf20Sopenharmony_ci	{ STV0900_QPSK_12,	0x1F,	0x3F,	0x1E,	0x3F,	0x3D,
1798c2ecf20Sopenharmony_ci				0x1F,	0x3D,	0x3E,	0x3D,	0x1E },
1808c2ecf20Sopenharmony_ci	{ STV0900_QPSK_35,	0x2F,	0x3F,	0x2E,	0x2F,	0x3D,
1818c2ecf20Sopenharmony_ci				0x0F,	0x0E,	0x2E,	0x3D,	0x0E },
1828c2ecf20Sopenharmony_ci	{ STV0900_QPSK_23,	0x2F,	0x3F,	0x2E,	0x2F,	0x0E,
1838c2ecf20Sopenharmony_ci				0x0F,	0x0E,	0x1E,	0x3D,	0x3D },
1848c2ecf20Sopenharmony_ci	{ STV0900_QPSK_34,	0x3F,	0x3F,	0x3E,	0x1F,	0x0E,
1858c2ecf20Sopenharmony_ci				0x3E,	0x0E,	0x1E,	0x3D,	0x3D },
1868c2ecf20Sopenharmony_ci	{ STV0900_QPSK_45,	0x3F,	0x3F,	0x3E,	0x1F,	0x0E,
1878c2ecf20Sopenharmony_ci				0x3E,	0x0E,	0x1E,	0x3D,	0x3D },
1888c2ecf20Sopenharmony_ci	{ STV0900_QPSK_56,	0x3F,	0x3F,	0x3E,	0x1F,	0x0E,
1898c2ecf20Sopenharmony_ci				0x3E,	0x0E,	0x1E,	0x3D,	0x3D },
1908c2ecf20Sopenharmony_ci	{ STV0900_QPSK_89,	0x3F,	0x3F,	0x3E,	0x1F,	0x1E,
1918c2ecf20Sopenharmony_ci				0x3E,	0x0E,	0x1E,	0x3D,	0x3D },
1928c2ecf20Sopenharmony_ci	{ STV0900_QPSK_910,	0x3F,	0x3F,	0x3E,	0x1F,	0x1E,
1938c2ecf20Sopenharmony_ci				0x3E,	0x0E,	0x1E,	0x3D,	0x3D },
1948c2ecf20Sopenharmony_ci	{ STV0900_8PSK_35,	0x3c,	0x0c,	0x1c,	0x3b,	0x0c,
1958c2ecf20Sopenharmony_ci				0x3b,	0x2b,	0x2b,	0x1b,	0x2b },
1968c2ecf20Sopenharmony_ci	{ STV0900_8PSK_23,	0x1d,	0x0c,	0x3c,	0x0c,	0x2c,
1978c2ecf20Sopenharmony_ci				0x3b,	0x0c,	0x2b,	0x2b,	0x2b },
1988c2ecf20Sopenharmony_ci	{ STV0900_8PSK_34,	0x0e,	0x1c,	0x3d,	0x0c,	0x0d,
1998c2ecf20Sopenharmony_ci				0x3b,	0x2c,	0x3b,	0x0c,	0x2b },
2008c2ecf20Sopenharmony_ci	{ STV0900_8PSK_56,	0x2e,	0x3e,	0x1e,	0x2e,	0x2d,
2018c2ecf20Sopenharmony_ci				0x1e,	0x3c,	0x2d,	0x2c,	0x1d },
2028c2ecf20Sopenharmony_ci	{ STV0900_8PSK_89,	0x3e,	0x3e,	0x1e,	0x2e,	0x3d,
2038c2ecf20Sopenharmony_ci				0x1e,	0x0d,	0x2d,	0x3c,	0x1d },
2048c2ecf20Sopenharmony_ci	{ STV0900_8PSK_910,	0x3e,	0x3e,	0x1e,	0x2e,	0x3d,
2058c2ecf20Sopenharmony_ci				0x1e,	0x1d,	0x2d,	0x0d,	0x1d },
2068c2ecf20Sopenharmony_ci};
2078c2ecf20Sopenharmony_ci
2088c2ecf20Sopenharmony_ci
2098c2ecf20Sopenharmony_ci
2108c2ecf20Sopenharmony_ci/* Cut 2.0 Tracking carrier loop carrier 16APSK 2/3 to 32APSK 9/10 long Frame */
2118c2ecf20Sopenharmony_cistatic const struct stv0900_car_loop_optim FE_STV0900_S2APSKCarLoopCut20[11] = {
2128c2ecf20Sopenharmony_ci	/* Modcod		2MPon	2MPoff	5MPon	5MPoff	10MPon
2138c2ecf20Sopenharmony_ci				10MPoff	20MPon	20MPoff	30MPon	30MPoff */
2148c2ecf20Sopenharmony_ci	{ STV0900_16APSK_23,	0x0C,	0x0C,	0x0C,	0x0C,	0x1D,
2158c2ecf20Sopenharmony_ci				0x0C,	0x3C,	0x0C,	0x2C,	0x0C },
2168c2ecf20Sopenharmony_ci	{ STV0900_16APSK_34,	0x0C,	0x0C,	0x0C,	0x0C,	0x0E,
2178c2ecf20Sopenharmony_ci				0x0C,	0x2D,	0x0C,	0x1D,	0x0C },
2188c2ecf20Sopenharmony_ci	{ STV0900_16APSK_45,	0x0C,	0x0C,	0x0C,	0x0C,	0x1E,
2198c2ecf20Sopenharmony_ci				0x0C,	0x3D,	0x0C,	0x2D,	0x0C },
2208c2ecf20Sopenharmony_ci	{ STV0900_16APSK_56,	0x0C,	0x0C,	0x0C,	0x0C,	0x1E,
2218c2ecf20Sopenharmony_ci				0x0C,	0x3D,	0x0C,	0x2D,	0x0C },
2228c2ecf20Sopenharmony_ci	{ STV0900_16APSK_89,	0x0C,	0x0C,	0x0C,	0x0C,	0x2E,
2238c2ecf20Sopenharmony_ci				0x0C,	0x0E,	0x0C,	0x3D,	0x0C },
2248c2ecf20Sopenharmony_ci	{ STV0900_16APSK_910,	0x0C,	0x0C,	0x0C,	0x0C,	0x2E,
2258c2ecf20Sopenharmony_ci				0x0C,	0x0E,	0x0C,	0x3D,	0x0C },
2268c2ecf20Sopenharmony_ci	{ STV0900_32APSK_34,	0x0C,	0x0C,	0x0C,	0x0C,	0x0C,
2278c2ecf20Sopenharmony_ci				0x0C,	0x0C,	0x0C,	0x0C,	0x0C },
2288c2ecf20Sopenharmony_ci	{ STV0900_32APSK_45,	0x0C,	0x0C,	0x0C,	0x0C,	0x0C,
2298c2ecf20Sopenharmony_ci				0x0C,	0x0C,	0x0C,	0x0C,	0x0C },
2308c2ecf20Sopenharmony_ci	{ STV0900_32APSK_56,	0x0C,	0x0C,	0x0C,	0x0C,	0x0C,
2318c2ecf20Sopenharmony_ci				0x0C,	0x0C,	0x0C,	0x0C,	0x0C },
2328c2ecf20Sopenharmony_ci	{ STV0900_32APSK_89,	0x0C,	0x0C,	0x0C,	0x0C,	0x0C,
2338c2ecf20Sopenharmony_ci				0x0C,	0x0C,	0x0C,	0x0C,	0x0C },
2348c2ecf20Sopenharmony_ci	{ STV0900_32APSK_910,	0x0C,	0x0C,	0x0C,	0x0C,	0x0C,
2358c2ecf20Sopenharmony_ci				0x0C,	0x0C,	0x0C,	0x0C,	0x0C },
2368c2ecf20Sopenharmony_ci};
2378c2ecf20Sopenharmony_ci
2388c2ecf20Sopenharmony_ci
2398c2ecf20Sopenharmony_ci/* Cut 2.0 Tracking carrier loop carrier QPSK 1/4 to QPSK 2/5 long Frame */
2408c2ecf20Sopenharmony_cistatic const struct stv0900_car_loop_optim FE_STV0900_S2LowQPCarLoopCut20[3] = {
2418c2ecf20Sopenharmony_ci	/* Modcod		2MPon	2MPoff	5MPon	5MPoff	10MPon
2428c2ecf20Sopenharmony_ci				10MPoff	20MPon	20MPoff	30MPon	30MPoff */
2438c2ecf20Sopenharmony_ci	{ STV0900_QPSK_14,	0x0F,	0x3F,	0x0E,	0x3F,	0x2D,
2448c2ecf20Sopenharmony_ci				0x2F,	0x2D,	0x1F,	0x3D,	0x3E },
2458c2ecf20Sopenharmony_ci	{ STV0900_QPSK_13,	0x0F,	0x3F,	0x0E,	0x3F,	0x2D,
2468c2ecf20Sopenharmony_ci				0x2F,	0x3D,	0x0F,	0x3D,	0x2E },
2478c2ecf20Sopenharmony_ci	{ STV0900_QPSK_25,	0x1F,	0x3F,	0x1E,	0x3F,	0x3D,
2488c2ecf20Sopenharmony_ci				0x1F,	0x3D,	0x3E,	0x3D,	0x2E }
2498c2ecf20Sopenharmony_ci};
2508c2ecf20Sopenharmony_ci
2518c2ecf20Sopenharmony_ci
2528c2ecf20Sopenharmony_ci/* Cut 2.0 Tracking carrier loop carrier  short Frame, cut 1.2 and 2.0 */
2538c2ecf20Sopenharmony_cistatic const
2548c2ecf20Sopenharmony_cistruct stv0900_short_frames_car_loop_optim FE_STV0900_S2ShortCarLoop[4] = {
2558c2ecf20Sopenharmony_ci	/*Mod		2Mcut1.2 2Mcut2.0 5Mcut1.2 5Mcut2.0 10Mcut1.2
2568c2ecf20Sopenharmony_ci			10Mcut2.0 20Mcut1.2 20M_cut2.0 30Mcut1.2 30Mcut2.0*/
2578c2ecf20Sopenharmony_ci	{ STV0900_QPSK,		0x3C,	0x2F,	0x2B,	0x2E,	0x0B,
2588c2ecf20Sopenharmony_ci				0x0E,	0x3A,	0x0E,	0x2A,	0x3D },
2598c2ecf20Sopenharmony_ci	{ STV0900_8PSK,		0x0B,	0x3E,	0x2A,	0x0E,	0x0A,
2608c2ecf20Sopenharmony_ci				0x2D,	0x19,	0x0D,	0x09,	0x3C },
2618c2ecf20Sopenharmony_ci	{ STV0900_16APSK,	0x1B,	0x1E,	0x1B,	0x1E,	0x1B,
2628c2ecf20Sopenharmony_ci				0x1E,	0x3A,	0x3D,	0x2A,	0x2D },
2638c2ecf20Sopenharmony_ci	{ STV0900_32APSK,	0x1B,	0x1E,	0x1B,	0x1E,	0x1B,
2648c2ecf20Sopenharmony_ci				0x1E,	0x3A,	0x3D,	0x2A,	0x2D }
2658c2ecf20Sopenharmony_ci};
2668c2ecf20Sopenharmony_ci
2678c2ecf20Sopenharmony_cistatic	const struct stv0900_car_loop_optim FE_STV0900_S2CarLoopCut30[14] = {
2688c2ecf20Sopenharmony_ci	/*Modcod		2MPon	2MPoff	5MPon	5MPoff	10MPon
2698c2ecf20Sopenharmony_ci				10MPoff	20MPon	20MPoff	30MPon	30MPoff	*/
2708c2ecf20Sopenharmony_ci	{ STV0900_QPSK_12,	0x3C,	0x2C,	0x0C,	0x2C,	0x1B,
2718c2ecf20Sopenharmony_ci				0x2C,	0x1B,	0x1C,	0x0B,	0x3B },
2728c2ecf20Sopenharmony_ci	{ STV0900_QPSK_35,	0x0D,	0x0D,	0x0C,	0x0D,	0x1B,
2738c2ecf20Sopenharmony_ci				0x3C,	0x1B,	0x1C,	0x0B,	0x3B },
2748c2ecf20Sopenharmony_ci	{ STV0900_QPSK_23,	0x1D,	0x0D,	0x0C,	0x1D,	0x2B,
2758c2ecf20Sopenharmony_ci				0x3C,	0x1B,	0x1C,	0x0B,	0x3B },
2768c2ecf20Sopenharmony_ci	{ STV0900_QPSK_34,	0x1D,	0x1D,	0x0C,	0x1D,	0x2B,
2778c2ecf20Sopenharmony_ci				0x3C,	0x1B,	0x1C,	0x0B,	0x3B },
2788c2ecf20Sopenharmony_ci	{ STV0900_QPSK_45,	0x2D,	0x1D,	0x1C,	0x1D,	0x2B,
2798c2ecf20Sopenharmony_ci				0x3C,	0x2B,	0x0C,	0x1B,	0x3B },
2808c2ecf20Sopenharmony_ci	{ STV0900_QPSK_56,	0x2D,	0x1D,	0x1C,	0x1D,	0x2B,
2818c2ecf20Sopenharmony_ci				0x3C,	0x2B,	0x0C,	0x1B,	0x3B },
2828c2ecf20Sopenharmony_ci	{ STV0900_QPSK_89,	0x3D,	0x2D,	0x1C,	0x1D,	0x3B,
2838c2ecf20Sopenharmony_ci				0x3C,	0x2B,	0x0C,	0x1B,	0x3B },
2848c2ecf20Sopenharmony_ci	{ STV0900_QPSK_910,	0x3D,	0x2D,	0x1C,	0x1D,	0x3B,
2858c2ecf20Sopenharmony_ci				0x3C,	0x2B,	0x0C,	0x1B,	0x3B },
2868c2ecf20Sopenharmony_ci	{ STV0900_8PSK_35,	0x39,	0x19,	0x39,	0x19,	0x19,
2878c2ecf20Sopenharmony_ci				0x19,	0x19,	0x19,	0x09,	0x19 },
2888c2ecf20Sopenharmony_ci	{ STV0900_8PSK_23,	0x2A,	0x39,	0x1A,	0x0A,	0x39,
2898c2ecf20Sopenharmony_ci				0x0A,	0x29,	0x39,	0x29,	0x0A },
2908c2ecf20Sopenharmony_ci	{ STV0900_8PSK_34,	0x0B,	0x3A,	0x0B,	0x0B,	0x3A,
2918c2ecf20Sopenharmony_ci				0x1B,	0x1A,	0x0B,	0x1A,	0x3A },
2928c2ecf20Sopenharmony_ci	{ STV0900_8PSK_56,	0x0C,	0x1B,	0x3B,	0x2B,	0x1B,
2938c2ecf20Sopenharmony_ci				0x3B,	0x3A,	0x3B,	0x3A,	0x1B },
2948c2ecf20Sopenharmony_ci	{ STV0900_8PSK_89,	0x2C,	0x2C,	0x2C,	0x1C,	0x2B,
2958c2ecf20Sopenharmony_ci				0x0C,	0x0B,	0x3B,	0x0B,	0x1B },
2968c2ecf20Sopenharmony_ci	{ STV0900_8PSK_910,	0x2C,	0x3C,	0x2C,	0x1C,	0x3B,
2978c2ecf20Sopenharmony_ci				0x1C,	0x0B,	0x3B,	0x0B,	0x1B }
2988c2ecf20Sopenharmony_ci};
2998c2ecf20Sopenharmony_ci
3008c2ecf20Sopenharmony_cistatic	const
3018c2ecf20Sopenharmony_cistruct stv0900_car_loop_optim FE_STV0900_S2APSKCarLoopCut30[11] = {
3028c2ecf20Sopenharmony_ci	/*Modcod		2MPon	2MPoff	5MPon	5MPoff	10MPon
3038c2ecf20Sopenharmony_ci				10MPoff	20MPon	20MPoff	30MPon	30MPoff	*/
3048c2ecf20Sopenharmony_ci	{ STV0900_16APSK_23,	0x0A,	0x0A,	0x0A,	0x0A,	0x1A,
3058c2ecf20Sopenharmony_ci				0x0A,	0x3A,	0x0A,	0x2A,	0x0A },
3068c2ecf20Sopenharmony_ci	{ STV0900_16APSK_34,	0x0A,	0x0A,	0x0A,	0x0A,	0x0B,
3078c2ecf20Sopenharmony_ci				0x0A,	0x3B,	0x0A,	0x1B,	0x0A },
3088c2ecf20Sopenharmony_ci	{ STV0900_16APSK_45,	0x0A,	0x0A,	0x0A,	0x0A,	0x1B,
3098c2ecf20Sopenharmony_ci				0x0A,	0x3B,	0x0A,	0x2B,	0x0A },
3108c2ecf20Sopenharmony_ci	{ STV0900_16APSK_56,	0x0A,	0x0A,	0x0A,	0x0A,	0x1B,
3118c2ecf20Sopenharmony_ci				0x0A,	0x3B,	0x0A,	0x2B,	0x0A },
3128c2ecf20Sopenharmony_ci	{ STV0900_16APSK_89,	0x0A,	0x0A,	0x0A,	0x0A,	0x2B,
3138c2ecf20Sopenharmony_ci				0x0A,	0x0C,	0x0A,	0x3B,	0x0A },
3148c2ecf20Sopenharmony_ci	{ STV0900_16APSK_910,	0x0A,	0x0A,	0x0A,	0x0A,	0x2B,
3158c2ecf20Sopenharmony_ci				0x0A,	0x0C,	0x0A,	0x3B,	0x0A },
3168c2ecf20Sopenharmony_ci	{ STV0900_32APSK_34,	0x0A,	0x0A,	0x0A,	0x0A,	0x0A,
3178c2ecf20Sopenharmony_ci				0x0A,	0x0A,	0x0A,	0x0A,	0x0A },
3188c2ecf20Sopenharmony_ci	{ STV0900_32APSK_45,	0x0A,	0x0A,	0x0A,	0x0A,	0x0A,
3198c2ecf20Sopenharmony_ci				0x0A,	0x0A,	0x0A,	0x0A,	0x0A },
3208c2ecf20Sopenharmony_ci	{ STV0900_32APSK_56,	0x0A,	0x0A,	0x0A,	0x0A,	0x0A,
3218c2ecf20Sopenharmony_ci				0x0A,	0x0A,	0x0A,	0x0A,	0x0A },
3228c2ecf20Sopenharmony_ci	{ STV0900_32APSK_89,	0x0A,	0x0A,	0x0A,	0x0A,	0x0A,
3238c2ecf20Sopenharmony_ci				0x0A,	0x0A,	0x0A,	0x0A,	0x0A },
3248c2ecf20Sopenharmony_ci	{ STV0900_32APSK_910,	0x0A,	0x0A,	0x0A,	0x0A,	0x0A,
3258c2ecf20Sopenharmony_ci				0x0A,	0x0A,	0x0A,	0x0A,	0x0A }
3268c2ecf20Sopenharmony_ci};
3278c2ecf20Sopenharmony_ci
3288c2ecf20Sopenharmony_cistatic	const
3298c2ecf20Sopenharmony_cistruct stv0900_car_loop_optim FE_STV0900_S2LowQPCarLoopCut30[3] = {
3308c2ecf20Sopenharmony_ci	/*Modcod		2MPon	2MPoff	5MPon	5MPoff	10MPon
3318c2ecf20Sopenharmony_ci				10MPoff	20MPon	20MPoff	30MPon	30MPoff*/
3328c2ecf20Sopenharmony_ci	{ STV0900_QPSK_14,	0x0C,	0x3C,	0x0B,	0x3C,	0x2A,
3338c2ecf20Sopenharmony_ci				0x2C,	0x2A,	0x1C,	0x3A,	0x3B },
3348c2ecf20Sopenharmony_ci	{ STV0900_QPSK_13,	0x0C,	0x3C,	0x0B,	0x3C,	0x2A,
3358c2ecf20Sopenharmony_ci				0x2C,	0x3A,	0x0C,	0x3A,	0x2B },
3368c2ecf20Sopenharmony_ci	{ STV0900_QPSK_25,	0x1C,	0x3C,	0x1B,	0x3C,	0x3A,
3378c2ecf20Sopenharmony_ci				0x1C,	0x3A,	0x3B,	0x3A,	0x2B }
3388c2ecf20Sopenharmony_ci};
3398c2ecf20Sopenharmony_ci
3408c2ecf20Sopenharmony_cistatic	const struct stv0900_short_frames_car_loop_optim_vs_mod
3418c2ecf20Sopenharmony_ciFE_STV0900_S2ShortCarLoopCut30[4] = {
3428c2ecf20Sopenharmony_ci	/*Mod		2Mcut3.0 5Mcut3.0 10Mcut3.0 20Mcut3.0 30Mcut3.0*/
3438c2ecf20Sopenharmony_ci	{ STV0900_QPSK,		0x2C,	0x2B,	0x0B,	0x0B,	0x3A },
3448c2ecf20Sopenharmony_ci	{ STV0900_8PSK,		0x3B,	0x0B,	0x2A,	0x0A,	0x39 },
3458c2ecf20Sopenharmony_ci	{ STV0900_16APSK,	0x1B,	0x1B,	0x1B,	0x3A,	0x2A },
3468c2ecf20Sopenharmony_ci	{ STV0900_32APSK,	0x1B,	0x1B,	0x1B,	0x3A,	0x2A },
3478c2ecf20Sopenharmony_ci
3488c2ecf20Sopenharmony_ci};
3498c2ecf20Sopenharmony_ci
3508c2ecf20Sopenharmony_cistatic const u16 STV0900_InitVal[181][2] = {
3518c2ecf20Sopenharmony_ci	{ R0900_OUTCFG		, 0x00	},
3528c2ecf20Sopenharmony_ci	{ R0900_AGCRF1CFG	, 0x11	},
3538c2ecf20Sopenharmony_ci	{ R0900_AGCRF2CFG	, 0x13	},
3548c2ecf20Sopenharmony_ci	{ R0900_TSGENERAL1X	, 0x14	},
3558c2ecf20Sopenharmony_ci	{ R0900_TSTTNR2		, 0x21	},
3568c2ecf20Sopenharmony_ci	{ R0900_TSTTNR4		, 0x21	},
3578c2ecf20Sopenharmony_ci	{ R0900_P2_DISTXCTL	, 0x22	},
3588c2ecf20Sopenharmony_ci	{ R0900_P2_F22TX	, 0xc0	},
3598c2ecf20Sopenharmony_ci	{ R0900_P2_F22RX	, 0xc0	},
3608c2ecf20Sopenharmony_ci	{ R0900_P2_DISRXCTL	, 0x00	},
3618c2ecf20Sopenharmony_ci	{ R0900_P2_TNRSTEPS	, 0x87	},
3628c2ecf20Sopenharmony_ci	{ R0900_P2_TNRGAIN	, 0x09	},
3638c2ecf20Sopenharmony_ci	{ R0900_P2_DMDCFGMD	, 0xF9	},
3648c2ecf20Sopenharmony_ci	{ R0900_P2_DEMOD	, 0x08	},
3658c2ecf20Sopenharmony_ci	{ R0900_P2_DMDCFG3	, 0xc4	},
3668c2ecf20Sopenharmony_ci	{ R0900_P2_CARFREQ	, 0xed	},
3678c2ecf20Sopenharmony_ci	{ R0900_P2_TNRCFG2	, 0x02	},
3688c2ecf20Sopenharmony_ci	{ R0900_P2_TNRCFG3	, 0x02	},
3698c2ecf20Sopenharmony_ci	{ R0900_P2_LDT		, 0xd0	},
3708c2ecf20Sopenharmony_ci	{ R0900_P2_LDT2		, 0xb8	},
3718c2ecf20Sopenharmony_ci	{ R0900_P2_TMGCFG	, 0xd2	},
3728c2ecf20Sopenharmony_ci	{ R0900_P2_TMGTHRISE	, 0x20	},
3738c2ecf20Sopenharmony_ci	{ R0900_P2_TMGTHFALL	, 0x00	},
3748c2ecf20Sopenharmony_ci	{ R0900_P2_FECSPY	, 0x88	},
3758c2ecf20Sopenharmony_ci	{ R0900_P2_FSPYDATA	, 0x3a	},
3768c2ecf20Sopenharmony_ci	{ R0900_P2_FBERCPT4	, 0x00	},
3778c2ecf20Sopenharmony_ci	{ R0900_P2_FSPYBER	, 0x10	},
3788c2ecf20Sopenharmony_ci	{ R0900_P2_ERRCTRL1	, 0x35	},
3798c2ecf20Sopenharmony_ci	{ R0900_P2_ERRCTRL2	, 0xc1	},
3808c2ecf20Sopenharmony_ci	{ R0900_P2_CFRICFG	, 0xf8	},
3818c2ecf20Sopenharmony_ci	{ R0900_P2_NOSCFG	, 0x1c	},
3828c2ecf20Sopenharmony_ci	{ R0900_P2_DMDT0M	, 0x20	},
3838c2ecf20Sopenharmony_ci	{ R0900_P2_CORRELMANT	, 0x70	},
3848c2ecf20Sopenharmony_ci	{ R0900_P2_CORRELABS	, 0x88	},
3858c2ecf20Sopenharmony_ci	{ R0900_P2_AGC2O	, 0x5b	},
3868c2ecf20Sopenharmony_ci	{ R0900_P2_AGC2REF	, 0x38	},
3878c2ecf20Sopenharmony_ci	{ R0900_P2_CARCFG	, 0xe4	},
3888c2ecf20Sopenharmony_ci	{ R0900_P2_ACLC		, 0x1A	},
3898c2ecf20Sopenharmony_ci	{ R0900_P2_BCLC		, 0x09	},
3908c2ecf20Sopenharmony_ci	{ R0900_P2_CARHDR	, 0x08	},
3918c2ecf20Sopenharmony_ci	{ R0900_P2_KREFTMG	, 0xc1	},
3928c2ecf20Sopenharmony_ci	{ R0900_P2_SFRUPRATIO	, 0xf0	},
3938c2ecf20Sopenharmony_ci	{ R0900_P2_SFRLOWRATIO	, 0x70	},
3948c2ecf20Sopenharmony_ci	{ R0900_P2_SFRSTEP	, 0x58	},
3958c2ecf20Sopenharmony_ci	{ R0900_P2_TMGCFG2	, 0x01	},
3968c2ecf20Sopenharmony_ci	{ R0900_P2_CAR2CFG	, 0x26	},
3978c2ecf20Sopenharmony_ci	{ R0900_P2_BCLC2S2Q	, 0x86	},
3988c2ecf20Sopenharmony_ci	{ R0900_P2_BCLC2S28	, 0x86	},
3998c2ecf20Sopenharmony_ci	{ R0900_P2_SMAPCOEF7	, 0x77	},
4008c2ecf20Sopenharmony_ci	{ R0900_P2_SMAPCOEF6	, 0x85	},
4018c2ecf20Sopenharmony_ci	{ R0900_P2_SMAPCOEF5	, 0x77	},
4028c2ecf20Sopenharmony_ci	{ R0900_P2_TSCFGL	, 0x20	},
4038c2ecf20Sopenharmony_ci	{ R0900_P2_DMDCFG2	, 0x3b	},
4048c2ecf20Sopenharmony_ci	{ R0900_P2_MODCODLST0	, 0xff	},
4058c2ecf20Sopenharmony_ci	{ R0900_P2_MODCODLST1	, 0xff	},
4068c2ecf20Sopenharmony_ci	{ R0900_P2_MODCODLST2	, 0xff	},
4078c2ecf20Sopenharmony_ci	{ R0900_P2_MODCODLST3	, 0xff	},
4088c2ecf20Sopenharmony_ci	{ R0900_P2_MODCODLST4	, 0xff	},
4098c2ecf20Sopenharmony_ci	{ R0900_P2_MODCODLST5	, 0xff	},
4108c2ecf20Sopenharmony_ci	{ R0900_P2_MODCODLST6	, 0xff	},
4118c2ecf20Sopenharmony_ci	{ R0900_P2_MODCODLST7	, 0xcc	},
4128c2ecf20Sopenharmony_ci	{ R0900_P2_MODCODLST8	, 0xcc	},
4138c2ecf20Sopenharmony_ci	{ R0900_P2_MODCODLST9	, 0xcc	},
4148c2ecf20Sopenharmony_ci	{ R0900_P2_MODCODLSTA	, 0xcc	},
4158c2ecf20Sopenharmony_ci	{ R0900_P2_MODCODLSTB	, 0xcc	},
4168c2ecf20Sopenharmony_ci	{ R0900_P2_MODCODLSTC	, 0xcc	},
4178c2ecf20Sopenharmony_ci	{ R0900_P2_MODCODLSTD	, 0xcc	},
4188c2ecf20Sopenharmony_ci	{ R0900_P2_MODCODLSTE	, 0xcc	},
4198c2ecf20Sopenharmony_ci	{ R0900_P2_MODCODLSTF	, 0xcf	},
4208c2ecf20Sopenharmony_ci	{ R0900_P1_DISTXCTL	, 0x22	},
4218c2ecf20Sopenharmony_ci	{ R0900_P1_F22TX	, 0xc0	},
4228c2ecf20Sopenharmony_ci	{ R0900_P1_F22RX	, 0xc0	},
4238c2ecf20Sopenharmony_ci	{ R0900_P1_DISRXCTL	, 0x00	},
4248c2ecf20Sopenharmony_ci	{ R0900_P1_TNRSTEPS	, 0x87	},
4258c2ecf20Sopenharmony_ci	{ R0900_P1_TNRGAIN	, 0x09	},
4268c2ecf20Sopenharmony_ci	{ R0900_P1_DMDCFGMD	, 0xf9	},
4278c2ecf20Sopenharmony_ci	{ R0900_P1_DEMOD	, 0x08	},
4288c2ecf20Sopenharmony_ci	{ R0900_P1_DMDCFG3	, 0xc4	},
4298c2ecf20Sopenharmony_ci	{ R0900_P1_DMDT0M	, 0x20	},
4308c2ecf20Sopenharmony_ci	{ R0900_P1_CARFREQ	, 0xed	},
4318c2ecf20Sopenharmony_ci	{ R0900_P1_TNRCFG2	, 0x82	},
4328c2ecf20Sopenharmony_ci	{ R0900_P1_TNRCFG3	, 0x02	},
4338c2ecf20Sopenharmony_ci	{ R0900_P1_LDT		, 0xd0	},
4348c2ecf20Sopenharmony_ci	{ R0900_P1_LDT2		, 0xb8	},
4358c2ecf20Sopenharmony_ci	{ R0900_P1_TMGCFG	, 0xd2	},
4368c2ecf20Sopenharmony_ci	{ R0900_P1_TMGTHRISE	, 0x20	},
4378c2ecf20Sopenharmony_ci	{ R0900_P1_TMGTHFALL	, 0x00	},
4388c2ecf20Sopenharmony_ci	{ R0900_P1_SFRUPRATIO	, 0xf0	},
4398c2ecf20Sopenharmony_ci	{ R0900_P1_SFRLOWRATIO	, 0x70	},
4408c2ecf20Sopenharmony_ci	{ R0900_P1_TSCFGL	, 0x20	},
4418c2ecf20Sopenharmony_ci	{ R0900_P1_FECSPY	, 0x88	},
4428c2ecf20Sopenharmony_ci	{ R0900_P1_FSPYDATA	, 0x3a	},
4438c2ecf20Sopenharmony_ci	{ R0900_P1_FBERCPT4	, 0x00	},
4448c2ecf20Sopenharmony_ci	{ R0900_P1_FSPYBER	, 0x10	},
4458c2ecf20Sopenharmony_ci	{ R0900_P1_ERRCTRL1	, 0x35	},
4468c2ecf20Sopenharmony_ci	{ R0900_P1_ERRCTRL2	, 0xc1	},
4478c2ecf20Sopenharmony_ci	{ R0900_P1_CFRICFG	, 0xf8	},
4488c2ecf20Sopenharmony_ci	{ R0900_P1_NOSCFG	, 0x1c	},
4498c2ecf20Sopenharmony_ci	{ R0900_P1_CORRELMANT	, 0x70	},
4508c2ecf20Sopenharmony_ci	{ R0900_P1_CORRELABS	, 0x88	},
4518c2ecf20Sopenharmony_ci	{ R0900_P1_AGC2O	, 0x5b	},
4528c2ecf20Sopenharmony_ci	{ R0900_P1_AGC2REF	, 0x38	},
4538c2ecf20Sopenharmony_ci	{ R0900_P1_CARCFG	, 0xe4	},
4548c2ecf20Sopenharmony_ci	{ R0900_P1_ACLC		, 0x1A	},
4558c2ecf20Sopenharmony_ci	{ R0900_P1_BCLC		, 0x09	},
4568c2ecf20Sopenharmony_ci	{ R0900_P1_CARHDR	, 0x08	},
4578c2ecf20Sopenharmony_ci	{ R0900_P1_KREFTMG	, 0xc1	},
4588c2ecf20Sopenharmony_ci	{ R0900_P1_SFRSTEP	, 0x58	},
4598c2ecf20Sopenharmony_ci	{ R0900_P1_TMGCFG2	, 0x01	},
4608c2ecf20Sopenharmony_ci	{ R0900_P1_CAR2CFG	, 0x26	},
4618c2ecf20Sopenharmony_ci	{ R0900_P1_BCLC2S2Q	, 0x86	},
4628c2ecf20Sopenharmony_ci	{ R0900_P1_BCLC2S28	, 0x86	},
4638c2ecf20Sopenharmony_ci	{ R0900_P1_SMAPCOEF7	, 0x77	},
4648c2ecf20Sopenharmony_ci	{ R0900_P1_SMAPCOEF6	, 0x85	},
4658c2ecf20Sopenharmony_ci	{ R0900_P1_SMAPCOEF5	, 0x77	},
4668c2ecf20Sopenharmony_ci	{ R0900_P1_DMDCFG2	, 0x3b	},
4678c2ecf20Sopenharmony_ci	{ R0900_P1_MODCODLST0	, 0xff	},
4688c2ecf20Sopenharmony_ci	{ R0900_P1_MODCODLST1	, 0xff	},
4698c2ecf20Sopenharmony_ci	{ R0900_P1_MODCODLST2	, 0xff	},
4708c2ecf20Sopenharmony_ci	{ R0900_P1_MODCODLST3	, 0xff	},
4718c2ecf20Sopenharmony_ci	{ R0900_P1_MODCODLST4	, 0xff	},
4728c2ecf20Sopenharmony_ci	{ R0900_P1_MODCODLST5	, 0xff	},
4738c2ecf20Sopenharmony_ci	{ R0900_P1_MODCODLST6	, 0xff	},
4748c2ecf20Sopenharmony_ci	{ R0900_P1_MODCODLST7	, 0xcc	},
4758c2ecf20Sopenharmony_ci	{ R0900_P1_MODCODLST8	, 0xcc	},
4768c2ecf20Sopenharmony_ci	{ R0900_P1_MODCODLST9	, 0xcc	},
4778c2ecf20Sopenharmony_ci	{ R0900_P1_MODCODLSTA	, 0xcc	},
4788c2ecf20Sopenharmony_ci	{ R0900_P1_MODCODLSTB	, 0xcc	},
4798c2ecf20Sopenharmony_ci	{ R0900_P1_MODCODLSTC	, 0xcc	},
4808c2ecf20Sopenharmony_ci	{ R0900_P1_MODCODLSTD	, 0xcc	},
4818c2ecf20Sopenharmony_ci	{ R0900_P1_MODCODLSTE	, 0xcc	},
4828c2ecf20Sopenharmony_ci	{ R0900_P1_MODCODLSTF	, 0xcf	},
4838c2ecf20Sopenharmony_ci	{ R0900_GENCFG		, 0x1d	},
4848c2ecf20Sopenharmony_ci	{ R0900_NBITER_NF4	, 0x37	},
4858c2ecf20Sopenharmony_ci	{ R0900_NBITER_NF5	, 0x29	},
4868c2ecf20Sopenharmony_ci	{ R0900_NBITER_NF6	, 0x37	},
4878c2ecf20Sopenharmony_ci	{ R0900_NBITER_NF7	, 0x33	},
4888c2ecf20Sopenharmony_ci	{ R0900_NBITER_NF8	, 0x31	},
4898c2ecf20Sopenharmony_ci	{ R0900_NBITER_NF9	, 0x2f	},
4908c2ecf20Sopenharmony_ci	{ R0900_NBITER_NF10	, 0x39	},
4918c2ecf20Sopenharmony_ci	{ R0900_NBITER_NF11	, 0x3a	},
4928c2ecf20Sopenharmony_ci	{ R0900_NBITER_NF12	, 0x29	},
4938c2ecf20Sopenharmony_ci	{ R0900_NBITER_NF13	, 0x37	},
4948c2ecf20Sopenharmony_ci	{ R0900_NBITER_NF14	, 0x33	},
4958c2ecf20Sopenharmony_ci	{ R0900_NBITER_NF15	, 0x2f	},
4968c2ecf20Sopenharmony_ci	{ R0900_NBITER_NF16	, 0x39	},
4978c2ecf20Sopenharmony_ci	{ R0900_NBITER_NF17	, 0x3a	},
4988c2ecf20Sopenharmony_ci	{ R0900_NBITERNOERR	, 0x04	},
4998c2ecf20Sopenharmony_ci	{ R0900_GAINLLR_NF4	, 0x0C	},
5008c2ecf20Sopenharmony_ci	{ R0900_GAINLLR_NF5	, 0x0F	},
5018c2ecf20Sopenharmony_ci	{ R0900_GAINLLR_NF6	, 0x11	},
5028c2ecf20Sopenharmony_ci	{ R0900_GAINLLR_NF7	, 0x14	},
5038c2ecf20Sopenharmony_ci	{ R0900_GAINLLR_NF8	, 0x17	},
5048c2ecf20Sopenharmony_ci	{ R0900_GAINLLR_NF9	, 0x19	},
5058c2ecf20Sopenharmony_ci	{ R0900_GAINLLR_NF10	, 0x20	},
5068c2ecf20Sopenharmony_ci	{ R0900_GAINLLR_NF11	, 0x21	},
5078c2ecf20Sopenharmony_ci	{ R0900_GAINLLR_NF12	, 0x0D	},
5088c2ecf20Sopenharmony_ci	{ R0900_GAINLLR_NF13	, 0x0F	},
5098c2ecf20Sopenharmony_ci	{ R0900_GAINLLR_NF14	, 0x13	},
5108c2ecf20Sopenharmony_ci	{ R0900_GAINLLR_NF15	, 0x1A	},
5118c2ecf20Sopenharmony_ci	{ R0900_GAINLLR_NF16	, 0x1F	},
5128c2ecf20Sopenharmony_ci	{ R0900_GAINLLR_NF17	, 0x21	},
5138c2ecf20Sopenharmony_ci	{ R0900_RCCFG2		, 0x20	},
5148c2ecf20Sopenharmony_ci	{ R0900_P1_FECM		, 0x01	}, /*disable DSS modes*/
5158c2ecf20Sopenharmony_ci	{ R0900_P2_FECM		, 0x01	}, /*disable DSS modes*/
5168c2ecf20Sopenharmony_ci	{ R0900_P1_PRVIT	, 0x2F	}, /*disable puncture rate 6/7*/
5178c2ecf20Sopenharmony_ci	{ R0900_P2_PRVIT	, 0x2F	}, /*disable puncture rate 6/7*/
5188c2ecf20Sopenharmony_ci	{ R0900_STROUT1CFG	, 0x4c	},
5198c2ecf20Sopenharmony_ci	{ R0900_STROUT2CFG	, 0x4c	},
5208c2ecf20Sopenharmony_ci	{ R0900_CLKOUT1CFG	, 0x50	},
5218c2ecf20Sopenharmony_ci	{ R0900_CLKOUT2CFG	, 0x50	},
5228c2ecf20Sopenharmony_ci	{ R0900_DPN1CFG		, 0x4a	},
5238c2ecf20Sopenharmony_ci	{ R0900_DPN2CFG		, 0x4a	},
5248c2ecf20Sopenharmony_ci	{ R0900_DATA71CFG	, 0x52	},
5258c2ecf20Sopenharmony_ci	{ R0900_DATA72CFG	, 0x52	},
5268c2ecf20Sopenharmony_ci	{ R0900_P1_TSCFGM	, 0xc0	},
5278c2ecf20Sopenharmony_ci	{ R0900_P2_TSCFGM	, 0xc0	},
5288c2ecf20Sopenharmony_ci	{ R0900_P1_TSCFGH	, 0xe0	}, /* DVB-CI timings */
5298c2ecf20Sopenharmony_ci	{ R0900_P2_TSCFGH	, 0xe0	}, /* DVB-CI timings */
5308c2ecf20Sopenharmony_ci	{ R0900_P1_TSSPEED	, 0x40	},
5318c2ecf20Sopenharmony_ci	{ R0900_P2_TSSPEED	, 0x40	},
5328c2ecf20Sopenharmony_ci};
5338c2ecf20Sopenharmony_ci
5348c2ecf20Sopenharmony_cistatic const u16 STV0900_Cut20_AddOnVal[32][2] = {
5358c2ecf20Sopenharmony_ci	{ R0900_P2_DMDCFG3	, 0xe8	},
5368c2ecf20Sopenharmony_ci	{ R0900_P2_DMDCFG4	, 0x10	},
5378c2ecf20Sopenharmony_ci	{ R0900_P2_CARFREQ	, 0x38	},
5388c2ecf20Sopenharmony_ci	{ R0900_P2_CARHDR	, 0x20	},
5398c2ecf20Sopenharmony_ci	{ R0900_P2_KREFTMG	, 0x5a	},
5408c2ecf20Sopenharmony_ci	{ R0900_P2_SMAPCOEF7	, 0x06	},
5418c2ecf20Sopenharmony_ci	{ R0900_P2_SMAPCOEF6	, 0x00	},
5428c2ecf20Sopenharmony_ci	{ R0900_P2_SMAPCOEF5	, 0x04	},
5438c2ecf20Sopenharmony_ci	{ R0900_P2_NOSCFG	, 0x0c	},
5448c2ecf20Sopenharmony_ci	{ R0900_P1_DMDCFG3	, 0xe8	},
5458c2ecf20Sopenharmony_ci	{ R0900_P1_DMDCFG4	, 0x10	},
5468c2ecf20Sopenharmony_ci	{ R0900_P1_CARFREQ	, 0x38	},
5478c2ecf20Sopenharmony_ci	{ R0900_P1_CARHDR	, 0x20	},
5488c2ecf20Sopenharmony_ci	{ R0900_P1_KREFTMG	, 0x5a	},
5498c2ecf20Sopenharmony_ci	{ R0900_P1_SMAPCOEF7	, 0x06	},
5508c2ecf20Sopenharmony_ci	{ R0900_P1_SMAPCOEF6	, 0x00	},
5518c2ecf20Sopenharmony_ci	{ R0900_P1_SMAPCOEF5	, 0x04	},
5528c2ecf20Sopenharmony_ci	{ R0900_P1_NOSCFG	, 0x0c	},
5538c2ecf20Sopenharmony_ci	{ R0900_GAINLLR_NF4	, 0x21	},
5548c2ecf20Sopenharmony_ci	{ R0900_GAINLLR_NF5	, 0x21	},
5558c2ecf20Sopenharmony_ci	{ R0900_GAINLLR_NF6	, 0x20	},
5568c2ecf20Sopenharmony_ci	{ R0900_GAINLLR_NF7	, 0x1F	},
5578c2ecf20Sopenharmony_ci	{ R0900_GAINLLR_NF8	, 0x1E	},
5588c2ecf20Sopenharmony_ci	{ R0900_GAINLLR_NF9	, 0x1E	},
5598c2ecf20Sopenharmony_ci	{ R0900_GAINLLR_NF10	, 0x1D	},
5608c2ecf20Sopenharmony_ci	{ R0900_GAINLLR_NF11	, 0x1B	},
5618c2ecf20Sopenharmony_ci	{ R0900_GAINLLR_NF12	, 0x20	},
5628c2ecf20Sopenharmony_ci	{ R0900_GAINLLR_NF13	, 0x20	},
5638c2ecf20Sopenharmony_ci	{ R0900_GAINLLR_NF14	, 0x20	},
5648c2ecf20Sopenharmony_ci	{ R0900_GAINLLR_NF15	, 0x20	},
5658c2ecf20Sopenharmony_ci	{ R0900_GAINLLR_NF16	, 0x20	},
5668c2ecf20Sopenharmony_ci	{ R0900_GAINLLR_NF17	, 0x21	}
5678c2ecf20Sopenharmony_ci
5688c2ecf20Sopenharmony_ci};
5698c2ecf20Sopenharmony_ci
5708c2ecf20Sopenharmony_ci#endif
571