1c942fddfSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */ 29a0bf528SMauro Carvalho Chehab /* 39a0bf528SMauro Carvalho Chehab * Afatech AF9013 demodulator driver 49a0bf528SMauro Carvalho Chehab * 59a0bf528SMauro Carvalho Chehab * Copyright (C) 2007 Antti Palosaari <crope@iki.fi> 69a0bf528SMauro Carvalho Chehab * Copyright (C) 2011 Antti Palosaari <crope@iki.fi> 79a0bf528SMauro Carvalho Chehab * 89a0bf528SMauro Carvalho Chehab * Thanks to Afatech who kindly provided information. 99a0bf528SMauro Carvalho Chehab */ 109a0bf528SMauro Carvalho Chehab 119a0bf528SMauro Carvalho Chehab #ifndef AF9013_PRIV_H 129a0bf528SMauro Carvalho Chehab #define AF9013_PRIV_H 139a0bf528SMauro Carvalho Chehab 14fada1935SMauro Carvalho Chehab #include <media/dvb_frontend.h> 15*f97fa3dcSAndy Shevchenko #include <linux/int_log.h> 169a0bf528SMauro Carvalho Chehab #include "af9013.h" 179a0bf528SMauro Carvalho Chehab #include <linux/firmware.h> 1822e59e72SAntti Palosaari #include <linux/i2c-mux.h> 19903b0e58SAntti Palosaari #include <linux/math64.h> 20f458a1bcSAntti Palosaari #include <linux/regmap.h> 219a0bf528SMauro Carvalho Chehab 22a71103a6SAntti Palosaari #define AF9013_FIRMWARE "dvb-fe-af9013.fw" 239a0bf528SMauro Carvalho Chehab 243b536127SAntti Palosaari struct af9013_reg_mask_val { 253b536127SAntti Palosaari u16 reg; 263b536127SAntti Palosaari u8 mask; 279a0bf528SMauro Carvalho Chehab u8 val; 289a0bf528SMauro Carvalho Chehab }; 299a0bf528SMauro Carvalho Chehab 309a0bf528SMauro Carvalho Chehab struct af9013_coeff { 319a0bf528SMauro Carvalho Chehab u32 clock; 329a0bf528SMauro Carvalho Chehab u32 bandwidth_hz; 339a0bf528SMauro Carvalho Chehab u8 val[24]; 349a0bf528SMauro Carvalho Chehab }; 359a0bf528SMauro Carvalho Chehab 369a0bf528SMauro Carvalho Chehab /* pre-calculated coeff lookup table */ 379a0bf528SMauro Carvalho Chehab static const struct af9013_coeff coeff_lut[] = { 389a0bf528SMauro Carvalho Chehab /* 28.800 MHz */ 399a0bf528SMauro Carvalho Chehab { 28800000, 8000000, { 0x02, 0x8a, 0x28, 0xa3, 0x05, 0x14, 409a0bf528SMauro Carvalho Chehab 0x51, 0x11, 0x00, 0xa2, 0x8f, 0x3d, 0x00, 0xa2, 0x8a, 419a0bf528SMauro Carvalho Chehab 0x29, 0x00, 0xa2, 0x85, 0x14, 0x01, 0x45, 0x14, 0x14 } }, 429a0bf528SMauro Carvalho Chehab { 28800000, 7000000, { 0x02, 0x38, 0xe3, 0x8e, 0x04, 0x71, 439a0bf528SMauro Carvalho Chehab 0xc7, 0x07, 0x00, 0x8e, 0x3d, 0x55, 0x00, 0x8e, 0x38, 449a0bf528SMauro Carvalho Chehab 0xe4, 0x00, 0x8e, 0x34, 0x72, 0x01, 0x1c, 0x71, 0x32 } }, 459a0bf528SMauro Carvalho Chehab { 28800000, 6000000, { 0x01, 0xe7, 0x9e, 0x7a, 0x03, 0xcf, 469a0bf528SMauro Carvalho Chehab 0x3c, 0x3d, 0x00, 0x79, 0xeb, 0x6e, 0x00, 0x79, 0xe7, 479a0bf528SMauro Carvalho Chehab 0x9e, 0x00, 0x79, 0xe3, 0xcf, 0x00, 0xf3, 0xcf, 0x0f } }, 489a0bf528SMauro Carvalho Chehab /* 20.480 MHz */ 499a0bf528SMauro Carvalho Chehab { 20480000, 8000000, { 0x03, 0x92, 0x49, 0x26, 0x07, 0x24, 509a0bf528SMauro Carvalho Chehab 0x92, 0x13, 0x00, 0xe4, 0x99, 0x6e, 0x00, 0xe4, 0x92, 519a0bf528SMauro Carvalho Chehab 0x49, 0x00, 0xe4, 0x8b, 0x25, 0x01, 0xc9, 0x24, 0x25 } }, 529a0bf528SMauro Carvalho Chehab { 20480000, 7000000, { 0x03, 0x20, 0x00, 0x01, 0x06, 0x40, 539a0bf528SMauro Carvalho Chehab 0x00, 0x00, 0x00, 0xc8, 0x06, 0x40, 0x00, 0xc8, 0x00, 549a0bf528SMauro Carvalho Chehab 0x00, 0x00, 0xc7, 0xf9, 0xc0, 0x01, 0x90, 0x00, 0x00 } }, 559a0bf528SMauro Carvalho Chehab { 20480000, 6000000, { 0x02, 0xad, 0xb6, 0xdc, 0x05, 0x5b, 569a0bf528SMauro Carvalho Chehab 0x6d, 0x2e, 0x00, 0xab, 0x73, 0x13, 0x00, 0xab, 0x6d, 579a0bf528SMauro Carvalho Chehab 0xb7, 0x00, 0xab, 0x68, 0x5c, 0x01, 0x56, 0xdb, 0x1c } }, 589a0bf528SMauro Carvalho Chehab /* 28.000 MHz */ 599a0bf528SMauro Carvalho Chehab { 28000000, 8000000, { 0x02, 0x9c, 0xbc, 0x15, 0x05, 0x39, 609a0bf528SMauro Carvalho Chehab 0x78, 0x0a, 0x00, 0xa7, 0x34, 0x3f, 0x00, 0xa7, 0x2f, 619a0bf528SMauro Carvalho Chehab 0x05, 0x00, 0xa7, 0x29, 0xcc, 0x01, 0x4e, 0x5e, 0x03 } }, 629a0bf528SMauro Carvalho Chehab { 28000000, 7000000, { 0x02, 0x49, 0x24, 0x92, 0x04, 0x92, 639a0bf528SMauro Carvalho Chehab 0x49, 0x09, 0x00, 0x92, 0x4d, 0xb7, 0x00, 0x92, 0x49, 649a0bf528SMauro Carvalho Chehab 0x25, 0x00, 0x92, 0x44, 0x92, 0x01, 0x24, 0x92, 0x12 } }, 659a0bf528SMauro Carvalho Chehab { 28000000, 6000000, { 0x01, 0xf5, 0x8d, 0x10, 0x03, 0xeb, 669a0bf528SMauro Carvalho Chehab 0x1a, 0x08, 0x00, 0x7d, 0x67, 0x2f, 0x00, 0x7d, 0x63, 679a0bf528SMauro Carvalho Chehab 0x44, 0x00, 0x7d, 0x5f, 0x59, 0x00, 0xfa, 0xc6, 0x22 } }, 689a0bf528SMauro Carvalho Chehab /* 25.000 MHz */ 699a0bf528SMauro Carvalho Chehab { 25000000, 8000000, { 0x02, 0xec, 0xfb, 0x9d, 0x05, 0xd9, 709a0bf528SMauro Carvalho Chehab 0xf7, 0x0e, 0x00, 0xbb, 0x44, 0xc1, 0x00, 0xbb, 0x3e, 719a0bf528SMauro Carvalho Chehab 0xe7, 0x00, 0xbb, 0x39, 0x0d, 0x01, 0x76, 0x7d, 0x34 } }, 729a0bf528SMauro Carvalho Chehab { 25000000, 7000000, { 0x02, 0x8f, 0x5c, 0x29, 0x05, 0x1e, 739a0bf528SMauro Carvalho Chehab 0xb8, 0x14, 0x00, 0xa3, 0xdc, 0x29, 0x00, 0xa3, 0xd7, 749a0bf528SMauro Carvalho Chehab 0x0a, 0x00, 0xa3, 0xd1, 0xec, 0x01, 0x47, 0xae, 0x05 } }, 759a0bf528SMauro Carvalho Chehab { 25000000, 6000000, { 0x02, 0x31, 0xbc, 0xb5, 0x04, 0x63, 769a0bf528SMauro Carvalho Chehab 0x79, 0x1b, 0x00, 0x8c, 0x73, 0x91, 0x00, 0x8c, 0x6f, 779a0bf528SMauro Carvalho Chehab 0x2d, 0x00, 0x8c, 0x6a, 0xca, 0x01, 0x18, 0xde, 0x17 } }, 789a0bf528SMauro Carvalho Chehab }; 799a0bf528SMauro Carvalho Chehab 803b536127SAntti Palosaari /* 813b536127SAntti Palosaari * Afatech AF9013 demod init 823b536127SAntti Palosaari */ 833b536127SAntti Palosaari static const struct af9013_reg_mask_val demod_init_tab[] = { 843b536127SAntti Palosaari {0xd73a, 0xff, 0xa1}, 853b536127SAntti Palosaari {0xd73b, 0xff, 0x1f}, 863b536127SAntti Palosaari {0xd73c, 0xf0, 0xa0}, 873b536127SAntti Palosaari {0xd732, 0x08, 0x00}, 883b536127SAntti Palosaari {0xd731, 0x30, 0x30}, 893b536127SAntti Palosaari {0xd73d, 0x80, 0x80}, 903b536127SAntti Palosaari {0xd740, 0x01, 0x00}, 913b536127SAntti Palosaari {0xd740, 0x02, 0x00}, 923b536127SAntti Palosaari {0xd740, 0x04, 0x00}, 933b536127SAntti Palosaari {0xd740, 0x08, 0x08}, 943b536127SAntti Palosaari {0xd3c1, 0x10, 0x10}, 953b536127SAntti Palosaari {0x9124, 0xff, 0x58}, 963b536127SAntti Palosaari {0x9125, 0x03, 0x02}, 973b536127SAntti Palosaari {0xd3a2, 0xff, 0x00}, 983b536127SAntti Palosaari {0xd3a3, 0xff, 0x04}, 993b536127SAntti Palosaari {0xd305, 0xff, 0x32}, 1003b536127SAntti Palosaari {0xd306, 0xff, 0x10}, 1013b536127SAntti Palosaari {0xd304, 0xff, 0x04}, 1023b536127SAntti Palosaari {0x9112, 0x01, 0x01}, 1033b536127SAntti Palosaari {0x911d, 0x01, 0x01}, 1043b536127SAntti Palosaari {0x911a, 0x01, 0x01}, 1053b536127SAntti Palosaari {0x911b, 0x01, 0x01}, 1063b536127SAntti Palosaari {0x9bce, 0x0f, 0x02}, 1073b536127SAntti Palosaari {0x9116, 0x01, 0x01}, 1083b536127SAntti Palosaari {0x9122, 0xff, 0xd0}, 1093b536127SAntti Palosaari {0xd2e0, 0xff, 0xd0}, 1103b536127SAntti Palosaari {0xd2e9, 0x0f, 0x0d}, 1113b536127SAntti Palosaari {0xd38c, 0xff, 0xfc}, 1123b536127SAntti Palosaari {0xd38d, 0xff, 0x00}, 1133b536127SAntti Palosaari {0xd38e, 0xff, 0x7e}, 1143b536127SAntti Palosaari {0xd38f, 0xff, 0x00}, 1153b536127SAntti Palosaari {0xd390, 0xff, 0x2f}, 1163b536127SAntti Palosaari {0xd145, 0x10, 0x10}, 1173b536127SAntti Palosaari {0xd1a9, 0x10, 0x10}, 1183b536127SAntti Palosaari {0xd158, 0xe0, 0x20}, 1193b536127SAntti Palosaari {0xd159, 0x3f, 0x06}, 1203b536127SAntti Palosaari {0xd167, 0xff, 0x00}, 1213b536127SAntti Palosaari {0xd168, 0x0f, 0x07}, 1223b536127SAntti Palosaari {0xd1c3, 0xe0, 0x00}, 1233b536127SAntti Palosaari {0xd1c4, 0x3f, 0x00}, 1243b536127SAntti Palosaari {0xd1c5, 0x7f, 0x10}, 1253b536127SAntti Palosaari {0xd1c6, 0x07, 0x02}, 1263b536127SAntti Palosaari {0xd080, 0x7c, 0x0c}, 1273b536127SAntti Palosaari {0xd081, 0xf0, 0x90}, 1283b536127SAntti Palosaari {0xd098, 0xf0, 0xf0}, 1293b536127SAntti Palosaari {0xd098, 0x0f, 0x03}, 1303b536127SAntti Palosaari {0xdbc0, 0x10, 0x10}, 1313b536127SAntti Palosaari {0xdbc7, 0xff, 0x08}, 1323b536127SAntti Palosaari {0xdbc8, 0xf0, 0x00}, 1333b536127SAntti Palosaari {0xdbc9, 0x1f, 0x01}, 1343b536127SAntti Palosaari {0xd280, 0xff, 0xe0}, 1353b536127SAntti Palosaari {0xd281, 0xff, 0xff}, 1363b536127SAntti Palosaari {0xd282, 0xff, 0xff}, 1373b536127SAntti Palosaari {0xd283, 0xff, 0xc3}, 1383b536127SAntti Palosaari {0xd284, 0xff, 0xff}, 1393b536127SAntti Palosaari {0xd285, 0x0f, 0x01}, 1403b536127SAntti Palosaari {0xd0f0, 0x7f, 0x1a}, 1413b536127SAntti Palosaari {0xd0f1, 0x10, 0x10}, 1423b536127SAntti Palosaari {0xd0f2, 0xff, 0x0c}, 1433b536127SAntti Palosaari {0xd101, 0xe0, 0xc0}, 1443b536127SAntti Palosaari {0xd103, 0x0f, 0x08}, 1453b536127SAntti Palosaari {0xd0f8, 0x7f, 0x20}, 1463b536127SAntti Palosaari {0xd111, 0x20, 0x00}, 1473b536127SAntti Palosaari {0xd111, 0x40, 0x00}, 1483b536127SAntti Palosaari {0x910b, 0xff, 0x0a}, 1493b536127SAntti Palosaari {0x9115, 0xff, 0x02}, 1503b536127SAntti Palosaari {0x910c, 0xff, 0x02}, 1513b536127SAntti Palosaari {0x910d, 0xff, 0x08}, 1523b536127SAntti Palosaari {0x910e, 0xff, 0x0a}, 1533b536127SAntti Palosaari {0x9bf6, 0xff, 0x06}, 1543b536127SAntti Palosaari {0x9bf8, 0xff, 0x02}, 1553b536127SAntti Palosaari {0x9bf7, 0xff, 0x05}, 1563b536127SAntti Palosaari {0x9bf9, 0xff, 0x0f}, 1573b536127SAntti Palosaari {0x9bfc, 0xff, 0x13}, 1583b536127SAntti Palosaari {0x9bd3, 0xff, 0xff}, 1593b536127SAntti Palosaari {0x9bbe, 0x01, 0x01}, 1603b536127SAntti Palosaari {0x9bcc, 0x01, 0x01}, 1619a0bf528SMauro Carvalho Chehab }; 1629a0bf528SMauro Carvalho Chehab 1633b536127SAntti Palosaari /* 1643b536127SAntti Palosaari * Panasonic ENV77H11D5 tuner init 1653b536127SAntti Palosaari * AF9013_TUNER_ENV77H11D5 0x81 1663b536127SAntti Palosaari */ 1673b536127SAntti Palosaari static const struct af9013_reg_mask_val tuner_init_tab_env77h11d5[] = { 1683b536127SAntti Palosaari {0x9bd5, 0xff, 0x01}, 1693b536127SAntti Palosaari {0x9bd6, 0xff, 0x03}, 1703b536127SAntti Palosaari {0x9bbe, 0xff, 0x01}, 1713b536127SAntti Palosaari {0xd1a0, 0x02, 0x02}, 1723b536127SAntti Palosaari {0xd000, 0x01, 0x01}, 1733b536127SAntti Palosaari {0xd000, 0x02, 0x00}, 1743b536127SAntti Palosaari {0xd001, 0x02, 0x02}, 1753b536127SAntti Palosaari {0xd001, 0x01, 0x00}, 1763b536127SAntti Palosaari {0xd001, 0x20, 0x00}, 1773b536127SAntti Palosaari {0xd002, 0x1f, 0x19}, 1783b536127SAntti Palosaari {0xd003, 0x1f, 0x1a}, 1793b536127SAntti Palosaari {0xd004, 0x1f, 0x19}, 1803b536127SAntti Palosaari {0xd005, 0x1f, 0x1a}, 1813b536127SAntti Palosaari {0xd00e, 0x1f, 0x10}, 1823b536127SAntti Palosaari {0xd00f, 0x07, 0x04}, 1833b536127SAntti Palosaari {0xd00f, 0x38, 0x28}, 1843b536127SAntti Palosaari {0xd010, 0x07, 0x04}, 1853b536127SAntti Palosaari {0xd010, 0x38, 0x28}, 1863b536127SAntti Palosaari {0xd016, 0xf0, 0x30}, 1873b536127SAntti Palosaari {0xd01f, 0x3f, 0x0a}, 1883b536127SAntti Palosaari {0xd020, 0x3f, 0x0a}, 1893b536127SAntti Palosaari {0x9bda, 0xff, 0x00}, 1903b536127SAntti Palosaari {0x9be3, 0xff, 0x00}, 1913b536127SAntti Palosaari {0xd015, 0xff, 0x50}, 1923b536127SAntti Palosaari {0xd016, 0x01, 0x00}, 1933b536127SAntti Palosaari {0xd044, 0xff, 0x46}, 1943b536127SAntti Palosaari {0xd045, 0x01, 0x00}, 1953b536127SAntti Palosaari {0xd008, 0xff, 0xdf}, 1963b536127SAntti Palosaari {0xd009, 0x03, 0x02}, 1973b536127SAntti Palosaari {0xd006, 0xff, 0x44}, 1983b536127SAntti Palosaari {0xd007, 0x03, 0x01}, 1993b536127SAntti Palosaari {0xd00c, 0xff, 0xeb}, 2003b536127SAntti Palosaari {0xd00d, 0x03, 0x02}, 2013b536127SAntti Palosaari {0xd00a, 0xff, 0xf4}, 2023b536127SAntti Palosaari {0xd00b, 0x03, 0x01}, 2033b536127SAntti Palosaari {0x9bba, 0xff, 0xf9}, 2043b536127SAntti Palosaari {0x9bc3, 0xff, 0xdf}, 2053b536127SAntti Palosaari {0x9bc4, 0xff, 0x02}, 2063b536127SAntti Palosaari {0x9bc5, 0xff, 0xeb}, 2073b536127SAntti Palosaari {0x9bc6, 0xff, 0x02}, 2083b536127SAntti Palosaari {0x9bc9, 0xff, 0x52}, 2093b536127SAntti Palosaari {0xd011, 0xff, 0x3c}, 2103b536127SAntti Palosaari {0xd012, 0x03, 0x01}, 2113b536127SAntti Palosaari {0xd013, 0xff, 0xf7}, 2123b536127SAntti Palosaari {0xd014, 0x03, 0x02}, 2133b536127SAntti Palosaari {0xd040, 0xff, 0x0b}, 2143b536127SAntti Palosaari {0xd041, 0x03, 0x02}, 2153b536127SAntti Palosaari {0xd042, 0xff, 0x4d}, 2163b536127SAntti Palosaari {0xd043, 0x03, 0x00}, 2173b536127SAntti Palosaari {0xd045, 0x02, 0x00}, 2183b536127SAntti Palosaari {0x9bcf, 0x01, 0x01}, 2193b536127SAntti Palosaari {0xd045, 0x04, 0x04}, 2203b536127SAntti Palosaari {0xd04f, 0xff, 0x9a}, 2213b536127SAntti Palosaari {0xd050, 0x01, 0x01}, 2223b536127SAntti Palosaari {0xd051, 0xff, 0x5a}, 2233b536127SAntti Palosaari {0xd052, 0x01, 0x01}, 2243b536127SAntti Palosaari {0xd053, 0xff, 0x50}, 2253b536127SAntti Palosaari {0xd054, 0xff, 0x46}, 2263b536127SAntti Palosaari {0x9bd7, 0xff, 0x0a}, 2273b536127SAntti Palosaari {0x9bd8, 0xff, 0x14}, 2283b536127SAntti Palosaari {0x9bd9, 0xff, 0x08}, 2299a0bf528SMauro Carvalho Chehab }; 2309a0bf528SMauro Carvalho Chehab 2313b536127SAntti Palosaari /* 2323b536127SAntti Palosaari * Microtune MT2060 tuner init 2333b536127SAntti Palosaari * AF9013_TUNER_MT2060 0x82 2343b536127SAntti Palosaari */ 2353b536127SAntti Palosaari static const struct af9013_reg_mask_val tuner_init_tab_mt2060[] = { 2363b536127SAntti Palosaari {0x9bd5, 0xff, 0x01}, 2373b536127SAntti Palosaari {0x9bd6, 0xff, 0x07}, 2383b536127SAntti Palosaari {0xd1a0, 0x02, 0x02}, 2393b536127SAntti Palosaari {0xd000, 0x01, 0x01}, 2403b536127SAntti Palosaari {0xd000, 0x02, 0x00}, 2413b536127SAntti Palosaari {0xd001, 0x02, 0x02}, 2423b536127SAntti Palosaari {0xd001, 0x01, 0x00}, 2433b536127SAntti Palosaari {0xd001, 0x20, 0x00}, 2443b536127SAntti Palosaari {0xd002, 0x1f, 0x19}, 2453b536127SAntti Palosaari {0xd003, 0x1f, 0x1a}, 2463b536127SAntti Palosaari {0xd004, 0x1f, 0x19}, 2473b536127SAntti Palosaari {0xd005, 0x1f, 0x1a}, 2483b536127SAntti Palosaari {0xd00e, 0x1f, 0x10}, 2493b536127SAntti Palosaari {0xd00f, 0x07, 0x04}, 2503b536127SAntti Palosaari {0xd00f, 0x38, 0x28}, 2513b536127SAntti Palosaari {0xd010, 0x07, 0x04}, 2523b536127SAntti Palosaari {0xd010, 0x38, 0x28}, 2533b536127SAntti Palosaari {0xd016, 0xf0, 0x30}, 2543b536127SAntti Palosaari {0xd01f, 0x3f, 0x0a}, 2553b536127SAntti Palosaari {0xd020, 0x3f, 0x0a}, 2563b536127SAntti Palosaari {0x9bda, 0xff, 0x00}, 2573b536127SAntti Palosaari {0x9be3, 0xff, 0x00}, 2583b536127SAntti Palosaari {0x9bbe, 0x01, 0x00}, 2593b536127SAntti Palosaari {0x9bcc, 0x01, 0x00}, 2603b536127SAntti Palosaari {0x9bb9, 0xff, 0x75}, 2613b536127SAntti Palosaari {0x9bcd, 0xff, 0x24}, 2623b536127SAntti Palosaari {0x9bff, 0xff, 0x30}, 2633b536127SAntti Palosaari {0xd015, 0xff, 0x46}, 2643b536127SAntti Palosaari {0xd016, 0x01, 0x00}, 2653b536127SAntti Palosaari {0xd044, 0xff, 0x46}, 2663b536127SAntti Palosaari {0xd045, 0x01, 0x00}, 2673b536127SAntti Palosaari {0xd008, 0xff, 0x0f}, 2683b536127SAntti Palosaari {0xd009, 0x03, 0x02}, 2693b536127SAntti Palosaari {0xd006, 0xff, 0x32}, 2703b536127SAntti Palosaari {0xd007, 0x03, 0x01}, 2713b536127SAntti Palosaari {0xd00c, 0xff, 0x36}, 2723b536127SAntti Palosaari {0xd00d, 0x03, 0x03}, 2733b536127SAntti Palosaari {0xd00a, 0xff, 0x35}, 2743b536127SAntti Palosaari {0xd00b, 0x03, 0x01}, 2753b536127SAntti Palosaari {0x9bc7, 0xff, 0x07}, 2763b536127SAntti Palosaari {0x9bc8, 0xff, 0x90}, 2773b536127SAntti Palosaari {0x9bc3, 0xff, 0x0f}, 2783b536127SAntti Palosaari {0x9bc4, 0xff, 0x02}, 2793b536127SAntti Palosaari {0x9bc5, 0xff, 0x36}, 2803b536127SAntti Palosaari {0x9bc6, 0xff, 0x03}, 2813b536127SAntti Palosaari {0x9bba, 0xff, 0xc9}, 2823b536127SAntti Palosaari {0x9bc9, 0xff, 0x79}, 2833b536127SAntti Palosaari {0xd011, 0xff, 0x10}, 2843b536127SAntti Palosaari {0xd012, 0x03, 0x01}, 2853b536127SAntti Palosaari {0xd013, 0xff, 0x45}, 2863b536127SAntti Palosaari {0xd014, 0x03, 0x03}, 2873b536127SAntti Palosaari {0xd040, 0xff, 0x98}, 2883b536127SAntti Palosaari {0xd041, 0x03, 0x00}, 2893b536127SAntti Palosaari {0xd042, 0xff, 0xcf}, 2903b536127SAntti Palosaari {0xd043, 0x03, 0x03}, 2913b536127SAntti Palosaari {0xd045, 0x02, 0x00}, 2923b536127SAntti Palosaari {0x9bcf, 0x01, 0x01}, 2933b536127SAntti Palosaari {0xd045, 0x04, 0x04}, 2943b536127SAntti Palosaari {0xd04f, 0xff, 0x9a}, 2953b536127SAntti Palosaari {0xd050, 0x01, 0x01}, 2963b536127SAntti Palosaari {0xd051, 0xff, 0x5a}, 2973b536127SAntti Palosaari {0xd052, 0x01, 0x01}, 2983b536127SAntti Palosaari {0xd053, 0xff, 0x50}, 2993b536127SAntti Palosaari {0xd054, 0xff, 0x46}, 3003b536127SAntti Palosaari {0x9bd7, 0xff, 0x0a}, 3013b536127SAntti Palosaari {0x9bd8, 0xff, 0x14}, 3023b536127SAntti Palosaari {0x9bd9, 0xff, 0x08}, 3033b536127SAntti Palosaari {0x9bd0, 0xff, 0xcc}, 3043b536127SAntti Palosaari {0x9be4, 0xff, 0xa0}, 3053b536127SAntti Palosaari {0x9bbd, 0xff, 0x8e}, 3063b536127SAntti Palosaari {0x9be2, 0xff, 0x4d}, 3073b536127SAntti Palosaari {0x9bee, 0x01, 0x01}, 3089a0bf528SMauro Carvalho Chehab }; 3099a0bf528SMauro Carvalho Chehab 3103b536127SAntti Palosaari /* 3113b536127SAntti Palosaari * Microtune MT2060 tuner init 3123b536127SAntti Palosaari * AF9013_TUNER_MT2060_2 0x93 3133b536127SAntti Palosaari */ 3143b536127SAntti Palosaari static const struct af9013_reg_mask_val tuner_init_tab_mt2060_2[] = { 3153b536127SAntti Palosaari {0x9bd5, 0xff, 0x01}, 3163b536127SAntti Palosaari {0x9bd6, 0xff, 0x06}, 3173b536127SAntti Palosaari {0x9bbe, 0xff, 0x01}, 3183b536127SAntti Palosaari {0xd1a0, 0x02, 0x02}, 3193b536127SAntti Palosaari {0xd000, 0x01, 0x01}, 3203b536127SAntti Palosaari {0xd000, 0x02, 0x00}, 3213b536127SAntti Palosaari {0xd001, 0x02, 0x02}, 3223b536127SAntti Palosaari {0xd001, 0x01, 0x00}, 3233b536127SAntti Palosaari {0xd001, 0x20, 0x00}, 3243b536127SAntti Palosaari {0xd002, 0x1f, 0x19}, 3253b536127SAntti Palosaari {0xd003, 0x1f, 0x1a}, 3263b536127SAntti Palosaari {0xd004, 0x1f, 0x19}, 3273b536127SAntti Palosaari {0xd005, 0x1f, 0x1a}, 3283b536127SAntti Palosaari {0xd00e, 0x1f, 0x10}, 3293b536127SAntti Palosaari {0xd00f, 0x07, 0x04}, 3303b536127SAntti Palosaari {0xd00f, 0x38, 0x28}, 3313b536127SAntti Palosaari {0xd010, 0x07, 0x04}, 3323b536127SAntti Palosaari {0xd010, 0x38, 0x28}, 3333b536127SAntti Palosaari {0xd016, 0xf0, 0x30}, 3343b536127SAntti Palosaari {0xd01f, 0x3f, 0x0a}, 3353b536127SAntti Palosaari {0xd020, 0x3f, 0x0a}, 3363b536127SAntti Palosaari {0xd015, 0xff, 0x46}, 3373b536127SAntti Palosaari {0xd016, 0x01, 0x00}, 3383b536127SAntti Palosaari {0xd044, 0xff, 0x46}, 3393b536127SAntti Palosaari {0xd045, 0x01, 0x00}, 3403b536127SAntti Palosaari {0xd008, 0xff, 0x0f}, 3413b536127SAntti Palosaari {0xd009, 0x03, 0x02}, 3423b536127SAntti Palosaari {0xd006, 0xff, 0x32}, 3433b536127SAntti Palosaari {0xd007, 0x03, 0x01}, 3443b536127SAntti Palosaari {0xd00c, 0xff, 0x36}, 3453b536127SAntti Palosaari {0xd00d, 0x03, 0x03}, 3463b536127SAntti Palosaari {0xd00a, 0xff, 0x35}, 3473b536127SAntti Palosaari {0xd00b, 0x03, 0x01}, 3483b536127SAntti Palosaari {0x9bc7, 0xff, 0x07}, 3493b536127SAntti Palosaari {0x9bc8, 0xff, 0x90}, 3503b536127SAntti Palosaari {0x9bc3, 0xff, 0x0f}, 3513b536127SAntti Palosaari {0x9bc4, 0xff, 0x02}, 3523b536127SAntti Palosaari {0x9bc5, 0xff, 0x36}, 3533b536127SAntti Palosaari {0x9bc6, 0xff, 0x03}, 3543b536127SAntti Palosaari {0x9bba, 0xff, 0xc9}, 3553b536127SAntti Palosaari {0x9bc9, 0xff, 0x79}, 3563b536127SAntti Palosaari {0xd011, 0xff, 0x10}, 3573b536127SAntti Palosaari {0xd012, 0x03, 0x01}, 3583b536127SAntti Palosaari {0xd013, 0xff, 0x45}, 3593b536127SAntti Palosaari {0xd014, 0x03, 0x03}, 3603b536127SAntti Palosaari {0xd040, 0xff, 0x98}, 3613b536127SAntti Palosaari {0xd041, 0x03, 0x00}, 3623b536127SAntti Palosaari {0xd042, 0xff, 0xcf}, 3633b536127SAntti Palosaari {0xd043, 0x03, 0x03}, 3643b536127SAntti Palosaari {0xd045, 0x02, 0x00}, 3653b536127SAntti Palosaari {0x9bcf, 0xff, 0x01}, 3663b536127SAntti Palosaari {0xd045, 0x04, 0x04}, 3673b536127SAntti Palosaari {0xd04f, 0xff, 0x9a}, 3683b536127SAntti Palosaari {0xd050, 0x01, 0x01}, 3693b536127SAntti Palosaari {0xd051, 0xff, 0x5a}, 3703b536127SAntti Palosaari {0xd052, 0x01, 0x01}, 3713b536127SAntti Palosaari {0xd053, 0xff, 0x96}, 3723b536127SAntti Palosaari {0xd054, 0xff, 0x46}, 3733b536127SAntti Palosaari {0xd045, 0x80, 0x00}, 3743b536127SAntti Palosaari {0x9bd7, 0xff, 0x0a}, 3753b536127SAntti Palosaari {0x9bd8, 0xff, 0x14}, 3763b536127SAntti Palosaari {0x9bd9, 0xff, 0x08}, 3779a0bf528SMauro Carvalho Chehab }; 3789a0bf528SMauro Carvalho Chehab 3793b536127SAntti Palosaari /* 3803b536127SAntti Palosaari * MaxLinear MXL5003 tuner init 3813b536127SAntti Palosaari * AF9013_TUNER_MXL5003D 0x03 3823b536127SAntti Palosaari */ 3833b536127SAntti Palosaari static const struct af9013_reg_mask_val tuner_init_tab_mxl5003d[] = { 3843b536127SAntti Palosaari {0x9bd5, 0xff, 0x01}, 3853b536127SAntti Palosaari {0x9bd6, 0xff, 0x09}, 3863b536127SAntti Palosaari {0xd1a0, 0x02, 0x02}, 3873b536127SAntti Palosaari {0xd000, 0x01, 0x01}, 3883b536127SAntti Palosaari {0xd000, 0x02, 0x00}, 3893b536127SAntti Palosaari {0xd001, 0x02, 0x02}, 3903b536127SAntti Palosaari {0xd001, 0x01, 0x00}, 3913b536127SAntti Palosaari {0xd001, 0x20, 0x00}, 3923b536127SAntti Palosaari {0xd002, 0x1f, 0x19}, 3933b536127SAntti Palosaari {0xd003, 0x1f, 0x1a}, 3943b536127SAntti Palosaari {0xd004, 0x1f, 0x19}, 3953b536127SAntti Palosaari {0xd005, 0x1f, 0x1a}, 3963b536127SAntti Palosaari {0xd00e, 0x1f, 0x10}, 3973b536127SAntti Palosaari {0xd00f, 0x07, 0x04}, 3983b536127SAntti Palosaari {0xd00f, 0x38, 0x28}, 3993b536127SAntti Palosaari {0xd010, 0x07, 0x04}, 4003b536127SAntti Palosaari {0xd010, 0x38, 0x28}, 4013b536127SAntti Palosaari {0xd016, 0xf0, 0x30}, 4023b536127SAntti Palosaari {0xd01f, 0x3f, 0x0a}, 4033b536127SAntti Palosaari {0xd020, 0x3f, 0x0a}, 4043b536127SAntti Palosaari {0x9bda, 0xff, 0x00}, 4053b536127SAntti Palosaari {0x9be3, 0xff, 0x00}, 4063b536127SAntti Palosaari {0x9bfc, 0xff, 0x0f}, 4073b536127SAntti Palosaari {0x9bf6, 0xff, 0x01}, 4083b536127SAntti Palosaari {0x9bbe, 0x01, 0x01}, 4093b536127SAntti Palosaari {0xd015, 0xff, 0x33}, 4103b536127SAntti Palosaari {0xd016, 0x01, 0x00}, 4113b536127SAntti Palosaari {0xd044, 0xff, 0x40}, 4123b536127SAntti Palosaari {0xd045, 0x01, 0x00}, 4133b536127SAntti Palosaari {0xd008, 0xff, 0x0f}, 4143b536127SAntti Palosaari {0xd009, 0x03, 0x02}, 4153b536127SAntti Palosaari {0xd006, 0xff, 0x6c}, 4163b536127SAntti Palosaari {0xd007, 0x03, 0x00}, 4173b536127SAntti Palosaari {0xd00c, 0xff, 0x3d}, 4183b536127SAntti Palosaari {0xd00d, 0x03, 0x00}, 4193b536127SAntti Palosaari {0xd00a, 0xff, 0x45}, 4203b536127SAntti Palosaari {0xd00b, 0x03, 0x01}, 4213b536127SAntti Palosaari {0x9bc7, 0xff, 0x07}, 4223b536127SAntti Palosaari {0x9bc8, 0xff, 0x52}, 4233b536127SAntti Palosaari {0x9bc3, 0xff, 0x0f}, 4243b536127SAntti Palosaari {0x9bc4, 0xff, 0x02}, 4253b536127SAntti Palosaari {0x9bc5, 0xff, 0x3d}, 4263b536127SAntti Palosaari {0x9bc6, 0xff, 0x00}, 4273b536127SAntti Palosaari {0x9bba, 0xff, 0xa2}, 4283b536127SAntti Palosaari {0x9bc9, 0xff, 0xa0}, 4293b536127SAntti Palosaari {0xd011, 0xff, 0x56}, 4303b536127SAntti Palosaari {0xd012, 0x03, 0x00}, 4313b536127SAntti Palosaari {0xd013, 0xff, 0x50}, 4323b536127SAntti Palosaari {0xd014, 0x03, 0x00}, 4333b536127SAntti Palosaari {0xd040, 0xff, 0x56}, 4343b536127SAntti Palosaari {0xd041, 0x03, 0x00}, 4353b536127SAntti Palosaari {0xd042, 0xff, 0x50}, 4363b536127SAntti Palosaari {0xd043, 0x03, 0x00}, 4373b536127SAntti Palosaari {0xd045, 0x02, 0x00}, 4383b536127SAntti Palosaari {0x9bcf, 0xff, 0x01}, 4393b536127SAntti Palosaari {0xd045, 0x04, 0x04}, 4403b536127SAntti Palosaari {0xd04f, 0xff, 0x9a}, 4413b536127SAntti Palosaari {0xd050, 0x01, 0x01}, 4423b536127SAntti Palosaari {0xd051, 0xff, 0x5a}, 4433b536127SAntti Palosaari {0xd052, 0x01, 0x01}, 4443b536127SAntti Palosaari {0xd053, 0xff, 0x50}, 4453b536127SAntti Palosaari {0xd054, 0xff, 0x46}, 4463b536127SAntti Palosaari {0x9bd7, 0xff, 0x0a}, 4473b536127SAntti Palosaari {0x9bd8, 0xff, 0x14}, 4483b536127SAntti Palosaari {0x9bd9, 0xff, 0x08}, 4499a0bf528SMauro Carvalho Chehab }; 4509a0bf528SMauro Carvalho Chehab 4513b536127SAntti Palosaari /* 4523b536127SAntti Palosaari * MaxLinear MXL5005S & MXL5007T tuner init 4533b536127SAntti Palosaari * AF9013_TUNER_MXL5005D 0x0d 4543b536127SAntti Palosaari * AF9013_TUNER_MXL5005R 0x1e 4553b536127SAntti Palosaari * AF9013_TUNER_MXL5007T 0xb1 4563b536127SAntti Palosaari */ 4573b536127SAntti Palosaari static const struct af9013_reg_mask_val tuner_init_tab_mxl5005[] = { 4583b536127SAntti Palosaari {0x9bd5, 0xff, 0x01}, 4593b536127SAntti Palosaari {0x9bd6, 0xff, 0x07}, 4603b536127SAntti Palosaari {0xd1a0, 0x02, 0x02}, 4613b536127SAntti Palosaari {0xd000, 0x01, 0x01}, 4623b536127SAntti Palosaari {0xd000, 0x02, 0x00}, 4633b536127SAntti Palosaari {0xd001, 0x02, 0x02}, 4643b536127SAntti Palosaari {0xd001, 0x01, 0x00}, 4653b536127SAntti Palosaari {0xd001, 0x20, 0x00}, 4663b536127SAntti Palosaari {0xd002, 0x1f, 0x19}, 4673b536127SAntti Palosaari {0xd003, 0x1f, 0x1a}, 4683b536127SAntti Palosaari {0xd004, 0x1f, 0x19}, 4693b536127SAntti Palosaari {0xd005, 0x1f, 0x1a}, 4703b536127SAntti Palosaari {0xd00e, 0x1f, 0x10}, 4713b536127SAntti Palosaari {0xd00f, 0x07, 0x04}, 4723b536127SAntti Palosaari {0xd00f, 0x38, 0x28}, 4733b536127SAntti Palosaari {0xd010, 0x07, 0x04}, 4743b536127SAntti Palosaari {0xd010, 0x38, 0x28}, 4753b536127SAntti Palosaari {0xd016, 0xf0, 0x30}, 4763b536127SAntti Palosaari {0xd01f, 0x3f, 0x0a}, 4773b536127SAntti Palosaari {0xd020, 0x3f, 0x0a}, 4783b536127SAntti Palosaari {0x9bda, 0xff, 0x01}, 4793b536127SAntti Palosaari {0x9be3, 0xff, 0x01}, 4803b536127SAntti Palosaari {0x9bbe, 0x01, 0x01}, 4813b536127SAntti Palosaari {0x9bcc, 0x01, 0x01}, 4823b536127SAntti Palosaari {0x9bb9, 0xff, 0x00}, 4833b536127SAntti Palosaari {0x9bcd, 0xff, 0x28}, 4843b536127SAntti Palosaari {0x9bff, 0xff, 0x24}, 4853b536127SAntti Palosaari {0xd015, 0xff, 0x40}, 4863b536127SAntti Palosaari {0xd016, 0x01, 0x00}, 4873b536127SAntti Palosaari {0xd044, 0xff, 0x40}, 4883b536127SAntti Palosaari {0xd045, 0x01, 0x00}, 4893b536127SAntti Palosaari {0xd008, 0xff, 0x0f}, 4903b536127SAntti Palosaari {0xd009, 0x03, 0x02}, 4913b536127SAntti Palosaari {0xd006, 0xff, 0x73}, 4923b536127SAntti Palosaari {0xd007, 0x03, 0x01}, 4933b536127SAntti Palosaari {0xd00c, 0xff, 0xfa}, 4943b536127SAntti Palosaari {0xd00d, 0x03, 0x01}, 4953b536127SAntti Palosaari {0xd00a, 0xff, 0xff}, 4963b536127SAntti Palosaari {0xd00b, 0x03, 0x01}, 4973b536127SAntti Palosaari {0x9bc7, 0xff, 0x23}, 4983b536127SAntti Palosaari {0x9bc8, 0xff, 0x55}, 4993b536127SAntti Palosaari {0x9bc3, 0xff, 0x01}, 5003b536127SAntti Palosaari {0x9bc4, 0xff, 0x02}, 5013b536127SAntti Palosaari {0x9bc5, 0xff, 0xfa}, 5023b536127SAntti Palosaari {0x9bc6, 0xff, 0x01}, 5033b536127SAntti Palosaari {0x9bba, 0xff, 0xff}, 5043b536127SAntti Palosaari {0x9bc9, 0xff, 0xff}, 5053b536127SAntti Palosaari {0x9bd3, 0xff, 0x95}, 5063b536127SAntti Palosaari {0xd011, 0xff, 0x70}, 5073b536127SAntti Palosaari {0xd012, 0x03, 0x01}, 5083b536127SAntti Palosaari {0xd013, 0xff, 0xfb}, 5093b536127SAntti Palosaari {0xd014, 0x03, 0x01}, 5103b536127SAntti Palosaari {0xd040, 0xff, 0x70}, 5113b536127SAntti Palosaari {0xd041, 0x03, 0x01}, 5123b536127SAntti Palosaari {0xd042, 0xff, 0xfb}, 5133b536127SAntti Palosaari {0xd043, 0x03, 0x01}, 5143b536127SAntti Palosaari {0xd045, 0x02, 0x00}, 5153b536127SAntti Palosaari {0x9bcf, 0x01, 0x01}, 5163b536127SAntti Palosaari {0xd045, 0x04, 0x04}, 5173b536127SAntti Palosaari {0xd04f, 0xff, 0x9a}, 5183b536127SAntti Palosaari {0xd050, 0x01, 0x01}, 5193b536127SAntti Palosaari {0xd051, 0xff, 0x5a}, 5203b536127SAntti Palosaari {0xd052, 0x01, 0x01}, 5213b536127SAntti Palosaari {0xd053, 0xff, 0x50}, 5223b536127SAntti Palosaari {0xd054, 0xff, 0x46}, 5233b536127SAntti Palosaari {0x9bd7, 0xff, 0x0a}, 5243b536127SAntti Palosaari {0x9bd8, 0xff, 0x14}, 5253b536127SAntti Palosaari {0x9bd9, 0xff, 0x08}, 5263b536127SAntti Palosaari {0x9bd0, 0xff, 0x93}, 5273b536127SAntti Palosaari {0x9be4, 0xff, 0xfe}, 5283b536127SAntti Palosaari {0x9bbd, 0xff, 0x63}, 5293b536127SAntti Palosaari {0x9be2, 0xff, 0xfe}, 5303b536127SAntti Palosaari {0x9bee, 0x01, 0x01}, 5319a0bf528SMauro Carvalho Chehab }; 5329a0bf528SMauro Carvalho Chehab 5333b536127SAntti Palosaari /* 5343b536127SAntti Palosaari * Quantek QT1010 tuner init 5353b536127SAntti Palosaari * AF9013_TUNER_QT1010 0x86 5363b536127SAntti Palosaari * AF9013_TUNER_QT1010A 0xa2 5373b536127SAntti Palosaari */ 5383b536127SAntti Palosaari static const struct af9013_reg_mask_val tuner_init_tab_qt1010[] = { 5393b536127SAntti Palosaari {0x9bd5, 0xff, 0x01}, 5403b536127SAntti Palosaari {0x9bd6, 0xff, 0x09}, 5413b536127SAntti Palosaari {0xd1a0, 0x02, 0x02}, 5423b536127SAntti Palosaari {0xd000, 0x01, 0x01}, 5433b536127SAntti Palosaari {0xd000, 0x02, 0x00}, 5443b536127SAntti Palosaari {0xd001, 0x02, 0x02}, 5453b536127SAntti Palosaari {0xd001, 0x01, 0x00}, 5463b536127SAntti Palosaari {0xd001, 0x20, 0x00}, 5473b536127SAntti Palosaari {0xd002, 0x1f, 0x19}, 5483b536127SAntti Palosaari {0xd003, 0x1f, 0x1a}, 5493b536127SAntti Palosaari {0xd004, 0x1f, 0x19}, 5503b536127SAntti Palosaari {0xd005, 0x1f, 0x1a}, 5513b536127SAntti Palosaari {0xd00e, 0x1f, 0x10}, 5523b536127SAntti Palosaari {0xd00f, 0x07, 0x04}, 5533b536127SAntti Palosaari {0xd00f, 0x38, 0x28}, 5543b536127SAntti Palosaari {0xd010, 0x07, 0x04}, 5553b536127SAntti Palosaari {0xd010, 0x38, 0x28}, 5563b536127SAntti Palosaari {0xd016, 0xf0, 0x30}, 5573b536127SAntti Palosaari {0xd01f, 0x3f, 0x0a}, 5583b536127SAntti Palosaari {0xd020, 0x3f, 0x0a}, 5593b536127SAntti Palosaari {0x9bda, 0xff, 0x01}, 5603b536127SAntti Palosaari {0x9be3, 0xff, 0x01}, 5613b536127SAntti Palosaari {0xd015, 0xff, 0x46}, 5623b536127SAntti Palosaari {0xd016, 0x01, 0x00}, 5633b536127SAntti Palosaari {0xd044, 0xff, 0x46}, 5643b536127SAntti Palosaari {0xd045, 0x01, 0x00}, 5653b536127SAntti Palosaari {0x9bbe, 0x01, 0x01}, 5663b536127SAntti Palosaari {0x9bcc, 0x01, 0x01}, 5673b536127SAntti Palosaari {0x9bb9, 0xff, 0x00}, 5683b536127SAntti Palosaari {0x9bcd, 0xff, 0x28}, 5693b536127SAntti Palosaari {0x9bff, 0xff, 0x20}, 5703b536127SAntti Palosaari {0xd008, 0xff, 0x0f}, 5713b536127SAntti Palosaari {0xd009, 0x03, 0x02}, 5723b536127SAntti Palosaari {0xd006, 0xff, 0x99}, 5733b536127SAntti Palosaari {0xd007, 0x03, 0x01}, 5743b536127SAntti Palosaari {0xd00c, 0xff, 0x0f}, 5753b536127SAntti Palosaari {0xd00d, 0x03, 0x02}, 5763b536127SAntti Palosaari {0xd00a, 0xff, 0x50}, 5773b536127SAntti Palosaari {0xd00b, 0x03, 0x01}, 5783b536127SAntti Palosaari {0x9bc7, 0xff, 0x00}, 5793b536127SAntti Palosaari {0x9bc8, 0xff, 0x00}, 5803b536127SAntti Palosaari {0x9bc3, 0xff, 0x0f}, 5813b536127SAntti Palosaari {0x9bc4, 0xff, 0x02}, 5823b536127SAntti Palosaari {0x9bc5, 0xff, 0x0f}, 5833b536127SAntti Palosaari {0x9bc6, 0xff, 0x02}, 5843b536127SAntti Palosaari {0x9bba, 0xff, 0xc5}, 5853b536127SAntti Palosaari {0x9bc9, 0xff, 0xff}, 5863b536127SAntti Palosaari {0xd011, 0xff, 0x58}, 5873b536127SAntti Palosaari {0xd012, 0x03, 0x02}, 5883b536127SAntti Palosaari {0xd013, 0xff, 0x89}, 5893b536127SAntti Palosaari {0xd014, 0x03, 0x01}, 5903b536127SAntti Palosaari {0xd040, 0xff, 0x58}, 5913b536127SAntti Palosaari {0xd041, 0x03, 0x02}, 5923b536127SAntti Palosaari {0xd042, 0xff, 0x89}, 5933b536127SAntti Palosaari {0xd043, 0x03, 0x01}, 5943b536127SAntti Palosaari {0xd045, 0x02, 0x00}, 5953b536127SAntti Palosaari {0x9bcf, 0x01, 0x01}, 5963b536127SAntti Palosaari {0xd045, 0x04, 0x04}, 5973b536127SAntti Palosaari {0xd04f, 0xff, 0x9a}, 5983b536127SAntti Palosaari {0xd050, 0x01, 0x01}, 5993b536127SAntti Palosaari {0xd051, 0xff, 0x5a}, 6003b536127SAntti Palosaari {0xd052, 0x01, 0x01}, 6013b536127SAntti Palosaari {0xd053, 0xff, 0x50}, 6023b536127SAntti Palosaari {0xd054, 0xff, 0x46}, 6033b536127SAntti Palosaari {0x9bd7, 0xff, 0x0a}, 6043b536127SAntti Palosaari {0x9bd8, 0xff, 0x14}, 6053b536127SAntti Palosaari {0x9bd9, 0xff, 0x08}, 6063b536127SAntti Palosaari {0x9bd0, 0xff, 0xcd}, 6073b536127SAntti Palosaari {0x9be4, 0xff, 0xbb}, 6083b536127SAntti Palosaari {0x9bbd, 0xff, 0x93}, 6093b536127SAntti Palosaari {0x9be2, 0xff, 0x80}, 6103b536127SAntti Palosaari {0x9bee, 0x01, 0x01}, 6119a0bf528SMauro Carvalho Chehab }; 6129a0bf528SMauro Carvalho Chehab 6133b536127SAntti Palosaari /* 6143b536127SAntti Palosaari * Freescale MC44S803 tuner init 6153b536127SAntti Palosaari * AF9013_TUNER_MC44S803 0x85 6163b536127SAntti Palosaari */ 6173b536127SAntti Palosaari static const struct af9013_reg_mask_val tuner_init_tab_mc44s803[] = { 6183b536127SAntti Palosaari {0x9bd5, 0xff, 0x01}, 6193b536127SAntti Palosaari {0x9bd6, 0xff, 0x06}, 6203b536127SAntti Palosaari {0xd1a0, 0x02, 0x02}, 6213b536127SAntti Palosaari {0xd000, 0x01, 0x01}, 6223b536127SAntti Palosaari {0xd000, 0x02, 0x00}, 6233b536127SAntti Palosaari {0xd001, 0x02, 0x02}, 6243b536127SAntti Palosaari {0xd001, 0x01, 0x00}, 6253b536127SAntti Palosaari {0xd001, 0x20, 0x00}, 6263b536127SAntti Palosaari {0xd002, 0x1f, 0x19}, 6273b536127SAntti Palosaari {0xd003, 0x1f, 0x1a}, 6283b536127SAntti Palosaari {0xd004, 0x1f, 0x19}, 6293b536127SAntti Palosaari {0xd005, 0x1f, 0x1a}, 6303b536127SAntti Palosaari {0xd00e, 0x1f, 0x10}, 6313b536127SAntti Palosaari {0xd00f, 0x07, 0x04}, 6323b536127SAntti Palosaari {0xd00f, 0x38, 0x28}, 6333b536127SAntti Palosaari {0xd010, 0x07, 0x04}, 6343b536127SAntti Palosaari {0xd010, 0x38, 0x28}, 6353b536127SAntti Palosaari {0xd016, 0xf0, 0x30}, 6363b536127SAntti Palosaari {0xd01f, 0x3f, 0x0a}, 6373b536127SAntti Palosaari {0xd020, 0x3f, 0x0a}, 6383b536127SAntti Palosaari {0x9bda, 0xff, 0x00}, 6393b536127SAntti Palosaari {0x9be3, 0xff, 0x00}, 6403b536127SAntti Palosaari {0x9bf6, 0xff, 0x01}, 6413b536127SAntti Palosaari {0x9bf8, 0xff, 0x02}, 6423b536127SAntti Palosaari {0x9bf9, 0xff, 0x02}, 6433b536127SAntti Palosaari {0x9bfc, 0xff, 0x1f}, 6443b536127SAntti Palosaari {0x9bbe, 0x01, 0x01}, 6453b536127SAntti Palosaari {0x9bcc, 0x01, 0x01}, 6463b536127SAntti Palosaari {0x9bb9, 0xff, 0x00}, 6473b536127SAntti Palosaari {0x9bcd, 0xff, 0x24}, 6483b536127SAntti Palosaari {0x9bff, 0xff, 0x24}, 6493b536127SAntti Palosaari {0xd015, 0xff, 0x46}, 6503b536127SAntti Palosaari {0xd016, 0x01, 0x00}, 6513b536127SAntti Palosaari {0xd044, 0xff, 0x46}, 6523b536127SAntti Palosaari {0xd045, 0x01, 0x00}, 6533b536127SAntti Palosaari {0xd008, 0xff, 0x01}, 6543b536127SAntti Palosaari {0xd009, 0x03, 0x02}, 6553b536127SAntti Palosaari {0xd006, 0xff, 0x7b}, 6563b536127SAntti Palosaari {0xd007, 0x03, 0x00}, 6573b536127SAntti Palosaari {0xd00c, 0xff, 0x7c}, 6583b536127SAntti Palosaari {0xd00d, 0x03, 0x02}, 6593b536127SAntti Palosaari {0xd00a, 0xff, 0xfe}, 6603b536127SAntti Palosaari {0xd00b, 0x03, 0x01}, 6613b536127SAntti Palosaari {0x9bc7, 0xff, 0x08}, 6623b536127SAntti Palosaari {0x9bc8, 0xff, 0x9a}, 6633b536127SAntti Palosaari {0x9bc3, 0xff, 0x01}, 6643b536127SAntti Palosaari {0x9bc4, 0xff, 0x02}, 6653b536127SAntti Palosaari {0x9bc5, 0xff, 0x7c}, 6663b536127SAntti Palosaari {0x9bc6, 0xff, 0x02}, 6673b536127SAntti Palosaari {0x9bba, 0xff, 0xfc}, 6683b536127SAntti Palosaari {0x9bc9, 0xff, 0xaa}, 6693b536127SAntti Palosaari {0xd011, 0xff, 0x6b}, 6703b536127SAntti Palosaari {0xd012, 0x03, 0x00}, 6713b536127SAntti Palosaari {0xd013, 0xff, 0x88}, 6723b536127SAntti Palosaari {0xd014, 0x03, 0x02}, 6733b536127SAntti Palosaari {0xd040, 0xff, 0x6b}, 6743b536127SAntti Palosaari {0xd041, 0x03, 0x00}, 6753b536127SAntti Palosaari {0xd042, 0xff, 0x7c}, 6763b536127SAntti Palosaari {0xd043, 0x03, 0x02}, 6773b536127SAntti Palosaari {0xd045, 0x02, 0x00}, 6783b536127SAntti Palosaari {0x9bcf, 0x01, 0x01}, 6793b536127SAntti Palosaari {0xd045, 0x04, 0x04}, 6803b536127SAntti Palosaari {0xd04f, 0xff, 0x9a}, 6813b536127SAntti Palosaari {0xd050, 0x01, 0x01}, 6823b536127SAntti Palosaari {0xd051, 0xff, 0x5a}, 6833b536127SAntti Palosaari {0xd052, 0x01, 0x01}, 6843b536127SAntti Palosaari {0xd053, 0xff, 0x50}, 6853b536127SAntti Palosaari {0xd054, 0xff, 0x46}, 6863b536127SAntti Palosaari {0x9bd7, 0xff, 0x0a}, 6873b536127SAntti Palosaari {0x9bd8, 0xff, 0x14}, 6883b536127SAntti Palosaari {0x9bd9, 0xff, 0x08}, 6893b536127SAntti Palosaari {0x9bd0, 0xff, 0x9e}, 6903b536127SAntti Palosaari {0x9be4, 0xff, 0xff}, 6913b536127SAntti Palosaari {0x9bbd, 0xff, 0x9e}, 6923b536127SAntti Palosaari {0x9be2, 0xff, 0x25}, 6933b536127SAntti Palosaari {0x9bee, 0x01, 0x01}, 6943b536127SAntti Palosaari {0xd73b, 0x08, 0x00}, 6959a0bf528SMauro Carvalho Chehab }; 6969a0bf528SMauro Carvalho Chehab 6973b536127SAntti Palosaari /* 6983b536127SAntti Palosaari * Unknown, probably for tin can tuner, tuner init 6993b536127SAntti Palosaari * AF9013_TUNER_UNKNOWN 0x8c 7003b536127SAntti Palosaari */ 7013b536127SAntti Palosaari static const struct af9013_reg_mask_val tuner_init_tab_unknown[] = { 7023b536127SAntti Palosaari {0x9bd5, 0xff, 0x01}, 7033b536127SAntti Palosaari {0x9bd6, 0xff, 0x02}, 7043b536127SAntti Palosaari {0xd1a0, 0x02, 0x02}, 7053b536127SAntti Palosaari {0xd000, 0x01, 0x01}, 7063b536127SAntti Palosaari {0xd000, 0x02, 0x00}, 7073b536127SAntti Palosaari {0xd001, 0x02, 0x02}, 7083b536127SAntti Palosaari {0xd001, 0x01, 0x00}, 7093b536127SAntti Palosaari {0xd001, 0x20, 0x00}, 7103b536127SAntti Palosaari {0xd002, 0x1f, 0x19}, 7113b536127SAntti Palosaari {0xd003, 0x1f, 0x1a}, 7123b536127SAntti Palosaari {0xd004, 0x1f, 0x19}, 7133b536127SAntti Palosaari {0xd005, 0x1f, 0x1a}, 7143b536127SAntti Palosaari {0xd00e, 0x1f, 0x10}, 7153b536127SAntti Palosaari {0xd00f, 0x07, 0x04}, 7163b536127SAntti Palosaari {0xd00f, 0x38, 0x28}, 7173b536127SAntti Palosaari {0xd010, 0x07, 0x04}, 7183b536127SAntti Palosaari {0xd010, 0x38, 0x28}, 7193b536127SAntti Palosaari {0xd016, 0xf0, 0x30}, 7203b536127SAntti Palosaari {0xd01f, 0x3f, 0x0a}, 7213b536127SAntti Palosaari {0xd020, 0x3f, 0x0a}, 7223b536127SAntti Palosaari {0x9bda, 0xff, 0x01}, 7233b536127SAntti Palosaari {0x9be3, 0xff, 0x01}, 7243b536127SAntti Palosaari {0xd1a0, 0x02, 0x00}, 7253b536127SAntti Palosaari {0x9bbe, 0x01, 0x01}, 7263b536127SAntti Palosaari {0x9bcc, 0x01, 0x01}, 7273b536127SAntti Palosaari {0x9bb9, 0xff, 0x00}, 7283b536127SAntti Palosaari {0x9bcd, 0xff, 0x18}, 7293b536127SAntti Palosaari {0x9bff, 0xff, 0x2c}, 7303b536127SAntti Palosaari {0xd015, 0xff, 0x46}, 7313b536127SAntti Palosaari {0xd016, 0x01, 0x00}, 7323b536127SAntti Palosaari {0xd044, 0xff, 0x46}, 7333b536127SAntti Palosaari {0xd045, 0x01, 0x00}, 7343b536127SAntti Palosaari {0xd008, 0xff, 0xdf}, 7353b536127SAntti Palosaari {0xd009, 0x03, 0x02}, 7363b536127SAntti Palosaari {0xd006, 0xff, 0x44}, 7373b536127SAntti Palosaari {0xd007, 0x03, 0x01}, 7383b536127SAntti Palosaari {0xd00c, 0xff, 0x00}, 7393b536127SAntti Palosaari {0xd00d, 0x03, 0x02}, 7403b536127SAntti Palosaari {0xd00a, 0xff, 0xf6}, 7413b536127SAntti Palosaari {0xd00b, 0x03, 0x01}, 7423b536127SAntti Palosaari {0x9bba, 0xff, 0xf9}, 7433b536127SAntti Palosaari {0x9bc8, 0xff, 0xaa}, 7443b536127SAntti Palosaari {0x9bc3, 0xff, 0xdf}, 7453b536127SAntti Palosaari {0x9bc4, 0xff, 0x02}, 7463b536127SAntti Palosaari {0x9bc5, 0xff, 0x00}, 7473b536127SAntti Palosaari {0x9bc6, 0xff, 0x02}, 7483b536127SAntti Palosaari {0x9bc9, 0xff, 0xf0}, 7493b536127SAntti Palosaari {0xd011, 0xff, 0x3c}, 7503b536127SAntti Palosaari {0xd012, 0x03, 0x01}, 7513b536127SAntti Palosaari {0xd013, 0xff, 0xf7}, 7523b536127SAntti Palosaari {0xd014, 0x03, 0x02}, 7533b536127SAntti Palosaari {0xd040, 0xff, 0x0b}, 7543b536127SAntti Palosaari {0xd041, 0x03, 0x02}, 7553b536127SAntti Palosaari {0xd042, 0xff, 0x4d}, 7563b536127SAntti Palosaari {0xd043, 0x03, 0x00}, 7573b536127SAntti Palosaari {0xd045, 0x02, 0x00}, 7583b536127SAntti Palosaari {0x9bcf, 0x01, 0x01}, 7593b536127SAntti Palosaari {0xd045, 0x04, 0x04}, 7603b536127SAntti Palosaari {0xd04f, 0xff, 0x9a}, 7613b536127SAntti Palosaari {0xd050, 0x01, 0x01}, 7623b536127SAntti Palosaari {0xd051, 0xff, 0x5a}, 7633b536127SAntti Palosaari {0xd052, 0x01, 0x01}, 7643b536127SAntti Palosaari {0xd053, 0xff, 0x50}, 7653b536127SAntti Palosaari {0xd054, 0xff, 0x46}, 7663b536127SAntti Palosaari {0x9bd7, 0xff, 0x0a}, 7673b536127SAntti Palosaari {0x9bd8, 0xff, 0x14}, 7683b536127SAntti Palosaari {0x9bd9, 0xff, 0x08}, 7699a0bf528SMauro Carvalho Chehab }; 7709a0bf528SMauro Carvalho Chehab 7713b536127SAntti Palosaari /* 7723b536127SAntti Palosaari * NXP TDA18271 & TDA18218 tuner init 7733b536127SAntti Palosaari * AF9013_TUNER_TDA18271 0x9c 7743b536127SAntti Palosaari * AF9013_TUNER_TDA18218 0xb3 7753b536127SAntti Palosaari */ 7763b536127SAntti Palosaari static const struct af9013_reg_mask_val tuner_init_tab_tda18271[] = { 7773b536127SAntti Palosaari {0x9bd5, 0xff, 0x01}, 7783b536127SAntti Palosaari {0x9bd6, 0xff, 0x04}, 7793b536127SAntti Palosaari {0xd1a0, 0x02, 0x02}, 7803b536127SAntti Palosaari {0xd000, 0x01, 0x01}, 7813b536127SAntti Palosaari {0xd000, 0x02, 0x00}, 7823b536127SAntti Palosaari {0xd001, 0x02, 0x02}, 7833b536127SAntti Palosaari {0xd001, 0x01, 0x00}, 7843b536127SAntti Palosaari {0xd001, 0x20, 0x00}, 7853b536127SAntti Palosaari {0xd002, 0x1f, 0x19}, 7863b536127SAntti Palosaari {0xd003, 0x1f, 0x1a}, 7873b536127SAntti Palosaari {0xd004, 0x1f, 0x19}, 7883b536127SAntti Palosaari {0xd005, 0x1f, 0x1a}, 7893b536127SAntti Palosaari {0xd00e, 0x1f, 0x10}, 7903b536127SAntti Palosaari {0xd00f, 0x07, 0x04}, 7913b536127SAntti Palosaari {0xd00f, 0x38, 0x28}, 7923b536127SAntti Palosaari {0xd010, 0x07, 0x04}, 7933b536127SAntti Palosaari {0xd010, 0x38, 0x28}, 7943b536127SAntti Palosaari {0xd016, 0xf0, 0x30}, 7953b536127SAntti Palosaari {0xd01f, 0x3f, 0x0a}, 7963b536127SAntti Palosaari {0xd020, 0x3f, 0x0a}, 7973b536127SAntti Palosaari {0x9bda, 0xff, 0x01}, 7983b536127SAntti Palosaari {0x9be3, 0xff, 0x01}, 7993b536127SAntti Palosaari {0xd1a0, 0x02, 0x00}, 8003b536127SAntti Palosaari {0x9bbe, 0x01, 0x01}, 8013b536127SAntti Palosaari {0x9bcc, 0x01, 0x01}, 8023b536127SAntti Palosaari {0x9bb9, 0xff, 0x00}, 8033b536127SAntti Palosaari {0x9bcd, 0xff, 0x18}, 8043b536127SAntti Palosaari {0x9bff, 0xff, 0x2c}, 8053b536127SAntti Palosaari {0xd015, 0xff, 0x46}, 8063b536127SAntti Palosaari {0xd016, 0x01, 0x00}, 8073b536127SAntti Palosaari {0xd044, 0xff, 0x46}, 8083b536127SAntti Palosaari {0xd045, 0x01, 0x00}, 8093b536127SAntti Palosaari {0xd008, 0xff, 0xdf}, 8103b536127SAntti Palosaari {0xd009, 0x03, 0x02}, 8113b536127SAntti Palosaari {0xd006, 0xff, 0x44}, 8123b536127SAntti Palosaari {0xd007, 0x03, 0x01}, 8133b536127SAntti Palosaari {0xd00c, 0xff, 0x00}, 8143b536127SAntti Palosaari {0xd00d, 0x03, 0x02}, 8153b536127SAntti Palosaari {0xd00a, 0xff, 0xf6}, 8163b536127SAntti Palosaari {0xd00b, 0x03, 0x01}, 8173b536127SAntti Palosaari {0x9bba, 0xff, 0xf9}, 8183b536127SAntti Palosaari {0x9bc8, 0xff, 0xaa}, 8193b536127SAntti Palosaari {0x9bc3, 0xff, 0xdf}, 8203b536127SAntti Palosaari {0x9bc4, 0xff, 0x02}, 8213b536127SAntti Palosaari {0x9bc5, 0xff, 0x00}, 8223b536127SAntti Palosaari {0x9bc6, 0xff, 0x02}, 8233b536127SAntti Palosaari {0x9bc9, 0xff, 0xf0}, 8243b536127SAntti Palosaari {0xd011, 0xff, 0x3c}, 8253b536127SAntti Palosaari {0xd012, 0x03, 0x01}, 8263b536127SAntti Palosaari {0xd013, 0xff, 0xf7}, 8273b536127SAntti Palosaari {0xd014, 0x03, 0x02}, 8283b536127SAntti Palosaari {0xd040, 0xff, 0x0b}, 8293b536127SAntti Palosaari {0xd041, 0x03, 0x02}, 8303b536127SAntti Palosaari {0xd042, 0xff, 0x4d}, 8313b536127SAntti Palosaari {0xd043, 0x03, 0x00}, 8323b536127SAntti Palosaari {0xd045, 0x02, 0x00}, 8333b536127SAntti Palosaari {0x9bcf, 0x01, 0x01}, 8343b536127SAntti Palosaari {0xd045, 0x04, 0x04}, 8353b536127SAntti Palosaari {0xd04f, 0xff, 0x9a}, 8363b536127SAntti Palosaari {0xd050, 0x01, 0x01}, 8373b536127SAntti Palosaari {0xd051, 0xff, 0x5a}, 8383b536127SAntti Palosaari {0xd052, 0x01, 0x01}, 8393b536127SAntti Palosaari {0xd053, 0xff, 0x50}, 8403b536127SAntti Palosaari {0xd054, 0xff, 0x46}, 8413b536127SAntti Palosaari {0x9bd7, 0xff, 0x0a}, 8423b536127SAntti Palosaari {0x9bd8, 0xff, 0x14}, 8433b536127SAntti Palosaari {0x9bd9, 0xff, 0x08}, 8443b536127SAntti Palosaari {0x9bd0, 0xff, 0xa8}, 8453b536127SAntti Palosaari {0x9be4, 0xff, 0x7f}, 8463b536127SAntti Palosaari {0x9bbd, 0xff, 0xa8}, 8473b536127SAntti Palosaari {0x9be2, 0xff, 0x20}, 8483b536127SAntti Palosaari {0x9bee, 0x01, 0x01}, 8499a0bf528SMauro Carvalho Chehab }; 8509a0bf528SMauro Carvalho Chehab 8519a0bf528SMauro Carvalho Chehab #endif /* AF9013_PRIV_H */ 852