aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/media/video/tuner-simple.c746
-rw-r--r--include/media/tuner.h22
2 files changed, 609 insertions, 159 deletions
diff --git a/drivers/media/video/tuner-simple.c b/drivers/media/video/tuner-simple.c
index feaed92e2a69..cf241ab1e1b0 100644
--- a/drivers/media/video/tuner-simple.c
+++ b/drivers/media/video/tuner-simple.c
@@ -96,158 +96,630 @@ struct tunertype
96 */ 96 */
97static struct tunertype tuners[] = { 97static struct tunertype tuners[] = {
98 /* 0-9 */ 98 /* 0-9 */
99 { "Temic PAL (4002 FH5)", /* TEMIC PAL */ 99 [TUNER_TEMIC_PAL] = { /* TEMIC PAL */
100 16*140.25, 16*463.25, 0x02, 0x04, 0x01, 0x8e}, 100 .name = "Temic PAL (4002 FH5)",
101 { "Philips PAL_I (FI1246 and compatibles)", /* Philips PAL_I */ 101 .thresh1= 16 * 140.25 /*MHz*/,
102 16*140.25, 16*463.25, 0xa0, 0x90, 0x30, 0x8e}, 102 .thresh2= 16 * 463.25 /*MHz*/,
103 { "Philips NTSC (FI1236,FM1236 and compatibles)", /* Philips NTSC */ 103 .VHF_L = 0x02,
104 16*157.25, 16*451.25, 0xA0, 0x90, 0x30, 0x8e}, 104 .VHF_H = 0x04,
105 { "Philips (SECAM+PAL_BG) (FI1216MF, FM1216MF, FR1216MF)",/* Philips SECAM */ 105 .UHF = 0x01,
106 16*168.25, 16*447.25, 0xA7, 0x97, 0x37, 0x8e}, 106 .config = 0x8e,
107 { "NoTuner", /* NoTuner NOTUNER */ 107 },
108 0, 0, 0x00, 0x00, 0x00, 0x00}, 108 [TUNER_PHILIPS_PAL_I] = { /* Philips PAL_I */
109 { "Philips PAL_BG (FI1216 and compatibles)", /* Philips PAL */ 109 .name = "Philips PAL_I (FI1246 and compatibles)",
110 16*168.25, 16*447.25, 0xA0, 0x90, 0x30, 0x8e}, 110 .thresh1= 16 * 140.25 /*MHz*/,
111 { "Temic NTSC (4032 FY5)", /* TEMIC NTSC */ 111 .thresh2= 16 * 463.25 /*MHz*/,
112 16*157.25, 16*463.25, 0x02, 0x04, 0x01, 0x8e}, 112 .VHF_L = 0xa0,
113 { "Temic PAL_I (4062 FY5)", /* TEMIC PAL_I */ 113 .VHF_H = 0x90,
114 16*170.00, 16*450.00, 0x02, 0x04, 0x01, 0x8e}, 114 .UHF = 0x30,
115 { "Temic NTSC (4036 FY5)", /* TEMIC NTSC */ 115 .config = 0x8e,
116 16*157.25, 16*463.25, 0xa0, 0x90, 0x30, 0x8e}, 116 },
117 { "Alps HSBH1", /* TEMIC NTSC */ 117 [TUNER_PHILIPS_NTSC] = { /* Philips NTSC */
118 16*137.25, 16*385.25, 0x01, 0x02, 0x08, 0x8e}, 118 .name = "Philips NTSC (FI1236,FM1236 and compatibles)",
119 .thresh1= 16 * 157.25 /*MHz*/,
120 .thresh2= 16 * 451.25 /*MHz*/,
121 .VHF_L = 0xa0,
122 .VHF_H = 0x90,
123 .UHF = 0x30,
124 .config = 0x8e,
125 },
126 [TUNER_PHILIPS_SECAM] = { /* Philips SECAM */
127 .name = "Philips (SECAM+PAL_BG) (FI1216MF, FM1216MF, FR1216MF)",
128 .thresh1= 16 * 168.25 /*MHz*/,
129 .thresh2= 16 * 447.25 /*MHz*/,
130 .VHF_L = 0xa7,
131 .VHF_H = 0x97,
132 .UHF = 0x37,
133 .config = 0x8e,
134 },
135 [TUNER_ABSENT] = { /* Tuner Absent */
136 .name = "NoTuner",
137 .thresh1= 0 /*MHz*/,
138 .thresh2= 0 /*MHz*/,
139 .VHF_L = 0x00,
140 .VHF_H = 0x00,
141 .UHF = 0x00,
142 .config = 0x00,
143 },
144 [TUNER_PHILIPS_PAL] = { /* Philips PAL */
145 .name = "Philips PAL_BG (FI1216 and compatibles)",
146 .thresh1= 16 * 168.25 /*MHz*/,
147 .thresh2= 16 * 447.25 /*MHz*/,
148 .VHF_L = 0xa0,
149 .VHF_H = 0x90,
150 .UHF = 0x30,
151 .config = 0x8e,
152 },
153 [TUNER_TEMIC_NTSC] = { /* TEMIC NTSC */
154 .name = "Temic NTSC (4032 FY5)",
155 .thresh1= 16 * 157.25 /*MHz*/,
156 .thresh2= 16 * 463.25 /*MHz*/,
157 .VHF_L = 0x02,
158 .VHF_H = 0x04,
159 .UHF = 0x01,
160 .config = 0x8e,
161 },
162 [TUNER_TEMIC_PAL_I] = { /* TEMIC PAL_I */
163 .name = "Temic PAL_I (4062 FY5)",
164 .thresh1= 16 * 170.00 /*MHz*/,
165 .thresh2= 16 * 450.00 /*MHz*/,
166 .VHF_L = 0x02,
167 .VHF_H = 0x04,
168 .UHF = 0x01,
169 .config = 0x8e,
170 },
171 [TUNER_TEMIC_4036FY5_NTSC] = { /* TEMIC NTSC */
172 .name = "Temic NTSC (4036 FY5)",
173 .thresh1= 16 * 157.25 /*MHz*/,
174 .thresh2= 16 * 463.25 /*MHz*/,
175 .VHF_L = 0xa0,
176 .VHF_H = 0x90,
177 .UHF = 0x30,
178 .config = 0x8e,
179 },
180 [TUNER_ALPS_TSBH1_NTSC] = { /* TEMIC NTSC */
181 .name = "Alps HSBH1",
182 .thresh1= 16 * 137.25 /*MHz*/,
183 .thresh2= 16 * 385.25 /*MHz*/,
184 .VHF_L = 0x01,
185 .VHF_H = 0x02,
186 .UHF = 0x08,
187 .config = 0x8e,
188 },
119 189
120 /* 10-19 */ 190 /* 10-19 */
121 { "Alps TSBE1", /* TEMIC PAL */ 191 [TUNER_ALPS_TSBE1_PAL] = { /* TEMIC PAL */
122 16*137.25, 16*385.25, 0x01, 0x02, 0x08, 0x8e}, 192 .name = "Alps TSBE1",
123 { "Alps TSBB5", /* Alps PAL_I */ 193 .thresh1= 16 * 137.25 /*MHz*/,
124 16*133.25, 16*351.25, 0x01, 0x02, 0x08, 0x8e}, 194 .thresh2= 16 * 385.25 /*MHz*/,
125 { "Alps TSBE5", /* Alps PAL */ 195 .VHF_L = 0x01,
126 16*133.25, 16*351.25, 0x01, 0x02, 0x08, 0x8e}, 196 .VHF_H = 0x02,
127 { "Alps TSBC5", /* Alps PAL */ 197 .UHF = 0x08,
128 16*133.25, 16*351.25, 0x01, 0x02, 0x08, 0x8e}, 198 .config = 0x8e,
129 { "Temic PAL_BG (4006FH5)", /* TEMIC PAL */ 199 },
130 16*170.00, 16*450.00, 0xa0, 0x90, 0x30, 0x8e}, 200 [TUNER_ALPS_TSBB5_PAL_I] = { /* Alps PAL_I */
131 { "Alps TSCH6", /* Alps NTSC */ 201 .name = "Alps TSBB5",
132 16*137.25, 16*385.25, 0x14, 0x12, 0x11, 0x8e}, 202 .thresh1= 16 * 133.25 /*MHz*/,
133 { "Temic PAL_DK (4016 FY5)", /* TEMIC PAL */ 203 .thresh2= 16 * 351.25 /*MHz*/,
134 16*168.25, 16*456.25, 0xa0, 0x90, 0x30, 0x8e}, 204 .VHF_L = 0x01,
135 { "Philips NTSC_M (MK2)", /* Philips NTSC */ 205 .VHF_H = 0x02,
136 16*160.00, 16*454.00, 0xa0, 0x90, 0x30, 0x8e}, 206 .UHF = 0x08,
137 { "Temic PAL_I (4066 FY5)", /* TEMIC PAL_I */ 207 .config = 0x8e,
138 16*169.00, 16*454.00, 0xa0, 0x90, 0x30, 0x8e}, 208 },
139 { "Temic PAL* auto (4006 FN5)", /* TEMIC PAL */ 209 [TUNER_ALPS_TSBE5_PAL] = { /* Alps PAL */
140 16*169.00, 16*454.00, 0xa0, 0x90, 0x30, 0x8e}, 210 .name = "Alps TSBE5",
211 .thresh1= 16 * 133.25 /*MHz*/,
212 .thresh2= 16 * 351.25 /*MHz*/,
213 .VHF_L = 0x01,
214 .VHF_H = 0x02,
215 .UHF = 0x08,
216 .config = 0x8e,
217 },
218 [TUNER_ALPS_TSBC5_PAL] = { /* Alps PAL */
219 .name = "Alps TSBC5",
220 .thresh1= 16 * 133.25 /*MHz*/,
221 .thresh2= 16 * 351.25 /*MHz*/,
222 .VHF_L = 0x01,
223 .VHF_H = 0x02,
224 .UHF = 0x08,
225 .config = 0x8e,
226 },
227 [TUNER_TEMIC_4006FH5_PAL] = { /* TEMIC PAL */
228 .name = "Temic PAL_BG (4006FH5)",
229 .thresh1= 16 * 170.00 /*MHz*/,
230 .thresh2= 16 * 450.00 /*MHz*/,
231 .VHF_L = 0xa0,
232 .VHF_H = 0x90,
233 .UHF = 0x30,
234 .config = 0x8e,
235 },
236 [TUNER_ALPS_TSHC6_NTSC] = { /* Alps NTSC */
237 .name = "Alps TSCH6",
238 .thresh1= 16 * 137.25 /*MHz*/,
239 .thresh2= 16 * 385.25 /*MHz*/,
240 .VHF_L = 0x14,
241 .VHF_H = 0x12,
242 .UHF = 0x11,
243 .config = 0x8e,
244 },
245 [TUNER_TEMIC_PAL_DK] = { /* TEMIC PAL */
246 .name = "Temic PAL_DK (4016 FY5)",
247 .thresh1= 16 * 168.25 /*MHz*/,
248 .thresh2= 16 * 456.25 /*MHz*/,
249 .VHF_L = 0xa0,
250 .VHF_H = 0x90,
251 .UHF = 0x30,
252 .config = 0x8e,
253 },
254 [TUNER_PHILIPS_NTSC_M] = { /* Philips NTSC */
255 .name = "Philips NTSC_M (MK2)",
256 .thresh1= 16 * 160.00 /*MHz*/,
257 .thresh2= 16 * 454.00 /*MHz*/,
258 .VHF_L = 0xa0,
259 .VHF_H = 0x90,
260 .UHF = 0x30,
261 .config = 0x8e,
262 },
263 [TUNER_TEMIC_4066FY5_PAL_I] = { /* TEMIC PAL_I */
264 .name = "Temic PAL_I (4066 FY5)",
265 .thresh1= 16 * 169.00 /*MHz*/,
266 .thresh2= 16 * 454.00 /*MHz*/,
267 .VHF_L = 0xa0,
268 .VHF_H = 0x90,
269 .UHF = 0x30,
270 .config = 0x8e,
271 },
272 [TUNER_TEMIC_4006FN5_MULTI_PAL] = { /* TEMIC PAL */
273 .name = "Temic PAL* auto (4006 FN5)",
274 .thresh1= 16 * 169.00 /*MHz*/,
275 .thresh2= 16 * 454.00 /*MHz*/,
276 .VHF_L = 0xa0,
277 .VHF_H = 0x90,
278 .UHF = 0x30,
279 .config = 0x8e,
280 },
141 281
142 /* 20-29 */ 282 /* 20-29 */
143 { "Temic PAL_BG (4009 FR5) or PAL_I (4069 FR5)", /* TEMIC PAL */ 283 [TUNER_TEMIC_4009FR5_PAL] = { /* TEMIC PAL */
144 16*141.00, 16*464.00, 0xa0, 0x90, 0x30, 0x8e}, 284 .name = "Temic PAL_BG (4009 FR5) or PAL_I (4069 FR5)",
145 { "Temic NTSC (4039 FR5)", /* TEMIC NTSC */ 285 .thresh1= 16 * 141.00 /*MHz*/,
146 16*158.00, 16*453.00, 0xa0, 0x90, 0x30, 0x8e}, 286 .thresh2= 16 * 464.00 /*MHz*/,
147 { "Temic PAL/SECAM multi (4046 FM5)", /* TEMIC PAL */ 287 .VHF_L = 0xa0,
148 16*169.00, 16*454.00, 0xa0, 0x90, 0x30, 0x8e}, 288 .VHF_H = 0x90,
149 { "Philips PAL_DK (FI1256 and compatibles)", /* Philips PAL */ 289 .UHF = 0x30,
150 16*170.00, 16*450.00, 0xa0, 0x90, 0x30, 0x8e}, 290 .config = 0x8e,
151 { "Philips PAL/SECAM multi (FQ1216ME)", /* Philips PAL */ 291 },
152 16*170.00, 16*450.00, 0xa0, 0x90, 0x30, 0x8e}, 292 [TUNER_TEMIC_4039FR5_NTSC] = { /* TEMIC NTSC */
153 { "LG PAL_I+FM (TAPC-I001D)", /* LGINNOTEK PAL_I */ 293 .name = "Temic NTSC (4039 FR5)",
154 16*170.00, 16*450.00, 0xa0, 0x90, 0x30, 0x8e}, 294 .thresh1= 16 * 158.00 /*MHz*/,
155 { "LG PAL_I (TAPC-I701D)", /* LGINNOTEK PAL_I */ 295 .thresh2= 16 * 453.00 /*MHz*/,
156 16*170.00, 16*450.00, 0xa0, 0x90, 0x30, 0x8e}, 296 .VHF_L = 0xa0,
157 { "LG NTSC+FM (TPI8NSR01F)", /* LGINNOTEK NTSC */ 297 .VHF_H = 0x90,
158 16*210.00, 16*497.00, 0xa0, 0x90, 0x30, 0x8e}, 298 .UHF = 0x30,
159 { "LG PAL_BG+FM (TPI8PSB01D)", /* LGINNOTEK PAL */ 299 .config = 0x8e,
160 16*170.00, 16*450.00, 0xa0, 0x90, 0x30, 0x8e}, 300 },
161 { "LG PAL_BG (TPI8PSB11D)", /* LGINNOTEK PAL */ 301 [TUNER_TEMIC_4046FM5] = { /* TEMIC PAL */
162 16*170.00, 16*450.00, 0xa0, 0x90, 0x30, 0x8e}, 302 .name = "Temic PAL/SECAM multi (4046 FM5)",
303 .thresh1= 16 * 169.00 /*MHz*/,
304 .thresh2= 16 * 454.00 /*MHz*/,
305 .VHF_L = 0xa0,
306 .VHF_H = 0x90,
307 .UHF = 0x30,
308 .config = 0x8e,
309 },
310 [TUNER_PHILIPS_PAL_DK] = { /* Philips PAL */
311 .name = "Philips PAL_DK (FI1256 and compatibles)",
312 .thresh1= 16 * 170.00 /*MHz*/,
313 .thresh2= 16 * 450.00 /*MHz*/,
314 .VHF_L = 0xa0,
315 .VHF_H = 0x90,
316 .UHF = 0x30,
317 .config = 0x8e,
318 },
319 [TUNER_PHILIPS_FQ1216ME] = { /* Philips PAL */
320 .name = "Philips PAL/SECAM multi (FQ1216ME)",
321 .thresh1= 16 * 170.00 /*MHz*/,
322 .thresh2= 16 * 450.00 /*MHz*/,
323 .VHF_L = 0xa0,
324 .VHF_H = 0x90,
325 .UHF = 0x30,
326 .config = 0x8e,
327 },
328 [TUNER_LG_PAL_I_FM] = { /* LGINNOTEK PAL_I */
329 .name = "LG PAL_I+FM (TAPC-I001D)",
330 .thresh1= 16 * 170.00 /*MHz*/,
331 .thresh2= 16 * 450.00 /*MHz*/,
332 .VHF_L = 0xa0,
333 .VHF_H = 0x90,
334 .UHF = 0x30,
335 .config = 0x8e,
336 },
337 [TUNER_LG_PAL_I] = { /* LGINNOTEK PAL_I */
338 .name = "LG PAL_I (TAPC-I701D)",
339 .thresh1= 16 * 170.00 /*MHz*/,
340 .thresh2= 16 * 450.00 /*MHz*/,
341 .VHF_L = 0xa0,
342 .VHF_H = 0x90,
343 .UHF = 0x30,
344 .config = 0x8e,
345 },
346 [TUNER_LG_NTSC_FM] = { /* LGINNOTEK NTSC */
347 .name = "LG NTSC+FM (TPI8NSR01F)",
348 .thresh1= 16 * 210.00 /*MHz*/,
349 .thresh2= 16 * 497.00 /*MHz*/,
350 .VHF_L = 0xa0,
351 .VHF_H = 0x90,
352 .UHF = 0x30,
353 .config = 0x8e,
354 },
355 [TUNER_LG_PAL_FM] = { /* LGINNOTEK PAL */
356 .name = "LG PAL_BG+FM (TPI8PSB01D)",
357 .thresh1= 16 * 170.00 /*MHz*/,
358 .thresh2= 16 * 450.00 /*MHz*/,
359 .VHF_L = 0xa0,
360 .VHF_H = 0x90,
361 .UHF = 0x30,
362 .config = 0x8e,
363 },
364 [TUNER_LG_PAL] = { /* LGINNOTEK PAL */
365 .name = "LG PAL_BG (TPI8PSB11D)",
366 .thresh1= 16 * 170.00 /*MHz*/,
367 .thresh2= 16 * 450.00 /*MHz*/,
368 .VHF_L = 0xa0,
369 .VHF_H = 0x90,
370 .UHF = 0x30,
371 .config = 0x8e,
372 },
163 373
164 /* 30-39 */ 374 /* 30-39 */
165 { "Temic PAL* auto + FM (4009 FN5)", /* TEMIC PAL */ 375 [TUNER_TEMIC_4009FN5_MULTI_PAL_FM] = { /* TEMIC PAL */
166 16*141.00, 16*464.00, 0xa0, 0x90, 0x30, 0x8e}, 376 .name = "Temic PAL* auto + FM (4009 FN5)",
167 { "SHARP NTSC_JP (2U5JF5540)", /* SHARP NTSC */ 377 .thresh1= 16 * 141.00 /*MHz*/,
168 16*137.25, 16*317.25, 0x01, 0x02, 0x08, 0x8e}, 378 .thresh2= 16 * 464.00 /*MHz*/,
169 { "Samsung PAL TCPM9091PD27", /* Samsung PAL */ 379 .VHF_L = 0xa0,
170 16*169, 16*464, 0xA0, 0x90, 0x30, 0x8e}, 380 .VHF_H = 0x90,
171 { "MT20xx universal", /* Microtune PAL|NTSC */ 381 .UHF = 0x30,
382 .config = 0x8e,
383 },
384 [TUNER_SHARP_2U5JF5540_NTSC] = { /* SHARP NTSC */
385 .name = "SHARP NTSC_JP (2U5JF5540)",
386 .thresh1= 16 * 137.25 /*MHz*/,
387 .thresh2= 16 * 317.25 /*MHz*/,
388 .VHF_L = 0x01,
389 .VHF_H = 0x02,
390 .UHF = 0x08,
391 .config = 0x8e,
392 },
393 [TUNER_Samsung_PAL_TCPM9091PD27] = { /* Samsung PAL */
394 .name = "Samsung PAL TCPM9091PD27",
395 .thresh1= 16 * 169 /*MHz*/,
396 .thresh2= 16 * 464 /*MHz*/,
397 .VHF_L = 0xa0,
398 .VHF_H = 0x90,
399 .UHF = 0x30,
400 .config = 0x8e,
401 },
402 [TUNER_MT2032] = { /* Microtune PAL|NTSC */
403 .name = "MT20xx universal",
172 /* see mt20xx.c for details */ }, 404 /* see mt20xx.c for details */ },
173 { "Temic PAL_BG (4106 FH5)", /* TEMIC PAL */ 405 [TUNER_TEMIC_4106FH5] = { /* TEMIC PAL */
174 16*141.00, 16*464.00, 0xa0, 0x90, 0x30, 0x8e}, 406 .name = "Temic PAL_BG (4106 FH5)",
175 { "Temic PAL_DK/SECAM_L (4012 FY5)", /* TEMIC PAL */ 407 .thresh1= 16 * 141.00 /*MHz*/,
176 16*140.25, 16*463.25, 0x02, 0x04, 0x01, 0x8e}, 408 .thresh2= 16 * 464.00 /*MHz*/,
177 { "Temic NTSC (4136 FY5)", /* TEMIC NTSC */ 409 .VHF_L = 0xa0,
178 16*158.00, 16*453.00, 0xa0, 0x90, 0x30, 0x8e}, 410 .VHF_H = 0x90,
179 { "LG PAL (newer TAPC series)", /* LGINNOTEK PAL */ 411 .UHF = 0x30,
180 16*170.00, 16*450.00, 0x01, 0x02, 0x08, 0x8e}, 412 .config = 0x8e,
181 { "Philips PAL/SECAM multi (FM1216ME MK3)", /* Philips PAL */ 413 },
182 16*158.00, 16*442.00, 0x01, 0x02, 0x04, 0x8e}, 414 [TUNER_TEMIC_4012FY5] = { /* TEMIC PAL */
183 { "LG NTSC (newer TAPC series)", /* LGINNOTEK NTSC */ 415 .name = "Temic PAL_DK/SECAM_L (4012 FY5)",
184 16*170.00, 16*450.00, 0x01, 0x02, 0x08, 0x8e}, 416 .thresh1= 16 * 140.25 /*MHz*/,
417 .thresh2= 16 * 463.25 /*MHz*/,
418 .VHF_L = 0x02,
419 .VHF_H = 0x04,
420 .UHF = 0x01,
421 .config = 0x8e,
422 },
423 [TUNER_TEMIC_4136FY5] = { /* TEMIC NTSC */
424 .name = "Temic NTSC (4136 FY5)",
425 .thresh1= 16 * 158.00 /*MHz*/,
426 .thresh2= 16 * 453.00 /*MHz*/,
427 .VHF_L = 0xa0,
428 .VHF_H = 0x90,
429 .UHF = 0x30,
430 .config = 0x8e,
431 },
432 [TUNER_LG_PAL_NEW_TAPC] = { /* LGINNOTEK PAL */
433 .name = "LG PAL (newer TAPC series)",
434 .thresh1= 16 * 170.00 /*MHz*/,
435 .thresh2= 16 * 450.00 /*MHz*/,
436 .VHF_L = 0x01,
437 .VHF_H = 0x02,
438 .UHF = 0x08,
439 .config = 0x8e,
440 },
441 [TUNER_PHILIPS_FM1216ME_MK3] = { /* Philips PAL */
442 .name = "Philips PAL/SECAM multi (FM1216ME MK3)",
443 .thresh1= 16 * 158.00 /*MHz*/,
444 .thresh2= 16 * 442.00 /*MHz*/,
445 .VHF_L = 0x01,
446 .VHF_H = 0x02,
447 .UHF = 0x04,
448 .config = 0x8e,
449 },
450 [TUNER_LG_NTSC_NEW_TAPC] = { /* LGINNOTEK NTSC */
451 .name = "LG NTSC (newer TAPC series)",
452 .thresh1= 16 * 170.00 /*MHz*/,
453 .thresh2= 16 * 450.00 /*MHz*/,
454 .VHF_L = 0x01,
455 .VHF_H = 0x02,
456 .UHF = 0x08,
457 .config = 0x8e,
458 },
185 459
186 /* 40-49 */ 460 /* 40-49 */
187 { "HITACHI V7-J180AT", /* HITACHI NTSC */ 461 [TUNER_HITACHI_NTSC] = { /* HITACHI NTSC */
188 16*170.00, 16*450.00, 0x01, 0x02, 0x08, 0x8e}, 462 .name = "HITACHI V7-J180AT",
189 { "Philips PAL_MK (FI1216 MK)", /* Philips PAL */ 463 .thresh1= 16 * 170.00 /*MHz*/,
190 16*140.25, 16*463.25, 0x01, 0xc2, 0xcf, 0x8e}, 464 .thresh2= 16 * 450.00 /*MHz*/,
191 { "Philips 1236D ATSC/NTSC daul in", /* Philips ATSC */ 465 .VHF_L = 0x01,
192 16*157.25, 16*454.00, 0xa0, 0x90, 0x30, 0x8e}, 466 .VHF_H = 0x02,
193 { "Philips NTSC MK3 (FM1236MK3 or FM1236/F)", /* Philips NTSC */ 467 .UHF = 0x08,
194 16*160.00, 16*442.00, 0x01, 0x02, 0x04, 0x8e}, 468 .config = 0x8e,
195 { "Philips 4 in 1 (ATI TV Wonder Pro/Conexant)", /* Philips NTSC */ 469 },
196 16*160.00, 16*442.00, 0x01, 0x02, 0x04, 0x8e}, 470 [TUNER_PHILIPS_PAL_MK] = { /* Philips PAL */
197 { "Microtune 4049 FM5", /* Microtune PAL */ 471 .name = "Philips PAL_MK (FI1216 MK)",
198 16*141.00, 16*464.00, 0xa0, 0x90, 0x30, 0x8e}, 472 .thresh1= 16 * 140.25 /*MHz*/,
199 { "Panasonic VP27s/ENGE4324D", /* Panasonic NTSC */ 473 .thresh2= 16 * 463.25 /*MHz*/,
200 16*160.00, 16*454.00, 0x01, 0x02, 0x08, 0xce}, 474 .VHF_L = 0x01,
201 { "LG NTSC (TAPE series)", /* LGINNOTEK NTSC */ 475 .VHF_H = 0xc2,
202 16*160.00, 16*442.00, 0x01, 0x02, 0x04, 0x8e}, 476 .UHF = 0xcf,
203 { "Tenna TNF 8831 BGFF)", /* Philips PAL */ 477 .config = 0x8e,
204 16*161.25, 16*463.25, 0xa0, 0x90, 0x30, 0x8e}, 478 },
205 { "Microtune 4042 FI5 ATSC/NTSC dual in", /* Microtune NTSC */ 479 [TUNER_PHILIPS_ATSC] = { /* Philips ATSC */
206 16*162.00, 16*457.00, 0xa2, 0x94, 0x31, 0x8e}, 480 .name = "Philips 1236D ATSC/NTSC daul in",
481 .thresh1= 16 * 157.25 /*MHz*/,
482 .thresh2= 16 * 454.00 /*MHz*/,
483 .VHF_L = 0xa0,
484 .VHF_H = 0x90,
485 .UHF = 0x30,
486 .config = 0x8e,
487 },
488 [TUNER_PHILIPS_FM1236_MK3] = { /* Philips NTSC */
489 .name = "Philips NTSC MK3 (FM1236MK3 or FM1236/F)",
490 .thresh1= 16 * 160.00 /*MHz*/,
491 .thresh2= 16 * 442.00 /*MHz*/,
492 .VHF_L = 0x01,
493 .VHF_H = 0x02,
494 .UHF = 0x04,
495 .config = 0x8e,
496 },
497 [TUNER_PHILIPS_4IN1] = { /* Philips NTSC */
498 .name = "Philips 4 in 1 (ATI TV Wonder Pro/Conexant)",
499 .thresh1= 16 * 160.00 /*MHz*/,
500 .thresh2= 16 * 442.00 /*MHz*/,
501 .VHF_L = 0x01,
502 .VHF_H = 0x02,
503 .UHF = 0x04,
504 .config = 0x8e,
505 },
506 [TUNER_MICROTUNE_4049FM5] = { /* Microtune PAL */
507 .name = "Microtune 4049 FM5",
508 .thresh1= 16 * 141.00 /*MHz*/,
509 .thresh2= 16 * 464.00 /*MHz*/,
510 .VHF_L = 0xa0,
511 .VHF_H = 0x90,
512 .UHF = 0x30,
513 .config = 0x8e,
514 },
515 [TUNER_MICROTUNE_4042_FI5] = { /* Panasonic NTSC */
516 .name = "Panasonic VP27s/ENGE4324D",
517 .thresh1= 16 * 160.00 /*MHz*/,
518 .thresh2= 16 * 454.00 /*MHz*/,
519 .VHF_L = 0x01,
520 .VHF_H = 0x02,
521 .UHF = 0x08,
522 .config = 0xce,
523 },
524 [TUNER_LG_NTSC_TAPE] = { /* LGINNOTEK NTSC */
525 .name = "LG NTSC (TAPE series)",
526 .thresh1= 16 * 160.00 /*MHz*/,
527 .thresh2= 16 * 442.00 /*MHz*/,
528 .VHF_L = 0x01,
529 .VHF_H = 0x02,
530 .UHF = 0x04,
531 .config = 0x8e,
532 },
533 [TUNER_TNF_8831BGFF] = { /* Philips PAL */
534 .name = "Tenna TNF 8831 BGFF)",
535 .thresh1= 16 * 161.25 /*MHz*/,
536 .thresh2= 16 * 463.25 /*MHz*/,
537 .VHF_L = 0xa0,
538 .VHF_H = 0x90,
539 .UHF = 0x30,
540 .config = 0x8e,
541 },
542 [TUNER_MICROTUNE_4042FI5] = { /* Microtune NTSC */
543 .name = "Microtune 4042 FI5 ATSC/NTSC dual in",
544 .thresh1= 16 * 162.00 /*MHz*/,
545 .thresh2= 16 * 457.00 /*MHz*/,
546 .VHF_L = 0xa2,
547 .VHF_H = 0x94,
548 .UHF = 0x31,
549 .config = 0x8e,
550 },
207 551
208 /* 50-59 */ 552 /* 50-59 */
209 { "TCL 2002N", /* TCL NTSC */ 553 [TUNER_TCL_2002N] = { /* TCL NTSC */
210 16*172.00, 16*448.00, 0x01, 0x02, 0x08, 0x8e}, 554 .name = "TCL 2002N",
211 { "Philips PAL/SECAM_D (FM 1256 I-H3)", /* Philips PAL */ 555 .thresh1= 16 * 172.00 /*MHz*/,
212 16*160.00, 16*442.00, 0x01, 0x02, 0x04, 0x8e}, 556 .thresh2= 16 * 448.00 /*MHz*/,
213 { "Thomson DDT 7610 (ATSC/NTSC)", /* THOMSON ATSC */ 557 .VHF_L = 0x01,
214 16*157.25, 16*454.00, 0x39, 0x3a, 0x3c, 0x8e}, 558 .VHF_H = 0x02,
215 { "Philips FQ1286", /* Philips NTSC */ 559 .UHF = 0x08,
216 16*160.00, 16*454.00, 0x41, 0x42, 0x04, 0x8e}, 560 .config = 0x8e,
217 { "tda8290+75", /* Philips PAL|NTSC */ 561 },
562 [TUNER_PHILIPS_FM1256_IH3] = { /* Philips PAL */
563 .name = "Philips PAL/SECAM_D (FM 1256 I-H3)",
564 .thresh1= 16 * 160.00 /*MHz*/,
565 .thresh2= 16 * 442.00 /*MHz*/,
566 .VHF_L = 0x01,
567 .VHF_H = 0x02,
568 .UHF = 0x04,
569 .config = 0x8e,
570 },
571 [TUNER_THOMSON_DTT7610] = { /* THOMSON ATSC */
572 .name = "Thomson DDT 7610 (ATSC/NTSC)",
573 .thresh1= 16 * 157.25 /*MHz*/,
574 .thresh2= 16 * 454.00 /*MHz*/,
575 .VHF_L = 0x39,
576 .VHF_H = 0x3a,
577 .UHF = 0x3c,
578 .config = 0x8e,
579 },
580 [TUNER_PHILIPS_FQ1286] = { /* Philips NTSC */
581 .name = "Philips FQ1286",
582 .thresh1= 16 * 160.00 /*MHz*/,
583 .thresh2= 16 * 454.00 /*MHz*/,
584 .VHF_L = 0x41,
585 .VHF_H = 0x42,
586 .UHF = 0x04,
587 .config = 0x8e,
588 },
589 [TUNER_PHILIPS_TDA8290] = { /* Philips PAL|NTSC */
590 .name = "tda8290+75",
218 /* see tda8290.c for details */ }, 591 /* see tda8290.c for details */ },
219 { "TCL 2002MB", /* TCL PAL */ 592 [TUNER_TCL_2002MB] = { /* TCL PAL */
220 16*170.00, 16*450.00, 0x01, 0x02, 0x08, 0xce}, 593 .name = "TCL 2002MB",
221 { "Philips PAL/SECAM multi (FQ1216AME MK4)", /* Philips PAL */ 594 .thresh1= 16 * 170.00 /*MHz*/,
222 16*160.00, 16*442.00, 0x01, 0x02, 0x04, 0xce}, 595 .thresh2= 16 * 450.00 /*MHz*/,
223 { "Philips FQ1236A MK4", /* Philips NTSC */ 596 .VHF_L = 0x01,
224 16*160.00, 16*442.00, 0x01, 0x02, 0x04, 0x8e}, 597 .VHF_H = 0x02,
225 { "Ymec TVision TVF-8531MF/8831MF/8731MF", /* Philips NTSC */ 598 .UHF = 0x08,
226 16*160.00, 16*454.00, 0xa0, 0x90, 0x30, 0x8e}, 599 .config = 0xce,
227 { "Ymec TVision TVF-5533MF", /* Philips NTSC */ 600 },
228 16*160.00, 16*454.00, 0x01, 0x02, 0x04, 0x8e}, 601 [TUNER_PHILIPS_FQ1216AME_MK4] = { /* Philips PAL */
602 .name = "Philips PAL/SECAM multi (FQ1216AME MK4)",
603 .thresh1= 16 * 160.00 /*MHz*/,
604 .thresh2= 16 * 442.00 /*MHz*/,
605 .VHF_L = 0x01,
606 .VHF_H = 0x02,
607 .UHF = 0x04,
608 .config = 0xce,
609 },
610 [TUNER_PHILIPS_FQ1236A_MK4] = { /* Philips NTSC */
611 .name = "Philips FQ1236A MK4",
612 .thresh1= 16 * 160.00 /*MHz*/,
613 .thresh2= 16 * 442.00 /*MHz*/,
614 .VHF_L = 0x01,
615 .VHF_H = 0x02,
616 .UHF = 0x04,
617 .config = 0x8e,
618 },
619 [TUNER_YMEC_TVF_8531MF] = { /* Philips NTSC */
620 .name = "Ymec TVision TVF-8531MF/8831MF/8731MF",
621 .thresh1= 16 * 160.00 /*MHz*/,
622 .thresh2= 16 * 454.00 /*MHz*/,
623 .VHF_L = 0xa0,
624 .VHF_H = 0x90,
625 .UHF = 0x30,
626 .config = 0x8e,
627 },
628 [TUNER_YMEC_TVF_5533MF] = { /* Philips NTSC */
629 .name = "Ymec TVision TVF-5533MF",
630 .thresh1= 16 * 160.00 /*MHz*/,
631 .thresh2= 16 * 454.00 /*MHz*/,
632 .VHF_L = 0x01,
633 .VHF_H = 0x02,
634 .UHF = 0x04,
635 .config = 0x8e,
636 },
229 637
230 /* 60-69 */ 638 /* 60-69 */
231 { "Thomson DDT 7611 (ATSC/NTSC)", /* THOMSON ATSC */ 639 [TUNER_THOMSON_DTT7611] = { /* THOMSON ATSC */
232 16*157.25, 16*454.00, 0x39, 0x3a, 0x3c, 0x8e}, 640 .name = "Thomson DDT 7611 (ATSC/NTSC)",
233 { "Tena TNF9533-D/IF/TNF9533-B/DF", /* Philips PAL */ 641 .thresh1= 16 * 157.25 /*MHz*/,
234 16*160.25, 16*464.25, 0x01, 0x02, 0x04, 0x8e}, 642 .thresh2= 16 * 454.00 /*MHz*/,
235 { "Philips TEA5767HN FM Radio", /* Philips RADIO */ 643 .VHF_L = 0x39,
644 .VHF_H = 0x3a,
645 .UHF = 0x3c,
646 .config = 0x8e,
647 },
648 [TUNER_TENA_9533_DI] = { /* Philips PAL */
649 .name = "Tena TNF9533-D/IF/TNF9533-B/DF",
650 .thresh1= 16 * 160.25 /*MHz*/,
651 .thresh2= 16 * 464.25 /*MHz*/,
652 .VHF_L = 0x01,
653 .VHF_H = 0x02,
654 .UHF = 0x04,
655 .config = 0x8e,
656 },
657 [TUNER_TEA5767] = { /* Philips RADIO */
658 .name = "Philips TEA5767HN FM Radio",
236 /* see tea5767.c for details */}, 659 /* see tea5767.c for details */},
237 { "Philips FMD1216ME MK3 Hybrid Tuner", /* Philips PAL */ 660 [TUNER_PHILIPS_FMD1216ME_MK3] = { /* Philips PAL */
238 16*160.00, 16*442.00, 0x51, 0x52, 0x54, 0x86}, 661 .name = "Philips FMD1216ME MK3 Hybrid Tuner",
239 { "LG TDVS-H062F/TUA6034", /* LGINNOTEK ATSC */ 662 .thresh1= 16 * 160.00 /*MHz*/,
240 16*160.00, 16*455.00, 0x01, 0x02, 0x04, 0x8e}, 663 .thresh2= 16 * 442.00 /*MHz*/,
241 { "Ymec TVF66T5-B/DFF", /* Philips PAL */ 664 .VHF_L = 0x51,
242 16*160.25, 16*464.25, 0x01, 0x02, 0x08, 0x8e}, 665 .VHF_H = 0x52,
243 { "LG NTSC (TALN mini series)", /* LGINNOTEK NTSC */ 666 .UHF = 0x54,
244 16*137.25, 16*373.25, 0x01, 0x02, 0x08, 0x8e}, 667 .config = 0x86,
245 { "Philips TD1316 Hybrid Tuner", /* Philips PAL */ 668 },
246 16*160.00, 16*442.00, 0xa1, 0xa2, 0xa4, 0xc8}, 669 [TUNER_LG_TDVS_H062F] = { /* LGINNOTEK ATSC */
247 { "Philips TUV1236D ATSC/NTSC dual in", /* Philips ATSC */ 670 .name = "LG TDVS-H062F/TUA6034",
248 16*157.25, 16*454.00, 0x01, 0x02, 0x04, 0xce}, 671 .thresh1= 16 * 160.00 /*MHz*/,
249 { "Tena TNF 5335 MF", /* Philips NTSC */ 672 .thresh2= 16 * 455.00 /*MHz*/,
250 16*157.25, 16*454.00, 0x01, 0x02, 0x04, 0x8e}, 673 .VHF_L = 0x01,
674 .VHF_H = 0x02,
675 .UHF = 0x04,
676 .config = 0x8e,
677 },
678 [TUNER_YMEC_TVF66T5_B_DFF] = { /* Philips PAL */
679 .name = "Ymec TVF66T5-B/DFF",
680 .thresh1= 16 * 160.25 /*MHz*/,
681 .thresh2= 16 * 464.25 /*MHz*/,
682 .VHF_L = 0x01,
683 .VHF_H = 0x02,
684 .UHF = 0x08,
685 .config = 0x8e,
686 },
687 [TUNER_LG_NTSC_TALN_MINI] = { /* LGINNOTEK NTSC */
688 .name = "LG NTSC (TALN mini series)",
689 .thresh1= 16 * 137.25 /*MHz*/,
690 .thresh2= 16 * 373.25 /*MHz*/,
691 .VHF_L = 0x01,
692 .VHF_H = 0x02,
693 .UHF = 0x08,
694 .config = 0x8e,
695 },
696 [TUNER_PHILIPS_TD1316] = { /* Philips PAL */
697 .name = "Philips TD1316 Hybrid Tuner",
698 .thresh1= 16 * 160.00 /*MHz*/,
699 .thresh2= 16 * 442.00 /*MHz*/,
700 .VHF_L = 0xa1,
701 .VHF_H = 0xa2,
702 .UHF = 0xa4,
703 .config = 0xc8,
704 },
705 [TUNER_PHILIPS_TUV1236D] = { /* Philips ATSC */
706 .name = "Philips TUV1236D ATSC/NTSC dual in",
707 .thresh1= 16 * 157.25 /*MHz*/,
708 .thresh2= 16 * 454.00 /*MHz*/,
709 .VHF_L = 0x01,
710 .VHF_H = 0x02,
711 .UHF = 0x04,
712 .config = 0xce,
713 },
714 [TUNER_TNF_5335MF] = { /* Philips NTSC */
715 .name = "Tena TNF 5335 MF",
716 .thresh1= 16 * 157.25 /*MHz*/,
717 .thresh2= 16 * 454.00 /*MHz*/,
718 .VHF_L = 0x01,
719 .VHF_H = 0x02,
720 .UHF = 0x04,
721 .config = 0x8e,
722 },
251}; 723};
252 724
253unsigned const int tuner_count = ARRAY_SIZE(tuners); 725unsigned const int tuner_count = ARRAY_SIZE(tuners);
diff --git a/include/media/tuner.h b/include/media/tuner.h
index b37cde606692..b28aa17213f5 100644
--- a/include/media/tuner.h
+++ b/include/media/tuner.h
@@ -115,28 +115,6 @@
115#define TUNER_PHILIPS_TUV1236D 68 /* ATI HDTV Wonder */ 115#define TUNER_PHILIPS_TUV1236D 68 /* ATI HDTV Wonder */
116#define TUNER_TNF_5335MF 69 /* Sabrent Bt848 */ 116#define TUNER_TNF_5335MF 69 /* Sabrent Bt848 */
117 117
118#define NOTUNER 0
119#define PAL 1 /* PAL_BG */
120#define PAL_I 2
121#define NTSC 3
122#define SECAM 4
123#define ATSC 5
124#define RADIO 6
125
126#define NoTuner 0
127#define Philips 1
128#define TEMIC 2
129#define Sony 3
130#define Alps 4
131#define LGINNOTEK 5
132#define SHARP 6
133#define Samsung 7
134#define Microtune 8
135#define HITACHI 9
136#define Panasonic 10
137#define TCL 11
138#define THOMSON 12
139
140#define TUNER_SET_TYPE_ADDR _IOW('T',3,int) 118#define TUNER_SET_TYPE_ADDR _IOW('T',3,int)
141#define TUNER_SET_STANDBY _IOW('T',4,int) 119#define TUNER_SET_STANDBY _IOW('T',4,int)
142#define TDA9887_SET_CONFIG _IOW('t',5,int) 120#define TDA9887_SET_CONFIG _IOW('t',5,int)