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