0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 #ifndef AF9013_PRIV_H
0012 #define AF9013_PRIV_H
0013
0014 #include <media/dvb_frontend.h>
0015 #include <media/dvb_math.h>
0016 #include "af9013.h"
0017 #include <linux/firmware.h>
0018 #include <linux/i2c-mux.h>
0019 #include <linux/math64.h>
0020 #include <linux/regmap.h>
0021
0022 #define AF9013_FIRMWARE "dvb-fe-af9013.fw"
0023
0024 struct af9013_reg_mask_val {
0025 u16 reg;
0026 u8 mask;
0027 u8 val;
0028 };
0029
0030 struct af9013_coeff {
0031 u32 clock;
0032 u32 bandwidth_hz;
0033 u8 val[24];
0034 };
0035
0036
0037 static const struct af9013_coeff coeff_lut[] = {
0038
0039 { 28800000, 8000000, { 0x02, 0x8a, 0x28, 0xa3, 0x05, 0x14,
0040 0x51, 0x11, 0x00, 0xa2, 0x8f, 0x3d, 0x00, 0xa2, 0x8a,
0041 0x29, 0x00, 0xa2, 0x85, 0x14, 0x01, 0x45, 0x14, 0x14 } },
0042 { 28800000, 7000000, { 0x02, 0x38, 0xe3, 0x8e, 0x04, 0x71,
0043 0xc7, 0x07, 0x00, 0x8e, 0x3d, 0x55, 0x00, 0x8e, 0x38,
0044 0xe4, 0x00, 0x8e, 0x34, 0x72, 0x01, 0x1c, 0x71, 0x32 } },
0045 { 28800000, 6000000, { 0x01, 0xe7, 0x9e, 0x7a, 0x03, 0xcf,
0046 0x3c, 0x3d, 0x00, 0x79, 0xeb, 0x6e, 0x00, 0x79, 0xe7,
0047 0x9e, 0x00, 0x79, 0xe3, 0xcf, 0x00, 0xf3, 0xcf, 0x0f } },
0048
0049 { 20480000, 8000000, { 0x03, 0x92, 0x49, 0x26, 0x07, 0x24,
0050 0x92, 0x13, 0x00, 0xe4, 0x99, 0x6e, 0x00, 0xe4, 0x92,
0051 0x49, 0x00, 0xe4, 0x8b, 0x25, 0x01, 0xc9, 0x24, 0x25 } },
0052 { 20480000, 7000000, { 0x03, 0x20, 0x00, 0x01, 0x06, 0x40,
0053 0x00, 0x00, 0x00, 0xc8, 0x06, 0x40, 0x00, 0xc8, 0x00,
0054 0x00, 0x00, 0xc7, 0xf9, 0xc0, 0x01, 0x90, 0x00, 0x00 } },
0055 { 20480000, 6000000, { 0x02, 0xad, 0xb6, 0xdc, 0x05, 0x5b,
0056 0x6d, 0x2e, 0x00, 0xab, 0x73, 0x13, 0x00, 0xab, 0x6d,
0057 0xb7, 0x00, 0xab, 0x68, 0x5c, 0x01, 0x56, 0xdb, 0x1c } },
0058
0059 { 28000000, 8000000, { 0x02, 0x9c, 0xbc, 0x15, 0x05, 0x39,
0060 0x78, 0x0a, 0x00, 0xa7, 0x34, 0x3f, 0x00, 0xa7, 0x2f,
0061 0x05, 0x00, 0xa7, 0x29, 0xcc, 0x01, 0x4e, 0x5e, 0x03 } },
0062 { 28000000, 7000000, { 0x02, 0x49, 0x24, 0x92, 0x04, 0x92,
0063 0x49, 0x09, 0x00, 0x92, 0x4d, 0xb7, 0x00, 0x92, 0x49,
0064 0x25, 0x00, 0x92, 0x44, 0x92, 0x01, 0x24, 0x92, 0x12 } },
0065 { 28000000, 6000000, { 0x01, 0xf5, 0x8d, 0x10, 0x03, 0xeb,
0066 0x1a, 0x08, 0x00, 0x7d, 0x67, 0x2f, 0x00, 0x7d, 0x63,
0067 0x44, 0x00, 0x7d, 0x5f, 0x59, 0x00, 0xfa, 0xc6, 0x22 } },
0068
0069 { 25000000, 8000000, { 0x02, 0xec, 0xfb, 0x9d, 0x05, 0xd9,
0070 0xf7, 0x0e, 0x00, 0xbb, 0x44, 0xc1, 0x00, 0xbb, 0x3e,
0071 0xe7, 0x00, 0xbb, 0x39, 0x0d, 0x01, 0x76, 0x7d, 0x34 } },
0072 { 25000000, 7000000, { 0x02, 0x8f, 0x5c, 0x29, 0x05, 0x1e,
0073 0xb8, 0x14, 0x00, 0xa3, 0xdc, 0x29, 0x00, 0xa3, 0xd7,
0074 0x0a, 0x00, 0xa3, 0xd1, 0xec, 0x01, 0x47, 0xae, 0x05 } },
0075 { 25000000, 6000000, { 0x02, 0x31, 0xbc, 0xb5, 0x04, 0x63,
0076 0x79, 0x1b, 0x00, 0x8c, 0x73, 0x91, 0x00, 0x8c, 0x6f,
0077 0x2d, 0x00, 0x8c, 0x6a, 0xca, 0x01, 0x18, 0xde, 0x17 } },
0078 };
0079
0080
0081
0082
0083 static const struct af9013_reg_mask_val demod_init_tab[] = {
0084 {0xd73a, 0xff, 0xa1},
0085 {0xd73b, 0xff, 0x1f},
0086 {0xd73c, 0xf0, 0xa0},
0087 {0xd732, 0x08, 0x00},
0088 {0xd731, 0x30, 0x30},
0089 {0xd73d, 0x80, 0x80},
0090 {0xd740, 0x01, 0x00},
0091 {0xd740, 0x02, 0x00},
0092 {0xd740, 0x04, 0x00},
0093 {0xd740, 0x08, 0x08},
0094 {0xd3c1, 0x10, 0x10},
0095 {0x9124, 0xff, 0x58},
0096 {0x9125, 0x03, 0x02},
0097 {0xd3a2, 0xff, 0x00},
0098 {0xd3a3, 0xff, 0x04},
0099 {0xd305, 0xff, 0x32},
0100 {0xd306, 0xff, 0x10},
0101 {0xd304, 0xff, 0x04},
0102 {0x9112, 0x01, 0x01},
0103 {0x911d, 0x01, 0x01},
0104 {0x911a, 0x01, 0x01},
0105 {0x911b, 0x01, 0x01},
0106 {0x9bce, 0x0f, 0x02},
0107 {0x9116, 0x01, 0x01},
0108 {0x9122, 0xff, 0xd0},
0109 {0xd2e0, 0xff, 0xd0},
0110 {0xd2e9, 0x0f, 0x0d},
0111 {0xd38c, 0xff, 0xfc},
0112 {0xd38d, 0xff, 0x00},
0113 {0xd38e, 0xff, 0x7e},
0114 {0xd38f, 0xff, 0x00},
0115 {0xd390, 0xff, 0x2f},
0116 {0xd145, 0x10, 0x10},
0117 {0xd1a9, 0x10, 0x10},
0118 {0xd158, 0xe0, 0x20},
0119 {0xd159, 0x3f, 0x06},
0120 {0xd167, 0xff, 0x00},
0121 {0xd168, 0x0f, 0x07},
0122 {0xd1c3, 0xe0, 0x00},
0123 {0xd1c4, 0x3f, 0x00},
0124 {0xd1c5, 0x7f, 0x10},
0125 {0xd1c6, 0x07, 0x02},
0126 {0xd080, 0x7c, 0x0c},
0127 {0xd081, 0xf0, 0x90},
0128 {0xd098, 0xf0, 0xf0},
0129 {0xd098, 0x0f, 0x03},
0130 {0xdbc0, 0x10, 0x10},
0131 {0xdbc7, 0xff, 0x08},
0132 {0xdbc8, 0xf0, 0x00},
0133 {0xdbc9, 0x1f, 0x01},
0134 {0xd280, 0xff, 0xe0},
0135 {0xd281, 0xff, 0xff},
0136 {0xd282, 0xff, 0xff},
0137 {0xd283, 0xff, 0xc3},
0138 {0xd284, 0xff, 0xff},
0139 {0xd285, 0x0f, 0x01},
0140 {0xd0f0, 0x7f, 0x1a},
0141 {0xd0f1, 0x10, 0x10},
0142 {0xd0f2, 0xff, 0x0c},
0143 {0xd101, 0xe0, 0xc0},
0144 {0xd103, 0x0f, 0x08},
0145 {0xd0f8, 0x7f, 0x20},
0146 {0xd111, 0x20, 0x00},
0147 {0xd111, 0x40, 0x00},
0148 {0x910b, 0xff, 0x0a},
0149 {0x9115, 0xff, 0x02},
0150 {0x910c, 0xff, 0x02},
0151 {0x910d, 0xff, 0x08},
0152 {0x910e, 0xff, 0x0a},
0153 {0x9bf6, 0xff, 0x06},
0154 {0x9bf8, 0xff, 0x02},
0155 {0x9bf7, 0xff, 0x05},
0156 {0x9bf9, 0xff, 0x0f},
0157 {0x9bfc, 0xff, 0x13},
0158 {0x9bd3, 0xff, 0xff},
0159 {0x9bbe, 0x01, 0x01},
0160 {0x9bcc, 0x01, 0x01},
0161 };
0162
0163
0164
0165
0166
0167 static const struct af9013_reg_mask_val tuner_init_tab_env77h11d5[] = {
0168 {0x9bd5, 0xff, 0x01},
0169 {0x9bd6, 0xff, 0x03},
0170 {0x9bbe, 0xff, 0x01},
0171 {0xd1a0, 0x02, 0x02},
0172 {0xd000, 0x01, 0x01},
0173 {0xd000, 0x02, 0x00},
0174 {0xd001, 0x02, 0x02},
0175 {0xd001, 0x01, 0x00},
0176 {0xd001, 0x20, 0x00},
0177 {0xd002, 0x1f, 0x19},
0178 {0xd003, 0x1f, 0x1a},
0179 {0xd004, 0x1f, 0x19},
0180 {0xd005, 0x1f, 0x1a},
0181 {0xd00e, 0x1f, 0x10},
0182 {0xd00f, 0x07, 0x04},
0183 {0xd00f, 0x38, 0x28},
0184 {0xd010, 0x07, 0x04},
0185 {0xd010, 0x38, 0x28},
0186 {0xd016, 0xf0, 0x30},
0187 {0xd01f, 0x3f, 0x0a},
0188 {0xd020, 0x3f, 0x0a},
0189 {0x9bda, 0xff, 0x00},
0190 {0x9be3, 0xff, 0x00},
0191 {0xd015, 0xff, 0x50},
0192 {0xd016, 0x01, 0x00},
0193 {0xd044, 0xff, 0x46},
0194 {0xd045, 0x01, 0x00},
0195 {0xd008, 0xff, 0xdf},
0196 {0xd009, 0x03, 0x02},
0197 {0xd006, 0xff, 0x44},
0198 {0xd007, 0x03, 0x01},
0199 {0xd00c, 0xff, 0xeb},
0200 {0xd00d, 0x03, 0x02},
0201 {0xd00a, 0xff, 0xf4},
0202 {0xd00b, 0x03, 0x01},
0203 {0x9bba, 0xff, 0xf9},
0204 {0x9bc3, 0xff, 0xdf},
0205 {0x9bc4, 0xff, 0x02},
0206 {0x9bc5, 0xff, 0xeb},
0207 {0x9bc6, 0xff, 0x02},
0208 {0x9bc9, 0xff, 0x52},
0209 {0xd011, 0xff, 0x3c},
0210 {0xd012, 0x03, 0x01},
0211 {0xd013, 0xff, 0xf7},
0212 {0xd014, 0x03, 0x02},
0213 {0xd040, 0xff, 0x0b},
0214 {0xd041, 0x03, 0x02},
0215 {0xd042, 0xff, 0x4d},
0216 {0xd043, 0x03, 0x00},
0217 {0xd045, 0x02, 0x00},
0218 {0x9bcf, 0x01, 0x01},
0219 {0xd045, 0x04, 0x04},
0220 {0xd04f, 0xff, 0x9a},
0221 {0xd050, 0x01, 0x01},
0222 {0xd051, 0xff, 0x5a},
0223 {0xd052, 0x01, 0x01},
0224 {0xd053, 0xff, 0x50},
0225 {0xd054, 0xff, 0x46},
0226 {0x9bd7, 0xff, 0x0a},
0227 {0x9bd8, 0xff, 0x14},
0228 {0x9bd9, 0xff, 0x08},
0229 };
0230
0231
0232
0233
0234
0235 static const struct af9013_reg_mask_val tuner_init_tab_mt2060[] = {
0236 {0x9bd5, 0xff, 0x01},
0237 {0x9bd6, 0xff, 0x07},
0238 {0xd1a0, 0x02, 0x02},
0239 {0xd000, 0x01, 0x01},
0240 {0xd000, 0x02, 0x00},
0241 {0xd001, 0x02, 0x02},
0242 {0xd001, 0x01, 0x00},
0243 {0xd001, 0x20, 0x00},
0244 {0xd002, 0x1f, 0x19},
0245 {0xd003, 0x1f, 0x1a},
0246 {0xd004, 0x1f, 0x19},
0247 {0xd005, 0x1f, 0x1a},
0248 {0xd00e, 0x1f, 0x10},
0249 {0xd00f, 0x07, 0x04},
0250 {0xd00f, 0x38, 0x28},
0251 {0xd010, 0x07, 0x04},
0252 {0xd010, 0x38, 0x28},
0253 {0xd016, 0xf0, 0x30},
0254 {0xd01f, 0x3f, 0x0a},
0255 {0xd020, 0x3f, 0x0a},
0256 {0x9bda, 0xff, 0x00},
0257 {0x9be3, 0xff, 0x00},
0258 {0x9bbe, 0x01, 0x00},
0259 {0x9bcc, 0x01, 0x00},
0260 {0x9bb9, 0xff, 0x75},
0261 {0x9bcd, 0xff, 0x24},
0262 {0x9bff, 0xff, 0x30},
0263 {0xd015, 0xff, 0x46},
0264 {0xd016, 0x01, 0x00},
0265 {0xd044, 0xff, 0x46},
0266 {0xd045, 0x01, 0x00},
0267 {0xd008, 0xff, 0x0f},
0268 {0xd009, 0x03, 0x02},
0269 {0xd006, 0xff, 0x32},
0270 {0xd007, 0x03, 0x01},
0271 {0xd00c, 0xff, 0x36},
0272 {0xd00d, 0x03, 0x03},
0273 {0xd00a, 0xff, 0x35},
0274 {0xd00b, 0x03, 0x01},
0275 {0x9bc7, 0xff, 0x07},
0276 {0x9bc8, 0xff, 0x90},
0277 {0x9bc3, 0xff, 0x0f},
0278 {0x9bc4, 0xff, 0x02},
0279 {0x9bc5, 0xff, 0x36},
0280 {0x9bc6, 0xff, 0x03},
0281 {0x9bba, 0xff, 0xc9},
0282 {0x9bc9, 0xff, 0x79},
0283 {0xd011, 0xff, 0x10},
0284 {0xd012, 0x03, 0x01},
0285 {0xd013, 0xff, 0x45},
0286 {0xd014, 0x03, 0x03},
0287 {0xd040, 0xff, 0x98},
0288 {0xd041, 0x03, 0x00},
0289 {0xd042, 0xff, 0xcf},
0290 {0xd043, 0x03, 0x03},
0291 {0xd045, 0x02, 0x00},
0292 {0x9bcf, 0x01, 0x01},
0293 {0xd045, 0x04, 0x04},
0294 {0xd04f, 0xff, 0x9a},
0295 {0xd050, 0x01, 0x01},
0296 {0xd051, 0xff, 0x5a},
0297 {0xd052, 0x01, 0x01},
0298 {0xd053, 0xff, 0x50},
0299 {0xd054, 0xff, 0x46},
0300 {0x9bd7, 0xff, 0x0a},
0301 {0x9bd8, 0xff, 0x14},
0302 {0x9bd9, 0xff, 0x08},
0303 {0x9bd0, 0xff, 0xcc},
0304 {0x9be4, 0xff, 0xa0},
0305 {0x9bbd, 0xff, 0x8e},
0306 {0x9be2, 0xff, 0x4d},
0307 {0x9bee, 0x01, 0x01},
0308 };
0309
0310
0311
0312
0313
0314 static const struct af9013_reg_mask_val tuner_init_tab_mt2060_2[] = {
0315 {0x9bd5, 0xff, 0x01},
0316 {0x9bd6, 0xff, 0x06},
0317 {0x9bbe, 0xff, 0x01},
0318 {0xd1a0, 0x02, 0x02},
0319 {0xd000, 0x01, 0x01},
0320 {0xd000, 0x02, 0x00},
0321 {0xd001, 0x02, 0x02},
0322 {0xd001, 0x01, 0x00},
0323 {0xd001, 0x20, 0x00},
0324 {0xd002, 0x1f, 0x19},
0325 {0xd003, 0x1f, 0x1a},
0326 {0xd004, 0x1f, 0x19},
0327 {0xd005, 0x1f, 0x1a},
0328 {0xd00e, 0x1f, 0x10},
0329 {0xd00f, 0x07, 0x04},
0330 {0xd00f, 0x38, 0x28},
0331 {0xd010, 0x07, 0x04},
0332 {0xd010, 0x38, 0x28},
0333 {0xd016, 0xf0, 0x30},
0334 {0xd01f, 0x3f, 0x0a},
0335 {0xd020, 0x3f, 0x0a},
0336 {0xd015, 0xff, 0x46},
0337 {0xd016, 0x01, 0x00},
0338 {0xd044, 0xff, 0x46},
0339 {0xd045, 0x01, 0x00},
0340 {0xd008, 0xff, 0x0f},
0341 {0xd009, 0x03, 0x02},
0342 {0xd006, 0xff, 0x32},
0343 {0xd007, 0x03, 0x01},
0344 {0xd00c, 0xff, 0x36},
0345 {0xd00d, 0x03, 0x03},
0346 {0xd00a, 0xff, 0x35},
0347 {0xd00b, 0x03, 0x01},
0348 {0x9bc7, 0xff, 0x07},
0349 {0x9bc8, 0xff, 0x90},
0350 {0x9bc3, 0xff, 0x0f},
0351 {0x9bc4, 0xff, 0x02},
0352 {0x9bc5, 0xff, 0x36},
0353 {0x9bc6, 0xff, 0x03},
0354 {0x9bba, 0xff, 0xc9},
0355 {0x9bc9, 0xff, 0x79},
0356 {0xd011, 0xff, 0x10},
0357 {0xd012, 0x03, 0x01},
0358 {0xd013, 0xff, 0x45},
0359 {0xd014, 0x03, 0x03},
0360 {0xd040, 0xff, 0x98},
0361 {0xd041, 0x03, 0x00},
0362 {0xd042, 0xff, 0xcf},
0363 {0xd043, 0x03, 0x03},
0364 {0xd045, 0x02, 0x00},
0365 {0x9bcf, 0xff, 0x01},
0366 {0xd045, 0x04, 0x04},
0367 {0xd04f, 0xff, 0x9a},
0368 {0xd050, 0x01, 0x01},
0369 {0xd051, 0xff, 0x5a},
0370 {0xd052, 0x01, 0x01},
0371 {0xd053, 0xff, 0x96},
0372 {0xd054, 0xff, 0x46},
0373 {0xd045, 0x80, 0x00},
0374 {0x9bd7, 0xff, 0x0a},
0375 {0x9bd8, 0xff, 0x14},
0376 {0x9bd9, 0xff, 0x08},
0377 };
0378
0379
0380
0381
0382
0383 static const struct af9013_reg_mask_val tuner_init_tab_mxl5003d[] = {
0384 {0x9bd5, 0xff, 0x01},
0385 {0x9bd6, 0xff, 0x09},
0386 {0xd1a0, 0x02, 0x02},
0387 {0xd000, 0x01, 0x01},
0388 {0xd000, 0x02, 0x00},
0389 {0xd001, 0x02, 0x02},
0390 {0xd001, 0x01, 0x00},
0391 {0xd001, 0x20, 0x00},
0392 {0xd002, 0x1f, 0x19},
0393 {0xd003, 0x1f, 0x1a},
0394 {0xd004, 0x1f, 0x19},
0395 {0xd005, 0x1f, 0x1a},
0396 {0xd00e, 0x1f, 0x10},
0397 {0xd00f, 0x07, 0x04},
0398 {0xd00f, 0x38, 0x28},
0399 {0xd010, 0x07, 0x04},
0400 {0xd010, 0x38, 0x28},
0401 {0xd016, 0xf0, 0x30},
0402 {0xd01f, 0x3f, 0x0a},
0403 {0xd020, 0x3f, 0x0a},
0404 {0x9bda, 0xff, 0x00},
0405 {0x9be3, 0xff, 0x00},
0406 {0x9bfc, 0xff, 0x0f},
0407 {0x9bf6, 0xff, 0x01},
0408 {0x9bbe, 0x01, 0x01},
0409 {0xd015, 0xff, 0x33},
0410 {0xd016, 0x01, 0x00},
0411 {0xd044, 0xff, 0x40},
0412 {0xd045, 0x01, 0x00},
0413 {0xd008, 0xff, 0x0f},
0414 {0xd009, 0x03, 0x02},
0415 {0xd006, 0xff, 0x6c},
0416 {0xd007, 0x03, 0x00},
0417 {0xd00c, 0xff, 0x3d},
0418 {0xd00d, 0x03, 0x00},
0419 {0xd00a, 0xff, 0x45},
0420 {0xd00b, 0x03, 0x01},
0421 {0x9bc7, 0xff, 0x07},
0422 {0x9bc8, 0xff, 0x52},
0423 {0x9bc3, 0xff, 0x0f},
0424 {0x9bc4, 0xff, 0x02},
0425 {0x9bc5, 0xff, 0x3d},
0426 {0x9bc6, 0xff, 0x00},
0427 {0x9bba, 0xff, 0xa2},
0428 {0x9bc9, 0xff, 0xa0},
0429 {0xd011, 0xff, 0x56},
0430 {0xd012, 0x03, 0x00},
0431 {0xd013, 0xff, 0x50},
0432 {0xd014, 0x03, 0x00},
0433 {0xd040, 0xff, 0x56},
0434 {0xd041, 0x03, 0x00},
0435 {0xd042, 0xff, 0x50},
0436 {0xd043, 0x03, 0x00},
0437 {0xd045, 0x02, 0x00},
0438 {0x9bcf, 0xff, 0x01},
0439 {0xd045, 0x04, 0x04},
0440 {0xd04f, 0xff, 0x9a},
0441 {0xd050, 0x01, 0x01},
0442 {0xd051, 0xff, 0x5a},
0443 {0xd052, 0x01, 0x01},
0444 {0xd053, 0xff, 0x50},
0445 {0xd054, 0xff, 0x46},
0446 {0x9bd7, 0xff, 0x0a},
0447 {0x9bd8, 0xff, 0x14},
0448 {0x9bd9, 0xff, 0x08},
0449 };
0450
0451
0452
0453
0454
0455
0456
0457 static const struct af9013_reg_mask_val tuner_init_tab_mxl5005[] = {
0458 {0x9bd5, 0xff, 0x01},
0459 {0x9bd6, 0xff, 0x07},
0460 {0xd1a0, 0x02, 0x02},
0461 {0xd000, 0x01, 0x01},
0462 {0xd000, 0x02, 0x00},
0463 {0xd001, 0x02, 0x02},
0464 {0xd001, 0x01, 0x00},
0465 {0xd001, 0x20, 0x00},
0466 {0xd002, 0x1f, 0x19},
0467 {0xd003, 0x1f, 0x1a},
0468 {0xd004, 0x1f, 0x19},
0469 {0xd005, 0x1f, 0x1a},
0470 {0xd00e, 0x1f, 0x10},
0471 {0xd00f, 0x07, 0x04},
0472 {0xd00f, 0x38, 0x28},
0473 {0xd010, 0x07, 0x04},
0474 {0xd010, 0x38, 0x28},
0475 {0xd016, 0xf0, 0x30},
0476 {0xd01f, 0x3f, 0x0a},
0477 {0xd020, 0x3f, 0x0a},
0478 {0x9bda, 0xff, 0x01},
0479 {0x9be3, 0xff, 0x01},
0480 {0x9bbe, 0x01, 0x01},
0481 {0x9bcc, 0x01, 0x01},
0482 {0x9bb9, 0xff, 0x00},
0483 {0x9bcd, 0xff, 0x28},
0484 {0x9bff, 0xff, 0x24},
0485 {0xd015, 0xff, 0x40},
0486 {0xd016, 0x01, 0x00},
0487 {0xd044, 0xff, 0x40},
0488 {0xd045, 0x01, 0x00},
0489 {0xd008, 0xff, 0x0f},
0490 {0xd009, 0x03, 0x02},
0491 {0xd006, 0xff, 0x73},
0492 {0xd007, 0x03, 0x01},
0493 {0xd00c, 0xff, 0xfa},
0494 {0xd00d, 0x03, 0x01},
0495 {0xd00a, 0xff, 0xff},
0496 {0xd00b, 0x03, 0x01},
0497 {0x9bc7, 0xff, 0x23},
0498 {0x9bc8, 0xff, 0x55},
0499 {0x9bc3, 0xff, 0x01},
0500 {0x9bc4, 0xff, 0x02},
0501 {0x9bc5, 0xff, 0xfa},
0502 {0x9bc6, 0xff, 0x01},
0503 {0x9bba, 0xff, 0xff},
0504 {0x9bc9, 0xff, 0xff},
0505 {0x9bd3, 0xff, 0x95},
0506 {0xd011, 0xff, 0x70},
0507 {0xd012, 0x03, 0x01},
0508 {0xd013, 0xff, 0xfb},
0509 {0xd014, 0x03, 0x01},
0510 {0xd040, 0xff, 0x70},
0511 {0xd041, 0x03, 0x01},
0512 {0xd042, 0xff, 0xfb},
0513 {0xd043, 0x03, 0x01},
0514 {0xd045, 0x02, 0x00},
0515 {0x9bcf, 0x01, 0x01},
0516 {0xd045, 0x04, 0x04},
0517 {0xd04f, 0xff, 0x9a},
0518 {0xd050, 0x01, 0x01},
0519 {0xd051, 0xff, 0x5a},
0520 {0xd052, 0x01, 0x01},
0521 {0xd053, 0xff, 0x50},
0522 {0xd054, 0xff, 0x46},
0523 {0x9bd7, 0xff, 0x0a},
0524 {0x9bd8, 0xff, 0x14},
0525 {0x9bd9, 0xff, 0x08},
0526 {0x9bd0, 0xff, 0x93},
0527 {0x9be4, 0xff, 0xfe},
0528 {0x9bbd, 0xff, 0x63},
0529 {0x9be2, 0xff, 0xfe},
0530 {0x9bee, 0x01, 0x01},
0531 };
0532
0533
0534
0535
0536
0537
0538 static const struct af9013_reg_mask_val tuner_init_tab_qt1010[] = {
0539 {0x9bd5, 0xff, 0x01},
0540 {0x9bd6, 0xff, 0x09},
0541 {0xd1a0, 0x02, 0x02},
0542 {0xd000, 0x01, 0x01},
0543 {0xd000, 0x02, 0x00},
0544 {0xd001, 0x02, 0x02},
0545 {0xd001, 0x01, 0x00},
0546 {0xd001, 0x20, 0x00},
0547 {0xd002, 0x1f, 0x19},
0548 {0xd003, 0x1f, 0x1a},
0549 {0xd004, 0x1f, 0x19},
0550 {0xd005, 0x1f, 0x1a},
0551 {0xd00e, 0x1f, 0x10},
0552 {0xd00f, 0x07, 0x04},
0553 {0xd00f, 0x38, 0x28},
0554 {0xd010, 0x07, 0x04},
0555 {0xd010, 0x38, 0x28},
0556 {0xd016, 0xf0, 0x30},
0557 {0xd01f, 0x3f, 0x0a},
0558 {0xd020, 0x3f, 0x0a},
0559 {0x9bda, 0xff, 0x01},
0560 {0x9be3, 0xff, 0x01},
0561 {0xd015, 0xff, 0x46},
0562 {0xd016, 0x01, 0x00},
0563 {0xd044, 0xff, 0x46},
0564 {0xd045, 0x01, 0x00},
0565 {0x9bbe, 0x01, 0x01},
0566 {0x9bcc, 0x01, 0x01},
0567 {0x9bb9, 0xff, 0x00},
0568 {0x9bcd, 0xff, 0x28},
0569 {0x9bff, 0xff, 0x20},
0570 {0xd008, 0xff, 0x0f},
0571 {0xd009, 0x03, 0x02},
0572 {0xd006, 0xff, 0x99},
0573 {0xd007, 0x03, 0x01},
0574 {0xd00c, 0xff, 0x0f},
0575 {0xd00d, 0x03, 0x02},
0576 {0xd00a, 0xff, 0x50},
0577 {0xd00b, 0x03, 0x01},
0578 {0x9bc7, 0xff, 0x00},
0579 {0x9bc8, 0xff, 0x00},
0580 {0x9bc3, 0xff, 0x0f},
0581 {0x9bc4, 0xff, 0x02},
0582 {0x9bc5, 0xff, 0x0f},
0583 {0x9bc6, 0xff, 0x02},
0584 {0x9bba, 0xff, 0xc5},
0585 {0x9bc9, 0xff, 0xff},
0586 {0xd011, 0xff, 0x58},
0587 {0xd012, 0x03, 0x02},
0588 {0xd013, 0xff, 0x89},
0589 {0xd014, 0x03, 0x01},
0590 {0xd040, 0xff, 0x58},
0591 {0xd041, 0x03, 0x02},
0592 {0xd042, 0xff, 0x89},
0593 {0xd043, 0x03, 0x01},
0594 {0xd045, 0x02, 0x00},
0595 {0x9bcf, 0x01, 0x01},
0596 {0xd045, 0x04, 0x04},
0597 {0xd04f, 0xff, 0x9a},
0598 {0xd050, 0x01, 0x01},
0599 {0xd051, 0xff, 0x5a},
0600 {0xd052, 0x01, 0x01},
0601 {0xd053, 0xff, 0x50},
0602 {0xd054, 0xff, 0x46},
0603 {0x9bd7, 0xff, 0x0a},
0604 {0x9bd8, 0xff, 0x14},
0605 {0x9bd9, 0xff, 0x08},
0606 {0x9bd0, 0xff, 0xcd},
0607 {0x9be4, 0xff, 0xbb},
0608 {0x9bbd, 0xff, 0x93},
0609 {0x9be2, 0xff, 0x80},
0610 {0x9bee, 0x01, 0x01},
0611 };
0612
0613
0614
0615
0616
0617 static const struct af9013_reg_mask_val tuner_init_tab_mc44s803[] = {
0618 {0x9bd5, 0xff, 0x01},
0619 {0x9bd6, 0xff, 0x06},
0620 {0xd1a0, 0x02, 0x02},
0621 {0xd000, 0x01, 0x01},
0622 {0xd000, 0x02, 0x00},
0623 {0xd001, 0x02, 0x02},
0624 {0xd001, 0x01, 0x00},
0625 {0xd001, 0x20, 0x00},
0626 {0xd002, 0x1f, 0x19},
0627 {0xd003, 0x1f, 0x1a},
0628 {0xd004, 0x1f, 0x19},
0629 {0xd005, 0x1f, 0x1a},
0630 {0xd00e, 0x1f, 0x10},
0631 {0xd00f, 0x07, 0x04},
0632 {0xd00f, 0x38, 0x28},
0633 {0xd010, 0x07, 0x04},
0634 {0xd010, 0x38, 0x28},
0635 {0xd016, 0xf0, 0x30},
0636 {0xd01f, 0x3f, 0x0a},
0637 {0xd020, 0x3f, 0x0a},
0638 {0x9bda, 0xff, 0x00},
0639 {0x9be3, 0xff, 0x00},
0640 {0x9bf6, 0xff, 0x01},
0641 {0x9bf8, 0xff, 0x02},
0642 {0x9bf9, 0xff, 0x02},
0643 {0x9bfc, 0xff, 0x1f},
0644 {0x9bbe, 0x01, 0x01},
0645 {0x9bcc, 0x01, 0x01},
0646 {0x9bb9, 0xff, 0x00},
0647 {0x9bcd, 0xff, 0x24},
0648 {0x9bff, 0xff, 0x24},
0649 {0xd015, 0xff, 0x46},
0650 {0xd016, 0x01, 0x00},
0651 {0xd044, 0xff, 0x46},
0652 {0xd045, 0x01, 0x00},
0653 {0xd008, 0xff, 0x01},
0654 {0xd009, 0x03, 0x02},
0655 {0xd006, 0xff, 0x7b},
0656 {0xd007, 0x03, 0x00},
0657 {0xd00c, 0xff, 0x7c},
0658 {0xd00d, 0x03, 0x02},
0659 {0xd00a, 0xff, 0xfe},
0660 {0xd00b, 0x03, 0x01},
0661 {0x9bc7, 0xff, 0x08},
0662 {0x9bc8, 0xff, 0x9a},
0663 {0x9bc3, 0xff, 0x01},
0664 {0x9bc4, 0xff, 0x02},
0665 {0x9bc5, 0xff, 0x7c},
0666 {0x9bc6, 0xff, 0x02},
0667 {0x9bba, 0xff, 0xfc},
0668 {0x9bc9, 0xff, 0xaa},
0669 {0xd011, 0xff, 0x6b},
0670 {0xd012, 0x03, 0x00},
0671 {0xd013, 0xff, 0x88},
0672 {0xd014, 0x03, 0x02},
0673 {0xd040, 0xff, 0x6b},
0674 {0xd041, 0x03, 0x00},
0675 {0xd042, 0xff, 0x7c},
0676 {0xd043, 0x03, 0x02},
0677 {0xd045, 0x02, 0x00},
0678 {0x9bcf, 0x01, 0x01},
0679 {0xd045, 0x04, 0x04},
0680 {0xd04f, 0xff, 0x9a},
0681 {0xd050, 0x01, 0x01},
0682 {0xd051, 0xff, 0x5a},
0683 {0xd052, 0x01, 0x01},
0684 {0xd053, 0xff, 0x50},
0685 {0xd054, 0xff, 0x46},
0686 {0x9bd7, 0xff, 0x0a},
0687 {0x9bd8, 0xff, 0x14},
0688 {0x9bd9, 0xff, 0x08},
0689 {0x9bd0, 0xff, 0x9e},
0690 {0x9be4, 0xff, 0xff},
0691 {0x9bbd, 0xff, 0x9e},
0692 {0x9be2, 0xff, 0x25},
0693 {0x9bee, 0x01, 0x01},
0694 {0xd73b, 0x08, 0x00},
0695 };
0696
0697
0698
0699
0700
0701 static const struct af9013_reg_mask_val tuner_init_tab_unknown[] = {
0702 {0x9bd5, 0xff, 0x01},
0703 {0x9bd6, 0xff, 0x02},
0704 {0xd1a0, 0x02, 0x02},
0705 {0xd000, 0x01, 0x01},
0706 {0xd000, 0x02, 0x00},
0707 {0xd001, 0x02, 0x02},
0708 {0xd001, 0x01, 0x00},
0709 {0xd001, 0x20, 0x00},
0710 {0xd002, 0x1f, 0x19},
0711 {0xd003, 0x1f, 0x1a},
0712 {0xd004, 0x1f, 0x19},
0713 {0xd005, 0x1f, 0x1a},
0714 {0xd00e, 0x1f, 0x10},
0715 {0xd00f, 0x07, 0x04},
0716 {0xd00f, 0x38, 0x28},
0717 {0xd010, 0x07, 0x04},
0718 {0xd010, 0x38, 0x28},
0719 {0xd016, 0xf0, 0x30},
0720 {0xd01f, 0x3f, 0x0a},
0721 {0xd020, 0x3f, 0x0a},
0722 {0x9bda, 0xff, 0x01},
0723 {0x9be3, 0xff, 0x01},
0724 {0xd1a0, 0x02, 0x00},
0725 {0x9bbe, 0x01, 0x01},
0726 {0x9bcc, 0x01, 0x01},
0727 {0x9bb9, 0xff, 0x00},
0728 {0x9bcd, 0xff, 0x18},
0729 {0x9bff, 0xff, 0x2c},
0730 {0xd015, 0xff, 0x46},
0731 {0xd016, 0x01, 0x00},
0732 {0xd044, 0xff, 0x46},
0733 {0xd045, 0x01, 0x00},
0734 {0xd008, 0xff, 0xdf},
0735 {0xd009, 0x03, 0x02},
0736 {0xd006, 0xff, 0x44},
0737 {0xd007, 0x03, 0x01},
0738 {0xd00c, 0xff, 0x00},
0739 {0xd00d, 0x03, 0x02},
0740 {0xd00a, 0xff, 0xf6},
0741 {0xd00b, 0x03, 0x01},
0742 {0x9bba, 0xff, 0xf9},
0743 {0x9bc8, 0xff, 0xaa},
0744 {0x9bc3, 0xff, 0xdf},
0745 {0x9bc4, 0xff, 0x02},
0746 {0x9bc5, 0xff, 0x00},
0747 {0x9bc6, 0xff, 0x02},
0748 {0x9bc9, 0xff, 0xf0},
0749 {0xd011, 0xff, 0x3c},
0750 {0xd012, 0x03, 0x01},
0751 {0xd013, 0xff, 0xf7},
0752 {0xd014, 0x03, 0x02},
0753 {0xd040, 0xff, 0x0b},
0754 {0xd041, 0x03, 0x02},
0755 {0xd042, 0xff, 0x4d},
0756 {0xd043, 0x03, 0x00},
0757 {0xd045, 0x02, 0x00},
0758 {0x9bcf, 0x01, 0x01},
0759 {0xd045, 0x04, 0x04},
0760 {0xd04f, 0xff, 0x9a},
0761 {0xd050, 0x01, 0x01},
0762 {0xd051, 0xff, 0x5a},
0763 {0xd052, 0x01, 0x01},
0764 {0xd053, 0xff, 0x50},
0765 {0xd054, 0xff, 0x46},
0766 {0x9bd7, 0xff, 0x0a},
0767 {0x9bd8, 0xff, 0x14},
0768 {0x9bd9, 0xff, 0x08},
0769 };
0770
0771
0772
0773
0774
0775
0776 static const struct af9013_reg_mask_val tuner_init_tab_tda18271[] = {
0777 {0x9bd5, 0xff, 0x01},
0778 {0x9bd6, 0xff, 0x04},
0779 {0xd1a0, 0x02, 0x02},
0780 {0xd000, 0x01, 0x01},
0781 {0xd000, 0x02, 0x00},
0782 {0xd001, 0x02, 0x02},
0783 {0xd001, 0x01, 0x00},
0784 {0xd001, 0x20, 0x00},
0785 {0xd002, 0x1f, 0x19},
0786 {0xd003, 0x1f, 0x1a},
0787 {0xd004, 0x1f, 0x19},
0788 {0xd005, 0x1f, 0x1a},
0789 {0xd00e, 0x1f, 0x10},
0790 {0xd00f, 0x07, 0x04},
0791 {0xd00f, 0x38, 0x28},
0792 {0xd010, 0x07, 0x04},
0793 {0xd010, 0x38, 0x28},
0794 {0xd016, 0xf0, 0x30},
0795 {0xd01f, 0x3f, 0x0a},
0796 {0xd020, 0x3f, 0x0a},
0797 {0x9bda, 0xff, 0x01},
0798 {0x9be3, 0xff, 0x01},
0799 {0xd1a0, 0x02, 0x00},
0800 {0x9bbe, 0x01, 0x01},
0801 {0x9bcc, 0x01, 0x01},
0802 {0x9bb9, 0xff, 0x00},
0803 {0x9bcd, 0xff, 0x18},
0804 {0x9bff, 0xff, 0x2c},
0805 {0xd015, 0xff, 0x46},
0806 {0xd016, 0x01, 0x00},
0807 {0xd044, 0xff, 0x46},
0808 {0xd045, 0x01, 0x00},
0809 {0xd008, 0xff, 0xdf},
0810 {0xd009, 0x03, 0x02},
0811 {0xd006, 0xff, 0x44},
0812 {0xd007, 0x03, 0x01},
0813 {0xd00c, 0xff, 0x00},
0814 {0xd00d, 0x03, 0x02},
0815 {0xd00a, 0xff, 0xf6},
0816 {0xd00b, 0x03, 0x01},
0817 {0x9bba, 0xff, 0xf9},
0818 {0x9bc8, 0xff, 0xaa},
0819 {0x9bc3, 0xff, 0xdf},
0820 {0x9bc4, 0xff, 0x02},
0821 {0x9bc5, 0xff, 0x00},
0822 {0x9bc6, 0xff, 0x02},
0823 {0x9bc9, 0xff, 0xf0},
0824 {0xd011, 0xff, 0x3c},
0825 {0xd012, 0x03, 0x01},
0826 {0xd013, 0xff, 0xf7},
0827 {0xd014, 0x03, 0x02},
0828 {0xd040, 0xff, 0x0b},
0829 {0xd041, 0x03, 0x02},
0830 {0xd042, 0xff, 0x4d},
0831 {0xd043, 0x03, 0x00},
0832 {0xd045, 0x02, 0x00},
0833 {0x9bcf, 0x01, 0x01},
0834 {0xd045, 0x04, 0x04},
0835 {0xd04f, 0xff, 0x9a},
0836 {0xd050, 0x01, 0x01},
0837 {0xd051, 0xff, 0x5a},
0838 {0xd052, 0x01, 0x01},
0839 {0xd053, 0xff, 0x50},
0840 {0xd054, 0xff, 0x46},
0841 {0x9bd7, 0xff, 0x0a},
0842 {0x9bd8, 0xff, 0x14},
0843 {0x9bd9, 0xff, 0x08},
0844 {0x9bd0, 0xff, 0xa8},
0845 {0x9be4, 0xff, 0x7f},
0846 {0x9bbd, 0xff, 0xa8},
0847 {0x9be2, 0xff, 0x20},
0848 {0x9bee, 0x01, 0x01},
0849 };
0850
0851 #endif