/* * stv0900_init.h * * Driver for ST STV0900 satellite demodulator IC. * * Copyright (C) ST Microelectronics. * Copyright (C) 2009 NetUP Inc. * Copyright (C) 2009 Igor M. Liplianin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef STV0900_INIT_H #define STV0900_INIT_H #include "stv0900_priv.h" /* DVBS2 C/N Look-Up table */ static const struct stv0900_table stv0900_s2_cn = { 55, { { -30, 13348 }, /*C/N=-3dB*/ { -20, 12640 }, /*C/N=-2dB*/ { -10, 11883 }, /*C/N=-1dB*/ { 0, 11101 }, /*C/N=-0dB*/ { 5, 10718 }, /*C/N=0.5dB*/ { 10, 10339 }, /*C/N=1.0dB*/ { 15, 9947 }, /*C/N=1.5dB*/ { 20, 9552 }, /*C/N=2.0dB*/ { 25, 9183 }, /*C/N=2.5dB*/ { 30, 8799 }, /*C/N=3.0dB*/ { 35, 8422 }, /*C/N=3.5dB*/ { 40, 8062 }, /*C/N=4.0dB*/ { 45, 7707 }, /*C/N=4.5dB*/ { 50, 7353 }, /*C/N=5.0dB*/ { 55, 7025 }, /*C/N=5.5dB*/ { 60, 6684 }, /*C/N=6.0dB*/ { 65, 6331 }, /*C/N=6.5dB*/ { 70, 6036 }, /*C/N=7.0dB*/ { 75, 5727 }, /*C/N=7.5dB*/ { 80, 5437 }, /*C/N=8.0dB*/ { 85, 5164 }, /*C/N=8.5dB*/ { 90, 4902 }, /*C/N=9.0dB*/ { 95, 4653 }, /*C/N=9.5dB*/ { 100, 4408 }, /*C/N=10.0dB*/ { 105, 4187 }, /*C/N=10.5dB*/ { 110, 3961 }, /*C/N=11.0dB*/ { 115, 3751 }, /*C/N=11.5dB*/ { 120, 3558 }, /*C/N=12.0dB*/ { 125, 3368 }, /*C/N=12.5dB*/ { 130, 3191 }, /*C/N=13.0dB*/ { 135, 3017 }, /*C/N=13.5dB*/ { 140, 2862 }, /*C/N=14.0dB*/ { 145, 2710 }, /*C/N=14.5dB*/ { 150, 2565 }, /*C/N=15.0dB*/ { 160, 2300 }, /*C/N=16.0dB*/ { 170, 2058 }, /*C/N=17.0dB*/ { 180, 1849 }, /*C/N=18.0dB*/ { 190, 1663 }, /*C/N=19.0dB*/ { 200, 1495 }, /*C/N=20.0dB*/ { 210, 1349 }, /*C/N=21.0dB*/ { 220, 1222 }, /*C/N=22.0dB*/ { 230, 1110 }, /*C/N=23.0dB*/ { 240, 1011 }, /*C/N=24.0dB*/ { 250, 925 }, /*C/N=25.0dB*/ { 260, 853 }, /*C/N=26.0dB*/ { 270, 789 }, /*C/N=27.0dB*/ { 280, 734 }, /*C/N=28.0dB*/ { 290, 690 }, /*C/N=29.0dB*/ { 300, 650 }, /*C/N=30.0dB*/ { 310, 619 }, /*C/N=31.0dB*/ { 320, 593 }, /*C/N=32.0dB*/ { 330, 571 }, /*C/N=33.0dB*/ { 400, 498 }, /*C/N=40.0dB*/ { 450, 484 }, /*C/N=45.0dB*/ { 500, 481 } /*C/N=50.0dB*/ } }; /* RF level C/N Look-Up table */ static const struct stv0900_table stv0900_rf = { 14, { { -5, 0xCAA1 }, /*-5dBm*/ { -10, 0xC229 }, /*-10dBm*/ { -15, 0xBB08 }, /*-15dBm*/ { -20, 0xB4BC }, /*-20dBm*/ { -25, 0xAD5A }, /*-25dBm*/ { -30, 0xA298 }, /*-30dBm*/ { -35, 0x98A8 }, /*-35dBm*/ { -40, 0x8389 }, /*-40dBm*/ { -45, 0x59BE }, /*-45dBm*/ { -50, 0x3A14 }, /*-50dBm*/ { -55, 0x2D11 }, /*-55dBm*/ { -60, 0x210D }, /*-60dBm*/ { -65, 0xA14F }, /*-65dBm*/ { -70, 0x7AA } /*-70dBm*/ } }; struct stv0900_car_loop_optim { enum fe_stv0900_modcode modcode; u8 car_loop_pilots_on_2; u8 car_loop_pilots_off_2; u8 car_loop_pilots_on_5; u8 car_loop_pilots_off_5; u8 car_loop_pilots_on_10; u8 car_loop_pilots_off_10; u8 car_loop_pilots_on_20; u8 car_loop_pilots_off_20; u8 car_loop_pilots_on_30; u8 car_loop_pilots_off_30; }; struct stv0900_short_frames_car_loop_optim { enum fe_stv0900_modulation modulation; u8 car_loop_cut12_2; /* Cut 1.2, SR<=3msps */ u8 car_loop_cut20_2; /* Cut 2.0, SR<3msps */ u8 car_loop_cut12_5; /* Cut 1.2, 3