1 /* 2 * Afatech AF9033 demodulator driver 3 * 4 * Copyright (C) 2009 Antti Palosaari <crope@iki.fi> 5 * Copyright (C) 2012 Antti Palosaari <crope@iki.fi> 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation; either version 2 of the License, or 10 * (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License along 18 * with this program; if not, write to the Free Software Foundation, Inc., 19 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 */ 21 22 #ifndef AF9033_PRIV_H 23 #define AF9033_PRIV_H 24 25 #include "dvb_frontend.h" 26 #include "af9033.h" 27 #include <linux/math64.h> 28 29 struct reg_val { 30 u32 reg; 31 u8 val; 32 }; 33 34 struct reg_val_mask { 35 u32 reg; 36 u8 val; 37 u8 mask; 38 }; 39 40 struct coeff { 41 u32 clock; 42 u32 bandwidth_hz; 43 u8 val[36]; 44 }; 45 46 struct clock_adc { 47 u32 clock; 48 u32 adc; 49 }; 50 51 struct val_snr { 52 u32 val; 53 u8 snr; 54 }; 55 56 /* Xtal clock vs. ADC clock lookup table */ 57 static const struct clock_adc clock_adc_lut[] = { 58 { 16384000, 20480000 }, 59 { 20480000, 20480000 }, 60 { 36000000, 20250000 }, 61 { 30000000, 20156250 }, 62 { 26000000, 20583333 }, 63 { 28000000, 20416667 }, 64 { 32000000, 20500000 }, 65 { 34000000, 20187500 }, 66 { 24000000, 20500000 }, 67 { 22000000, 20625000 }, 68 { 12000000, 20250000 }, 69 }; 70 71 /* pre-calculated coeff lookup table */ 72 static const struct coeff coeff_lut[] = { 73 /* 12.000 MHz */ 74 { 12000000, 8000000, { 75 0x01, 0xce, 0x55, 0xc9, 0x00, 0xe7, 0x2a, 0xe4, 0x00, 0x73, 76 0x99, 0x0f, 0x00, 0x73, 0x95, 0x72, 0x00, 0x73, 0x91, 0xd5, 77 0x00, 0x39, 0xca, 0xb9, 0x00, 0xe7, 0x2a, 0xe4, 0x00, 0x73, 78 0x95, 0x72, 0x37, 0x02, 0xce, 0x01 } 79 }, 80 { 12000000, 7000000, { 81 0x01, 0x94, 0x8b, 0x10, 0x00, 0xca, 0x45, 0x88, 0x00, 0x65, 82 0x25, 0xed, 0x00, 0x65, 0x22, 0xc4, 0x00, 0x65, 0x1f, 0x9b, 83 0x00, 0x32, 0x91, 0x62, 0x00, 0xca, 0x45, 0x88, 0x00, 0x65, 84 0x22, 0xc4, 0x88, 0x02, 0x95, 0x01 } 85 }, 86 { 12000000, 6000000, { 87 0x01, 0x5a, 0xc0, 0x56, 0x00, 0xad, 0x60, 0x2b, 0x00, 0x56, 88 0xb2, 0xcb, 0x00, 0x56, 0xb0, 0x15, 0x00, 0x56, 0xad, 0x60, 89 0x00, 0x2b, 0x58, 0x0b, 0x00, 0xad, 0x60, 0x2b, 0x00, 0x56, 90 0xb0, 0x15, 0xf4, 0x02, 0x5b, 0x01 } 91 }, 92 }; 93 94 /* QPSK SNR lookup table */ 95 static const struct val_snr qpsk_snr_lut[] = { 96 { 0x0b4771, 0 }, 97 { 0x0c1aed, 1 }, 98 { 0x0d0d27, 2 }, 99 { 0x0e4d19, 3 }, 100 { 0x0e5da8, 4 }, 101 { 0x107097, 5 }, 102 { 0x116975, 6 }, 103 { 0x1252d9, 7 }, 104 { 0x131fa4, 8 }, 105 { 0x13d5e1, 9 }, 106 { 0x148e53, 10 }, 107 { 0x15358b, 11 }, 108 { 0x15dd29, 12 }, 109 { 0x168112, 13 }, 110 { 0x170b61, 14 }, 111 { 0x17a532, 15 }, 112 { 0x180f94, 16 }, 113 { 0x186ed2, 17 }, 114 { 0x18b271, 18 }, 115 { 0x18e118, 19 }, 116 { 0x18ff4b, 20 }, 117 { 0x190af1, 21 }, 118 { 0x191451, 22 }, 119 { 0xffffff, 23 }, 120 }; 121 122 /* QAM16 SNR lookup table */ 123 static const struct val_snr qam16_snr_lut[] = { 124 { 0x04f0d5, 0 }, 125 { 0x05387a, 1 }, 126 { 0x0573a4, 2 }, 127 { 0x05a99e, 3 }, 128 { 0x05cc80, 4 }, 129 { 0x05eb62, 5 }, 130 { 0x05fecf, 6 }, 131 { 0x060b80, 7 }, 132 { 0x062501, 8 }, 133 { 0x064865, 9 }, 134 { 0x069604, 10 }, 135 { 0x06f356, 11 }, 136 { 0x07706a, 12 }, 137 { 0x0804d3, 13 }, 138 { 0x089d1a, 14 }, 139 { 0x093e3d, 15 }, 140 { 0x09e35d, 16 }, 141 { 0x0a7c3c, 17 }, 142 { 0x0afaf8, 18 }, 143 { 0x0b719d, 19 }, 144 { 0x0bda6a, 20 }, 145 { 0x0c0c75, 21 }, 146 { 0x0c3f7d, 22 }, 147 { 0x0c5e62, 23 }, 148 { 0x0c6c31, 24 }, 149 { 0x0c7925, 25 }, 150 { 0xffffff, 26 }, 151 }; 152 153 /* QAM64 SNR lookup table */ 154 static const struct val_snr qam64_snr_lut[] = { 155 { 0x0256d0, 0 }, 156 { 0x027a65, 1 }, 157 { 0x029873, 2 }, 158 { 0x02b7fe, 3 }, 159 { 0x02cf1e, 4 }, 160 { 0x02e234, 5 }, 161 { 0x02f409, 6 }, 162 { 0x030046, 7 }, 163 { 0x030844, 8 }, 164 { 0x030a02, 9 }, 165 { 0x030cde, 10 }, 166 { 0x031031, 11 }, 167 { 0x03144c, 12 }, 168 { 0x0315dd, 13 }, 169 { 0x031920, 14 }, 170 { 0x0322d0, 15 }, 171 { 0x0339fc, 16 }, 172 { 0x0364a1, 17 }, 173 { 0x038bcc, 18 }, 174 { 0x03c7d3, 19 }, 175 { 0x0408cc, 20 }, 176 { 0x043bed, 21 }, 177 { 0x048061, 22 }, 178 { 0x04be95, 23 }, 179 { 0x04fa7d, 24 }, 180 { 0x052405, 25 }, 181 { 0x05570d, 26 }, 182 { 0x059feb, 27 }, 183 { 0x05bf38, 28 }, 184 { 0x05f78f, 29 }, 185 { 0x0612c3, 30 }, 186 { 0x0626be, 31 }, 187 { 0xffffff, 32 }, 188 }; 189 190 static const struct reg_val ofsm_init[] = { 191 { 0x800051, 0x01 }, 192 { 0x800070, 0x0a }, 193 { 0x80007e, 0x04 }, 194 { 0x800081, 0x0a }, 195 { 0x80008a, 0x01 }, 196 { 0x80008e, 0x01 }, 197 { 0x800092, 0x06 }, 198 { 0x800099, 0x01 }, 199 { 0x80009f, 0xe1 }, 200 { 0x8000a0, 0xcf }, 201 { 0x8000a3, 0x01 }, 202 { 0x8000a5, 0x01 }, 203 { 0x8000a6, 0x01 }, 204 { 0x8000a9, 0x00 }, 205 { 0x8000aa, 0x01 }, 206 { 0x8000b0, 0x01 }, 207 { 0x8000c4, 0x05 }, 208 { 0x8000c8, 0x19 }, 209 { 0x80f000, 0x0f }, 210 { 0x80f016, 0x10 }, 211 { 0x80f017, 0x04 }, 212 { 0x80f018, 0x05 }, 213 { 0x80f019, 0x04 }, 214 { 0x80f01a, 0x05 }, 215 { 0x80f021, 0x03 }, 216 { 0x80f022, 0x0a }, 217 { 0x80f023, 0x0a }, 218 { 0x80f02b, 0x00 }, 219 { 0x80f02c, 0x01 }, 220 { 0x80f064, 0x03 }, 221 { 0x80f065, 0xf9 }, 222 { 0x80f066, 0x03 }, 223 { 0x80f067, 0x01 }, 224 { 0x80f06f, 0xe0 }, 225 { 0x80f070, 0x03 }, 226 { 0x80f072, 0x0f }, 227 { 0x80f073, 0x03 }, 228 { 0x80f078, 0x00 }, 229 { 0x80f087, 0x00 }, 230 { 0x80f09b, 0x3f }, 231 { 0x80f09c, 0x00 }, 232 { 0x80f09d, 0x20 }, 233 { 0x80f09e, 0x00 }, 234 { 0x80f09f, 0x0c }, 235 { 0x80f0a0, 0x00 }, 236 { 0x80f130, 0x04 }, 237 { 0x80f132, 0x04 }, 238 { 0x80f144, 0x1a }, 239 { 0x80f146, 0x00 }, 240 { 0x80f14a, 0x01 }, 241 { 0x80f14c, 0x00 }, 242 { 0x80f14d, 0x00 }, 243 { 0x80f14f, 0x04 }, 244 { 0x80f158, 0x7f }, 245 { 0x80f15a, 0x00 }, 246 { 0x80f15b, 0x08 }, 247 { 0x80f15d, 0x03 }, 248 { 0x80f15e, 0x05 }, 249 { 0x80f163, 0x05 }, 250 { 0x80f166, 0x01 }, 251 { 0x80f167, 0x40 }, 252 { 0x80f168, 0x0f }, 253 { 0x80f17a, 0x00 }, 254 { 0x80f17b, 0x00 }, 255 { 0x80f183, 0x01 }, 256 { 0x80f19d, 0x40 }, 257 { 0x80f1bc, 0x36 }, 258 { 0x80f1bd, 0x00 }, 259 { 0x80f1cb, 0xa0 }, 260 { 0x80f1cc, 0x01 }, 261 { 0x80f204, 0x10 }, 262 { 0x80f214, 0x00 }, 263 { 0x80f40e, 0x0a }, 264 { 0x80f40f, 0x40 }, 265 { 0x80f410, 0x08 }, 266 { 0x80f55f, 0x0a }, 267 { 0x80f561, 0x15 }, 268 { 0x80f562, 0x20 }, 269 { 0x80f5df, 0xfb }, 270 { 0x80f5e0, 0x00 }, 271 { 0x80f5e3, 0x09 }, 272 { 0x80f5e4, 0x01 }, 273 { 0x80f5e5, 0x01 }, 274 { 0x80f5f8, 0x01 }, 275 { 0x80f5fd, 0x01 }, 276 { 0x80f600, 0x05 }, 277 { 0x80f601, 0x08 }, 278 { 0x80f602, 0x0b }, 279 { 0x80f603, 0x0e }, 280 { 0x80f604, 0x11 }, 281 { 0x80f605, 0x14 }, 282 { 0x80f606, 0x17 }, 283 { 0x80f607, 0x1f }, 284 { 0x80f60e, 0x00 }, 285 { 0x80f60f, 0x04 }, 286 { 0x80f610, 0x32 }, 287 { 0x80f611, 0x10 }, 288 { 0x80f707, 0xfc }, 289 { 0x80f708, 0x00 }, 290 { 0x80f709, 0x37 }, 291 { 0x80f70a, 0x00 }, 292 { 0x80f78b, 0x01 }, 293 { 0x80f80f, 0x40 }, 294 { 0x80f810, 0x54 }, 295 { 0x80f811, 0x5a }, 296 { 0x80f905, 0x01 }, 297 { 0x80fb06, 0x03 }, 298 { 0x80fd8b, 0x00 }, 299 }; 300 301 /* Infineon TUA 9001 tuner init 302 AF9033_TUNER_TUA9001 = 0x27 */ 303 static const struct reg_val tuner_init_tua9001[] = { 304 { 0x800046, 0x27 }, 305 { 0x800057, 0x00 }, 306 { 0x800058, 0x01 }, 307 { 0x80005f, 0x00 }, 308 { 0x800060, 0x00 }, 309 { 0x80006d, 0x00 }, 310 { 0x800071, 0x05 }, 311 { 0x800072, 0x02 }, 312 { 0x800074, 0x01 }, 313 { 0x800075, 0x03 }, 314 { 0x800076, 0x02 }, 315 { 0x800077, 0x00 }, 316 { 0x800078, 0x01 }, 317 { 0x800079, 0x00 }, 318 { 0x80007a, 0x7e }, 319 { 0x80007b, 0x3e }, 320 { 0x800093, 0x00 }, 321 { 0x800094, 0x01 }, 322 { 0x800095, 0x02 }, 323 { 0x800096, 0x01 }, 324 { 0x800098, 0x0a }, 325 { 0x80009b, 0x05 }, 326 { 0x80009c, 0x80 }, 327 { 0x8000b3, 0x00 }, 328 { 0x8000c5, 0x01 }, 329 { 0x8000c6, 0x00 }, 330 { 0x8000c9, 0x5d }, 331 { 0x80f007, 0x00 }, 332 { 0x80f01f, 0x82 }, 333 { 0x80f020, 0x00 }, 334 { 0x80f029, 0x82 }, 335 { 0x80f02a, 0x00 }, 336 { 0x80f047, 0x00 }, 337 { 0x80f054, 0x00 }, 338 { 0x80f055, 0x00 }, 339 { 0x80f077, 0x01 }, 340 { 0x80f1e6, 0x00 }, 341 }; 342 343 /* Fitipower fc0011 tuner init 344 AF9033_TUNER_FC0011 = 0x28 */ 345 static const struct reg_val tuner_init_fc0011[] = { 346 { 0x800046, 0x28 }, 347 { 0x800057, 0x00 }, 348 { 0x800058, 0x01 }, 349 { 0x80005f, 0x00 }, 350 { 0x800060, 0x00 }, 351 { 0x800068, 0xa5 }, 352 { 0x80006e, 0x01 }, 353 { 0x800071, 0x0a }, 354 { 0x800072, 0x02 }, 355 { 0x800074, 0x01 }, 356 { 0x800079, 0x01 }, 357 { 0x800093, 0x00 }, 358 { 0x800094, 0x00 }, 359 { 0x800095, 0x00 }, 360 { 0x800096, 0x00 }, 361 { 0x80009b, 0x2d }, 362 { 0x80009c, 0x60 }, 363 { 0x80009d, 0x23 }, 364 { 0x8000a4, 0x50 }, 365 { 0x8000ad, 0x50 }, 366 { 0x8000b3, 0x01 }, 367 { 0x8000b7, 0x88 }, 368 { 0x8000b8, 0xa6 }, 369 { 0x8000c5, 0x01 }, 370 { 0x8000c6, 0x01 }, 371 { 0x8000c9, 0x69 }, 372 { 0x80f007, 0x00 }, 373 { 0x80f00a, 0x1b }, 374 { 0x80f00b, 0x1b }, 375 { 0x80f00c, 0x1b }, 376 { 0x80f00d, 0x1b }, 377 { 0x80f00e, 0xff }, 378 { 0x80f00f, 0x01 }, 379 { 0x80f010, 0x00 }, 380 { 0x80f011, 0x02 }, 381 { 0x80f012, 0xff }, 382 { 0x80f013, 0x01 }, 383 { 0x80f014, 0x00 }, 384 { 0x80f015, 0x02 }, 385 { 0x80f01b, 0xef }, 386 { 0x80f01c, 0x01 }, 387 { 0x80f01d, 0x0f }, 388 { 0x80f01e, 0x02 }, 389 { 0x80f01f, 0x6e }, 390 { 0x80f020, 0x00 }, 391 { 0x80f025, 0xde }, 392 { 0x80f026, 0x00 }, 393 { 0x80f027, 0x0a }, 394 { 0x80f028, 0x03 }, 395 { 0x80f029, 0x6e }, 396 { 0x80f02a, 0x00 }, 397 { 0x80f047, 0x00 }, 398 { 0x80f054, 0x00 }, 399 { 0x80f055, 0x00 }, 400 { 0x80f077, 0x01 }, 401 { 0x80f1e6, 0x00 }, 402 }; 403 404 /* Fitipower FC0012 tuner init 405 AF9033_TUNER_FC0012 = 0x2e */ 406 static const struct reg_val tuner_init_fc0012[] = { 407 { 0x800046, 0x2e }, 408 { 0x800057, 0x00 }, 409 { 0x800058, 0x01 }, 410 { 0x800059, 0x01 }, 411 { 0x80005f, 0x00 }, 412 { 0x800060, 0x00 }, 413 { 0x80006d, 0x00 }, 414 { 0x800071, 0x05 }, 415 { 0x800072, 0x02 }, 416 { 0x800074, 0x01 }, 417 { 0x800075, 0x03 }, 418 { 0x800076, 0x02 }, 419 { 0x800077, 0x01 }, 420 { 0x800078, 0x00 }, 421 { 0x800079, 0x00 }, 422 { 0x80007a, 0x90 }, 423 { 0x80007b, 0x90 }, 424 { 0x800093, 0x00 }, 425 { 0x800094, 0x01 }, 426 { 0x800095, 0x02 }, 427 { 0x800096, 0x01 }, 428 { 0x800098, 0x0a }, 429 { 0x80009b, 0x05 }, 430 { 0x80009c, 0x80 }, 431 { 0x8000b3, 0x00 }, 432 { 0x8000c5, 0x01 }, 433 { 0x8000c6, 0x00 }, 434 { 0x8000c9, 0x5d }, 435 { 0x80f007, 0x00 }, 436 { 0x80f01f, 0xa0 }, 437 { 0x80f020, 0x00 }, 438 { 0x80f029, 0x82 }, 439 { 0x80f02a, 0x00 }, 440 { 0x80f047, 0x00 }, 441 { 0x80f054, 0x00 }, 442 { 0x80f055, 0x00 }, 443 { 0x80f077, 0x01 }, 444 { 0x80f1e6, 0x00 }, 445 }; 446 447 /* MaxLinear MxL5007T tuner init 448 AF9033_TUNER_MXL5007T = 0xa0 */ 449 static const struct reg_val tuner_init_mxl5007t[] = { 450 { 0x800046, 0x1b }, 451 { 0x800057, 0x01 }, 452 { 0x800058, 0x01 }, 453 { 0x80005f, 0x00 }, 454 { 0x800060, 0x00 }, 455 { 0x800068, 0x96 }, 456 { 0x800071, 0x05 }, 457 { 0x800072, 0x02 }, 458 { 0x800074, 0x01 }, 459 { 0x800079, 0x01 }, 460 { 0x800093, 0x00 }, 461 { 0x800094, 0x00 }, 462 { 0x800095, 0x00 }, 463 { 0x800096, 0x00 }, 464 { 0x8000b3, 0x01 }, 465 { 0x8000c1, 0x01 }, 466 { 0x8000c2, 0x00 }, 467 { 0x80f007, 0x00 }, 468 { 0x80f00c, 0x19 }, 469 { 0x80f00d, 0x1a }, 470 { 0x80f012, 0xda }, 471 { 0x80f013, 0x00 }, 472 { 0x80f014, 0x00 }, 473 { 0x80f015, 0x02 }, 474 { 0x80f01f, 0x82 }, 475 { 0x80f020, 0x00 }, 476 { 0x80f029, 0x82 }, 477 { 0x80f02a, 0x00 }, 478 { 0x80f077, 0x02 }, 479 { 0x80f1e6, 0x00 }, 480 }; 481 482 /* NXP TDA 18218HN tuner init 483 AF9033_TUNER_TDA18218 = 0xa1 */ 484 static const struct reg_val tuner_init_tda18218[] = { 485 {0x800046, 0xa1}, 486 {0x800057, 0x01}, 487 {0x800058, 0x01}, 488 {0x80005f, 0x00}, 489 {0x800060, 0x00}, 490 {0x800071, 0x05}, 491 {0x800072, 0x02}, 492 {0x800074, 0x01}, 493 {0x800079, 0x01}, 494 {0x800093, 0x00}, 495 {0x800094, 0x00}, 496 {0x800095, 0x00}, 497 {0x800096, 0x00}, 498 {0x8000b3, 0x01}, 499 {0x8000c3, 0x01}, 500 {0x8000c4, 0x00}, 501 {0x80f007, 0x00}, 502 {0x80f00c, 0x19}, 503 {0x80f00d, 0x1a}, 504 {0x80f012, 0xda}, 505 {0x80f013, 0x00}, 506 {0x80f014, 0x00}, 507 {0x80f015, 0x02}, 508 {0x80f01f, 0x82}, 509 {0x80f020, 0x00}, 510 {0x80f029, 0x82}, 511 {0x80f02a, 0x00}, 512 {0x80f077, 0x02}, 513 {0x80f1e6, 0x00}, 514 }; 515 516 /* FCI FC2580 tuner init */ 517 static const struct reg_val tuner_init_fc2580[] = { 518 { 0x800046, 0x32 }, 519 { 0x800057, 0x01 }, 520 { 0x800058, 0x00 }, 521 { 0x80005f, 0x00 }, 522 { 0x800060, 0x00 }, 523 { 0x800071, 0x05 }, 524 { 0x800072, 0x02 }, 525 { 0x800074, 0x01 }, 526 { 0x800079, 0x01 }, 527 { 0x800093, 0x00 }, 528 { 0x800094, 0x00 }, 529 { 0x800095, 0x00 }, 530 { 0x800096, 0x05 }, 531 { 0x8000b3, 0x01 }, 532 { 0x8000c5, 0x01 }, 533 { 0x8000c6, 0x00 }, 534 { 0x8000d1, 0x01 }, 535 { 0x80f007, 0x00 }, 536 { 0x80f00c, 0x19 }, 537 { 0x80f00d, 0x1a }, 538 { 0x80f00e, 0x00 }, 539 { 0x80f00f, 0x02 }, 540 { 0x80f010, 0x00 }, 541 { 0x80f011, 0x02 }, 542 { 0x80f012, 0x00 }, 543 { 0x80f013, 0x02 }, 544 { 0x80f014, 0x00 }, 545 { 0x80f015, 0x02 }, 546 { 0x80f01f, 0x96 }, 547 { 0x80f020, 0x00 }, 548 { 0x80f029, 0x96 }, 549 { 0x80f02a, 0x00 }, 550 { 0x80f077, 0x01 }, 551 { 0x80f1e6, 0x01 }, 552 }; 553 554 static const struct reg_val ofsm_init_it9135_v1[] = { 555 { 0x800051, 0x01 }, 556 { 0x800070, 0x0a }, 557 { 0x80007e, 0x04 }, 558 { 0x800081, 0x0a }, 559 { 0x80008a, 0x01 }, 560 { 0x80008e, 0x01 }, 561 { 0x800092, 0x06 }, 562 { 0x800099, 0x01 }, 563 { 0x80009f, 0xe1 }, 564 { 0x8000a0, 0xcf }, 565 { 0x8000a3, 0x01 }, 566 { 0x8000a5, 0x01 }, 567 { 0x8000a6, 0x01 }, 568 { 0x8000a9, 0x00 }, 569 { 0x8000aa, 0x01 }, 570 { 0x8000b0, 0x01 }, 571 { 0x8000c2, 0x05 }, 572 { 0x8000c6, 0x19 }, 573 { 0x80f000, 0x0f }, 574 { 0x80f016, 0x10 }, 575 { 0x80f017, 0x04 }, 576 { 0x80f018, 0x05 }, 577 { 0x80f019, 0x04 }, 578 { 0x80f01a, 0x05 }, 579 { 0x80f021, 0x03 }, 580 { 0x80f022, 0x0a }, 581 { 0x80f023, 0x0a }, 582 { 0x80f02b, 0x00 }, 583 { 0x80f02c, 0x01 }, 584 { 0x80f064, 0x03 }, 585 { 0x80f065, 0xf9 }, 586 { 0x80f066, 0x03 }, 587 { 0x80f067, 0x01 }, 588 { 0x80f06f, 0xe0 }, 589 { 0x80f070, 0x03 }, 590 { 0x80f072, 0x0f }, 591 { 0x80f073, 0x03 }, 592 { 0x80f078, 0x00 }, 593 { 0x80f087, 0x00 }, 594 { 0x80f09b, 0x3f }, 595 { 0x80f09c, 0x00 }, 596 { 0x80f09d, 0x20 }, 597 { 0x80f09e, 0x00 }, 598 { 0x80f09f, 0x0c }, 599 { 0x80f0a0, 0x00 }, 600 { 0x80f130, 0x04 }, 601 { 0x80f132, 0x04 }, 602 { 0x80f144, 0x1a }, 603 { 0x80f146, 0x00 }, 604 { 0x80f14a, 0x01 }, 605 { 0x80f14c, 0x00 }, 606 { 0x80f14d, 0x00 }, 607 { 0x80f14f, 0x04 }, 608 { 0x80f158, 0x7f }, 609 { 0x80f15a, 0x00 }, 610 { 0x80f15b, 0x08 }, 611 { 0x80f15d, 0x03 }, 612 { 0x80f15e, 0x05 }, 613 { 0x80f163, 0x05 }, 614 { 0x80f166, 0x01 }, 615 { 0x80f167, 0x40 }, 616 { 0x80f168, 0x0f }, 617 { 0x80f17a, 0x00 }, 618 { 0x80f17b, 0x00 }, 619 { 0x80f183, 0x01 }, 620 { 0x80f19d, 0x40 }, 621 { 0x80f1bc, 0x36 }, 622 { 0x80f1bd, 0x00 }, 623 { 0x80f1cb, 0xa0 }, 624 { 0x80f1cc, 0x01 }, 625 { 0x80f204, 0x10 }, 626 { 0x80f214, 0x00 }, 627 { 0x80f40e, 0x0a }, 628 { 0x80f40f, 0x40 }, 629 { 0x80f410, 0x08 }, 630 { 0x80f55f, 0x0a }, 631 { 0x80f561, 0x15 }, 632 { 0x80f562, 0x20 }, 633 { 0x80f5df, 0xfb }, 634 { 0x80f5e0, 0x00 }, 635 { 0x80f5e3, 0x09 }, 636 { 0x80f5e4, 0x01 }, 637 { 0x80f5e5, 0x01 }, 638 { 0x80f5f8, 0x01 }, 639 { 0x80f5fd, 0x01 }, 640 { 0x80f600, 0x05 }, 641 { 0x80f601, 0x08 }, 642 { 0x80f602, 0x0b }, 643 { 0x80f603, 0x0e }, 644 { 0x80f604, 0x11 }, 645 { 0x80f605, 0x14 }, 646 { 0x80f606, 0x17 }, 647 { 0x80f607, 0x1f }, 648 { 0x80f60e, 0x00 }, 649 { 0x80f60f, 0x04 }, 650 { 0x80f610, 0x32 }, 651 { 0x80f611, 0x10 }, 652 { 0x80f707, 0xfc }, 653 { 0x80f708, 0x00 }, 654 { 0x80f709, 0x37 }, 655 { 0x80f70a, 0x00 }, 656 { 0x80f78b, 0x01 }, 657 { 0x80f80f, 0x40 }, 658 { 0x80f810, 0x54 }, 659 { 0x80f811, 0x5a }, 660 { 0x80f905, 0x01 }, 661 { 0x80fb06, 0x03 }, 662 { 0x80fd8b, 0x00 }, 663 }; 664 665 /* ITE Tech IT9135 Omega tuner init 666 AF9033_TUNER_IT9135_38 = 0x38 */ 667 static const struct reg_val tuner_init_it9135_38[] = { 668 { 0x800043, 0x00 }, 669 { 0x800046, 0x38 }, 670 { 0x800051, 0x01 }, 671 { 0x80005f, 0x00 }, 672 { 0x800060, 0x00 }, 673 { 0x800068, 0x0a }, 674 { 0x800070, 0x0a }, 675 { 0x800071, 0x05 }, 676 { 0x800072, 0x02 }, 677 { 0x800075, 0x8c }, 678 { 0x800076, 0x8c }, 679 { 0x800077, 0x8c }, 680 { 0x800078, 0xc8 }, 681 { 0x800079, 0x01 }, 682 { 0x80007e, 0x04 }, 683 { 0x80007f, 0x00 }, 684 { 0x800081, 0x0a }, 685 { 0x800082, 0x12 }, 686 { 0x800083, 0x02 }, 687 { 0x800084, 0x0a }, 688 { 0x800085, 0x03 }, 689 { 0x800086, 0xc8 }, 690 { 0x800087, 0xb8 }, 691 { 0x800088, 0xd0 }, 692 { 0x800089, 0xc3 }, 693 { 0x80008a, 0x01 }, 694 { 0x80008e, 0x01 }, 695 { 0x800092, 0x06 }, 696 { 0x800093, 0x00 }, 697 { 0x800094, 0x00 }, 698 { 0x800095, 0x00 }, 699 { 0x800096, 0x00 }, 700 { 0x800099, 0x01 }, 701 { 0x80009b, 0x3c }, 702 { 0x80009c, 0x28 }, 703 { 0x80009f, 0xe1 }, 704 { 0x8000a0, 0xcf }, 705 { 0x8000a3, 0x01 }, 706 { 0x8000a4, 0x5a }, 707 { 0x8000a5, 0x01 }, 708 { 0x8000a6, 0x01 }, 709 { 0x8000a9, 0x00 }, 710 { 0x8000aa, 0x01 }, 711 { 0x8000b0, 0x01 }, 712 { 0x8000b3, 0x02 }, 713 { 0x8000b4, 0x32 }, 714 { 0x8000b6, 0x14 }, 715 { 0x8000c0, 0x11 }, 716 { 0x8000c1, 0x00 }, 717 { 0x8000c2, 0x05 }, 718 { 0x8000c4, 0x00 }, 719 { 0x8000c6, 0x19 }, 720 { 0x8000c7, 0x00 }, 721 { 0x8000cc, 0x2e }, 722 { 0x8000cd, 0x51 }, 723 { 0x8000ce, 0x33 }, 724 { 0x8000f3, 0x05 }, 725 { 0x8000f4, 0x8c }, 726 { 0x8000f5, 0x8c }, 727 { 0x8000f8, 0x03 }, 728 { 0x8000f9, 0x06 }, 729 { 0x8000fa, 0x06 }, 730 { 0x8000fc, 0x02 }, 731 { 0x8000fd, 0x02 }, 732 { 0x8000fe, 0x02 }, 733 { 0x8000ff, 0x09 }, 734 { 0x800100, 0x50 }, 735 { 0x800101, 0x7b }, 736 { 0x800102, 0x77 }, 737 { 0x800103, 0x00 }, 738 { 0x800104, 0x02 }, 739 { 0x800105, 0xc8 }, 740 { 0x800106, 0x05 }, 741 { 0x800107, 0x7b }, 742 { 0x800109, 0x02 }, 743 { 0x800115, 0x0a }, 744 { 0x800116, 0x03 }, 745 { 0x800117, 0x02 }, 746 { 0x800118, 0x80 }, 747 { 0x80011a, 0xc8 }, 748 { 0x80011b, 0x7b }, 749 { 0x80011c, 0x8a }, 750 { 0x80011d, 0xa0 }, 751 { 0x800122, 0x02 }, 752 { 0x800123, 0x18 }, 753 { 0x800124, 0xc3 }, 754 { 0x800127, 0x00 }, 755 { 0x800128, 0x07 }, 756 { 0x80012a, 0x53 }, 757 { 0x80012b, 0x51 }, 758 { 0x80012c, 0x4e }, 759 { 0x80012d, 0x43 }, 760 { 0x800137, 0x01 }, 761 { 0x800138, 0x00 }, 762 { 0x800139, 0x07 }, 763 { 0x80013a, 0x00 }, 764 { 0x80013b, 0x06 }, 765 { 0x80013d, 0x00 }, 766 { 0x80013e, 0x01 }, 767 { 0x80013f, 0x5b }, 768 { 0x800140, 0xc8 }, 769 { 0x800141, 0x59 }, 770 { 0x80f000, 0x0f }, 771 { 0x80f016, 0x10 }, 772 { 0x80f017, 0x04 }, 773 { 0x80f018, 0x05 }, 774 { 0x80f019, 0x04 }, 775 { 0x80f01a, 0x05 }, 776 { 0x80f01f, 0x8c }, 777 { 0x80f020, 0x00 }, 778 { 0x80f021, 0x03 }, 779 { 0x80f022, 0x0a }, 780 { 0x80f023, 0x0a }, 781 { 0x80f029, 0x8c }, 782 { 0x80f02a, 0x00 }, 783 { 0x80f02b, 0x00 }, 784 { 0x80f02c, 0x01 }, 785 { 0x80f064, 0x03 }, 786 { 0x80f065, 0xf9 }, 787 { 0x80f066, 0x03 }, 788 { 0x80f067, 0x01 }, 789 { 0x80f06f, 0xe0 }, 790 { 0x80f070, 0x03 }, 791 { 0x80f072, 0x0f }, 792 { 0x80f073, 0x03 }, 793 { 0x80f077, 0x01 }, 794 { 0x80f078, 0x00 }, 795 { 0x80f085, 0x00 }, 796 { 0x80f086, 0x02 }, 797 { 0x80f087, 0x00 }, 798 { 0x80f09b, 0x3f }, 799 { 0x80f09c, 0x00 }, 800 { 0x80f09d, 0x20 }, 801 { 0x80f09e, 0x00 }, 802 { 0x80f09f, 0x0c }, 803 { 0x80f0a0, 0x00 }, 804 { 0x80f130, 0x04 }, 805 { 0x80f132, 0x04 }, 806 { 0x80f144, 0x1a }, 807 { 0x80f146, 0x00 }, 808 { 0x80f14a, 0x01 }, 809 { 0x80f14c, 0x00 }, 810 { 0x80f14d, 0x00 }, 811 { 0x80f14f, 0x04 }, 812 { 0x80f158, 0x7f }, 813 { 0x80f15a, 0x00 }, 814 { 0x80f15b, 0x08 }, 815 { 0x80f15d, 0x03 }, 816 { 0x80f15e, 0x05 }, 817 { 0x80f163, 0x05 }, 818 { 0x80f166, 0x01 }, 819 { 0x80f167, 0x40 }, 820 { 0x80f168, 0x0f }, 821 { 0x80f17a, 0x00 }, 822 { 0x80f17b, 0x00 }, 823 { 0x80f183, 0x01 }, 824 { 0x80f19d, 0x40 }, 825 { 0x80f1bc, 0x36 }, 826 { 0x80f1bd, 0x00 }, 827 { 0x80f1cb, 0xa0 }, 828 { 0x80f1cc, 0x01 }, 829 { 0x80f204, 0x10 }, 830 { 0x80f214, 0x00 }, 831 { 0x80f24c, 0x88 }, 832 { 0x80f24d, 0x95 }, 833 { 0x80f24e, 0x9a }, 834 { 0x80f24f, 0x90 }, 835 { 0x80f25a, 0x07 }, 836 { 0x80f25b, 0xe8 }, 837 { 0x80f25c, 0x03 }, 838 { 0x80f25d, 0xb0 }, 839 { 0x80f25e, 0x04 }, 840 { 0x80f270, 0x01 }, 841 { 0x80f271, 0x02 }, 842 { 0x80f272, 0x01 }, 843 { 0x80f273, 0x02 }, 844 { 0x80f40e, 0x0a }, 845 { 0x80f40f, 0x40 }, 846 { 0x80f410, 0x08 }, 847 { 0x80f55f, 0x0a }, 848 { 0x80f561, 0x15 }, 849 { 0x80f562, 0x20 }, 850 { 0x80f5df, 0xfb }, 851 { 0x80f5e0, 0x00 }, 852 { 0x80f5e3, 0x09 }, 853 { 0x80f5e4, 0x01 }, 854 { 0x80f5e5, 0x01 }, 855 { 0x80f5f8, 0x01 }, 856 { 0x80f5fd, 0x01 }, 857 { 0x80f600, 0x05 }, 858 { 0x80f601, 0x08 }, 859 { 0x80f602, 0x0b }, 860 { 0x80f603, 0x0e }, 861 { 0x80f604, 0x11 }, 862 { 0x80f605, 0x14 }, 863 { 0x80f606, 0x17 }, 864 { 0x80f607, 0x1f }, 865 { 0x80f60e, 0x00 }, 866 { 0x80f60f, 0x04 }, 867 { 0x80f610, 0x32 }, 868 { 0x80f611, 0x10 }, 869 { 0x80f707, 0xfc }, 870 { 0x80f708, 0x00 }, 871 { 0x80f709, 0x37 }, 872 { 0x80f70a, 0x00 }, 873 { 0x80f78b, 0x01 }, 874 { 0x80f80f, 0x40 }, 875 { 0x80f810, 0x54 }, 876 { 0x80f811, 0x5a }, 877 { 0x80f905, 0x01 }, 878 { 0x80fb06, 0x03 }, 879 { 0x80fd8b, 0x00 }, 880 }; 881 882 /* ITE Tech IT9135 Omega LNA config 1 tuner init 883 AF9033_TUNER_IT9135_51 = 0x51 */ 884 static const struct reg_val tuner_init_it9135_51[] = { 885 { 0x800043, 0x00 }, 886 { 0x800046, 0x51 }, 887 { 0x800051, 0x01 }, 888 { 0x80005f, 0x00 }, 889 { 0x800060, 0x00 }, 890 { 0x800068, 0x0a }, 891 { 0x800070, 0x0a }, 892 { 0x800071, 0x06 }, 893 { 0x800072, 0x02 }, 894 { 0x800075, 0x8c }, 895 { 0x800076, 0x8c }, 896 { 0x800077, 0x8c }, 897 { 0x800078, 0xc8 }, 898 { 0x800079, 0x01 }, 899 { 0x80007e, 0x04 }, 900 { 0x80007f, 0x00 }, 901 { 0x800081, 0x0a }, 902 { 0x800082, 0x12 }, 903 { 0x800083, 0x02 }, 904 { 0x800084, 0x0a }, 905 { 0x800085, 0x03 }, 906 { 0x800086, 0xc0 }, 907 { 0x800087, 0x96 }, 908 { 0x800088, 0xcf }, 909 { 0x800089, 0xc3 }, 910 { 0x80008a, 0x01 }, 911 { 0x80008e, 0x01 }, 912 { 0x800092, 0x06 }, 913 { 0x800093, 0x00 }, 914 { 0x800094, 0x00 }, 915 { 0x800095, 0x00 }, 916 { 0x800096, 0x00 }, 917 { 0x800099, 0x01 }, 918 { 0x80009b, 0x3c }, 919 { 0x80009c, 0x28 }, 920 { 0x80009f, 0xe1 }, 921 { 0x8000a0, 0xcf }, 922 { 0x8000a3, 0x01 }, 923 { 0x8000a4, 0x5a }, 924 { 0x8000a5, 0x01 }, 925 { 0x8000a6, 0x01 }, 926 { 0x8000a9, 0x00 }, 927 { 0x8000aa, 0x01 }, 928 { 0x8000b0, 0x01 }, 929 { 0x8000b3, 0x02 }, 930 { 0x8000b4, 0x3c }, 931 { 0x8000b6, 0x14 }, 932 { 0x8000c0, 0x11 }, 933 { 0x8000c1, 0x00 }, 934 { 0x8000c2, 0x05 }, 935 { 0x8000c4, 0x00 }, 936 { 0x8000c6, 0x19 }, 937 { 0x8000c7, 0x00 }, 938 { 0x8000cc, 0x2e }, 939 { 0x8000cd, 0x51 }, 940 { 0x8000ce, 0x33 }, 941 { 0x8000f3, 0x05 }, 942 { 0x8000f4, 0x8c }, 943 { 0x8000f5, 0x8c }, 944 { 0x8000f8, 0x03 }, 945 { 0x8000f9, 0x06 }, 946 { 0x8000fa, 0x06 }, 947 { 0x8000fc, 0x03 }, 948 { 0x8000fd, 0x02 }, 949 { 0x8000fe, 0x02 }, 950 { 0x8000ff, 0x09 }, 951 { 0x800100, 0x50 }, 952 { 0x800101, 0x7a }, 953 { 0x800102, 0x77 }, 954 { 0x800103, 0x01 }, 955 { 0x800104, 0x02 }, 956 { 0x800105, 0xb0 }, 957 { 0x800106, 0x02 }, 958 { 0x800107, 0x7a }, 959 { 0x800109, 0x02 }, 960 { 0x800115, 0x0a }, 961 { 0x800116, 0x03 }, 962 { 0x800117, 0x02 }, 963 { 0x800118, 0x80 }, 964 { 0x80011a, 0xc0 }, 965 { 0x80011b, 0x7a }, 966 { 0x80011c, 0xac }, 967 { 0x80011d, 0x8c }, 968 { 0x800122, 0x02 }, 969 { 0x800123, 0x70 }, 970 { 0x800124, 0xa4 }, 971 { 0x800127, 0x00 }, 972 { 0x800128, 0x07 }, 973 { 0x80012a, 0x53 }, 974 { 0x80012b, 0x51 }, 975 { 0x80012c, 0x4e }, 976 { 0x80012d, 0x43 }, 977 { 0x800137, 0x01 }, 978 { 0x800138, 0x00 }, 979 { 0x800139, 0x07 }, 980 { 0x80013a, 0x00 }, 981 { 0x80013b, 0x06 }, 982 { 0x80013d, 0x00 }, 983 { 0x80013e, 0x01 }, 984 { 0x80013f, 0x5b }, 985 { 0x800140, 0xc0 }, 986 { 0x800141, 0x59 }, 987 { 0x80f000, 0x0f }, 988 { 0x80f016, 0x10 }, 989 { 0x80f017, 0x04 }, 990 { 0x80f018, 0x05 }, 991 { 0x80f019, 0x04 }, 992 { 0x80f01a, 0x05 }, 993 { 0x80f01f, 0x8c }, 994 { 0x80f020, 0x00 }, 995 { 0x80f021, 0x03 }, 996 { 0x80f022, 0x0a }, 997 { 0x80f023, 0x0a }, 998 { 0x80f029, 0x8c }, 999 { 0x80f02a, 0x00 }, 1000 { 0x80f02b, 0x00 }, 1001 { 0x80f02c, 0x01 }, 1002 { 0x80f064, 0x03 }, 1003 { 0x80f065, 0xf9 }, 1004 { 0x80f066, 0x03 }, 1005 { 0x80f067, 0x01 }, 1006 { 0x80f06f, 0xe0 }, 1007 { 0x80f070, 0x03 }, 1008 { 0x80f072, 0x0f }, 1009 { 0x80f073, 0x03 }, 1010 { 0x80f077, 0x01 }, 1011 { 0x80f078, 0x00 }, 1012 { 0x80f085, 0xc0 }, 1013 { 0x80f086, 0x01 }, 1014 { 0x80f087, 0x00 }, 1015 { 0x80f09b, 0x3f }, 1016 { 0x80f09c, 0x00 }, 1017 { 0x80f09d, 0x20 }, 1018 { 0x80f09e, 0x00 }, 1019 { 0x80f09f, 0x0c }, 1020 { 0x80f0a0, 0x00 }, 1021 { 0x80f130, 0x04 }, 1022 { 0x80f132, 0x04 }, 1023 { 0x80f144, 0x1a }, 1024 { 0x80f146, 0x00 }, 1025 { 0x80f14a, 0x01 }, 1026 { 0x80f14c, 0x00 }, 1027 { 0x80f14d, 0x00 }, 1028 { 0x80f14f, 0x04 }, 1029 { 0x80f158, 0x7f }, 1030 { 0x80f15a, 0x00 }, 1031 { 0x80f15b, 0x08 }, 1032 { 0x80f15d, 0x03 }, 1033 { 0x80f15e, 0x05 }, 1034 { 0x80f163, 0x05 }, 1035 { 0x80f166, 0x01 }, 1036 { 0x80f167, 0x40 }, 1037 { 0x80f168, 0x0f }, 1038 { 0x80f17a, 0x00 }, 1039 { 0x80f17b, 0x00 }, 1040 { 0x80f183, 0x01 }, 1041 { 0x80f19d, 0x40 }, 1042 { 0x80f1bc, 0x36 }, 1043 { 0x80f1bd, 0x00 }, 1044 { 0x80f1cb, 0xa0 }, 1045 { 0x80f1cc, 0x01 }, 1046 { 0x80f204, 0x10 }, 1047 { 0x80f214, 0x00 }, 1048 { 0x80f24c, 0x88 }, 1049 { 0x80f24d, 0x95 }, 1050 { 0x80f24e, 0x9a }, 1051 { 0x80f24f, 0x90 }, 1052 { 0x80f25a, 0x07 }, 1053 { 0x80f25b, 0xe8 }, 1054 { 0x80f25c, 0x03 }, 1055 { 0x80f25d, 0xb0 }, 1056 { 0x80f25e, 0x04 }, 1057 { 0x80f270, 0x01 }, 1058 { 0x80f271, 0x02 }, 1059 { 0x80f272, 0x01 }, 1060 { 0x80f273, 0x02 }, 1061 { 0x80f40e, 0x0a }, 1062 { 0x80f40f, 0x40 }, 1063 { 0x80f410, 0x08 }, 1064 { 0x80f55f, 0x0a }, 1065 { 0x80f561, 0x15 }, 1066 { 0x80f562, 0x20 }, 1067 { 0x80f5df, 0xfb }, 1068 { 0x80f5e0, 0x00 }, 1069 { 0x80f5e3, 0x09 }, 1070 { 0x80f5e4, 0x01 }, 1071 { 0x80f5e5, 0x01 }, 1072 { 0x80f5f8, 0x01 }, 1073 { 0x80f5fd, 0x01 }, 1074 { 0x80f600, 0x05 }, 1075 { 0x80f601, 0x08 }, 1076 { 0x80f602, 0x0b }, 1077 { 0x80f603, 0x0e }, 1078 { 0x80f604, 0x11 }, 1079 { 0x80f605, 0x14 }, 1080 { 0x80f606, 0x17 }, 1081 { 0x80f607, 0x1f }, 1082 { 0x80f60e, 0x00 }, 1083 { 0x80f60f, 0x04 }, 1084 { 0x80f610, 0x32 }, 1085 { 0x80f611, 0x10 }, 1086 { 0x80f707, 0xfc }, 1087 { 0x80f708, 0x00 }, 1088 { 0x80f709, 0x37 }, 1089 { 0x80f70a, 0x00 }, 1090 { 0x80f78b, 0x01 }, 1091 { 0x80f80f, 0x40 }, 1092 { 0x80f810, 0x54 }, 1093 { 0x80f811, 0x5a }, 1094 { 0x80f905, 0x01 }, 1095 { 0x80fb06, 0x03 }, 1096 { 0x80fd8b, 0x00 }, 1097 }; 1098 1099 /* ITE Tech IT9135 Omega LNA config 2 tuner init 1100 AF9033_TUNER_IT9135_52 = 0x52 */ 1101 static const struct reg_val tuner_init_it9135_52[] = { 1102 { 0x800043, 0x00 }, 1103 { 0x800046, 0x52 }, 1104 { 0x800051, 0x01 }, 1105 { 0x80005f, 0x00 }, 1106 { 0x800060, 0x00 }, 1107 { 0x800068, 0x10 }, 1108 { 0x800070, 0x0a }, 1109 { 0x800071, 0x05 }, 1110 { 0x800072, 0x02 }, 1111 { 0x800075, 0x8c }, 1112 { 0x800076, 0x8c }, 1113 { 0x800077, 0x8c }, 1114 { 0x800078, 0xa0 }, 1115 { 0x800079, 0x01 }, 1116 { 0x80007e, 0x04 }, 1117 { 0x80007f, 0x00 }, 1118 { 0x800081, 0x0a }, 1119 { 0x800082, 0x17 }, 1120 { 0x800083, 0x03 }, 1121 { 0x800084, 0x0a }, 1122 { 0x800085, 0x03 }, 1123 { 0x800086, 0xb3 }, 1124 { 0x800087, 0x97 }, 1125 { 0x800088, 0xc0 }, 1126 { 0x800089, 0x9e }, 1127 { 0x80008a, 0x01 }, 1128 { 0x80008e, 0x01 }, 1129 { 0x800092, 0x06 }, 1130 { 0x800093, 0x00 }, 1131 { 0x800094, 0x00 }, 1132 { 0x800095, 0x00 }, 1133 { 0x800096, 0x00 }, 1134 { 0x800099, 0x01 }, 1135 { 0x80009b, 0x3c }, 1136 { 0x80009c, 0x28 }, 1137 { 0x80009f, 0xe1 }, 1138 { 0x8000a0, 0xcf }, 1139 { 0x8000a3, 0x01 }, 1140 { 0x8000a4, 0x5c }, 1141 { 0x8000a5, 0x01 }, 1142 { 0x8000a6, 0x01 }, 1143 { 0x8000a9, 0x00 }, 1144 { 0x8000aa, 0x01 }, 1145 { 0x8000b0, 0x01 }, 1146 { 0x8000b3, 0x02 }, 1147 { 0x8000b4, 0x3c }, 1148 { 0x8000b6, 0x14 }, 1149 { 0x8000c0, 0x11 }, 1150 { 0x8000c1, 0x00 }, 1151 { 0x8000c2, 0x05 }, 1152 { 0x8000c4, 0x00 }, 1153 { 0x8000c6, 0x19 }, 1154 { 0x8000c7, 0x00 }, 1155 { 0x8000cc, 0x2e }, 1156 { 0x8000cd, 0x51 }, 1157 { 0x8000ce, 0x33 }, 1158 { 0x8000f3, 0x05 }, 1159 { 0x8000f4, 0x91 }, 1160 { 0x8000f5, 0x8c }, 1161 { 0x8000f8, 0x03 }, 1162 { 0x8000f9, 0x06 }, 1163 { 0x8000fa, 0x06 }, 1164 { 0x8000fc, 0x03 }, 1165 { 0x8000fd, 0x02 }, 1166 { 0x8000fe, 0x02 }, 1167 { 0x8000ff, 0x09 }, 1168 { 0x800100, 0x50 }, 1169 { 0x800101, 0x74 }, 1170 { 0x800102, 0x77 }, 1171 { 0x800103, 0x02 }, 1172 { 0x800104, 0x02 }, 1173 { 0x800105, 0xa4 }, 1174 { 0x800106, 0x02 }, 1175 { 0x800107, 0x6e }, 1176 { 0x800109, 0x02 }, 1177 { 0x800115, 0x0a }, 1178 { 0x800116, 0x03 }, 1179 { 0x800117, 0x02 }, 1180 { 0x800118, 0x80 }, 1181 { 0x80011a, 0xcd }, 1182 { 0x80011b, 0x62 }, 1183 { 0x80011c, 0xa4 }, 1184 { 0x80011d, 0x8c }, 1185 { 0x800122, 0x03 }, 1186 { 0x800123, 0x18 }, 1187 { 0x800124, 0x9e }, 1188 { 0x800127, 0x00 }, 1189 { 0x800128, 0x07 }, 1190 { 0x80012a, 0x53 }, 1191 { 0x80012b, 0x51 }, 1192 { 0x80012c, 0x4e }, 1193 { 0x80012d, 0x43 }, 1194 { 0x800137, 0x00 }, 1195 { 0x800138, 0x00 }, 1196 { 0x800139, 0x07 }, 1197 { 0x80013a, 0x00 }, 1198 { 0x80013b, 0x06 }, 1199 { 0x80013d, 0x00 }, 1200 { 0x80013e, 0x01 }, 1201 { 0x80013f, 0x5b }, 1202 { 0x800140, 0xb6 }, 1203 { 0x800141, 0x59 }, 1204 { 0x80f000, 0x0f }, 1205 { 0x80f016, 0x10 }, 1206 { 0x80f017, 0x04 }, 1207 { 0x80f018, 0x05 }, 1208 { 0x80f019, 0x04 }, 1209 { 0x80f01a, 0x05 }, 1210 { 0x80f01f, 0x8c }, 1211 { 0x80f020, 0x00 }, 1212 { 0x80f021, 0x03 }, 1213 { 0x80f022, 0x0a }, 1214 { 0x80f023, 0x0a }, 1215 { 0x80f029, 0x8c }, 1216 { 0x80f02a, 0x00 }, 1217 { 0x80f02b, 0x00 }, 1218 { 0x80f02c, 0x01 }, 1219 { 0x80f064, 0x03 }, 1220 { 0x80f065, 0xf9 }, 1221 { 0x80f066, 0x03 }, 1222 { 0x80f067, 0x01 }, 1223 { 0x80f06f, 0xe0 }, 1224 { 0x80f070, 0x03 }, 1225 { 0x80f072, 0x0f }, 1226 { 0x80f073, 0x03 }, 1227 { 0x80f077, 0x01 }, 1228 { 0x80f078, 0x00 }, 1229 { 0x80f085, 0xc0 }, 1230 { 0x80f086, 0x01 }, 1231 { 0x80f087, 0x00 }, 1232 { 0x80f09b, 0x3f }, 1233 { 0x80f09c, 0x00 }, 1234 { 0x80f09d, 0x20 }, 1235 { 0x80f09e, 0x00 }, 1236 { 0x80f09f, 0x0c }, 1237 { 0x80f0a0, 0x00 }, 1238 { 0x80f130, 0x04 }, 1239 { 0x80f132, 0x04 }, 1240 { 0x80f144, 0x1a }, 1241 { 0x80f146, 0x00 }, 1242 { 0x80f14a, 0x01 }, 1243 { 0x80f14c, 0x00 }, 1244 { 0x80f14d, 0x00 }, 1245 { 0x80f14f, 0x04 }, 1246 { 0x80f158, 0x7f }, 1247 { 0x80f15a, 0x00 }, 1248 { 0x80f15b, 0x08 }, 1249 { 0x80f15d, 0x03 }, 1250 { 0x80f15e, 0x05 }, 1251 { 0x80f163, 0x05 }, 1252 { 0x80f166, 0x01 }, 1253 { 0x80f167, 0x40 }, 1254 { 0x80f168, 0x0f }, 1255 { 0x80f17a, 0x00 }, 1256 { 0x80f17b, 0x00 }, 1257 { 0x80f183, 0x01 }, 1258 { 0x80f19d, 0x40 }, 1259 { 0x80f1bc, 0x36 }, 1260 { 0x80f1bd, 0x00 }, 1261 { 0x80f1cb, 0xa0 }, 1262 { 0x80f1cc, 0x01 }, 1263 { 0x80f204, 0x10 }, 1264 { 0x80f214, 0x00 }, 1265 { 0x80f24c, 0x88 }, 1266 { 0x80f24d, 0x95 }, 1267 { 0x80f24e, 0x9a }, 1268 { 0x80f24f, 0x90 }, 1269 { 0x80f25a, 0x07 }, 1270 { 0x80f25b, 0xe8 }, 1271 { 0x80f25c, 0x03 }, 1272 { 0x80f25d, 0xb0 }, 1273 { 0x80f25e, 0x04 }, 1274 { 0x80f270, 0x01 }, 1275 { 0x80f271, 0x02 }, 1276 { 0x80f272, 0x01 }, 1277 { 0x80f273, 0x02 }, 1278 { 0x80f40e, 0x0a }, 1279 { 0x80f40f, 0x40 }, 1280 { 0x80f410, 0x08 }, 1281 { 0x80f55f, 0x0a }, 1282 { 0x80f561, 0x15 }, 1283 { 0x80f562, 0x20 }, 1284 { 0x80f5df, 0xfb }, 1285 { 0x80f5e0, 0x00 }, 1286 { 0x80f5e3, 0x09 }, 1287 { 0x80f5e4, 0x01 }, 1288 { 0x80f5e5, 0x01 }, 1289 { 0x80f5f8, 0x01 }, 1290 { 0x80f5fd, 0x01 }, 1291 { 0x80f600, 0x05 }, 1292 { 0x80f601, 0x08 }, 1293 { 0x80f602, 0x0b }, 1294 { 0x80f603, 0x0e }, 1295 { 0x80f604, 0x11 }, 1296 { 0x80f605, 0x14 }, 1297 { 0x80f606, 0x17 }, 1298 { 0x80f607, 0x1f }, 1299 { 0x80f60e, 0x00 }, 1300 { 0x80f60f, 0x04 }, 1301 { 0x80f610, 0x32 }, 1302 { 0x80f611, 0x10 }, 1303 { 0x80f707, 0xfc }, 1304 { 0x80f708, 0x00 }, 1305 { 0x80f709, 0x37 }, 1306 { 0x80f70a, 0x00 }, 1307 { 0x80f78b, 0x01 }, 1308 { 0x80f80f, 0x40 }, 1309 { 0x80f810, 0x54 }, 1310 { 0x80f811, 0x5a }, 1311 { 0x80f905, 0x01 }, 1312 { 0x80fb06, 0x03 }, 1313 { 0x80fd8b, 0x00 }, 1314 }; 1315 1316 static const struct reg_val ofsm_init_it9135_v2[] = { 1317 { 0x800051, 0x01 }, 1318 { 0x800070, 0x0a }, 1319 { 0x80007e, 0x04 }, 1320 { 0x800081, 0x0a }, 1321 { 0x80008a, 0x01 }, 1322 { 0x80008e, 0x01 }, 1323 { 0x800092, 0x06 }, 1324 { 0x800099, 0x01 }, 1325 { 0x80009f, 0xe1 }, 1326 { 0x8000a0, 0xcf }, 1327 { 0x8000a3, 0x01 }, 1328 { 0x8000a5, 0x01 }, 1329 { 0x8000a6, 0x01 }, 1330 { 0x8000a9, 0x00 }, 1331 { 0x8000aa, 0x01 }, 1332 { 0x8000b0, 0x01 }, 1333 { 0x8000c2, 0x05 }, 1334 { 0x8000c6, 0x19 }, 1335 { 0x80f000, 0x0f }, 1336 { 0x80f02b, 0x00 }, 1337 { 0x80f064, 0x03 }, 1338 { 0x80f065, 0xf9 }, 1339 { 0x80f066, 0x03 }, 1340 { 0x80f067, 0x01 }, 1341 { 0x80f06f, 0xe0 }, 1342 { 0x80f070, 0x03 }, 1343 { 0x80f072, 0x0f }, 1344 { 0x80f073, 0x03 }, 1345 { 0x80f078, 0x00 }, 1346 { 0x80f087, 0x00 }, 1347 { 0x80f09b, 0x3f }, 1348 { 0x80f09c, 0x00 }, 1349 { 0x80f09d, 0x20 }, 1350 { 0x80f09e, 0x00 }, 1351 { 0x80f09f, 0x0c }, 1352 { 0x80f0a0, 0x00 }, 1353 { 0x80f130, 0x04 }, 1354 { 0x80f132, 0x04 }, 1355 { 0x80f144, 0x1a }, 1356 { 0x80f146, 0x00 }, 1357 { 0x80f14a, 0x01 }, 1358 { 0x80f14c, 0x00 }, 1359 { 0x80f14d, 0x00 }, 1360 { 0x80f14f, 0x04 }, 1361 { 0x80f158, 0x7f }, 1362 { 0x80f15a, 0x00 }, 1363 { 0x80f15b, 0x08 }, 1364 { 0x80f15d, 0x03 }, 1365 { 0x80f15e, 0x05 }, 1366 { 0x80f163, 0x05 }, 1367 { 0x80f166, 0x01 }, 1368 { 0x80f167, 0x40 }, 1369 { 0x80f168, 0x0f }, 1370 { 0x80f17a, 0x00 }, 1371 { 0x80f17b, 0x00 }, 1372 { 0x80f183, 0x01 }, 1373 { 0x80f19d, 0x40 }, 1374 { 0x80f1bc, 0x36 }, 1375 { 0x80f1bd, 0x00 }, 1376 { 0x80f1cb, 0xa0 }, 1377 { 0x80f1cc, 0x01 }, 1378 { 0x80f204, 0x10 }, 1379 { 0x80f214, 0x00 }, 1380 { 0x80f40e, 0x0a }, 1381 { 0x80f40f, 0x40 }, 1382 { 0x80f410, 0x08 }, 1383 { 0x80f55f, 0x0a }, 1384 { 0x80f561, 0x15 }, 1385 { 0x80f562, 0x20 }, 1386 { 0x80f5e3, 0x09 }, 1387 { 0x80f5e4, 0x01 }, 1388 { 0x80f5e5, 0x01 }, 1389 { 0x80f600, 0x05 }, 1390 { 0x80f601, 0x08 }, 1391 { 0x80f602, 0x0b }, 1392 { 0x80f603, 0x0e }, 1393 { 0x80f604, 0x11 }, 1394 { 0x80f605, 0x14 }, 1395 { 0x80f606, 0x17 }, 1396 { 0x80f607, 0x1f }, 1397 { 0x80f60e, 0x00 }, 1398 { 0x80f60f, 0x04 }, 1399 { 0x80f610, 0x32 }, 1400 { 0x80f611, 0x10 }, 1401 { 0x80f707, 0xfc }, 1402 { 0x80f708, 0x00 }, 1403 { 0x80f709, 0x37 }, 1404 { 0x80f70a, 0x00 }, 1405 { 0x80f78b, 0x01 }, 1406 { 0x80f80f, 0x40 }, 1407 { 0x80f810, 0x54 }, 1408 { 0x80f811, 0x5a }, 1409 { 0x80f905, 0x01 }, 1410 { 0x80fb06, 0x03 }, 1411 { 0x80fd8b, 0x00 }, 1412 }; 1413 1414 /* ITE Tech IT9135 Omega v2 tuner init 1415 AF9033_TUNER_IT9135_60 = 0x60 */ 1416 static const struct reg_val tuner_init_it9135_60[] = { 1417 { 0x800043, 0x00 }, 1418 { 0x800046, 0x60 }, 1419 { 0x800051, 0x01 }, 1420 { 0x80005f, 0x00 }, 1421 { 0x800060, 0x00 }, 1422 { 0x800068, 0x0a }, 1423 { 0x80006a, 0x03 }, 1424 { 0x800070, 0x0a }, 1425 { 0x800071, 0x0a }, 1426 { 0x800072, 0x02 }, 1427 { 0x800075, 0x8c }, 1428 { 0x800076, 0x8c }, 1429 { 0x800077, 0x8c }, 1430 { 0x800078, 0x8c }, 1431 { 0x800079, 0x01 }, 1432 { 0x80007e, 0x04 }, 1433 { 0x800081, 0x0a }, 1434 { 0x800082, 0x18 }, 1435 { 0x800084, 0x0a }, 1436 { 0x800085, 0x33 }, 1437 { 0x800086, 0xbe }, 1438 { 0x800087, 0xa0 }, 1439 { 0x800088, 0xc6 }, 1440 { 0x800089, 0xb6 }, 1441 { 0x80008a, 0x01 }, 1442 { 0x80008e, 0x01 }, 1443 { 0x800092, 0x06 }, 1444 { 0x800093, 0x00 }, 1445 { 0x800094, 0x00 }, 1446 { 0x800095, 0x00 }, 1447 { 0x800096, 0x00 }, 1448 { 0x800099, 0x01 }, 1449 { 0x80009b, 0x3c }, 1450 { 0x80009c, 0x28 }, 1451 { 0x80009f, 0xe1 }, 1452 { 0x8000a0, 0xcf }, 1453 { 0x8000a3, 0x01 }, 1454 { 0x8000a4, 0x5a }, 1455 { 0x8000a5, 0x01 }, 1456 { 0x8000a6, 0x01 }, 1457 { 0x8000a9, 0x00 }, 1458 { 0x8000aa, 0x01 }, 1459 { 0x8000b0, 0x01 }, 1460 { 0x8000b3, 0x02 }, 1461 { 0x8000b4, 0x3a }, 1462 { 0x8000b6, 0x14 }, 1463 { 0x8000c0, 0x11 }, 1464 { 0x8000c1, 0x00 }, 1465 { 0x8000c2, 0x05 }, 1466 { 0x8000c3, 0x01 }, 1467 { 0x8000c4, 0x00 }, 1468 { 0x8000c6, 0x19 }, 1469 { 0x8000c7, 0x00 }, 1470 { 0x8000cb, 0x32 }, 1471 { 0x8000cc, 0x2c }, 1472 { 0x8000cd, 0x4f }, 1473 { 0x8000ce, 0x30 }, 1474 { 0x8000f3, 0x05 }, 1475 { 0x8000f4, 0xa0 }, 1476 { 0x8000f5, 0x8c }, 1477 { 0x8000f8, 0x03 }, 1478 { 0x8000f9, 0x06 }, 1479 { 0x8000fa, 0x06 }, 1480 { 0x8000fc, 0x03 }, 1481 { 0x8000fd, 0x03 }, 1482 { 0x8000fe, 0x02 }, 1483 { 0x8000ff, 0x0a }, 1484 { 0x800100, 0x50 }, 1485 { 0x800101, 0x7b }, 1486 { 0x800102, 0x8c }, 1487 { 0x800103, 0x00 }, 1488 { 0x800104, 0x02 }, 1489 { 0x800105, 0xbe }, 1490 { 0x800106, 0x00 }, 1491 { 0x800115, 0x0a }, 1492 { 0x800116, 0x03 }, 1493 { 0x80011a, 0xbe }, 1494 { 0x800124, 0xae }, 1495 { 0x800127, 0x00 }, 1496 { 0x80012a, 0x56 }, 1497 { 0x80012b, 0x50 }, 1498 { 0x80012c, 0x47 }, 1499 { 0x80012d, 0x42 }, 1500 { 0x800137, 0x00 }, 1501 { 0x80013b, 0x08 }, 1502 { 0x80013f, 0x5b }, 1503 { 0x800141, 0x59 }, 1504 { 0x800142, 0xf9 }, 1505 { 0x800143, 0x19 }, 1506 { 0x800144, 0x00 }, 1507 { 0x800145, 0x8c }, 1508 { 0x800146, 0x8c }, 1509 { 0x800147, 0x8c }, 1510 { 0x800148, 0x6e }, 1511 { 0x800149, 0x8c }, 1512 { 0x80014a, 0x50 }, 1513 { 0x80014b, 0x8c }, 1514 { 0x80014d, 0xac }, 1515 { 0x80014e, 0xc6 }, 1516 { 0x800151, 0x1e }, 1517 { 0x800153, 0xbc }, 1518 { 0x800178, 0x09 }, 1519 { 0x800181, 0x94 }, 1520 { 0x800182, 0x6e }, 1521 { 0x800185, 0x24 }, 1522 { 0x800189, 0xbe }, 1523 { 0x80018c, 0x03 }, 1524 { 0x80018d, 0x5f }, 1525 { 0x80018f, 0xa0 }, 1526 { 0x800190, 0x5a }, 1527 { 0x800191, 0x00 }, 1528 { 0x80ed02, 0x40 }, 1529 { 0x80ee42, 0x40 }, 1530 { 0x80ee82, 0x40 }, 1531 { 0x80f000, 0x0f }, 1532 { 0x80f01f, 0x8c }, 1533 { 0x80f020, 0x00 }, 1534 { 0x80f029, 0x8c }, 1535 { 0x80f02a, 0x00 }, 1536 { 0x80f02b, 0x00 }, 1537 { 0x80f064, 0x03 }, 1538 { 0x80f065, 0xf9 }, 1539 { 0x80f066, 0x03 }, 1540 { 0x80f067, 0x01 }, 1541 { 0x80f06f, 0xe0 }, 1542 { 0x80f070, 0x03 }, 1543 { 0x80f072, 0x0f }, 1544 { 0x80f073, 0x03 }, 1545 { 0x80f077, 0x01 }, 1546 { 0x80f078, 0x00 }, 1547 { 0x80f087, 0x00 }, 1548 { 0x80f09b, 0x3f }, 1549 { 0x80f09c, 0x00 }, 1550 { 0x80f09d, 0x20 }, 1551 { 0x80f09e, 0x00 }, 1552 { 0x80f09f, 0x0c }, 1553 { 0x80f0a0, 0x00 }, 1554 { 0x80f130, 0x04 }, 1555 { 0x80f132, 0x04 }, 1556 { 0x80f144, 0x1a }, 1557 { 0x80f146, 0x00 }, 1558 { 0x80f14a, 0x01 }, 1559 { 0x80f14c, 0x00 }, 1560 { 0x80f14d, 0x00 }, 1561 { 0x80f14f, 0x04 }, 1562 { 0x80f158, 0x7f }, 1563 { 0x80f15a, 0x00 }, 1564 { 0x80f15b, 0x08 }, 1565 { 0x80f15d, 0x03 }, 1566 { 0x80f15e, 0x05 }, 1567 { 0x80f163, 0x05 }, 1568 { 0x80f166, 0x01 }, 1569 { 0x80f167, 0x40 }, 1570 { 0x80f168, 0x0f }, 1571 { 0x80f17a, 0x00 }, 1572 { 0x80f17b, 0x00 }, 1573 { 0x80f183, 0x01 }, 1574 { 0x80f19d, 0x40 }, 1575 { 0x80f1bc, 0x36 }, 1576 { 0x80f1bd, 0x00 }, 1577 { 0x80f1cb, 0xa0 }, 1578 { 0x80f1cc, 0x01 }, 1579 { 0x80f204, 0x10 }, 1580 { 0x80f214, 0x00 }, 1581 { 0x80f24c, 0x88 }, 1582 { 0x80f24d, 0x95 }, 1583 { 0x80f24e, 0x9a }, 1584 { 0x80f24f, 0x90 }, 1585 { 0x80f25a, 0x07 }, 1586 { 0x80f25b, 0xe8 }, 1587 { 0x80f25c, 0x03 }, 1588 { 0x80f25d, 0xb0 }, 1589 { 0x80f25e, 0x04 }, 1590 { 0x80f270, 0x01 }, 1591 { 0x80f271, 0x02 }, 1592 { 0x80f272, 0x01 }, 1593 { 0x80f273, 0x02 }, 1594 { 0x80f40e, 0x0a }, 1595 { 0x80f40f, 0x40 }, 1596 { 0x80f410, 0x08 }, 1597 { 0x80f55f, 0x0a }, 1598 { 0x80f561, 0x15 }, 1599 { 0x80f562, 0x20 }, 1600 { 0x80f5e3, 0x09 }, 1601 { 0x80f5e4, 0x01 }, 1602 { 0x80f5e5, 0x01 }, 1603 { 0x80f600, 0x05 }, 1604 { 0x80f601, 0x08 }, 1605 { 0x80f602, 0x0b }, 1606 { 0x80f603, 0x0e }, 1607 { 0x80f604, 0x11 }, 1608 { 0x80f605, 0x14 }, 1609 { 0x80f606, 0x17 }, 1610 { 0x80f607, 0x1f }, 1611 { 0x80f60e, 0x00 }, 1612 { 0x80f60f, 0x04 }, 1613 { 0x80f610, 0x32 }, 1614 { 0x80f611, 0x10 }, 1615 { 0x80f707, 0xfc }, 1616 { 0x80f708, 0x00 }, 1617 { 0x80f709, 0x37 }, 1618 { 0x80f70a, 0x00 }, 1619 { 0x80f78b, 0x01 }, 1620 { 0x80f80f, 0x40 }, 1621 { 0x80f810, 0x54 }, 1622 { 0x80f811, 0x5a }, 1623 { 0x80f905, 0x01 }, 1624 { 0x80fb06, 0x03 }, 1625 { 0x80fd8b, 0x00 }, 1626 }; 1627 1628 /* ITE Tech IT9135 Omega v2 LNA config 1 tuner init 1629 AF9033_TUNER_IT9135_61 = 0x61 */ 1630 static const struct reg_val tuner_init_it9135_61[] = { 1631 { 0x800043, 0x00 }, 1632 { 0x800046, 0x61 }, 1633 { 0x800051, 0x01 }, 1634 { 0x80005f, 0x00 }, 1635 { 0x800060, 0x00 }, 1636 { 0x800068, 0x06 }, 1637 { 0x80006a, 0x03 }, 1638 { 0x800070, 0x0a }, 1639 { 0x800071, 0x05 }, 1640 { 0x800072, 0x02 }, 1641 { 0x800075, 0x8c }, 1642 { 0x800076, 0x8c }, 1643 { 0x800077, 0x8c }, 1644 { 0x800078, 0x90 }, 1645 { 0x800079, 0x01 }, 1646 { 0x80007e, 0x04 }, 1647 { 0x800081, 0x0a }, 1648 { 0x800082, 0x12 }, 1649 { 0x800084, 0x0a }, 1650 { 0x800085, 0x33 }, 1651 { 0x800086, 0xbc }, 1652 { 0x800087, 0x9c }, 1653 { 0x800088, 0xcc }, 1654 { 0x800089, 0xa8 }, 1655 { 0x80008a, 0x01 }, 1656 { 0x80008e, 0x01 }, 1657 { 0x800092, 0x06 }, 1658 { 0x800093, 0x00 }, 1659 { 0x800094, 0x00 }, 1660 { 0x800095, 0x00 }, 1661 { 0x800096, 0x00 }, 1662 { 0x800099, 0x01 }, 1663 { 0x80009b, 0x3c }, 1664 { 0x80009c, 0x28 }, 1665 { 0x80009f, 0xe1 }, 1666 { 0x8000a0, 0xcf }, 1667 { 0x8000a3, 0x01 }, 1668 { 0x8000a4, 0x5c }, 1669 { 0x8000a5, 0x01 }, 1670 { 0x8000a6, 0x01 }, 1671 { 0x8000a9, 0x00 }, 1672 { 0x8000aa, 0x01 }, 1673 { 0x8000b0, 0x01 }, 1674 { 0x8000b3, 0x02 }, 1675 { 0x8000b4, 0x3a }, 1676 { 0x8000b6, 0x14 }, 1677 { 0x8000c0, 0x11 }, 1678 { 0x8000c1, 0x00 }, 1679 { 0x8000c2, 0x05 }, 1680 { 0x8000c3, 0x01 }, 1681 { 0x8000c4, 0x00 }, 1682 { 0x8000c6, 0x19 }, 1683 { 0x8000c7, 0x00 }, 1684 { 0x8000cb, 0x32 }, 1685 { 0x8000cc, 0x2c }, 1686 { 0x8000cd, 0x4f }, 1687 { 0x8000ce, 0x30 }, 1688 { 0x8000f3, 0x05 }, 1689 { 0x8000f4, 0xa0 }, 1690 { 0x8000f5, 0x8c }, 1691 { 0x8000f8, 0x03 }, 1692 { 0x8000f9, 0x06 }, 1693 { 0x8000fa, 0x06 }, 1694 { 0x8000fc, 0x03 }, 1695 { 0x8000fd, 0x03 }, 1696 { 0x8000fe, 0x02 }, 1697 { 0x8000ff, 0x08 }, 1698 { 0x800100, 0x50 }, 1699 { 0x800101, 0x7b }, 1700 { 0x800102, 0x8c }, 1701 { 0x800103, 0x01 }, 1702 { 0x800104, 0x02 }, 1703 { 0x800105, 0xc8 }, 1704 { 0x800106, 0x00 }, 1705 { 0x800115, 0x0a }, 1706 { 0x800116, 0x03 }, 1707 { 0x80011a, 0xc6 }, 1708 { 0x800124, 0xa8 }, 1709 { 0x800127, 0x00 }, 1710 { 0x80012a, 0x59 }, 1711 { 0x80012b, 0x50 }, 1712 { 0x80012c, 0x47 }, 1713 { 0x80012d, 0x42 }, 1714 { 0x800137, 0x00 }, 1715 { 0x80013b, 0x05 }, 1716 { 0x80013f, 0x5b }, 1717 { 0x800141, 0x59 }, 1718 { 0x800142, 0xf9 }, 1719 { 0x800143, 0x59 }, 1720 { 0x800144, 0x01 }, 1721 { 0x800145, 0x8c }, 1722 { 0x800146, 0x8c }, 1723 { 0x800147, 0x8c }, 1724 { 0x800148, 0x7b }, 1725 { 0x800149, 0x8c }, 1726 { 0x80014a, 0x50 }, 1727 { 0x80014b, 0x8c }, 1728 { 0x80014d, 0xa8 }, 1729 { 0x80014e, 0xc6 }, 1730 { 0x800151, 0x28 }, 1731 { 0x800153, 0xcc }, 1732 { 0x800178, 0x09 }, 1733 { 0x800181, 0x9c }, 1734 { 0x800182, 0x76 }, 1735 { 0x800185, 0x28 }, 1736 { 0x800189, 0xaa }, 1737 { 0x80018c, 0x03 }, 1738 { 0x80018d, 0x5f }, 1739 { 0x80018f, 0xfb }, 1740 { 0x800190, 0x5c }, 1741 { 0x800191, 0x00 }, 1742 { 0x80ed02, 0x40 }, 1743 { 0x80ee42, 0x40 }, 1744 { 0x80ee82, 0x40 }, 1745 { 0x80f000, 0x0f }, 1746 { 0x80f01f, 0x8c }, 1747 { 0x80f020, 0x00 }, 1748 { 0x80f029, 0x8c }, 1749 { 0x80f02a, 0x00 }, 1750 { 0x80f02b, 0x00 }, 1751 { 0x80f064, 0x03 }, 1752 { 0x80f065, 0xf9 }, 1753 { 0x80f066, 0x03 }, 1754 { 0x80f067, 0x01 }, 1755 { 0x80f06f, 0xe0 }, 1756 { 0x80f070, 0x03 }, 1757 { 0x80f072, 0x0f }, 1758 { 0x80f073, 0x03 }, 1759 { 0x80f077, 0x01 }, 1760 { 0x80f078, 0x00 }, 1761 { 0x80f087, 0x00 }, 1762 { 0x80f09b, 0x3f }, 1763 { 0x80f09c, 0x00 }, 1764 { 0x80f09d, 0x20 }, 1765 { 0x80f09e, 0x00 }, 1766 { 0x80f09f, 0x0c }, 1767 { 0x80f0a0, 0x00 }, 1768 { 0x80f130, 0x04 }, 1769 { 0x80f132, 0x04 }, 1770 { 0x80f144, 0x1a }, 1771 { 0x80f146, 0x00 }, 1772 { 0x80f14a, 0x01 }, 1773 { 0x80f14c, 0x00 }, 1774 { 0x80f14d, 0x00 }, 1775 { 0x80f14f, 0x04 }, 1776 { 0x80f158, 0x7f }, 1777 { 0x80f15a, 0x00 }, 1778 { 0x80f15b, 0x08 }, 1779 { 0x80f15d, 0x03 }, 1780 { 0x80f15e, 0x05 }, 1781 { 0x80f163, 0x05 }, 1782 { 0x80f166, 0x01 }, 1783 { 0x80f167, 0x40 }, 1784 { 0x80f168, 0x0f }, 1785 { 0x80f17a, 0x00 }, 1786 { 0x80f17b, 0x00 }, 1787 { 0x80f183, 0x01 }, 1788 { 0x80f19d, 0x40 }, 1789 { 0x80f1bc, 0x36 }, 1790 { 0x80f1bd, 0x00 }, 1791 { 0x80f1cb, 0xa0 }, 1792 { 0x80f1cc, 0x01 }, 1793 { 0x80f204, 0x10 }, 1794 { 0x80f214, 0x00 }, 1795 { 0x80f24c, 0x88 }, 1796 { 0x80f24d, 0x95 }, 1797 { 0x80f24e, 0x9a }, 1798 { 0x80f24f, 0x90 }, 1799 { 0x80f25a, 0x07 }, 1800 { 0x80f25b, 0xe8 }, 1801 { 0x80f25c, 0x03 }, 1802 { 0x80f25d, 0xb0 }, 1803 { 0x80f25e, 0x04 }, 1804 { 0x80f270, 0x01 }, 1805 { 0x80f271, 0x02 }, 1806 { 0x80f272, 0x01 }, 1807 { 0x80f273, 0x02 }, 1808 { 0x80f40e, 0x0a }, 1809 { 0x80f40f, 0x40 }, 1810 { 0x80f410, 0x08 }, 1811 { 0x80f55f, 0x0a }, 1812 { 0x80f561, 0x15 }, 1813 { 0x80f562, 0x20 }, 1814 { 0x80f5e3, 0x09 }, 1815 { 0x80f5e4, 0x01 }, 1816 { 0x80f5e5, 0x01 }, 1817 { 0x80f600, 0x05 }, 1818 { 0x80f601, 0x08 }, 1819 { 0x80f602, 0x0b }, 1820 { 0x80f603, 0x0e }, 1821 { 0x80f604, 0x11 }, 1822 { 0x80f605, 0x14 }, 1823 { 0x80f606, 0x17 }, 1824 { 0x80f607, 0x1f }, 1825 { 0x80f60e, 0x00 }, 1826 { 0x80f60f, 0x04 }, 1827 { 0x80f610, 0x32 }, 1828 { 0x80f611, 0x10 }, 1829 { 0x80f707, 0xfc }, 1830 { 0x80f708, 0x00 }, 1831 { 0x80f709, 0x37 }, 1832 { 0x80f70a, 0x00 }, 1833 { 0x80f78b, 0x01 }, 1834 { 0x80f80f, 0x40 }, 1835 { 0x80f810, 0x54 }, 1836 { 0x80f811, 0x5a }, 1837 { 0x80f905, 0x01 }, 1838 { 0x80fb06, 0x03 }, 1839 { 0x80fd8b, 0x00 }, 1840 }; 1841 1842 /* ITE Tech IT9135 Omega v2 LNA config 2 tuner init 1843 AF9033_TUNER_IT9135_62 = 0x62 */ 1844 static const struct reg_val tuner_init_it9135_62[] = { 1845 { 0x800043, 0x00 }, 1846 { 0x800046, 0x62 }, 1847 { 0x800051, 0x01 }, 1848 { 0x80005f, 0x00 }, 1849 { 0x800060, 0x00 }, 1850 { 0x800068, 0x0a }, 1851 { 0x80006a, 0x03 }, 1852 { 0x800070, 0x0a }, 1853 { 0x800071, 0x05 }, 1854 { 0x800072, 0x02 }, 1855 { 0x800075, 0x8c }, 1856 { 0x800076, 0x8c }, 1857 { 0x800077, 0x8c }, 1858 { 0x800078, 0x8c }, 1859 { 0x800079, 0x01 }, 1860 { 0x80007e, 0x04 }, 1861 { 0x800081, 0x0a }, 1862 { 0x800082, 0x12 }, 1863 { 0x800084, 0x0a }, 1864 { 0x800085, 0x33 }, 1865 { 0x800086, 0xb8 }, 1866 { 0x800087, 0x9c }, 1867 { 0x800088, 0xb2 }, 1868 { 0x800089, 0xa6 }, 1869 { 0x80008a, 0x01 }, 1870 { 0x80008e, 0x01 }, 1871 { 0x800092, 0x06 }, 1872 { 0x800093, 0x00 }, 1873 { 0x800094, 0x00 }, 1874 { 0x800095, 0x00 }, 1875 { 0x800096, 0x00 }, 1876 { 0x800099, 0x01 }, 1877 { 0x80009b, 0x3c }, 1878 { 0x80009c, 0x28 }, 1879 { 0x80009f, 0xe1 }, 1880 { 0x8000a0, 0xcf }, 1881 { 0x8000a3, 0x01 }, 1882 { 0x8000a4, 0x5a }, 1883 { 0x8000a5, 0x01 }, 1884 { 0x8000a6, 0x01 }, 1885 { 0x8000a9, 0x00 }, 1886 { 0x8000aa, 0x01 }, 1887 { 0x8000b0, 0x01 }, 1888 { 0x8000b3, 0x02 }, 1889 { 0x8000b4, 0x3a }, 1890 { 0x8000b6, 0x14 }, 1891 { 0x8000c0, 0x11 }, 1892 { 0x8000c1, 0x00 }, 1893 { 0x8000c2, 0x05 }, 1894 { 0x8000c3, 0x01 }, 1895 { 0x8000c4, 0x00 }, 1896 { 0x8000c6, 0x19 }, 1897 { 0x8000c7, 0x00 }, 1898 { 0x8000cb, 0x32 }, 1899 { 0x8000cc, 0x2c }, 1900 { 0x8000cd, 0x4f }, 1901 { 0x8000ce, 0x30 }, 1902 { 0x8000f3, 0x05 }, 1903 { 0x8000f4, 0x8c }, 1904 { 0x8000f5, 0x8c }, 1905 { 0x8000f8, 0x03 }, 1906 { 0x8000f9, 0x06 }, 1907 { 0x8000fa, 0x06 }, 1908 { 0x8000fc, 0x02 }, 1909 { 0x8000fd, 0x03 }, 1910 { 0x8000fe, 0x02 }, 1911 { 0x8000ff, 0x09 }, 1912 { 0x800100, 0x50 }, 1913 { 0x800101, 0x6e }, 1914 { 0x800102, 0x8c }, 1915 { 0x800103, 0x02 }, 1916 { 0x800104, 0x02 }, 1917 { 0x800105, 0xc2 }, 1918 { 0x800106, 0x00 }, 1919 { 0x800109, 0x02 }, 1920 { 0x800115, 0x0a }, 1921 { 0x800116, 0x03 }, 1922 { 0x80011a, 0xb8 }, 1923 { 0x800124, 0xa8 }, 1924 { 0x800127, 0x00 }, 1925 { 0x80012a, 0x53 }, 1926 { 0x80012b, 0x51 }, 1927 { 0x80012c, 0x4e }, 1928 { 0x80012d, 0x43 }, 1929 { 0x800137, 0x00 }, 1930 { 0x80013b, 0x05 }, 1931 { 0x80013f, 0x5b }, 1932 { 0x800141, 0x59 }, 1933 { 0x800142, 0xf9 }, 1934 { 0x800143, 0x59 }, 1935 { 0x800144, 0x00 }, 1936 { 0x800145, 0x8c }, 1937 { 0x800146, 0x8c }, 1938 { 0x800147, 0x8c }, 1939 { 0x800148, 0x7b }, 1940 { 0x800149, 0x8c }, 1941 { 0x80014a, 0x50 }, 1942 { 0x80014b, 0x70 }, 1943 { 0x80014d, 0x96 }, 1944 { 0x80014e, 0xd0 }, 1945 { 0x80014f, 0x03 }, 1946 { 0x800151, 0x28 }, 1947 { 0x800153, 0xb2 }, 1948 { 0x800178, 0x09 }, 1949 { 0x800181, 0x9c }, 1950 { 0x800182, 0x6e }, 1951 { 0x800185, 0x24 }, 1952 { 0x800189, 0xb8 }, 1953 { 0x80018c, 0x03 }, 1954 { 0x80018d, 0x5f }, 1955 { 0x80018f, 0xfb }, 1956 { 0x800190, 0x5a }, 1957 { 0x80ed02, 0xff }, 1958 { 0x80ee42, 0xff }, 1959 { 0x80ee82, 0xff }, 1960 { 0x80f000, 0x0f }, 1961 { 0x80f01f, 0x8c }, 1962 { 0x80f020, 0x00 }, 1963 { 0x80f029, 0x8c }, 1964 { 0x80f02a, 0x00 }, 1965 { 0x80f02b, 0x00 }, 1966 { 0x80f064, 0x03 }, 1967 { 0x80f065, 0xf9 }, 1968 { 0x80f066, 0x03 }, 1969 { 0x80f067, 0x01 }, 1970 { 0x80f06f, 0xe0 }, 1971 { 0x80f070, 0x03 }, 1972 { 0x80f072, 0x0f }, 1973 { 0x80f073, 0x03 }, 1974 { 0x80f077, 0x01 }, 1975 { 0x80f078, 0x00 }, 1976 { 0x80f087, 0x00 }, 1977 { 0x80f09b, 0x3f }, 1978 { 0x80f09c, 0x00 }, 1979 { 0x80f09d, 0x20 }, 1980 { 0x80f09e, 0x00 }, 1981 { 0x80f09f, 0x0c }, 1982 { 0x80f0a0, 0x00 }, 1983 { 0x80f130, 0x04 }, 1984 { 0x80f132, 0x04 }, 1985 { 0x80f144, 0x1a }, 1986 { 0x80f146, 0x00 }, 1987 { 0x80f14a, 0x01 }, 1988 { 0x80f14c, 0x00 }, 1989 { 0x80f14d, 0x00 }, 1990 { 0x80f14f, 0x04 }, 1991 { 0x80f158, 0x7f }, 1992 { 0x80f15a, 0x00 }, 1993 { 0x80f15b, 0x08 }, 1994 { 0x80f15d, 0x03 }, 1995 { 0x80f15e, 0x05 }, 1996 { 0x80f163, 0x05 }, 1997 { 0x80f166, 0x01 }, 1998 { 0x80f167, 0x40 }, 1999 { 0x80f168, 0x0f }, 2000 { 0x80f17a, 0x00 }, 2001 { 0x80f17b, 0x00 }, 2002 { 0x80f183, 0x01 }, 2003 { 0x80f19d, 0x40 }, 2004 { 0x80f1bc, 0x36 }, 2005 { 0x80f1bd, 0x00 }, 2006 { 0x80f1cb, 0xa0 }, 2007 { 0x80f1cc, 0x01 }, 2008 { 0x80f204, 0x10 }, 2009 { 0x80f214, 0x00 }, 2010 { 0x80f24c, 0x88 }, 2011 { 0x80f24d, 0x95 }, 2012 { 0x80f24e, 0x9a }, 2013 { 0x80f24f, 0x90 }, 2014 { 0x80f25a, 0x07 }, 2015 { 0x80f25b, 0xe8 }, 2016 { 0x80f25c, 0x03 }, 2017 { 0x80f25d, 0xb0 }, 2018 { 0x80f25e, 0x04 }, 2019 { 0x80f270, 0x01 }, 2020 { 0x80f271, 0x02 }, 2021 { 0x80f272, 0x01 }, 2022 { 0x80f273, 0x02 }, 2023 { 0x80f40e, 0x0a }, 2024 { 0x80f40f, 0x40 }, 2025 { 0x80f410, 0x08 }, 2026 { 0x80f55f, 0x0a }, 2027 { 0x80f561, 0x15 }, 2028 { 0x80f562, 0x20 }, 2029 { 0x80f5e3, 0x09 }, 2030 { 0x80f5e4, 0x01 }, 2031 { 0x80f5e5, 0x01 }, 2032 { 0x80f600, 0x05 }, 2033 { 0x80f601, 0x08 }, 2034 { 0x80f602, 0x0b }, 2035 { 0x80f603, 0x0e }, 2036 { 0x80f604, 0x11 }, 2037 { 0x80f605, 0x14 }, 2038 { 0x80f606, 0x17 }, 2039 { 0x80f607, 0x1f }, 2040 { 0x80f60e, 0x00 }, 2041 { 0x80f60f, 0x04 }, 2042 { 0x80f610, 0x32 }, 2043 { 0x80f611, 0x10 }, 2044 { 0x80f707, 0xfc }, 2045 { 0x80f708, 0x00 }, 2046 { 0x80f709, 0x37 }, 2047 { 0x80f70a, 0x00 }, 2048 { 0x80f78b, 0x01 }, 2049 { 0x80f80f, 0x40 }, 2050 { 0x80f810, 0x54 }, 2051 { 0x80f811, 0x5a }, 2052 { 0x80f905, 0x01 }, 2053 { 0x80fb06, 0x03 }, 2054 { 0x80fd8b, 0x00 }, 2055 }; 2056 2057 /* NorDig power reference table */ 2058 static const int power_reference[][5] = { 2059 {-93, -91, -90, -89, -88}, /* QPSK 1/2 ~ 7/8 */ 2060 {-87, -85, -84, -83, -82}, /* 16QAM 1/2 ~ 7/8 */ 2061 {-82, -80, -78, -77, -76}, /* 64QAM 1/2 ~ 7/8 */ 2062 }; 2063 #endif /* AF9033_PRIV_H */ 2064