1 | // SPDX-License-Identifier: GPL-2.0-only |
2 | /* |
3 | * |
4 | * i2c tv tuner chip device type database. |
5 | * |
6 | */ |
7 | |
8 | #include <linux/i2c.h> |
9 | #include <linux/module.h> |
10 | #include <media/tuner.h> |
11 | #include <media/tuner-types.h> |
12 | |
13 | /* ---------------------------------------------------------------------- */ |
14 | |
15 | /* |
16 | * The floats in the tuner struct are computed at compile time |
17 | * by gcc and cast back to integers. Thus we don't violate the |
18 | * "no float in kernel" rule. |
19 | * |
20 | * A tuner_range may be referenced by multiple tuner_params structs. |
21 | * There are many duplicates in here. Reusing tuner_range structs, |
22 | * rather than defining new ones for each tuner, will cut down on |
23 | * memory usage, and is preferred when possible. |
24 | * |
25 | * Each tuner_params array may contain one or more elements, one |
26 | * for each video standard. |
27 | * |
28 | * FIXME: tuner_params struct contains an element, tda988x. We must |
29 | * set this for all tuners that contain a tda988x chip, and then we |
30 | * can remove this setting from the various card structs. |
31 | * |
32 | * FIXME: Right now, all tuners are using the first tuner_params[] |
33 | * array element for analog mode. In the future, we will be merging |
34 | * similar tuner definitions together, such that each tuner definition |
35 | * will have a tuner_params struct for each available video standard. |
36 | * At that point, the tuner_params[] array element will be chosen |
37 | * based on the video standard in use. |
38 | */ |
39 | |
40 | /* The following was taken from dvb-pll.c: */ |
41 | |
42 | /* Set AGC TOP value to 103 dBuV: |
43 | * 0x80 = Control Byte |
44 | * 0x40 = 250 uA charge pump (irrelevant) |
45 | * 0x18 = Aux Byte to follow |
46 | * 0x06 = 64.5 kHz divider (irrelevant) |
47 | * 0x01 = Disable Vt (aka sleep) |
48 | * |
49 | * 0x00 = AGC Time constant 2s Iagc = 300 nA (vs 0x80 = 9 nA) |
50 | * 0x50 = AGC Take over point = 103 dBuV |
51 | */ |
52 | static u8 tua603x_agc103[] = { 2, 0x80|0x40|0x18|0x06|0x01, 0x00|0x50 }; |
53 | |
54 | /* 0x04 = 166.67 kHz divider |
55 | * |
56 | * 0x80 = AGC Time constant 50ms Iagc = 9 uA |
57 | * 0x20 = AGC Take over point = 112 dBuV |
58 | */ |
59 | static u8 tua603x_agc112[] = { 2, 0x80|0x40|0x18|0x04|0x01, 0x80|0x20 }; |
60 | |
61 | /* 0-9 */ |
62 | /* ------------ TUNER_TEMIC_PAL - TEMIC PAL ------------ */ |
63 | |
64 | static struct tuner_range tuner_temic_pal_ranges[] = { |
65 | { 16 * 140.25 /*MHz*/, 0x8e, 0x02, }, |
66 | { 16 * 463.25 /*MHz*/, 0x8e, 0x04, }, |
67 | { 16 * 999.99 , 0x8e, 0x01, }, |
68 | }; |
69 | |
70 | static struct tuner_params tuner_temic_pal_params[] = { |
71 | { |
72 | .type = TUNER_PARAM_TYPE_PAL, |
73 | .ranges = tuner_temic_pal_ranges, |
74 | .count = ARRAY_SIZE(tuner_temic_pal_ranges), |
75 | }, |
76 | }; |
77 | |
78 | /* ------------ TUNER_PHILIPS_PAL_I - Philips PAL_I ------------ */ |
79 | |
80 | static struct tuner_range tuner_philips_pal_i_ranges[] = { |
81 | { 16 * 140.25 /*MHz*/, 0x8e, 0xa0, }, |
82 | { 16 * 463.25 /*MHz*/, 0x8e, 0x90, }, |
83 | { 16 * 999.99 , 0x8e, 0x30, }, |
84 | }; |
85 | |
86 | static struct tuner_params tuner_philips_pal_i_params[] = { |
87 | { |
88 | .type = TUNER_PARAM_TYPE_PAL, |
89 | .ranges = tuner_philips_pal_i_ranges, |
90 | .count = ARRAY_SIZE(tuner_philips_pal_i_ranges), |
91 | }, |
92 | }; |
93 | |
94 | /* ------------ TUNER_PHILIPS_NTSC - Philips NTSC ------------ */ |
95 | |
96 | static struct tuner_range tuner_philips_ntsc_ranges[] = { |
97 | { 16 * 157.25 /*MHz*/, 0x8e, 0xa0, }, |
98 | { 16 * 451.25 /*MHz*/, 0x8e, 0x90, }, |
99 | { 16 * 999.99 , 0x8e, 0x30, }, |
100 | }; |
101 | |
102 | static struct tuner_params tuner_philips_ntsc_params[] = { |
103 | { |
104 | .type = TUNER_PARAM_TYPE_NTSC, |
105 | .ranges = tuner_philips_ntsc_ranges, |
106 | .count = ARRAY_SIZE(tuner_philips_ntsc_ranges), |
107 | .cb_first_if_lower_freq = 1, |
108 | }, |
109 | }; |
110 | |
111 | /* ------------ TUNER_PHILIPS_SECAM - Philips SECAM ------------ */ |
112 | |
113 | static struct tuner_range tuner_philips_secam_ranges[] = { |
114 | { 16 * 168.25 /*MHz*/, 0x8e, 0xa7, }, |
115 | { 16 * 447.25 /*MHz*/, 0x8e, 0x97, }, |
116 | { 16 * 999.99 , 0x8e, 0x37, }, |
117 | }; |
118 | |
119 | static struct tuner_params tuner_philips_secam_params[] = { |
120 | { |
121 | .type = TUNER_PARAM_TYPE_SECAM, |
122 | .ranges = tuner_philips_secam_ranges, |
123 | .count = ARRAY_SIZE(tuner_philips_secam_ranges), |
124 | .cb_first_if_lower_freq = 1, |
125 | }, |
126 | }; |
127 | |
128 | /* ------------ TUNER_PHILIPS_PAL - Philips PAL ------------ */ |
129 | |
130 | static struct tuner_range tuner_philips_pal_ranges[] = { |
131 | { 16 * 168.25 /*MHz*/, 0x8e, 0xa0, }, |
132 | { 16 * 447.25 /*MHz*/, 0x8e, 0x90, }, |
133 | { 16 * 999.99 , 0x8e, 0x30, }, |
134 | }; |
135 | |
136 | static struct tuner_params tuner_philips_pal_params[] = { |
137 | { |
138 | .type = TUNER_PARAM_TYPE_PAL, |
139 | .ranges = tuner_philips_pal_ranges, |
140 | .count = ARRAY_SIZE(tuner_philips_pal_ranges), |
141 | .cb_first_if_lower_freq = 1, |
142 | }, |
143 | }; |
144 | |
145 | /* ------------ TUNER_TEMIC_NTSC - TEMIC NTSC ------------ */ |
146 | |
147 | static struct tuner_range tuner_temic_ntsc_ranges[] = { |
148 | { 16 * 157.25 /*MHz*/, 0x8e, 0x02, }, |
149 | { 16 * 463.25 /*MHz*/, 0x8e, 0x04, }, |
150 | { 16 * 999.99 , 0x8e, 0x01, }, |
151 | }; |
152 | |
153 | static struct tuner_params tuner_temic_ntsc_params[] = { |
154 | { |
155 | .type = TUNER_PARAM_TYPE_NTSC, |
156 | .ranges = tuner_temic_ntsc_ranges, |
157 | .count = ARRAY_SIZE(tuner_temic_ntsc_ranges), |
158 | }, |
159 | }; |
160 | |
161 | /* ------------ TUNER_TEMIC_PAL_I - TEMIC PAL_I ------------ */ |
162 | |
163 | static struct tuner_range tuner_temic_pal_i_ranges[] = { |
164 | { 16 * 170.00 /*MHz*/, 0x8e, 0x02, }, |
165 | { 16 * 450.00 /*MHz*/, 0x8e, 0x04, }, |
166 | { 16 * 999.99 , 0x8e, 0x01, }, |
167 | }; |
168 | |
169 | static struct tuner_params tuner_temic_pal_i_params[] = { |
170 | { |
171 | .type = TUNER_PARAM_TYPE_PAL, |
172 | .ranges = tuner_temic_pal_i_ranges, |
173 | .count = ARRAY_SIZE(tuner_temic_pal_i_ranges), |
174 | }, |
175 | }; |
176 | |
177 | /* ------------ TUNER_TEMIC_4036FY5_NTSC - TEMIC NTSC ------------ */ |
178 | |
179 | static struct tuner_range tuner_temic_4036fy5_ntsc_ranges[] = { |
180 | { 16 * 157.25 /*MHz*/, 0x8e, 0xa0, }, |
181 | { 16 * 463.25 /*MHz*/, 0x8e, 0x90, }, |
182 | { 16 * 999.99 , 0x8e, 0x30, }, |
183 | }; |
184 | |
185 | static struct tuner_params tuner_temic_4036fy5_ntsc_params[] = { |
186 | { |
187 | .type = TUNER_PARAM_TYPE_NTSC, |
188 | .ranges = tuner_temic_4036fy5_ntsc_ranges, |
189 | .count = ARRAY_SIZE(tuner_temic_4036fy5_ntsc_ranges), |
190 | }, |
191 | }; |
192 | |
193 | /* ------------ TUNER_ALPS_TSBH1_NTSC - TEMIC NTSC ------------ */ |
194 | |
195 | static struct tuner_range tuner_alps_tsb_1_ranges[] = { |
196 | { 16 * 137.25 /*MHz*/, 0x8e, 0x01, }, |
197 | { 16 * 385.25 /*MHz*/, 0x8e, 0x02, }, |
198 | { 16 * 999.99 , 0x8e, 0x08, }, |
199 | }; |
200 | |
201 | static struct tuner_params tuner_alps_tsbh1_ntsc_params[] = { |
202 | { |
203 | .type = TUNER_PARAM_TYPE_NTSC, |
204 | .ranges = tuner_alps_tsb_1_ranges, |
205 | .count = ARRAY_SIZE(tuner_alps_tsb_1_ranges), |
206 | }, |
207 | }; |
208 | |
209 | /* 10-19 */ |
210 | /* ------------ TUNER_ALPS_TSBE1_PAL - TEMIC PAL ------------ */ |
211 | |
212 | static struct tuner_params tuner_alps_tsb_1_params[] = { |
213 | { |
214 | .type = TUNER_PARAM_TYPE_PAL, |
215 | .ranges = tuner_alps_tsb_1_ranges, |
216 | .count = ARRAY_SIZE(tuner_alps_tsb_1_ranges), |
217 | }, |
218 | }; |
219 | |
220 | /* ------------ TUNER_ALPS_TSBB5_PAL_I - Alps PAL_I ------------ */ |
221 | |
222 | static struct tuner_range tuner_alps_tsb_5_pal_ranges[] = { |
223 | { 16 * 133.25 /*MHz*/, 0x8e, 0x01, }, |
224 | { 16 * 351.25 /*MHz*/, 0x8e, 0x02, }, |
225 | { 16 * 999.99 , 0x8e, 0x08, }, |
226 | }; |
227 | |
228 | static struct tuner_params tuner_alps_tsbb5_params[] = { |
229 | { |
230 | .type = TUNER_PARAM_TYPE_PAL, |
231 | .ranges = tuner_alps_tsb_5_pal_ranges, |
232 | .count = ARRAY_SIZE(tuner_alps_tsb_5_pal_ranges), |
233 | }, |
234 | }; |
235 | |
236 | /* ------------ TUNER_ALPS_TSBE5_PAL - Alps PAL ------------ */ |
237 | |
238 | static struct tuner_params tuner_alps_tsbe5_params[] = { |
239 | { |
240 | .type = TUNER_PARAM_TYPE_PAL, |
241 | .ranges = tuner_alps_tsb_5_pal_ranges, |
242 | .count = ARRAY_SIZE(tuner_alps_tsb_5_pal_ranges), |
243 | }, |
244 | }; |
245 | |
246 | /* ------------ TUNER_ALPS_TSBC5_PAL - Alps PAL ------------ */ |
247 | |
248 | static struct tuner_params tuner_alps_tsbc5_params[] = { |
249 | { |
250 | .type = TUNER_PARAM_TYPE_PAL, |
251 | .ranges = tuner_alps_tsb_5_pal_ranges, |
252 | .count = ARRAY_SIZE(tuner_alps_tsb_5_pal_ranges), |
253 | }, |
254 | }; |
255 | |
256 | /* ------------ TUNER_TEMIC_4006FH5_PAL - TEMIC PAL ------------ */ |
257 | |
258 | static struct tuner_range tuner_lg_pal_ranges[] = { |
259 | { 16 * 170.00 /*MHz*/, 0x8e, 0xa0, }, |
260 | { 16 * 450.00 /*MHz*/, 0x8e, 0x90, }, |
261 | { 16 * 999.99 , 0x8e, 0x30, }, |
262 | }; |
263 | |
264 | static struct tuner_params tuner_temic_4006fh5_params[] = { |
265 | { |
266 | .type = TUNER_PARAM_TYPE_PAL, |
267 | .ranges = tuner_lg_pal_ranges, |
268 | .count = ARRAY_SIZE(tuner_lg_pal_ranges), |
269 | }, |
270 | }; |
271 | |
272 | /* ------------ TUNER_ALPS_TSHC6_NTSC - Alps NTSC ------------ */ |
273 | |
274 | static struct tuner_range tuner_alps_tshc6_ntsc_ranges[] = { |
275 | { 16 * 137.25 /*MHz*/, 0x8e, 0x14, }, |
276 | { 16 * 385.25 /*MHz*/, 0x8e, 0x12, }, |
277 | { 16 * 999.99 , 0x8e, 0x11, }, |
278 | }; |
279 | |
280 | static struct tuner_params tuner_alps_tshc6_params[] = { |
281 | { |
282 | .type = TUNER_PARAM_TYPE_NTSC, |
283 | .ranges = tuner_alps_tshc6_ntsc_ranges, |
284 | .count = ARRAY_SIZE(tuner_alps_tshc6_ntsc_ranges), |
285 | }, |
286 | }; |
287 | |
288 | /* ------------ TUNER_TEMIC_PAL_DK - TEMIC PAL ------------ */ |
289 | |
290 | static struct tuner_range tuner_temic_pal_dk_ranges[] = { |
291 | { 16 * 168.25 /*MHz*/, 0x8e, 0xa0, }, |
292 | { 16 * 456.25 /*MHz*/, 0x8e, 0x90, }, |
293 | { 16 * 999.99 , 0x8e, 0x30, }, |
294 | }; |
295 | |
296 | static struct tuner_params tuner_temic_pal_dk_params[] = { |
297 | { |
298 | .type = TUNER_PARAM_TYPE_PAL, |
299 | .ranges = tuner_temic_pal_dk_ranges, |
300 | .count = ARRAY_SIZE(tuner_temic_pal_dk_ranges), |
301 | }, |
302 | }; |
303 | |
304 | /* ------------ TUNER_PHILIPS_NTSC_M - Philips NTSC ------------ */ |
305 | |
306 | static struct tuner_range tuner_philips_ntsc_m_ranges[] = { |
307 | { 16 * 160.00 /*MHz*/, 0x8e, 0xa0, }, |
308 | { 16 * 454.00 /*MHz*/, 0x8e, 0x90, }, |
309 | { 16 * 999.99 , 0x8e, 0x30, }, |
310 | }; |
311 | |
312 | static struct tuner_params tuner_philips_ntsc_m_params[] = { |
313 | { |
314 | .type = TUNER_PARAM_TYPE_NTSC, |
315 | .ranges = tuner_philips_ntsc_m_ranges, |
316 | .count = ARRAY_SIZE(tuner_philips_ntsc_m_ranges), |
317 | }, |
318 | }; |
319 | |
320 | /* ------------ TUNER_TEMIC_4066FY5_PAL_I - TEMIC PAL_I ------------ */ |
321 | |
322 | static struct tuner_range tuner_temic_40x6f_5_pal_ranges[] = { |
323 | { 16 * 169.00 /*MHz*/, 0x8e, 0xa0, }, |
324 | { 16 * 454.00 /*MHz*/, 0x8e, 0x90, }, |
325 | { 16 * 999.99 , 0x8e, 0x30, }, |
326 | }; |
327 | |
328 | static struct tuner_params tuner_temic_4066fy5_pal_i_params[] = { |
329 | { |
330 | .type = TUNER_PARAM_TYPE_PAL, |
331 | .ranges = tuner_temic_40x6f_5_pal_ranges, |
332 | .count = ARRAY_SIZE(tuner_temic_40x6f_5_pal_ranges), |
333 | }, |
334 | }; |
335 | |
336 | /* ------------ TUNER_TEMIC_4006FN5_MULTI_PAL - TEMIC PAL ------------ */ |
337 | |
338 | static struct tuner_params tuner_temic_4006fn5_multi_params[] = { |
339 | { |
340 | .type = TUNER_PARAM_TYPE_PAL, |
341 | .ranges = tuner_temic_40x6f_5_pal_ranges, |
342 | .count = ARRAY_SIZE(tuner_temic_40x6f_5_pal_ranges), |
343 | }, |
344 | }; |
345 | |
346 | /* 20-29 */ |
347 | /* ------------ TUNER_TEMIC_4009FR5_PAL - TEMIC PAL ------------ */ |
348 | |
349 | static struct tuner_range tuner_temic_4009f_5_pal_ranges[] = { |
350 | { 16 * 141.00 /*MHz*/, 0x8e, 0xa0, }, |
351 | { 16 * 464.00 /*MHz*/, 0x8e, 0x90, }, |
352 | { 16 * 999.99 , 0x8e, 0x30, }, |
353 | }; |
354 | |
355 | static struct tuner_params tuner_temic_4009f_5_params[] = { |
356 | { |
357 | .type = TUNER_PARAM_TYPE_PAL, |
358 | .ranges = tuner_temic_4009f_5_pal_ranges, |
359 | .count = ARRAY_SIZE(tuner_temic_4009f_5_pal_ranges), |
360 | }, |
361 | }; |
362 | |
363 | /* ------------ TUNER_TEMIC_4039FR5_NTSC - TEMIC NTSC ------------ */ |
364 | |
365 | static struct tuner_range tuner_temic_4x3x_f_5_ntsc_ranges[] = { |
366 | { 16 * 158.00 /*MHz*/, 0x8e, 0xa0, }, |
367 | { 16 * 453.00 /*MHz*/, 0x8e, 0x90, }, |
368 | { 16 * 999.99 , 0x8e, 0x30, }, |
369 | }; |
370 | |
371 | static struct tuner_params tuner_temic_4039fr5_params[] = { |
372 | { |
373 | .type = TUNER_PARAM_TYPE_NTSC, |
374 | .ranges = tuner_temic_4x3x_f_5_ntsc_ranges, |
375 | .count = ARRAY_SIZE(tuner_temic_4x3x_f_5_ntsc_ranges), |
376 | }, |
377 | }; |
378 | |
379 | /* ------------ TUNER_TEMIC_4046FM5 - TEMIC PAL ------------ */ |
380 | |
381 | static struct tuner_params tuner_temic_4046fm5_params[] = { |
382 | { |
383 | .type = TUNER_PARAM_TYPE_PAL, |
384 | .ranges = tuner_temic_40x6f_5_pal_ranges, |
385 | .count = ARRAY_SIZE(tuner_temic_40x6f_5_pal_ranges), |
386 | }, |
387 | }; |
388 | |
389 | /* ------------ TUNER_PHILIPS_PAL_DK - Philips PAL ------------ */ |
390 | |
391 | static struct tuner_params tuner_philips_pal_dk_params[] = { |
392 | { |
393 | .type = TUNER_PARAM_TYPE_PAL, |
394 | .ranges = tuner_lg_pal_ranges, |
395 | .count = ARRAY_SIZE(tuner_lg_pal_ranges), |
396 | }, |
397 | }; |
398 | |
399 | /* ------------ TUNER_PHILIPS_FQ1216ME - Philips PAL ------------ */ |
400 | |
401 | static struct tuner_params tuner_philips_fq1216me_params[] = { |
402 | { |
403 | .type = TUNER_PARAM_TYPE_PAL, |
404 | .ranges = tuner_lg_pal_ranges, |
405 | .count = ARRAY_SIZE(tuner_lg_pal_ranges), |
406 | .has_tda9887 = 1, |
407 | .port1_active = 1, |
408 | .port2_active = 1, |
409 | .port2_invert_for_secam_lc = 1, |
410 | }, |
411 | }; |
412 | |
413 | /* ------------ TUNER_LG_PAL_I_FM - LGINNOTEK PAL_I ------------ */ |
414 | |
415 | static struct tuner_params tuner_lg_pal_i_fm_params[] = { |
416 | { |
417 | .type = TUNER_PARAM_TYPE_PAL, |
418 | .ranges = tuner_lg_pal_ranges, |
419 | .count = ARRAY_SIZE(tuner_lg_pal_ranges), |
420 | }, |
421 | }; |
422 | |
423 | /* ------------ TUNER_LG_PAL_I - LGINNOTEK PAL_I ------------ */ |
424 | |
425 | static struct tuner_params tuner_lg_pal_i_params[] = { |
426 | { |
427 | .type = TUNER_PARAM_TYPE_PAL, |
428 | .ranges = tuner_lg_pal_ranges, |
429 | .count = ARRAY_SIZE(tuner_lg_pal_ranges), |
430 | }, |
431 | }; |
432 | |
433 | /* ------------ TUNER_LG_NTSC_FM - LGINNOTEK NTSC ------------ */ |
434 | |
435 | static struct tuner_range tuner_lg_ntsc_fm_ranges[] = { |
436 | { 16 * 210.00 /*MHz*/, 0x8e, 0xa0, }, |
437 | { 16 * 497.00 /*MHz*/, 0x8e, 0x90, }, |
438 | { 16 * 999.99 , 0x8e, 0x30, }, |
439 | }; |
440 | |
441 | static struct tuner_params tuner_lg_ntsc_fm_params[] = { |
442 | { |
443 | .type = TUNER_PARAM_TYPE_NTSC, |
444 | .ranges = tuner_lg_ntsc_fm_ranges, |
445 | .count = ARRAY_SIZE(tuner_lg_ntsc_fm_ranges), |
446 | }, |
447 | }; |
448 | |
449 | /* ------------ TUNER_LG_PAL_FM - LGINNOTEK PAL ------------ */ |
450 | |
451 | static struct tuner_params tuner_lg_pal_fm_params[] = { |
452 | { |
453 | .type = TUNER_PARAM_TYPE_PAL, |
454 | .ranges = tuner_lg_pal_ranges, |
455 | .count = ARRAY_SIZE(tuner_lg_pal_ranges), |
456 | }, |
457 | }; |
458 | |
459 | /* ------------ TUNER_LG_PAL - LGINNOTEK PAL ------------ */ |
460 | |
461 | static struct tuner_params tuner_lg_pal_params[] = { |
462 | { |
463 | .type = TUNER_PARAM_TYPE_PAL, |
464 | .ranges = tuner_lg_pal_ranges, |
465 | .count = ARRAY_SIZE(tuner_lg_pal_ranges), |
466 | }, |
467 | }; |
468 | |
469 | /* 30-39 */ |
470 | /* ------------ TUNER_TEMIC_4009FN5_MULTI_PAL_FM - TEMIC PAL ------------ */ |
471 | |
472 | static struct tuner_params tuner_temic_4009_fn5_multi_pal_fm_params[] = { |
473 | { |
474 | .type = TUNER_PARAM_TYPE_PAL, |
475 | .ranges = tuner_temic_4009f_5_pal_ranges, |
476 | .count = ARRAY_SIZE(tuner_temic_4009f_5_pal_ranges), |
477 | }, |
478 | }; |
479 | |
480 | /* ------------ TUNER_SHARP_2U5JF5540_NTSC - SHARP NTSC ------------ */ |
481 | |
482 | static struct tuner_range tuner_sharp_2u5jf5540_ntsc_ranges[] = { |
483 | { 16 * 137.25 /*MHz*/, 0x8e, 0x01, }, |
484 | { 16 * 317.25 /*MHz*/, 0x8e, 0x02, }, |
485 | { 16 * 999.99 , 0x8e, 0x08, }, |
486 | }; |
487 | |
488 | static struct tuner_params tuner_sharp_2u5jf5540_params[] = { |
489 | { |
490 | .type = TUNER_PARAM_TYPE_NTSC, |
491 | .ranges = tuner_sharp_2u5jf5540_ntsc_ranges, |
492 | .count = ARRAY_SIZE(tuner_sharp_2u5jf5540_ntsc_ranges), |
493 | }, |
494 | }; |
495 | |
496 | /* ------------ TUNER_Samsung_PAL_TCPM9091PD27 - Samsung PAL ------------ */ |
497 | |
498 | static struct tuner_range tuner_samsung_pal_tcpm9091pd27_ranges[] = { |
499 | { 16 * 169 /*MHz*/, 0x8e, 0xa0, }, |
500 | { 16 * 464 /*MHz*/, 0x8e, 0x90, }, |
501 | { 16 * 999.99 , 0x8e, 0x30, }, |
502 | }; |
503 | |
504 | static struct tuner_params tuner_samsung_pal_tcpm9091pd27_params[] = { |
505 | { |
506 | .type = TUNER_PARAM_TYPE_PAL, |
507 | .ranges = tuner_samsung_pal_tcpm9091pd27_ranges, |
508 | .count = ARRAY_SIZE(tuner_samsung_pal_tcpm9091pd27_ranges), |
509 | }, |
510 | }; |
511 | |
512 | /* ------------ TUNER_TEMIC_4106FH5 - TEMIC PAL ------------ */ |
513 | |
514 | static struct tuner_params tuner_temic_4106fh5_params[] = { |
515 | { |
516 | .type = TUNER_PARAM_TYPE_PAL, |
517 | .ranges = tuner_temic_4009f_5_pal_ranges, |
518 | .count = ARRAY_SIZE(tuner_temic_4009f_5_pal_ranges), |
519 | }, |
520 | }; |
521 | |
522 | /* ------------ TUNER_TEMIC_4012FY5 - TEMIC PAL ------------ */ |
523 | |
524 | static struct tuner_params tuner_temic_4012fy5_params[] = { |
525 | { |
526 | .type = TUNER_PARAM_TYPE_PAL, |
527 | .ranges = tuner_temic_pal_ranges, |
528 | .count = ARRAY_SIZE(tuner_temic_pal_ranges), |
529 | }, |
530 | }; |
531 | |
532 | /* ------------ TUNER_TEMIC_4136FY5 - TEMIC NTSC ------------ */ |
533 | |
534 | static struct tuner_params tuner_temic_4136_fy5_params[] = { |
535 | { |
536 | .type = TUNER_PARAM_TYPE_NTSC, |
537 | .ranges = tuner_temic_4x3x_f_5_ntsc_ranges, |
538 | .count = ARRAY_SIZE(tuner_temic_4x3x_f_5_ntsc_ranges), |
539 | }, |
540 | }; |
541 | |
542 | /* ------------ TUNER_LG_PAL_NEW_TAPC - LGINNOTEK PAL ------------ */ |
543 | |
544 | static struct tuner_range tuner_lg_new_tapc_ranges[] = { |
545 | { 16 * 170.00 /*MHz*/, 0x8e, 0x01, }, |
546 | { 16 * 450.00 /*MHz*/, 0x8e, 0x02, }, |
547 | { 16 * 999.99 , 0x8e, 0x08, }, |
548 | }; |
549 | |
550 | static struct tuner_params tuner_lg_pal_new_tapc_params[] = { |
551 | { |
552 | .type = TUNER_PARAM_TYPE_PAL, |
553 | .ranges = tuner_lg_new_tapc_ranges, |
554 | .count = ARRAY_SIZE(tuner_lg_new_tapc_ranges), |
555 | }, |
556 | }; |
557 | |
558 | /* ------------ TUNER_PHILIPS_FM1216ME_MK3 - Philips PAL ------------ */ |
559 | |
560 | static struct tuner_range tuner_fm1216me_mk3_pal_ranges[] = { |
561 | { 16 * 158.00 /*MHz*/, 0x8e, 0x01, }, |
562 | { 16 * 442.00 /*MHz*/, 0x8e, 0x02, }, |
563 | { 16 * 999.99 , 0x8e, 0x04, }, |
564 | }; |
565 | |
566 | static struct tuner_params tuner_fm1216me_mk3_params[] = { |
567 | { |
568 | .type = TUNER_PARAM_TYPE_PAL, |
569 | .ranges = tuner_fm1216me_mk3_pal_ranges, |
570 | .count = ARRAY_SIZE(tuner_fm1216me_mk3_pal_ranges), |
571 | .cb_first_if_lower_freq = 1, |
572 | .has_tda9887 = 1, |
573 | .port1_active = 1, |
574 | .port2_active = 1, |
575 | .port2_invert_for_secam_lc = 1, |
576 | .port1_fm_high_sensitivity = 1, |
577 | .default_top_mid = -2, |
578 | .default_top_secam_mid = -2, |
579 | .default_top_secam_high = -2, |
580 | }, |
581 | }; |
582 | |
583 | /* ------------ TUNER_PHILIPS_FM1216MK5 - Philips PAL ------------ */ |
584 | |
585 | static struct tuner_range tuner_fm1216mk5_pal_ranges[] = { |
586 | { 16 * 158.00 /*MHz*/, 0xce, 0x01, }, |
587 | { 16 * 441.00 /*MHz*/, 0xce, 0x02, }, |
588 | { 16 * 864.00 , 0xce, 0x04, }, |
589 | }; |
590 | |
591 | static struct tuner_params tuner_fm1216mk5_params[] = { |
592 | { |
593 | .type = TUNER_PARAM_TYPE_PAL, |
594 | .ranges = tuner_fm1216mk5_pal_ranges, |
595 | .count = ARRAY_SIZE(tuner_fm1216mk5_pal_ranges), |
596 | .cb_first_if_lower_freq = 1, |
597 | .has_tda9887 = 1, |
598 | .port1_active = 1, |
599 | .port2_active = 1, |
600 | .port2_invert_for_secam_lc = 1, |
601 | .port1_fm_high_sensitivity = 1, |
602 | .default_top_mid = -2, |
603 | .default_top_secam_mid = -2, |
604 | .default_top_secam_high = -2, |
605 | }, |
606 | }; |
607 | |
608 | /* ------------ TUNER_LG_NTSC_NEW_TAPC - LGINNOTEK NTSC ------------ */ |
609 | |
610 | static struct tuner_params tuner_lg_ntsc_new_tapc_params[] = { |
611 | { |
612 | .type = TUNER_PARAM_TYPE_NTSC, |
613 | .ranges = tuner_lg_new_tapc_ranges, |
614 | .count = ARRAY_SIZE(tuner_lg_new_tapc_ranges), |
615 | }, |
616 | }; |
617 | |
618 | /* 40-49 */ |
619 | /* ------------ TUNER_HITACHI_NTSC - HITACHI NTSC ------------ */ |
620 | |
621 | static struct tuner_params tuner_hitachi_ntsc_params[] = { |
622 | { |
623 | .type = TUNER_PARAM_TYPE_NTSC, |
624 | .ranges = tuner_lg_new_tapc_ranges, |
625 | .count = ARRAY_SIZE(tuner_lg_new_tapc_ranges), |
626 | }, |
627 | }; |
628 | |
629 | /* ------------ TUNER_PHILIPS_PAL_MK - Philips PAL ------------ */ |
630 | |
631 | static struct tuner_range tuner_philips_pal_mk_pal_ranges[] = { |
632 | { 16 * 140.25 /*MHz*/, 0x8e, 0x01, }, |
633 | { 16 * 463.25 /*MHz*/, 0x8e, 0xc2, }, |
634 | { 16 * 999.99 , 0x8e, 0xcf, }, |
635 | }; |
636 | |
637 | static struct tuner_params tuner_philips_pal_mk_params[] = { |
638 | { |
639 | .type = TUNER_PARAM_TYPE_PAL, |
640 | .ranges = tuner_philips_pal_mk_pal_ranges, |
641 | .count = ARRAY_SIZE(tuner_philips_pal_mk_pal_ranges), |
642 | }, |
643 | }; |
644 | |
645 | /* ---- TUNER_PHILIPS_FCV1236D - Philips FCV1236D (ATSC/NTSC) ---- */ |
646 | |
647 | static struct tuner_range tuner_philips_fcv1236d_ntsc_ranges[] = { |
648 | { 16 * 157.25 /*MHz*/, 0x8e, 0xa2, }, |
649 | { 16 * 451.25 /*MHz*/, 0x8e, 0x92, }, |
650 | { 16 * 999.99 , 0x8e, 0x32, }, |
651 | }; |
652 | |
653 | static struct tuner_range tuner_philips_fcv1236d_atsc_ranges[] = { |
654 | { 16 * 159.00 /*MHz*/, 0x8e, 0xa0, }, |
655 | { 16 * 453.00 /*MHz*/, 0x8e, 0x90, }, |
656 | { 16 * 999.99 , 0x8e, 0x30, }, |
657 | }; |
658 | |
659 | static struct tuner_params tuner_philips_fcv1236d_params[] = { |
660 | { |
661 | .type = TUNER_PARAM_TYPE_NTSC, |
662 | .ranges = tuner_philips_fcv1236d_ntsc_ranges, |
663 | .count = ARRAY_SIZE(tuner_philips_fcv1236d_ntsc_ranges), |
664 | }, |
665 | { |
666 | .type = TUNER_PARAM_TYPE_DIGITAL, |
667 | .ranges = tuner_philips_fcv1236d_atsc_ranges, |
668 | .count = ARRAY_SIZE(tuner_philips_fcv1236d_atsc_ranges), |
669 | .iffreq = 16 * 44.00, |
670 | }, |
671 | }; |
672 | |
673 | /* ------------ TUNER_PHILIPS_FM1236_MK3 - Philips NTSC ------------ */ |
674 | |
675 | static struct tuner_range tuner_fm1236_mk3_ntsc_ranges[] = { |
676 | { 16 * 160.00 /*MHz*/, 0x8e, 0x01, }, |
677 | { 16 * 442.00 /*MHz*/, 0x8e, 0x02, }, |
678 | { 16 * 999.99 , 0x8e, 0x04, }, |
679 | }; |
680 | |
681 | static struct tuner_params tuner_fm1236_mk3_params[] = { |
682 | { |
683 | .type = TUNER_PARAM_TYPE_NTSC, |
684 | .ranges = tuner_fm1236_mk3_ntsc_ranges, |
685 | .count = ARRAY_SIZE(tuner_fm1236_mk3_ntsc_ranges), |
686 | .cb_first_if_lower_freq = 1, |
687 | .has_tda9887 = 1, |
688 | .port1_active = 1, |
689 | .port2_active = 1, |
690 | .port1_fm_high_sensitivity = 1, |
691 | }, |
692 | }; |
693 | |
694 | /* ------------ TUNER_PHILIPS_4IN1 - Philips NTSC ------------ */ |
695 | |
696 | static struct tuner_params tuner_philips_4in1_params[] = { |
697 | { |
698 | .type = TUNER_PARAM_TYPE_NTSC, |
699 | .ranges = tuner_fm1236_mk3_ntsc_ranges, |
700 | .count = ARRAY_SIZE(tuner_fm1236_mk3_ntsc_ranges), |
701 | }, |
702 | }; |
703 | |
704 | /* ------------ TUNER_MICROTUNE_4049FM5 - Microtune PAL ------------ */ |
705 | |
706 | static struct tuner_params tuner_microtune_4049_fm5_params[] = { |
707 | { |
708 | .type = TUNER_PARAM_TYPE_PAL, |
709 | .ranges = tuner_temic_4009f_5_pal_ranges, |
710 | .count = ARRAY_SIZE(tuner_temic_4009f_5_pal_ranges), |
711 | .has_tda9887 = 1, |
712 | .port1_invert_for_secam_lc = 1, |
713 | .default_pll_gating_18 = 1, |
714 | .fm_gain_normal=1, |
715 | .radio_if = 1, /* 33.3 MHz */ |
716 | }, |
717 | }; |
718 | |
719 | /* ------------ TUNER_PANASONIC_VP27 - Panasonic NTSC ------------ */ |
720 | |
721 | static struct tuner_range tuner_panasonic_vp27_ntsc_ranges[] = { |
722 | { 16 * 160.00 /*MHz*/, 0xce, 0x01, }, |
723 | { 16 * 454.00 /*MHz*/, 0xce, 0x02, }, |
724 | { 16 * 999.99 , 0xce, 0x08, }, |
725 | }; |
726 | |
727 | static struct tuner_params tuner_panasonic_vp27_params[] = { |
728 | { |
729 | .type = TUNER_PARAM_TYPE_NTSC, |
730 | .ranges = tuner_panasonic_vp27_ntsc_ranges, |
731 | .count = ARRAY_SIZE(tuner_panasonic_vp27_ntsc_ranges), |
732 | .has_tda9887 = 1, |
733 | .intercarrier_mode = 1, |
734 | .default_top_low = -3, |
735 | .default_top_mid = -3, |
736 | .default_top_high = -3, |
737 | }, |
738 | }; |
739 | |
740 | /* ------------ TUNER_TNF_8831BGFF - Philips PAL ------------ */ |
741 | |
742 | static struct tuner_range tuner_tnf_8831bgff_pal_ranges[] = { |
743 | { 16 * 161.25 /*MHz*/, 0x8e, 0xa0, }, |
744 | { 16 * 463.25 /*MHz*/, 0x8e, 0x90, }, |
745 | { 16 * 999.99 , 0x8e, 0x30, }, |
746 | }; |
747 | |
748 | static struct tuner_params tuner_tnf_8831bgff_params[] = { |
749 | { |
750 | .type = TUNER_PARAM_TYPE_PAL, |
751 | .ranges = tuner_tnf_8831bgff_pal_ranges, |
752 | .count = ARRAY_SIZE(tuner_tnf_8831bgff_pal_ranges), |
753 | }, |
754 | }; |
755 | |
756 | /* ------------ TUNER_MICROTUNE_4042FI5 - Microtune NTSC ------------ */ |
757 | |
758 | static struct tuner_range tuner_microtune_4042fi5_ntsc_ranges[] = { |
759 | { 16 * 162.00 /*MHz*/, 0x8e, 0xa2, }, |
760 | { 16 * 457.00 /*MHz*/, 0x8e, 0x94, }, |
761 | { 16 * 999.99 , 0x8e, 0x31, }, |
762 | }; |
763 | |
764 | static struct tuner_range tuner_microtune_4042fi5_atsc_ranges[] = { |
765 | { 16 * 162.00 /*MHz*/, 0x8e, 0xa1, }, |
766 | { 16 * 457.00 /*MHz*/, 0x8e, 0x91, }, |
767 | { 16 * 999.99 , 0x8e, 0x31, }, |
768 | }; |
769 | |
770 | static struct tuner_params tuner_microtune_4042fi5_params[] = { |
771 | { |
772 | .type = TUNER_PARAM_TYPE_NTSC, |
773 | .ranges = tuner_microtune_4042fi5_ntsc_ranges, |
774 | .count = ARRAY_SIZE(tuner_microtune_4042fi5_ntsc_ranges), |
775 | }, |
776 | { |
777 | .type = TUNER_PARAM_TYPE_DIGITAL, |
778 | .ranges = tuner_microtune_4042fi5_atsc_ranges, |
779 | .count = ARRAY_SIZE(tuner_microtune_4042fi5_atsc_ranges), |
780 | .iffreq = 16 * 44.00 /*MHz*/, |
781 | }, |
782 | }; |
783 | |
784 | /* 50-59 */ |
785 | /* ------------ TUNER_TCL_2002N - TCL NTSC ------------ */ |
786 | |
787 | static struct tuner_range tuner_tcl_2002n_ntsc_ranges[] = { |
788 | { 16 * 172.00 /*MHz*/, 0x8e, 0x01, }, |
789 | { 16 * 448.00 /*MHz*/, 0x8e, 0x02, }, |
790 | { 16 * 999.99 , 0x8e, 0x08, }, |
791 | }; |
792 | |
793 | static struct tuner_params tuner_tcl_2002n_params[] = { |
794 | { |
795 | .type = TUNER_PARAM_TYPE_NTSC, |
796 | .ranges = tuner_tcl_2002n_ntsc_ranges, |
797 | .count = ARRAY_SIZE(tuner_tcl_2002n_ntsc_ranges), |
798 | .cb_first_if_lower_freq = 1, |
799 | }, |
800 | }; |
801 | |
802 | /* ------------ TUNER_PHILIPS_FM1256_IH3 - Philips PAL ------------ */ |
803 | |
804 | static struct tuner_params tuner_philips_fm1256_ih3_params[] = { |
805 | { |
806 | .type = TUNER_PARAM_TYPE_PAL, |
807 | .ranges = tuner_fm1236_mk3_ntsc_ranges, |
808 | .count = ARRAY_SIZE(tuner_fm1236_mk3_ntsc_ranges), |
809 | .radio_if = 1, /* 33.3 MHz */ |
810 | }, |
811 | }; |
812 | |
813 | /* ------------ TUNER_THOMSON_DTT7610 - THOMSON ATSC ------------ */ |
814 | |
815 | /* single range used for both ntsc and atsc */ |
816 | static struct tuner_range tuner_thomson_dtt7610_ntsc_ranges[] = { |
817 | { 16 * 157.25 /*MHz*/, 0x8e, 0x39, }, |
818 | { 16 * 454.00 /*MHz*/, 0x8e, 0x3a, }, |
819 | { 16 * 999.99 , 0x8e, 0x3c, }, |
820 | }; |
821 | |
822 | static struct tuner_params tuner_thomson_dtt7610_params[] = { |
823 | { |
824 | .type = TUNER_PARAM_TYPE_NTSC, |
825 | .ranges = tuner_thomson_dtt7610_ntsc_ranges, |
826 | .count = ARRAY_SIZE(tuner_thomson_dtt7610_ntsc_ranges), |
827 | }, |
828 | { |
829 | .type = TUNER_PARAM_TYPE_DIGITAL, |
830 | .ranges = tuner_thomson_dtt7610_ntsc_ranges, |
831 | .count = ARRAY_SIZE(tuner_thomson_dtt7610_ntsc_ranges), |
832 | .iffreq = 16 * 44.00 /*MHz*/, |
833 | }, |
834 | }; |
835 | |
836 | /* ------------ TUNER_PHILIPS_FQ1286 - Philips NTSC ------------ */ |
837 | |
838 | static struct tuner_range tuner_philips_fq1286_ntsc_ranges[] = { |
839 | { 16 * 160.00 /*MHz*/, 0x8e, 0x41, }, |
840 | { 16 * 454.00 /*MHz*/, 0x8e, 0x42, }, |
841 | { 16 * 999.99 , 0x8e, 0x04, }, |
842 | }; |
843 | |
844 | static struct tuner_params tuner_philips_fq1286_params[] = { |
845 | { |
846 | .type = TUNER_PARAM_TYPE_NTSC, |
847 | .ranges = tuner_philips_fq1286_ntsc_ranges, |
848 | .count = ARRAY_SIZE(tuner_philips_fq1286_ntsc_ranges), |
849 | }, |
850 | }; |
851 | |
852 | /* ------------ TUNER_TCL_2002MB - TCL PAL ------------ */ |
853 | |
854 | static struct tuner_range tuner_tcl_2002mb_pal_ranges[] = { |
855 | { 16 * 170.00 /*MHz*/, 0xce, 0x01, }, |
856 | { 16 * 450.00 /*MHz*/, 0xce, 0x02, }, |
857 | { 16 * 999.99 , 0xce, 0x08, }, |
858 | }; |
859 | |
860 | static struct tuner_params tuner_tcl_2002mb_params[] = { |
861 | { |
862 | .type = TUNER_PARAM_TYPE_PAL, |
863 | .ranges = tuner_tcl_2002mb_pal_ranges, |
864 | .count = ARRAY_SIZE(tuner_tcl_2002mb_pal_ranges), |
865 | }, |
866 | }; |
867 | |
868 | /* ------------ TUNER_PHILIPS_FQ1216AME_MK4 - Philips PAL ------------ */ |
869 | |
870 | static struct tuner_range tuner_philips_fq12_6a___mk4_pal_ranges[] = { |
871 | { 16 * 160.00 /*MHz*/, 0xce, 0x01, }, |
872 | { 16 * 442.00 /*MHz*/, 0xce, 0x02, }, |
873 | { 16 * 999.99 , 0xce, 0x04, }, |
874 | }; |
875 | |
876 | static struct tuner_params tuner_philips_fq1216ame_mk4_params[] = { |
877 | { |
878 | .type = TUNER_PARAM_TYPE_PAL, |
879 | .ranges = tuner_philips_fq12_6a___mk4_pal_ranges, |
880 | .count = ARRAY_SIZE(tuner_philips_fq12_6a___mk4_pal_ranges), |
881 | .has_tda9887 = 1, |
882 | .port1_active = 1, |
883 | .port2_invert_for_secam_lc = 1, |
884 | .default_top_mid = -2, |
885 | .default_top_secam_low = -2, |
886 | .default_top_secam_mid = -2, |
887 | .default_top_secam_high = -2, |
888 | }, |
889 | }; |
890 | |
891 | /* ------------ TUNER_PHILIPS_FQ1236A_MK4 - Philips NTSC ------------ */ |
892 | |
893 | static struct tuner_params tuner_philips_fq1236a_mk4_params[] = { |
894 | { |
895 | .type = TUNER_PARAM_TYPE_NTSC, |
896 | .ranges = tuner_fm1236_mk3_ntsc_ranges, |
897 | .count = ARRAY_SIZE(tuner_fm1236_mk3_ntsc_ranges), |
898 | }, |
899 | }; |
900 | |
901 | /* ------------ TUNER_YMEC_TVF_8531MF - Philips NTSC ------------ */ |
902 | |
903 | static struct tuner_params tuner_ymec_tvf_8531mf_params[] = { |
904 | { |
905 | .type = TUNER_PARAM_TYPE_NTSC, |
906 | .ranges = tuner_philips_ntsc_m_ranges, |
907 | .count = ARRAY_SIZE(tuner_philips_ntsc_m_ranges), |
908 | }, |
909 | }; |
910 | |
911 | /* ------------ TUNER_YMEC_TVF_5533MF - Philips NTSC ------------ */ |
912 | |
913 | static struct tuner_range tuner_ymec_tvf_5533mf_ntsc_ranges[] = { |
914 | { 16 * 160.00 /*MHz*/, 0x8e, 0x01, }, |
915 | { 16 * 454.00 /*MHz*/, 0x8e, 0x02, }, |
916 | { 16 * 999.99 , 0x8e, 0x04, }, |
917 | }; |
918 | |
919 | static struct tuner_params tuner_ymec_tvf_5533mf_params[] = { |
920 | { |
921 | .type = TUNER_PARAM_TYPE_NTSC, |
922 | .ranges = tuner_ymec_tvf_5533mf_ntsc_ranges, |
923 | .count = ARRAY_SIZE(tuner_ymec_tvf_5533mf_ntsc_ranges), |
924 | }, |
925 | }; |
926 | |
927 | /* 60-69 */ |
928 | /* ------------ TUNER_THOMSON_DTT761X - THOMSON ATSC ------------ */ |
929 | /* DTT 7611 7611A 7612 7613 7613A 7614 7615 7615A */ |
930 | |
931 | static struct tuner_range tuner_thomson_dtt761x_ntsc_ranges[] = { |
932 | { 16 * 145.25 /*MHz*/, 0x8e, 0x39, }, |
933 | { 16 * 415.25 /*MHz*/, 0x8e, 0x3a, }, |
934 | { 16 * 999.99 , 0x8e, 0x3c, }, |
935 | }; |
936 | |
937 | static struct tuner_range tuner_thomson_dtt761x_atsc_ranges[] = { |
938 | { 16 * 147.00 /*MHz*/, 0x8e, 0x39, }, |
939 | { 16 * 417.00 /*MHz*/, 0x8e, 0x3a, }, |
940 | { 16 * 999.99 , 0x8e, 0x3c, }, |
941 | }; |
942 | |
943 | static struct tuner_params tuner_thomson_dtt761x_params[] = { |
944 | { |
945 | .type = TUNER_PARAM_TYPE_NTSC, |
946 | .ranges = tuner_thomson_dtt761x_ntsc_ranges, |
947 | .count = ARRAY_SIZE(tuner_thomson_dtt761x_ntsc_ranges), |
948 | .has_tda9887 = 1, |
949 | .fm_gain_normal = 1, |
950 | .radio_if = 2, /* 41.3 MHz */ |
951 | }, |
952 | { |
953 | .type = TUNER_PARAM_TYPE_DIGITAL, |
954 | .ranges = tuner_thomson_dtt761x_atsc_ranges, |
955 | .count = ARRAY_SIZE(tuner_thomson_dtt761x_atsc_ranges), |
956 | .iffreq = 16 * 44.00, /*MHz*/ |
957 | }, |
958 | }; |
959 | |
960 | /* ------------ TUNER_TENA_9533_DI - Philips PAL ------------ */ |
961 | |
962 | static struct tuner_range tuner_tena_9533_di_pal_ranges[] = { |
963 | { 16 * 160.25 /*MHz*/, 0x8e, 0x01, }, |
964 | { 16 * 464.25 /*MHz*/, 0x8e, 0x02, }, |
965 | { 16 * 999.99 , 0x8e, 0x04, }, |
966 | }; |
967 | |
968 | static struct tuner_params tuner_tena_9533_di_params[] = { |
969 | { |
970 | .type = TUNER_PARAM_TYPE_PAL, |
971 | .ranges = tuner_tena_9533_di_pal_ranges, |
972 | .count = ARRAY_SIZE(tuner_tena_9533_di_pal_ranges), |
973 | }, |
974 | }; |
975 | |
976 | /* ------------ TUNER_TENA_TNF_5337 - Tena tnf5337MFD STD M/N ------------ */ |
977 | |
978 | static struct tuner_range tuner_tena_tnf_5337_ntsc_ranges[] = { |
979 | { 16 * 166.25 /*MHz*/, 0x86, 0x01, }, |
980 | { 16 * 466.25 /*MHz*/, 0x86, 0x02, }, |
981 | { 16 * 999.99 , 0x86, 0x08, }, |
982 | }; |
983 | |
984 | static struct tuner_params tuner_tena_tnf_5337_params[] = { |
985 | { |
986 | .type = TUNER_PARAM_TYPE_NTSC, |
987 | .ranges = tuner_tena_tnf_5337_ntsc_ranges, |
988 | .count = ARRAY_SIZE(tuner_tena_tnf_5337_ntsc_ranges), |
989 | }, |
990 | }; |
991 | |
992 | /* ------------ TUNER_PHILIPS_FMD1216ME(X)_MK3 - Philips PAL ------------ */ |
993 | |
994 | static struct tuner_range tuner_philips_fmd1216me_mk3_pal_ranges[] = { |
995 | { 16 * 160.00 /*MHz*/, 0x86, 0x51, }, |
996 | { 16 * 442.00 /*MHz*/, 0x86, 0x52, }, |
997 | { 16 * 999.99 , 0x86, 0x54, }, |
998 | }; |
999 | |
1000 | static struct tuner_range tuner_philips_fmd1216me_mk3_dvb_ranges[] = { |
1001 | { 16 * 143.87 /*MHz*/, 0xbc, 0x41 }, |
1002 | { 16 * 158.87 /*MHz*/, 0xf4, 0x41 }, |
1003 | { 16 * 329.87 /*MHz*/, 0xbc, 0x42 }, |
1004 | { 16 * 441.87 /*MHz*/, 0xf4, 0x42 }, |
1005 | { 16 * 625.87 /*MHz*/, 0xbc, 0x44 }, |
1006 | { 16 * 803.87 /*MHz*/, 0xf4, 0x44 }, |
1007 | { 16 * 999.99 , 0xfc, 0x44 }, |
1008 | }; |
1009 | |
1010 | static struct tuner_params tuner_philips_fmd1216me_mk3_params[] = { |
1011 | { |
1012 | .type = TUNER_PARAM_TYPE_PAL, |
1013 | .ranges = tuner_philips_fmd1216me_mk3_pal_ranges, |
1014 | .count = ARRAY_SIZE(tuner_philips_fmd1216me_mk3_pal_ranges), |
1015 | .has_tda9887 = 1, |
1016 | .port1_active = 1, |
1017 | .port2_active = 1, |
1018 | .port2_fm_high_sensitivity = 1, |
1019 | .port2_invert_for_secam_lc = 1, |
1020 | .port1_set_for_fm_mono = 1, |
1021 | }, |
1022 | { |
1023 | .type = TUNER_PARAM_TYPE_DIGITAL, |
1024 | .ranges = tuner_philips_fmd1216me_mk3_dvb_ranges, |
1025 | .count = ARRAY_SIZE(tuner_philips_fmd1216me_mk3_dvb_ranges), |
1026 | .iffreq = 16 * 36.125, /*MHz*/ |
1027 | }, |
1028 | }; |
1029 | |
1030 | static struct tuner_params tuner_philips_fmd1216mex_mk3_params[] = { |
1031 | { |
1032 | .type = TUNER_PARAM_TYPE_PAL, |
1033 | .ranges = tuner_philips_fmd1216me_mk3_pal_ranges, |
1034 | .count = ARRAY_SIZE(tuner_philips_fmd1216me_mk3_pal_ranges), |
1035 | .has_tda9887 = 1, |
1036 | .port1_active = 1, |
1037 | .port2_active = 1, |
1038 | .port2_fm_high_sensitivity = 1, |
1039 | .port2_invert_for_secam_lc = 1, |
1040 | .port1_set_for_fm_mono = 1, |
1041 | .radio_if = 1, |
1042 | .fm_gain_normal = 1, |
1043 | }, |
1044 | { |
1045 | .type = TUNER_PARAM_TYPE_DIGITAL, |
1046 | .ranges = tuner_philips_fmd1216me_mk3_dvb_ranges, |
1047 | .count = ARRAY_SIZE(tuner_philips_fmd1216me_mk3_dvb_ranges), |
1048 | .iffreq = 16 * 36.125, /*MHz*/ |
1049 | }, |
1050 | }; |
1051 | |
1052 | /* ------ TUNER_LG_TDVS_H06XF - LG INNOTEK / INFINEON ATSC ----- */ |
1053 | |
1054 | static struct tuner_range tuner_tua6034_ntsc_ranges[] = { |
1055 | { 16 * 165.00 /*MHz*/, 0x8e, 0x01 }, |
1056 | { 16 * 450.00 /*MHz*/, 0x8e, 0x02 }, |
1057 | { 16 * 999.99 , 0x8e, 0x04 }, |
1058 | }; |
1059 | |
1060 | static struct tuner_range tuner_tua6034_atsc_ranges[] = { |
1061 | { 16 * 165.00 /*MHz*/, 0xce, 0x01 }, |
1062 | { 16 * 450.00 /*MHz*/, 0xce, 0x02 }, |
1063 | { 16 * 999.99 , 0xce, 0x04 }, |
1064 | }; |
1065 | |
1066 | static struct tuner_params tuner_lg_tdvs_h06xf_params[] = { |
1067 | { |
1068 | .type = TUNER_PARAM_TYPE_NTSC, |
1069 | .ranges = tuner_tua6034_ntsc_ranges, |
1070 | .count = ARRAY_SIZE(tuner_tua6034_ntsc_ranges), |
1071 | }, |
1072 | { |
1073 | .type = TUNER_PARAM_TYPE_DIGITAL, |
1074 | .ranges = tuner_tua6034_atsc_ranges, |
1075 | .count = ARRAY_SIZE(tuner_tua6034_atsc_ranges), |
1076 | .iffreq = 16 * 44.00, |
1077 | }, |
1078 | }; |
1079 | |
1080 | /* ------------ TUNER_YMEC_TVF66T5_B_DFF - Philips PAL ------------ */ |
1081 | |
1082 | static struct tuner_range tuner_ymec_tvf66t5_b_dff_pal_ranges[] = { |
1083 | { 16 * 160.25 /*MHz*/, 0x8e, 0x01, }, |
1084 | { 16 * 464.25 /*MHz*/, 0x8e, 0x02, }, |
1085 | { 16 * 999.99 , 0x8e, 0x08, }, |
1086 | }; |
1087 | |
1088 | static struct tuner_params tuner_ymec_tvf66t5_b_dff_params[] = { |
1089 | { |
1090 | .type = TUNER_PARAM_TYPE_PAL, |
1091 | .ranges = tuner_ymec_tvf66t5_b_dff_pal_ranges, |
1092 | .count = ARRAY_SIZE(tuner_ymec_tvf66t5_b_dff_pal_ranges), |
1093 | }, |
1094 | }; |
1095 | |
1096 | /* ------------ TUNER_LG_NTSC_TALN_MINI - LGINNOTEK NTSC ------------ */ |
1097 | |
1098 | static struct tuner_range tuner_lg_taln_ntsc_ranges[] = { |
1099 | { 16 * 137.25 /*MHz*/, 0x8e, 0x01, }, |
1100 | { 16 * 373.25 /*MHz*/, 0x8e, 0x02, }, |
1101 | { 16 * 999.99 , 0x8e, 0x08, }, |
1102 | }; |
1103 | |
1104 | static struct tuner_range tuner_lg_taln_pal_secam_ranges[] = { |
1105 | { 16 * 150.00 /*MHz*/, 0x8e, 0x01, }, |
1106 | { 16 * 425.00 /*MHz*/, 0x8e, 0x02, }, |
1107 | { 16 * 999.99 , 0x8e, 0x08, }, |
1108 | }; |
1109 | |
1110 | static struct tuner_params tuner_lg_taln_params[] = { |
1111 | { |
1112 | .type = TUNER_PARAM_TYPE_NTSC, |
1113 | .ranges = tuner_lg_taln_ntsc_ranges, |
1114 | .count = ARRAY_SIZE(tuner_lg_taln_ntsc_ranges), |
1115 | },{ |
1116 | .type = TUNER_PARAM_TYPE_PAL, |
1117 | .ranges = tuner_lg_taln_pal_secam_ranges, |
1118 | .count = ARRAY_SIZE(tuner_lg_taln_pal_secam_ranges), |
1119 | }, |
1120 | }; |
1121 | |
1122 | /* ------------ TUNER_PHILIPS_TD1316 - Philips PAL ------------ */ |
1123 | |
1124 | static struct tuner_range tuner_philips_td1316_pal_ranges[] = { |
1125 | { 16 * 160.00 /*MHz*/, 0xc8, 0xa1, }, |
1126 | { 16 * 442.00 /*MHz*/, 0xc8, 0xa2, }, |
1127 | { 16 * 999.99 , 0xc8, 0xa4, }, |
1128 | }; |
1129 | |
1130 | static struct tuner_range tuner_philips_td1316_dvb_ranges[] = { |
1131 | { 16 * 93.834 /*MHz*/, 0xca, 0x60, }, |
1132 | { 16 * 123.834 /*MHz*/, 0xca, 0xa0, }, |
1133 | { 16 * 163.834 /*MHz*/, 0xca, 0xc0, }, |
1134 | { 16 * 253.834 /*MHz*/, 0xca, 0x60, }, |
1135 | { 16 * 383.834 /*MHz*/, 0xca, 0xa0, }, |
1136 | { 16 * 443.834 /*MHz*/, 0xca, 0xc0, }, |
1137 | { 16 * 583.834 /*MHz*/, 0xca, 0x60, }, |
1138 | { 16 * 793.834 /*MHz*/, 0xca, 0xa0, }, |
1139 | { 16 * 999.999 , 0xca, 0xe0, }, |
1140 | }; |
1141 | |
1142 | static struct tuner_params tuner_philips_td1316_params[] = { |
1143 | { |
1144 | .type = TUNER_PARAM_TYPE_PAL, |
1145 | .ranges = tuner_philips_td1316_pal_ranges, |
1146 | .count = ARRAY_SIZE(tuner_philips_td1316_pal_ranges), |
1147 | }, |
1148 | { |
1149 | .type = TUNER_PARAM_TYPE_DIGITAL, |
1150 | .ranges = tuner_philips_td1316_dvb_ranges, |
1151 | .count = ARRAY_SIZE(tuner_philips_td1316_dvb_ranges), |
1152 | .iffreq = 16 * 36.166667 /*MHz*/, |
1153 | }, |
1154 | }; |
1155 | |
1156 | /* ------------ TUNER_PHILIPS_TUV1236D - Philips ATSC ------------ */ |
1157 | |
1158 | static struct tuner_range tuner_tuv1236d_ntsc_ranges[] = { |
1159 | { 16 * 157.25 /*MHz*/, 0xce, 0x01, }, |
1160 | { 16 * 454.00 /*MHz*/, 0xce, 0x02, }, |
1161 | { 16 * 999.99 , 0xce, 0x04, }, |
1162 | }; |
1163 | |
1164 | static struct tuner_range tuner_tuv1236d_atsc_ranges[] = { |
1165 | { 16 * 157.25 /*MHz*/, 0xc6, 0x41, }, |
1166 | { 16 * 454.00 /*MHz*/, 0xc6, 0x42, }, |
1167 | { 16 * 999.99 , 0xc6, 0x44, }, |
1168 | }; |
1169 | |
1170 | static struct tuner_params tuner_tuv1236d_params[] = { |
1171 | { |
1172 | .type = TUNER_PARAM_TYPE_NTSC, |
1173 | .ranges = tuner_tuv1236d_ntsc_ranges, |
1174 | .count = ARRAY_SIZE(tuner_tuv1236d_ntsc_ranges), |
1175 | }, |
1176 | { |
1177 | .type = TUNER_PARAM_TYPE_DIGITAL, |
1178 | .ranges = tuner_tuv1236d_atsc_ranges, |
1179 | .count = ARRAY_SIZE(tuner_tuv1236d_atsc_ranges), |
1180 | .iffreq = 16 * 44.00, |
1181 | }, |
1182 | }; |
1183 | |
1184 | /* ------------ TUNER_TNF_xxx5 - Texas Instruments--------- */ |
1185 | /* This is known to work with Tenna TVF58t5-MFF and TVF5835 MFF |
1186 | * but it is expected to work also with other Tenna/Ymec |
1187 | * models based on TI SN 761677 chip on both PAL and NTSC |
1188 | */ |
1189 | |
1190 | static struct tuner_range tuner_tnf_5335_d_if_pal_ranges[] = { |
1191 | { 16 * 168.25 /*MHz*/, 0x8e, 0x01, }, |
1192 | { 16 * 471.25 /*MHz*/, 0x8e, 0x02, }, |
1193 | { 16 * 999.99 , 0x8e, 0x08, }, |
1194 | }; |
1195 | |
1196 | static struct tuner_range tuner_tnf_5335mf_ntsc_ranges[] = { |
1197 | { 16 * 169.25 /*MHz*/, 0x8e, 0x01, }, |
1198 | { 16 * 469.25 /*MHz*/, 0x8e, 0x02, }, |
1199 | { 16 * 999.99 , 0x8e, 0x08, }, |
1200 | }; |
1201 | |
1202 | static struct tuner_params tuner_tnf_5335mf_params[] = { |
1203 | { |
1204 | .type = TUNER_PARAM_TYPE_NTSC, |
1205 | .ranges = tuner_tnf_5335mf_ntsc_ranges, |
1206 | .count = ARRAY_SIZE(tuner_tnf_5335mf_ntsc_ranges), |
1207 | }, |
1208 | { |
1209 | .type = TUNER_PARAM_TYPE_PAL, |
1210 | .ranges = tuner_tnf_5335_d_if_pal_ranges, |
1211 | .count = ARRAY_SIZE(tuner_tnf_5335_d_if_pal_ranges), |
1212 | }, |
1213 | }; |
1214 | |
1215 | /* 70-79 */ |
1216 | /* ------------ TUNER_SAMSUNG_TCPN_2121P30A - Samsung NTSC ------------ */ |
1217 | |
1218 | /* '+ 4' turns on the Low Noise Amplifier */ |
1219 | static struct tuner_range tuner_samsung_tcpn_2121p30a_ntsc_ranges[] = { |
1220 | { 16 * 130.00 /*MHz*/, 0xce, 0x01 + 4, }, |
1221 | { 16 * 364.50 /*MHz*/, 0xce, 0x02 + 4, }, |
1222 | { 16 * 999.99 , 0xce, 0x08 + 4, }, |
1223 | }; |
1224 | |
1225 | static struct tuner_params tuner_samsung_tcpn_2121p30a_params[] = { |
1226 | { |
1227 | .type = TUNER_PARAM_TYPE_NTSC, |
1228 | .ranges = tuner_samsung_tcpn_2121p30a_ntsc_ranges, |
1229 | .count = ARRAY_SIZE(tuner_samsung_tcpn_2121p30a_ntsc_ranges), |
1230 | }, |
1231 | }; |
1232 | |
1233 | /* ------------ TUNER_THOMSON_FE6600 - DViCO Hybrid PAL ------------ */ |
1234 | |
1235 | static struct tuner_range tuner_thomson_fe6600_pal_ranges[] = { |
1236 | { 16 * 160.00 /*MHz*/, 0xfe, 0x11, }, |
1237 | { 16 * 442.00 /*MHz*/, 0xf6, 0x12, }, |
1238 | { 16 * 999.99 , 0xf6, 0x18, }, |
1239 | }; |
1240 | |
1241 | static struct tuner_range tuner_thomson_fe6600_dvb_ranges[] = { |
1242 | { 16 * 250.00 /*MHz*/, 0xb4, 0x12, }, |
1243 | { 16 * 455.00 /*MHz*/, 0xfe, 0x11, }, |
1244 | { 16 * 775.50 /*MHz*/, 0xbc, 0x18, }, |
1245 | { 16 * 999.99 , 0xf4, 0x18, }, |
1246 | }; |
1247 | |
1248 | static struct tuner_params tuner_thomson_fe6600_params[] = { |
1249 | { |
1250 | .type = TUNER_PARAM_TYPE_PAL, |
1251 | .ranges = tuner_thomson_fe6600_pal_ranges, |
1252 | .count = ARRAY_SIZE(tuner_thomson_fe6600_pal_ranges), |
1253 | }, |
1254 | { |
1255 | .type = TUNER_PARAM_TYPE_DIGITAL, |
1256 | .ranges = tuner_thomson_fe6600_dvb_ranges, |
1257 | .count = ARRAY_SIZE(tuner_thomson_fe6600_dvb_ranges), |
1258 | .iffreq = 16 * 36.125 /*MHz*/, |
1259 | }, |
1260 | }; |
1261 | |
1262 | /* ------------ TUNER_SAMSUNG_TCPG_6121P30A - Samsung PAL ------------ */ |
1263 | |
1264 | /* '+ 4' turns on the Low Noise Amplifier */ |
1265 | static struct tuner_range tuner_samsung_tcpg_6121p30a_pal_ranges[] = { |
1266 | { 16 * 146.25 /*MHz*/, 0xce, 0x01 + 4, }, |
1267 | { 16 * 428.50 /*MHz*/, 0xce, 0x02 + 4, }, |
1268 | { 16 * 999.99 , 0xce, 0x08 + 4, }, |
1269 | }; |
1270 | |
1271 | static struct tuner_params tuner_samsung_tcpg_6121p30a_params[] = { |
1272 | { |
1273 | .type = TUNER_PARAM_TYPE_PAL, |
1274 | .ranges = tuner_samsung_tcpg_6121p30a_pal_ranges, |
1275 | .count = ARRAY_SIZE(tuner_samsung_tcpg_6121p30a_pal_ranges), |
1276 | .has_tda9887 = 1, |
1277 | .port1_active = 1, |
1278 | .port2_active = 1, |
1279 | .port2_invert_for_secam_lc = 1, |
1280 | }, |
1281 | }; |
1282 | |
1283 | /* ------------ TUNER_TCL_MF02GIP-5N-E - TCL MF02GIP-5N ------------ */ |
1284 | |
1285 | static struct tuner_range tuner_tcl_mf02gip_5n_ntsc_ranges[] = { |
1286 | { 16 * 172.00 /*MHz*/, 0x8e, 0x01, }, |
1287 | { 16 * 448.00 /*MHz*/, 0x8e, 0x02, }, |
1288 | { 16 * 999.99 , 0x8e, 0x04, }, |
1289 | }; |
1290 | |
1291 | static struct tuner_params tuner_tcl_mf02gip_5n_params[] = { |
1292 | { |
1293 | .type = TUNER_PARAM_TYPE_NTSC, |
1294 | .ranges = tuner_tcl_mf02gip_5n_ntsc_ranges, |
1295 | .count = ARRAY_SIZE(tuner_tcl_mf02gip_5n_ntsc_ranges), |
1296 | .cb_first_if_lower_freq = 1, |
1297 | }, |
1298 | }; |
1299 | |
1300 | /* 80-89 */ |
1301 | /* --------- TUNER_PHILIPS_FQ1216LME_MK3 -- active loopthrough, no FM ------- */ |
1302 | |
1303 | static struct tuner_params tuner_fq1216lme_mk3_params[] = { |
1304 | { |
1305 | .type = TUNER_PARAM_TYPE_PAL, |
1306 | .ranges = tuner_fm1216me_mk3_pal_ranges, |
1307 | .count = ARRAY_SIZE(tuner_fm1216me_mk3_pal_ranges), |
1308 | .cb_first_if_lower_freq = 1, /* not specified, but safe to do */ |
1309 | .has_tda9887 = 1, /* TDA9886 */ |
1310 | .port1_active = 1, |
1311 | .port2_active = 1, |
1312 | .port2_invert_for_secam_lc = 1, |
1313 | .default_top_low = 4, |
1314 | .default_top_mid = 4, |
1315 | .default_top_high = 4, |
1316 | .default_top_secam_low = 4, |
1317 | .default_top_secam_mid = 4, |
1318 | .default_top_secam_high = 4, |
1319 | }, |
1320 | }; |
1321 | |
1322 | /* ----- TUNER_PARTSNIC_PTI_5NF05 - Partsnic (Daewoo) PTI-5NF05 NTSC ----- */ |
1323 | |
1324 | static struct tuner_range tuner_partsnic_pti_5nf05_ranges[] = { |
1325 | /* The datasheet specified channel ranges and the bandswitch byte */ |
1326 | /* The control byte value of 0x8e is just a guess */ |
1327 | { 16 * 133.25 /*MHz*/, 0x8e, 0x01, }, /* Channels 2 - B */ |
1328 | { 16 * 367.25 /*MHz*/, 0x8e, 0x02, }, /* Channels C - W+11 */ |
1329 | { 16 * 999.99 , 0x8e, 0x08, }, /* Channels W+12 - 69 */ |
1330 | }; |
1331 | |
1332 | static struct tuner_params tuner_partsnic_pti_5nf05_params[] = { |
1333 | { |
1334 | .type = TUNER_PARAM_TYPE_NTSC, |
1335 | .ranges = tuner_partsnic_pti_5nf05_ranges, |
1336 | .count = ARRAY_SIZE(tuner_partsnic_pti_5nf05_ranges), |
1337 | .cb_first_if_lower_freq = 1, /* not specified but safe to do */ |
1338 | }, |
1339 | }; |
1340 | |
1341 | /* --------- TUNER_PHILIPS_CU1216L - DVB-C NIM ------------------------- */ |
1342 | |
1343 | static struct tuner_range tuner_cu1216l_ranges[] = { |
1344 | { 16 * 160.25 /*MHz*/, 0xce, 0x01 }, |
1345 | { 16 * 444.25 /*MHz*/, 0xce, 0x02 }, |
1346 | { 16 * 999.99 , 0xce, 0x04 }, |
1347 | }; |
1348 | |
1349 | static struct tuner_params tuner_philips_cu1216l_params[] = { |
1350 | { |
1351 | .type = TUNER_PARAM_TYPE_DIGITAL, |
1352 | .ranges = tuner_cu1216l_ranges, |
1353 | .count = ARRAY_SIZE(tuner_cu1216l_ranges), |
1354 | .iffreq = 16 * 36.125, /*MHz*/ |
1355 | }, |
1356 | }; |
1357 | |
1358 | /* ---------------------- TUNER_SONY_BTF_PXN01Z ------------------------ */ |
1359 | |
1360 | static struct tuner_range tuner_sony_btf_pxn01z_ranges[] = { |
1361 | { 16 * 137.25 /*MHz*/, 0x8e, 0x01, }, |
1362 | { 16 * 367.25 /*MHz*/, 0x8e, 0x02, }, |
1363 | { 16 * 999.99 , 0x8e, 0x04, }, |
1364 | }; |
1365 | |
1366 | static struct tuner_params tuner_sony_btf_pxn01z_params[] = { |
1367 | { |
1368 | .type = TUNER_PARAM_TYPE_NTSC, |
1369 | .ranges = tuner_sony_btf_pxn01z_ranges, |
1370 | .count = ARRAY_SIZE(tuner_sony_btf_pxn01z_ranges), |
1371 | }, |
1372 | }; |
1373 | |
1374 | /* ------------ TUNER_PHILIPS_FQ1236_MK5 - Philips NTSC ------------ */ |
1375 | |
1376 | static struct tuner_params tuner_philips_fq1236_mk5_params[] = { |
1377 | { |
1378 | .type = TUNER_PARAM_TYPE_NTSC, |
1379 | .ranges = tuner_fm1236_mk3_ntsc_ranges, |
1380 | .count = ARRAY_SIZE(tuner_fm1236_mk3_ntsc_ranges), |
1381 | .has_tda9887 = 1, /* TDA9885, no FM radio */ |
1382 | }, |
1383 | }; |
1384 | |
1385 | /* --------- Sony BTF-PG472Z PAL/SECAM ------- */ |
1386 | |
1387 | static struct tuner_range tuner_sony_btf_pg472z_ranges[] = { |
1388 | { 16 * 144.25 /*MHz*/, 0xc6, 0x01, }, |
1389 | { 16 * 427.25 /*MHz*/, 0xc6, 0x02, }, |
1390 | { 16 * 999.99 , 0xc6, 0x04, }, |
1391 | }; |
1392 | |
1393 | static struct tuner_params tuner_sony_btf_pg472z_params[] = { |
1394 | { |
1395 | .type = TUNER_PARAM_TYPE_PAL, |
1396 | .ranges = tuner_sony_btf_pg472z_ranges, |
1397 | .count = ARRAY_SIZE(tuner_sony_btf_pg472z_ranges), |
1398 | .has_tda9887 = 1, |
1399 | .port1_active = 1, |
1400 | .port2_invert_for_secam_lc = 1, |
1401 | }, |
1402 | }; |
1403 | |
1404 | /* 90-99 */ |
1405 | /* --------- Sony BTF-PG467Z NTSC-M-JP ------- */ |
1406 | |
1407 | static struct tuner_range tuner_sony_btf_pg467z_ranges[] = { |
1408 | { 16 * 220.25 /*MHz*/, 0xc6, 0x01, }, |
1409 | { 16 * 467.25 /*MHz*/, 0xc6, 0x02, }, |
1410 | { 16 * 999.99 , 0xc6, 0x04, }, |
1411 | }; |
1412 | |
1413 | static struct tuner_params tuner_sony_btf_pg467z_params[] = { |
1414 | { |
1415 | .type = TUNER_PARAM_TYPE_NTSC, |
1416 | .ranges = tuner_sony_btf_pg467z_ranges, |
1417 | .count = ARRAY_SIZE(tuner_sony_btf_pg467z_ranges), |
1418 | }, |
1419 | }; |
1420 | |
1421 | /* --------- Sony BTF-PG463Z NTSC-M ------- */ |
1422 | |
1423 | static struct tuner_range tuner_sony_btf_pg463z_ranges[] = { |
1424 | { 16 * 130.25 /*MHz*/, 0xc6, 0x01, }, |
1425 | { 16 * 364.25 /*MHz*/, 0xc6, 0x02, }, |
1426 | { 16 * 999.99 , 0xc6, 0x04, }, |
1427 | }; |
1428 | |
1429 | static struct tuner_params tuner_sony_btf_pg463z_params[] = { |
1430 | { |
1431 | .type = TUNER_PARAM_TYPE_NTSC, |
1432 | .ranges = tuner_sony_btf_pg463z_ranges, |
1433 | .count = ARRAY_SIZE(tuner_sony_btf_pg463z_ranges), |
1434 | }, |
1435 | }; |
1436 | |
1437 | /* --------------------------------------------------------------------- */ |
1438 | |
1439 | struct tunertype tuners[] = { |
1440 | /* 0-9 */ |
1441 | [TUNER_TEMIC_PAL] = { /* TEMIC PAL */ |
1442 | .name = "Temic PAL (4002 FH5)" , |
1443 | .params = tuner_temic_pal_params, |
1444 | .count = ARRAY_SIZE(tuner_temic_pal_params), |
1445 | }, |
1446 | [TUNER_PHILIPS_PAL_I] = { /* Philips PAL_I */ |
1447 | .name = "Philips PAL_I (FI1246 and compatibles)" , |
1448 | .params = tuner_philips_pal_i_params, |
1449 | .count = ARRAY_SIZE(tuner_philips_pal_i_params), |
1450 | }, |
1451 | [TUNER_PHILIPS_NTSC] = { /* Philips NTSC */ |
1452 | .name = "Philips NTSC (FI1236,FM1236 and compatibles)" , |
1453 | .params = tuner_philips_ntsc_params, |
1454 | .count = ARRAY_SIZE(tuner_philips_ntsc_params), |
1455 | }, |
1456 | [TUNER_PHILIPS_SECAM] = { /* Philips SECAM */ |
1457 | .name = "Philips (SECAM+PAL_BG) (FI1216MF, FM1216MF, FR1216MF)" , |
1458 | .params = tuner_philips_secam_params, |
1459 | .count = ARRAY_SIZE(tuner_philips_secam_params), |
1460 | }, |
1461 | [TUNER_ABSENT] = { /* Tuner Absent */ |
1462 | .name = "NoTuner" , |
1463 | }, |
1464 | [TUNER_PHILIPS_PAL] = { /* Philips PAL */ |
1465 | .name = "Philips PAL_BG (FI1216 and compatibles)" , |
1466 | .params = tuner_philips_pal_params, |
1467 | .count = ARRAY_SIZE(tuner_philips_pal_params), |
1468 | }, |
1469 | [TUNER_TEMIC_NTSC] = { /* TEMIC NTSC */ |
1470 | .name = "Temic NTSC (4032 FY5)" , |
1471 | .params = tuner_temic_ntsc_params, |
1472 | .count = ARRAY_SIZE(tuner_temic_ntsc_params), |
1473 | }, |
1474 | [TUNER_TEMIC_PAL_I] = { /* TEMIC PAL_I */ |
1475 | .name = "Temic PAL_I (4062 FY5)" , |
1476 | .params = tuner_temic_pal_i_params, |
1477 | .count = ARRAY_SIZE(tuner_temic_pal_i_params), |
1478 | }, |
1479 | [TUNER_TEMIC_4036FY5_NTSC] = { /* TEMIC NTSC */ |
1480 | .name = "Temic NTSC (4036 FY5)" , |
1481 | .params = tuner_temic_4036fy5_ntsc_params, |
1482 | .count = ARRAY_SIZE(tuner_temic_4036fy5_ntsc_params), |
1483 | }, |
1484 | [TUNER_ALPS_TSBH1_NTSC] = { /* TEMIC NTSC */ |
1485 | .name = "Alps HSBH1" , |
1486 | .params = tuner_alps_tsbh1_ntsc_params, |
1487 | .count = ARRAY_SIZE(tuner_alps_tsbh1_ntsc_params), |
1488 | }, |
1489 | |
1490 | /* 10-19 */ |
1491 | [TUNER_ALPS_TSBE1_PAL] = { /* TEMIC PAL */ |
1492 | .name = "Alps TSBE1" , |
1493 | .params = tuner_alps_tsb_1_params, |
1494 | .count = ARRAY_SIZE(tuner_alps_tsb_1_params), |
1495 | }, |
1496 | [TUNER_ALPS_TSBB5_PAL_I] = { /* Alps PAL_I */ |
1497 | .name = "Alps TSBB5" , |
1498 | .params = tuner_alps_tsbb5_params, |
1499 | .count = ARRAY_SIZE(tuner_alps_tsbb5_params), |
1500 | }, |
1501 | [TUNER_ALPS_TSBE5_PAL] = { /* Alps PAL */ |
1502 | .name = "Alps TSBE5" , |
1503 | .params = tuner_alps_tsbe5_params, |
1504 | .count = ARRAY_SIZE(tuner_alps_tsbe5_params), |
1505 | }, |
1506 | [TUNER_ALPS_TSBC5_PAL] = { /* Alps PAL */ |
1507 | .name = "Alps TSBC5" , |
1508 | .params = tuner_alps_tsbc5_params, |
1509 | .count = ARRAY_SIZE(tuner_alps_tsbc5_params), |
1510 | }, |
1511 | [TUNER_TEMIC_4006FH5_PAL] = { /* TEMIC PAL */ |
1512 | .name = "Temic PAL_BG (4006FH5)" , |
1513 | .params = tuner_temic_4006fh5_params, |
1514 | .count = ARRAY_SIZE(tuner_temic_4006fh5_params), |
1515 | }, |
1516 | [TUNER_ALPS_TSHC6_NTSC] = { /* Alps NTSC */ |
1517 | .name = "Alps TSCH6" , |
1518 | .params = tuner_alps_tshc6_params, |
1519 | .count = ARRAY_SIZE(tuner_alps_tshc6_params), |
1520 | }, |
1521 | [TUNER_TEMIC_PAL_DK] = { /* TEMIC PAL */ |
1522 | .name = "Temic PAL_DK (4016 FY5)" , |
1523 | .params = tuner_temic_pal_dk_params, |
1524 | .count = ARRAY_SIZE(tuner_temic_pal_dk_params), |
1525 | }, |
1526 | [TUNER_PHILIPS_NTSC_M] = { /* Philips NTSC */ |
1527 | .name = "Philips NTSC_M (MK2)" , |
1528 | .params = tuner_philips_ntsc_m_params, |
1529 | .count = ARRAY_SIZE(tuner_philips_ntsc_m_params), |
1530 | }, |
1531 | [TUNER_TEMIC_4066FY5_PAL_I] = { /* TEMIC PAL_I */ |
1532 | .name = "Temic PAL_I (4066 FY5)" , |
1533 | .params = tuner_temic_4066fy5_pal_i_params, |
1534 | .count = ARRAY_SIZE(tuner_temic_4066fy5_pal_i_params), |
1535 | }, |
1536 | [TUNER_TEMIC_4006FN5_MULTI_PAL] = { /* TEMIC PAL */ |
1537 | .name = "Temic PAL* auto (4006 FN5)" , |
1538 | .params = tuner_temic_4006fn5_multi_params, |
1539 | .count = ARRAY_SIZE(tuner_temic_4006fn5_multi_params), |
1540 | }, |
1541 | |
1542 | /* 20-29 */ |
1543 | [TUNER_TEMIC_4009FR5_PAL] = { /* TEMIC PAL */ |
1544 | .name = "Temic PAL_BG (4009 FR5) or PAL_I (4069 FR5)" , |
1545 | .params = tuner_temic_4009f_5_params, |
1546 | .count = ARRAY_SIZE(tuner_temic_4009f_5_params), |
1547 | }, |
1548 | [TUNER_TEMIC_4039FR5_NTSC] = { /* TEMIC NTSC */ |
1549 | .name = "Temic NTSC (4039 FR5)" , |
1550 | .params = tuner_temic_4039fr5_params, |
1551 | .count = ARRAY_SIZE(tuner_temic_4039fr5_params), |
1552 | }, |
1553 | [TUNER_TEMIC_4046FM5] = { /* TEMIC PAL */ |
1554 | .name = "Temic PAL/SECAM multi (4046 FM5)" , |
1555 | .params = tuner_temic_4046fm5_params, |
1556 | .count = ARRAY_SIZE(tuner_temic_4046fm5_params), |
1557 | }, |
1558 | [TUNER_PHILIPS_PAL_DK] = { /* Philips PAL */ |
1559 | .name = "Philips PAL_DK (FI1256 and compatibles)" , |
1560 | .params = tuner_philips_pal_dk_params, |
1561 | .count = ARRAY_SIZE(tuner_philips_pal_dk_params), |
1562 | }, |
1563 | [TUNER_PHILIPS_FQ1216ME] = { /* Philips PAL */ |
1564 | .name = "Philips PAL/SECAM multi (FQ1216ME)" , |
1565 | .params = tuner_philips_fq1216me_params, |
1566 | .count = ARRAY_SIZE(tuner_philips_fq1216me_params), |
1567 | }, |
1568 | [TUNER_LG_PAL_I_FM] = { /* LGINNOTEK PAL_I */ |
1569 | .name = "LG PAL_I+FM (TAPC-I001D)" , |
1570 | .params = tuner_lg_pal_i_fm_params, |
1571 | .count = ARRAY_SIZE(tuner_lg_pal_i_fm_params), |
1572 | }, |
1573 | [TUNER_LG_PAL_I] = { /* LGINNOTEK PAL_I */ |
1574 | .name = "LG PAL_I (TAPC-I701D)" , |
1575 | .params = tuner_lg_pal_i_params, |
1576 | .count = ARRAY_SIZE(tuner_lg_pal_i_params), |
1577 | }, |
1578 | [TUNER_LG_NTSC_FM] = { /* LGINNOTEK NTSC */ |
1579 | .name = "LG NTSC+FM (TPI8NSR01F)" , |
1580 | .params = tuner_lg_ntsc_fm_params, |
1581 | .count = ARRAY_SIZE(tuner_lg_ntsc_fm_params), |
1582 | }, |
1583 | [TUNER_LG_PAL_FM] = { /* LGINNOTEK PAL */ |
1584 | .name = "LG PAL_BG+FM (TPI8PSB01D)" , |
1585 | .params = tuner_lg_pal_fm_params, |
1586 | .count = ARRAY_SIZE(tuner_lg_pal_fm_params), |
1587 | }, |
1588 | [TUNER_LG_PAL] = { /* LGINNOTEK PAL */ |
1589 | .name = "LG PAL_BG (TPI8PSB11D)" , |
1590 | .params = tuner_lg_pal_params, |
1591 | .count = ARRAY_SIZE(tuner_lg_pal_params), |
1592 | }, |
1593 | |
1594 | /* 30-39 */ |
1595 | [TUNER_TEMIC_4009FN5_MULTI_PAL_FM] = { /* TEMIC PAL */ |
1596 | .name = "Temic PAL* auto + FM (4009 FN5)" , |
1597 | .params = tuner_temic_4009_fn5_multi_pal_fm_params, |
1598 | .count = ARRAY_SIZE(tuner_temic_4009_fn5_multi_pal_fm_params), |
1599 | }, |
1600 | [TUNER_SHARP_2U5JF5540_NTSC] = { /* SHARP NTSC */ |
1601 | .name = "SHARP NTSC_JP (2U5JF5540)" , |
1602 | .params = tuner_sharp_2u5jf5540_params, |
1603 | .count = ARRAY_SIZE(tuner_sharp_2u5jf5540_params), |
1604 | }, |
1605 | [TUNER_Samsung_PAL_TCPM9091PD27] = { /* Samsung PAL */ |
1606 | .name = "Samsung PAL TCPM9091PD27" , |
1607 | .params = tuner_samsung_pal_tcpm9091pd27_params, |
1608 | .count = ARRAY_SIZE(tuner_samsung_pal_tcpm9091pd27_params), |
1609 | }, |
1610 | [TUNER_MT2032] = { /* Microtune PAL|NTSC */ |
1611 | .name = "MT20xx universal" , |
1612 | /* see mt20xx.c for details */ }, |
1613 | [TUNER_TEMIC_4106FH5] = { /* TEMIC PAL */ |
1614 | .name = "Temic PAL_BG (4106 FH5)" , |
1615 | .params = tuner_temic_4106fh5_params, |
1616 | .count = ARRAY_SIZE(tuner_temic_4106fh5_params), |
1617 | }, |
1618 | [TUNER_TEMIC_4012FY5] = { /* TEMIC PAL */ |
1619 | .name = "Temic PAL_DK/SECAM_L (4012 FY5)" , |
1620 | .params = tuner_temic_4012fy5_params, |
1621 | .count = ARRAY_SIZE(tuner_temic_4012fy5_params), |
1622 | }, |
1623 | [TUNER_TEMIC_4136FY5] = { /* TEMIC NTSC */ |
1624 | .name = "Temic NTSC (4136 FY5)" , |
1625 | .params = tuner_temic_4136_fy5_params, |
1626 | .count = ARRAY_SIZE(tuner_temic_4136_fy5_params), |
1627 | }, |
1628 | [TUNER_LG_PAL_NEW_TAPC] = { /* LGINNOTEK PAL */ |
1629 | .name = "LG PAL (newer TAPC series)" , |
1630 | .params = tuner_lg_pal_new_tapc_params, |
1631 | .count = ARRAY_SIZE(tuner_lg_pal_new_tapc_params), |
1632 | }, |
1633 | [TUNER_PHILIPS_FM1216ME_MK3] = { /* Philips PAL */ |
1634 | .name = "Philips PAL/SECAM multi (FM1216ME MK3)" , |
1635 | .params = tuner_fm1216me_mk3_params, |
1636 | .count = ARRAY_SIZE(tuner_fm1216me_mk3_params), |
1637 | }, |
1638 | [TUNER_LG_NTSC_NEW_TAPC] = { /* LGINNOTEK NTSC */ |
1639 | .name = "LG NTSC (newer TAPC series)" , |
1640 | .params = tuner_lg_ntsc_new_tapc_params, |
1641 | .count = ARRAY_SIZE(tuner_lg_ntsc_new_tapc_params), |
1642 | }, |
1643 | |
1644 | /* 40-49 */ |
1645 | [TUNER_HITACHI_NTSC] = { /* HITACHI NTSC */ |
1646 | .name = "HITACHI V7-J180AT" , |
1647 | .params = tuner_hitachi_ntsc_params, |
1648 | .count = ARRAY_SIZE(tuner_hitachi_ntsc_params), |
1649 | }, |
1650 | [TUNER_PHILIPS_PAL_MK] = { /* Philips PAL */ |
1651 | .name = "Philips PAL_MK (FI1216 MK)" , |
1652 | .params = tuner_philips_pal_mk_params, |
1653 | .count = ARRAY_SIZE(tuner_philips_pal_mk_params), |
1654 | }, |
1655 | [TUNER_PHILIPS_FCV1236D] = { /* Philips ATSC */ |
1656 | .name = "Philips FCV1236D ATSC/NTSC dual in" , |
1657 | .params = tuner_philips_fcv1236d_params, |
1658 | .count = ARRAY_SIZE(tuner_philips_fcv1236d_params), |
1659 | .min = 16 * 53.00, |
1660 | .max = 16 * 803.00, |
1661 | .stepsize = 62500, |
1662 | }, |
1663 | [TUNER_PHILIPS_FM1236_MK3] = { /* Philips NTSC */ |
1664 | .name = "Philips NTSC MK3 (FM1236MK3 or FM1236/F)" , |
1665 | .params = tuner_fm1236_mk3_params, |
1666 | .count = ARRAY_SIZE(tuner_fm1236_mk3_params), |
1667 | }, |
1668 | [TUNER_PHILIPS_4IN1] = { /* Philips NTSC */ |
1669 | .name = "Philips 4 in 1 (ATI TV Wonder Pro/Conexant)" , |
1670 | .params = tuner_philips_4in1_params, |
1671 | .count = ARRAY_SIZE(tuner_philips_4in1_params), |
1672 | }, |
1673 | [TUNER_MICROTUNE_4049FM5] = { /* Microtune PAL */ |
1674 | .name = "Microtune 4049 FM5" , |
1675 | .params = tuner_microtune_4049_fm5_params, |
1676 | .count = ARRAY_SIZE(tuner_microtune_4049_fm5_params), |
1677 | }, |
1678 | [TUNER_PANASONIC_VP27] = { /* Panasonic NTSC */ |
1679 | .name = "Panasonic VP27s/ENGE4324D" , |
1680 | .params = tuner_panasonic_vp27_params, |
1681 | .count = ARRAY_SIZE(tuner_panasonic_vp27_params), |
1682 | }, |
1683 | [TUNER_LG_NTSC_TAPE] = { /* LGINNOTEK NTSC */ |
1684 | .name = "LG NTSC (TAPE series)" , |
1685 | .params = tuner_fm1236_mk3_params, |
1686 | .count = ARRAY_SIZE(tuner_fm1236_mk3_params), |
1687 | }, |
1688 | [TUNER_TNF_8831BGFF] = { /* Philips PAL */ |
1689 | .name = "Tenna TNF 8831 BGFF)" , |
1690 | .params = tuner_tnf_8831bgff_params, |
1691 | .count = ARRAY_SIZE(tuner_tnf_8831bgff_params), |
1692 | }, |
1693 | [TUNER_MICROTUNE_4042FI5] = { /* Microtune NTSC */ |
1694 | .name = "Microtune 4042 FI5 ATSC/NTSC dual in" , |
1695 | .params = tuner_microtune_4042fi5_params, |
1696 | .count = ARRAY_SIZE(tuner_microtune_4042fi5_params), |
1697 | .min = 16 * 57.00, |
1698 | .max = 16 * 858.00, |
1699 | .stepsize = 62500, |
1700 | }, |
1701 | |
1702 | /* 50-59 */ |
1703 | [TUNER_TCL_2002N] = { /* TCL NTSC */ |
1704 | .name = "TCL 2002N" , |
1705 | .params = tuner_tcl_2002n_params, |
1706 | .count = ARRAY_SIZE(tuner_tcl_2002n_params), |
1707 | }, |
1708 | [TUNER_PHILIPS_FM1256_IH3] = { /* Philips PAL */ |
1709 | .name = "Philips PAL/SECAM_D (FM 1256 I-H3)" , |
1710 | .params = tuner_philips_fm1256_ih3_params, |
1711 | .count = ARRAY_SIZE(tuner_philips_fm1256_ih3_params), |
1712 | }, |
1713 | [TUNER_THOMSON_DTT7610] = { /* THOMSON ATSC */ |
1714 | .name = "Thomson DTT 7610 (ATSC/NTSC)" , |
1715 | .params = tuner_thomson_dtt7610_params, |
1716 | .count = ARRAY_SIZE(tuner_thomson_dtt7610_params), |
1717 | .min = 16 * 44.00, |
1718 | .max = 16 * 958.00, |
1719 | .stepsize = 62500, |
1720 | }, |
1721 | [TUNER_PHILIPS_FQ1286] = { /* Philips NTSC */ |
1722 | .name = "Philips FQ1286" , |
1723 | .params = tuner_philips_fq1286_params, |
1724 | .count = ARRAY_SIZE(tuner_philips_fq1286_params), |
1725 | }, |
1726 | [TUNER_PHILIPS_TDA8290] = { /* Philips PAL|NTSC */ |
1727 | .name = "Philips/NXP TDA 8290/8295 + 8275/8275A/18271" , |
1728 | /* see tda8290.c for details */ }, |
1729 | [TUNER_TCL_2002MB] = { /* TCL PAL */ |
1730 | .name = "TCL 2002MB" , |
1731 | .params = tuner_tcl_2002mb_params, |
1732 | .count = ARRAY_SIZE(tuner_tcl_2002mb_params), |
1733 | }, |
1734 | [TUNER_PHILIPS_FQ1216AME_MK4] = { /* Philips PAL */ |
1735 | .name = "Philips PAL/SECAM multi (FQ1216AME MK4)" , |
1736 | .params = tuner_philips_fq1216ame_mk4_params, |
1737 | .count = ARRAY_SIZE(tuner_philips_fq1216ame_mk4_params), |
1738 | }, |
1739 | [TUNER_PHILIPS_FQ1236A_MK4] = { /* Philips NTSC */ |
1740 | .name = "Philips FQ1236A MK4" , |
1741 | .params = tuner_philips_fq1236a_mk4_params, |
1742 | .count = ARRAY_SIZE(tuner_philips_fq1236a_mk4_params), |
1743 | }, |
1744 | [TUNER_YMEC_TVF_8531MF] = { /* Philips NTSC */ |
1745 | .name = "Ymec TVision TVF-8531MF/8831MF/8731MF" , |
1746 | .params = tuner_ymec_tvf_8531mf_params, |
1747 | .count = ARRAY_SIZE(tuner_ymec_tvf_8531mf_params), |
1748 | }, |
1749 | [TUNER_YMEC_TVF_5533MF] = { /* Philips NTSC */ |
1750 | .name = "Ymec TVision TVF-5533MF" , |
1751 | .params = tuner_ymec_tvf_5533mf_params, |
1752 | .count = ARRAY_SIZE(tuner_ymec_tvf_5533mf_params), |
1753 | }, |
1754 | |
1755 | /* 60-69 */ |
1756 | [TUNER_THOMSON_DTT761X] = { /* THOMSON ATSC */ |
1757 | /* DTT 7611 7611A 7612 7613 7613A 7614 7615 7615A */ |
1758 | .name = "Thomson DTT 761X (ATSC/NTSC)" , |
1759 | .params = tuner_thomson_dtt761x_params, |
1760 | .count = ARRAY_SIZE(tuner_thomson_dtt761x_params), |
1761 | .min = 16 * 57.00, |
1762 | .max = 16 * 863.00, |
1763 | .stepsize = 62500, |
1764 | .initdata = tua603x_agc103, |
1765 | }, |
1766 | [TUNER_TENA_9533_DI] = { /* Philips PAL */ |
1767 | .name = "Tena TNF9533-D/IF/TNF9533-B/DF" , |
1768 | .params = tuner_tena_9533_di_params, |
1769 | .count = ARRAY_SIZE(tuner_tena_9533_di_params), |
1770 | }, |
1771 | [TUNER_TEA5767] = { /* Philips RADIO */ |
1772 | .name = "Philips TEA5767HN FM Radio" , |
1773 | /* see tea5767.c for details */ |
1774 | }, |
1775 | [TUNER_PHILIPS_FMD1216ME_MK3] = { /* Philips PAL */ |
1776 | .name = "Philips FMD1216ME MK3 Hybrid Tuner" , |
1777 | .params = tuner_philips_fmd1216me_mk3_params, |
1778 | .count = ARRAY_SIZE(tuner_philips_fmd1216me_mk3_params), |
1779 | .min = 16 * 50.87, |
1780 | .max = 16 * 858.00, |
1781 | .stepsize = 166667, |
1782 | .initdata = tua603x_agc112, |
1783 | .sleepdata = (u8[]){ 4, 0x9c, 0x60, 0x85, 0x54 }, |
1784 | }, |
1785 | [TUNER_LG_TDVS_H06XF] = { /* LGINNOTEK ATSC */ |
1786 | .name = "LG TDVS-H06xF" , /* H061F, H062F & H064F */ |
1787 | .params = tuner_lg_tdvs_h06xf_params, |
1788 | .count = ARRAY_SIZE(tuner_lg_tdvs_h06xf_params), |
1789 | .min = 16 * 54.00, |
1790 | .max = 16 * 863.00, |
1791 | .stepsize = 62500, |
1792 | .initdata = tua603x_agc103, |
1793 | }, |
1794 | [TUNER_YMEC_TVF66T5_B_DFF] = { /* Philips PAL */ |
1795 | .name = "Ymec TVF66T5-B/DFF" , |
1796 | .params = tuner_ymec_tvf66t5_b_dff_params, |
1797 | .count = ARRAY_SIZE(tuner_ymec_tvf66t5_b_dff_params), |
1798 | }, |
1799 | [TUNER_LG_TALN] = { /* LGINNOTEK NTSC / PAL / SECAM */ |
1800 | .name = "LG TALN series" , |
1801 | .params = tuner_lg_taln_params, |
1802 | .count = ARRAY_SIZE(tuner_lg_taln_params), |
1803 | }, |
1804 | [TUNER_PHILIPS_TD1316] = { /* Philips PAL */ |
1805 | .name = "Philips TD1316 Hybrid Tuner" , |
1806 | .params = tuner_philips_td1316_params, |
1807 | .count = ARRAY_SIZE(tuner_philips_td1316_params), |
1808 | .min = 16 * 87.00, |
1809 | .max = 16 * 895.00, |
1810 | .stepsize = 166667, |
1811 | }, |
1812 | [TUNER_PHILIPS_TUV1236D] = { /* Philips ATSC */ |
1813 | .name = "Philips TUV1236D ATSC/NTSC dual in" , |
1814 | .params = tuner_tuv1236d_params, |
1815 | .count = ARRAY_SIZE(tuner_tuv1236d_params), |
1816 | .min = 16 * 54.00, |
1817 | .max = 16 * 864.00, |
1818 | .stepsize = 62500, |
1819 | }, |
1820 | [TUNER_TNF_5335MF] = { /* Tenna PAL/NTSC */ |
1821 | .name = "Tena TNF 5335 and similar models" , |
1822 | .params = tuner_tnf_5335mf_params, |
1823 | .count = ARRAY_SIZE(tuner_tnf_5335mf_params), |
1824 | }, |
1825 | |
1826 | /* 70-79 */ |
1827 | [TUNER_SAMSUNG_TCPN_2121P30A] = { /* Samsung NTSC */ |
1828 | .name = "Samsung TCPN 2121P30A" , |
1829 | .params = tuner_samsung_tcpn_2121p30a_params, |
1830 | .count = ARRAY_SIZE(tuner_samsung_tcpn_2121p30a_params), |
1831 | }, |
1832 | [TUNER_XC2028] = { /* Xceive 2028 */ |
1833 | .name = "Xceive xc2028/xc3028 tuner" , |
1834 | /* see xc2028.c for details */ |
1835 | }, |
1836 | [TUNER_THOMSON_FE6600] = { /* Thomson PAL / DVB-T */ |
1837 | .name = "Thomson FE6600" , |
1838 | .params = tuner_thomson_fe6600_params, |
1839 | .count = ARRAY_SIZE(tuner_thomson_fe6600_params), |
1840 | .min = 16 * 44.25, |
1841 | .max = 16 * 858.00, |
1842 | .stepsize = 166667, |
1843 | }, |
1844 | [TUNER_SAMSUNG_TCPG_6121P30A] = { /* Samsung PAL */ |
1845 | .name = "Samsung TCPG 6121P30A" , |
1846 | .params = tuner_samsung_tcpg_6121p30a_params, |
1847 | .count = ARRAY_SIZE(tuner_samsung_tcpg_6121p30a_params), |
1848 | }, |
1849 | [TUNER_TDA9887] = { /* Philips TDA 9887 IF PLL Demodulator. |
1850 | This chip is part of some modern tuners */ |
1851 | .name = "Philips TDA988[5,6,7] IF PLL Demodulator" , |
1852 | /* see tda9887.c for details */ |
1853 | }, |
1854 | [TUNER_TEA5761] = { /* Philips RADIO */ |
1855 | .name = "Philips TEA5761 FM Radio" , |
1856 | /* see tea5767.c for details */ |
1857 | }, |
1858 | [TUNER_XC5000] = { /* Xceive 5000 */ |
1859 | .name = "Xceive 5000 tuner" , |
1860 | /* see xc5000.c for details */ |
1861 | }, |
1862 | [TUNER_XC4000] = { /* Xceive 4000 */ |
1863 | .name = "Xceive 4000 tuner" , |
1864 | /* see xc4000.c for details */ |
1865 | }, |
1866 | [TUNER_TCL_MF02GIP_5N] = { /* TCL tuner MF02GIP-5N-E */ |
1867 | .name = "TCL tuner MF02GIP-5N-E" , |
1868 | .params = tuner_tcl_mf02gip_5n_params, |
1869 | .count = ARRAY_SIZE(tuner_tcl_mf02gip_5n_params), |
1870 | }, |
1871 | [TUNER_PHILIPS_FMD1216MEX_MK3] = { /* Philips PAL */ |
1872 | .name = "Philips FMD1216MEX MK3 Hybrid Tuner" , |
1873 | .params = tuner_philips_fmd1216mex_mk3_params, |
1874 | .count = ARRAY_SIZE(tuner_philips_fmd1216mex_mk3_params), |
1875 | .min = 16 * 50.87, |
1876 | .max = 16 * 858.00, |
1877 | .stepsize = 166667, |
1878 | .initdata = tua603x_agc112, |
1879 | .sleepdata = (u8[]){ 4, 0x9c, 0x60, 0x85, 0x54 }, |
1880 | }, |
1881 | [TUNER_PHILIPS_FM1216MK5] = { /* Philips PAL */ |
1882 | .name = "Philips PAL/SECAM multi (FM1216 MK5)" , |
1883 | .params = tuner_fm1216mk5_params, |
1884 | .count = ARRAY_SIZE(tuner_fm1216mk5_params), |
1885 | }, |
1886 | |
1887 | /* 80-89 */ |
1888 | [TUNER_PHILIPS_FQ1216LME_MK3] = { /* PAL/SECAM, Loop-thru, no FM */ |
1889 | .name = "Philips FQ1216LME MK3 PAL/SECAM w/active loopthrough" , |
1890 | .params = tuner_fq1216lme_mk3_params, |
1891 | .count = ARRAY_SIZE(tuner_fq1216lme_mk3_params), |
1892 | }, |
1893 | |
1894 | [TUNER_PARTSNIC_PTI_5NF05] = { |
1895 | .name = "Partsnic (Daewoo) PTI-5NF05" , |
1896 | .params = tuner_partsnic_pti_5nf05_params, |
1897 | .count = ARRAY_SIZE(tuner_partsnic_pti_5nf05_params), |
1898 | }, |
1899 | [TUNER_PHILIPS_CU1216L] = { |
1900 | .name = "Philips CU1216L" , |
1901 | .params = tuner_philips_cu1216l_params, |
1902 | .count = ARRAY_SIZE(tuner_philips_cu1216l_params), |
1903 | .stepsize = 62500, |
1904 | }, |
1905 | [TUNER_NXP_TDA18271] = { |
1906 | .name = "NXP TDA18271" , |
1907 | /* see tda18271-fe.c for details */ |
1908 | }, |
1909 | [TUNER_SONY_BTF_PXN01Z] = { |
1910 | .name = "Sony BTF-Pxn01Z" , |
1911 | .params = tuner_sony_btf_pxn01z_params, |
1912 | .count = ARRAY_SIZE(tuner_sony_btf_pxn01z_params), |
1913 | }, |
1914 | [TUNER_PHILIPS_FQ1236_MK5] = { /* NTSC, TDA9885, no FM radio */ |
1915 | .name = "Philips FQ1236 MK5" , |
1916 | .params = tuner_philips_fq1236_mk5_params, |
1917 | .count = ARRAY_SIZE(tuner_philips_fq1236_mk5_params), |
1918 | }, |
1919 | [TUNER_TENA_TNF_5337] = { /* Tena 5337 MFD */ |
1920 | .name = "Tena TNF5337 MFD" , |
1921 | .params = tuner_tena_tnf_5337_params, |
1922 | .count = ARRAY_SIZE(tuner_tena_tnf_5337_params), |
1923 | }, |
1924 | [TUNER_XC5000C] = { /* Xceive 5000C */ |
1925 | .name = "Xceive 5000C tuner" , |
1926 | /* see xc5000.c for details */ |
1927 | }, |
1928 | [TUNER_SONY_BTF_PG472Z] = { |
1929 | .name = "Sony BTF-PG472Z PAL/SECAM" , |
1930 | .params = tuner_sony_btf_pg472z_params, |
1931 | .count = ARRAY_SIZE(tuner_sony_btf_pg472z_params), |
1932 | }, |
1933 | |
1934 | /* 90-99 */ |
1935 | [TUNER_SONY_BTF_PK467Z] = { |
1936 | .name = "Sony BTF-PK467Z NTSC-M-JP" , |
1937 | .params = tuner_sony_btf_pg467z_params, |
1938 | .count = ARRAY_SIZE(tuner_sony_btf_pg467z_params), |
1939 | }, |
1940 | [TUNER_SONY_BTF_PB463Z] = { |
1941 | .name = "Sony BTF-PB463Z NTSC-M" , |
1942 | .params = tuner_sony_btf_pg463z_params, |
1943 | .count = ARRAY_SIZE(tuner_sony_btf_pg463z_params), |
1944 | }, |
1945 | [TUNER_SI2157] = { |
1946 | .name = "Silicon Labs Si2157 tuner" , |
1947 | /* see si2157.c for details */ |
1948 | }, |
1949 | }; |
1950 | EXPORT_SYMBOL(tuners); |
1951 | |
1952 | unsigned const int tuner_count = ARRAY_SIZE(tuners); |
1953 | EXPORT_SYMBOL(tuner_count); |
1954 | |
1955 | MODULE_DESCRIPTION("Simple tuner device type database" ); |
1956 | MODULE_AUTHOR("Ralph Metzler, Gerd Knorr, Gunther Mayer" ); |
1957 | MODULE_LICENSE("GPL" ); |
1958 | |