1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /*
3  *
4  * device driver for philips saa7134 based TV cards
5  * card-specific stuff.
6  *
7  * (c) 2001-04 Gerd Knorr <kraxel@bytesex.org> [SuSE Labs]
8  */
9 
10 #include "saa7134.h"
11 #include "saa7134-reg.h"
12 
13 #include <linux/init.h>
14 #include <linux/module.h>
15 #include <linux/i2c.h>
16 #include <linux/i2c-algo-bit.h>
17 
18 #include "xc2028.h"
19 #include <media/v4l2-common.h>
20 #include <media/tveeprom.h>
21 #include "tea5767.h"
22 #include "tda18271.h"
23 #include "xc5000.h"
24 #include "s5h1411.h"
25 
26 /* Input names */
27 const char * const saa7134_input_name[] = {
28 	[SAA7134_INPUT_MUTE]       = "mute",
29 	[SAA7134_INPUT_RADIO]      = "Radio",
30 	[SAA7134_INPUT_TV]         = "Television",
31 	[SAA7134_INPUT_TV_MONO]    = "TV (mono only)",
32 	[SAA7134_INPUT_COMPOSITE]  = "Composite",
33 	[SAA7134_INPUT_COMPOSITE0] = "Composite0",
34 	[SAA7134_INPUT_COMPOSITE1] = "Composite1",
35 	[SAA7134_INPUT_COMPOSITE2] = "Composite2",
36 	[SAA7134_INPUT_COMPOSITE3] = "Composite3",
37 	[SAA7134_INPUT_COMPOSITE4] = "Composite4",
38 	[SAA7134_INPUT_SVIDEO]     = "S-Video",
39 	[SAA7134_INPUT_SVIDEO0]    = "S-Video0",
40 	[SAA7134_INPUT_SVIDEO1]    = "S-Video1",
41 	[SAA7134_INPUT_COMPOSITE_OVER_SVIDEO] = "Composite over S-Video",
42 };
43 
44 /* ------------------------------------------------------------------ */
45 /* board config info                                                  */
46 
47 static struct tda18271_std_map aver_a706_std_map = {
48 	.fm_radio = { .if_freq = 5500, .fm_rfn = 0, .agc_mode = 3, .std = 0,
49 		      .if_lvl = 0, .rfagc_top = 0x2c, },
50 };
51 
52 /* If radio_type !=UNSET, radio_addr should be specified
53  */
54 
55 struct saa7134_board saa7134_boards[] = {
56 	[SAA7134_BOARD_UNKNOWN] = {
57 		.name		= "UNKNOWN/GENERIC",
58 		.audio_clock	= 0x00187de7,
59 		.tuner_type	= TUNER_ABSENT,
60 		.radio_type     = UNSET,
61 		.tuner_addr	= ADDR_UNSET,
62 		.radio_addr	= ADDR_UNSET,
63 
64 		.inputs         = {{
65 			.type = SAA7134_INPUT_COMPOSITE,
66 			.vmux = 0,
67 			.amux = LINE1,
68 		}},
69 	},
70 	[SAA7134_BOARD_PROTEUS_PRO] = {
71 		/* /me */
72 		.name		= "Proteus Pro [philips reference design]",
73 		.audio_clock	= 0x00187de7,
74 		.tuner_type	= TUNER_PHILIPS_PAL,
75 		.radio_type     = UNSET,
76 		.tuner_addr	= ADDR_UNSET,
77 		.radio_addr	= ADDR_UNSET,
78 
79 		.inputs         = {{
80 			.type = SAA7134_INPUT_COMPOSITE1,
81 			.vmux = 0,
82 			.amux = LINE1,
83 		},{
84 			.type = SAA7134_INPUT_TV,
85 			.vmux = 1,
86 			.amux = TV,
87 		},{
88 			.type = SAA7134_INPUT_TV_MONO,
89 			.vmux = 1,
90 			.amux = LINE2,
91 		}},
92 		.radio = {
93 			.type = SAA7134_INPUT_RADIO,
94 			.amux = LINE2,
95 		},
96 	},
97 	[SAA7134_BOARD_FLYVIDEO3000] = {
98 		/* "Marco d'Itri" <md@Linux.IT> */
99 		.name		= "LifeView FlyVIDEO3000",
100 		.audio_clock	= 0x00200000,
101 		.tuner_type	= TUNER_PHILIPS_PAL,
102 		.radio_type     = UNSET,
103 		.tuner_addr	= ADDR_UNSET,
104 		.radio_addr	= ADDR_UNSET,
105 
106 		.gpiomask       = 0xe000,
107 		.inputs         = {{
108 			.type = SAA7134_INPUT_TV,
109 			.vmux = 1,
110 			.amux = TV,
111 			.gpio = 0x8000,
112 		},{
113 			.type = SAA7134_INPUT_TV_MONO,
114 			.vmux = 1,
115 			.amux = LINE2,
116 			.gpio = 0x0000,
117 		},{
118 			.type = SAA7134_INPUT_COMPOSITE1,
119 			.vmux = 0,
120 			.amux = LINE2,
121 			.gpio = 0x4000,
122 		},{
123 			.type = SAA7134_INPUT_COMPOSITE2,
124 			.vmux = 3,
125 			.amux = LINE2,
126 			.gpio = 0x4000,
127 		},{
128 			.type = SAA7134_INPUT_SVIDEO,
129 			.vmux = 8,
130 			.amux = LINE2,
131 			.gpio = 0x4000,
132 		}},
133 		.radio = {
134 			.type = SAA7134_INPUT_RADIO,
135 			.amux = LINE2,
136 			.gpio = 0x2000,
137 		},
138 		.mute = {
139 			.type = SAA7134_INPUT_MUTE,
140 			.amux = TV,
141 			.gpio = 0x8000,
142 		},
143 	},
144 	[SAA7134_BOARD_FLYVIDEO2000] = {
145 		/* "TC Wan" <tcwan@cs.usm.my> */
146 		.name           = "LifeView/Typhoon FlyVIDEO2000",
147 		.audio_clock    = 0x00200000,
148 		.tuner_type     = TUNER_LG_PAL_NEW_TAPC,
149 		.radio_type     = UNSET,
150 		.tuner_addr	= ADDR_UNSET,
151 		.radio_addr	= ADDR_UNSET,
152 
153 		.gpiomask       = 0xe000,
154 		.inputs         = {{
155 			.type = SAA7134_INPUT_TV,
156 			.vmux = 1,
157 			.amux = LINE2,
158 			.gpio = 0x0000,
159 		},{
160 			.type = SAA7134_INPUT_COMPOSITE1,
161 			.vmux = 0,
162 			.amux = LINE2,
163 			.gpio = 0x4000,
164 		},{
165 			.type = SAA7134_INPUT_COMPOSITE2,
166 			.vmux = 3,
167 			.amux = LINE2,
168 			.gpio = 0x4000,
169 		},{
170 			.type = SAA7134_INPUT_SVIDEO,
171 			.vmux = 8,
172 			.amux = LINE2,
173 			.gpio = 0x4000,
174 		}},
175 		.radio = {
176 			.type = SAA7134_INPUT_RADIO,
177 			.amux = LINE2,
178 			.gpio = 0x2000,
179 		},
180 		.mute = {
181 			.type = SAA7134_INPUT_MUTE,
182 			.amux = LINE2,
183 			.gpio = 0x8000,
184 		},
185 	},
186 	[SAA7134_BOARD_FLYTVPLATINUM_MINI] = {
187 		/* "Arnaud Quette" <aquette@free.fr> */
188 		.name           = "LifeView FlyTV Platinum Mini",
189 		.audio_clock    = 0x00200000,
190 		.tuner_type     = TUNER_PHILIPS_TDA8290,
191 		.radio_type     = UNSET,
192 		.tuner_addr	= ADDR_UNSET,
193 		.radio_addr	= ADDR_UNSET,
194 
195 		.inputs         = {{
196 			.type = SAA7134_INPUT_TV,
197 			.vmux = 1,
198 			.amux = TV,
199 		},{
200 			.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
201 			.vmux = 0,
202 			.amux = LINE2,
203 		},{
204 			.type = SAA7134_INPUT_COMPOSITE,
205 			.vmux = 3,
206 			.amux = LINE2,
207 		},{
208 			.type = SAA7134_INPUT_SVIDEO,
209 			.vmux = 8,
210 			.amux = LINE2,
211 		}},
212 	},
213 	[SAA7134_BOARD_FLYTVPLATINUM_FM] = {
214 		/* LifeView FlyTV Platinum FM (LR214WF) */
215 		/* "Peter Missel <peter.missel@onlinehome.de> */
216 		.name           = "LifeView FlyTV Platinum FM / Gold",
217 		.audio_clock    = 0x00200000,
218 		.tuner_type     = TUNER_PHILIPS_TDA8290,
219 		.radio_type     = UNSET,
220 		.tuner_addr	= ADDR_UNSET,
221 		.radio_addr	= ADDR_UNSET,
222 
223 		.gpiomask       = 0x1E000,	/* Set GP16 and unused 15,14,13 to Output */
224 		.inputs         = {{
225 			.type = SAA7134_INPUT_TV,
226 			.vmux = 1,
227 			.amux = TV,
228 			.gpio = 0x10000,	/* GP16=1 selects TV input */
229 		},{
230 /*			.type = SAA7134_INPUT_TV_MONO,
231 			.vmux = 1,
232 			.amux = LINE2,
233 			.gpio = 0x0000,
234 		},{
235 */			.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
236 			.vmux = 0,
237 			.amux = LINE2,
238 /*			.gpio = 0x4000,         */
239 		},{
240 			.type = SAA7134_INPUT_COMPOSITE,
241 			.vmux = 3,
242 			.amux = LINE2,
243 /*			.gpio = 0x4000,         */
244 		},{
245 			.type = SAA7134_INPUT_SVIDEO,
246 			.vmux = 8,
247 			.amux = LINE2,
248 /*			.gpio = 0x4000,         */
249 		}},
250 		.radio = {
251 			.type = SAA7134_INPUT_RADIO,
252 			.amux = TV,
253 			.gpio = 0x00000,	/* GP16=0 selects FM radio antenna */
254 		},
255 		.mute = {
256 			.type = SAA7134_INPUT_MUTE,
257 			.amux = TV,
258 			.gpio = 0x10000,
259 		},
260 	},
261 	[SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM] = {
262 		/* RoverMedia TV Link Pro FM (LR138 REV:I) */
263 		/* Eugene Yudin <Eugene.Yudin@gmail.com> */
264 		.name		= "RoverMedia TV Link Pro FM",
265 		.audio_clock	= 0x00200000,
266 		.tuner_type	= TUNER_PHILIPS_FM1216ME_MK3, /* TCL MFPE05 2 */
267 		.radio_type     = UNSET,
268 		.tuner_addr	= ADDR_UNSET,
269 		.radio_addr	= ADDR_UNSET,
270 		.tda9887_conf   = TDA9887_PRESENT,
271 		.gpiomask       = 0xe000,
272 		.inputs         = { {
273 			.type = SAA7134_INPUT_TV,
274 			.vmux = 1,
275 			.amux = TV,
276 			.gpio = 0x8000,
277 		}, {
278 			.type = SAA7134_INPUT_TV_MONO,
279 			.vmux = 1,
280 			.amux = LINE2,
281 			.gpio = 0x0000,
282 		}, {
283 			.type = SAA7134_INPUT_COMPOSITE1,
284 			.vmux = 0,
285 			.amux = LINE2,
286 			.gpio = 0x4000,
287 		}, {
288 			.type = SAA7134_INPUT_COMPOSITE2,
289 			.vmux = 3,
290 			.amux = LINE2,
291 			.gpio = 0x4000,
292 		}, {
293 			.type = SAA7134_INPUT_SVIDEO,
294 			.vmux = 8,
295 			.amux = LINE2,
296 			.gpio = 0x4000,
297 		} },
298 		.radio = {
299 			.type = SAA7134_INPUT_RADIO,
300 			.amux = LINE2,
301 			.gpio = 0x2000,
302 		},
303 		.mute = {
304 			.type = SAA7134_INPUT_MUTE,
305 			.amux = TV,
306 			.gpio = 0x8000,
307 		},
308 	},
309 	[SAA7134_BOARD_EMPRESS] = {
310 		/* "Gert Vervoort" <gert.vervoort@philips.com> */
311 		.name		= "EMPRESS",
312 		.audio_clock	= 0x00187de7,
313 		.tuner_type	= TUNER_PHILIPS_PAL,
314 		.radio_type     = UNSET,
315 		.tuner_addr	= ADDR_UNSET,
316 		.radio_addr	= ADDR_UNSET,
317 		.empress_addr	= 0x20,
318 
319 		.inputs         = {{
320 			.type = SAA7134_INPUT_COMPOSITE1,
321 			.vmux = 0,
322 			.amux = LINE1,
323 		},{
324 			.type = SAA7134_INPUT_SVIDEO,
325 			.vmux = 8,
326 			.amux = LINE1,
327 		},{
328 			.type = SAA7134_INPUT_TV,
329 			.vmux = 1,
330 			.amux = LINE2,
331 		}},
332 		.radio = {
333 			.type = SAA7134_INPUT_RADIO,
334 			.amux = LINE2,
335 		},
336 		.mpeg      = SAA7134_MPEG_EMPRESS,
337 		.video_out = CCIR656,
338 	},
339 	[SAA7134_BOARD_MONSTERTV] = {
340 		/* "K.Ohta" <alpha292@bremen.or.jp> */
341 		.name           = "SKNet Monster TV",
342 		.audio_clock    = 0x00187de7,
343 		.tuner_type     = TUNER_PHILIPS_NTSC_M,
344 		.radio_type     = UNSET,
345 		.tuner_addr	= ADDR_UNSET,
346 		.radio_addr	= ADDR_UNSET,
347 
348 		.inputs         = {{
349 			.type = SAA7134_INPUT_TV,
350 			.vmux = 1,
351 			.amux = TV,
352 		},{
353 			.type = SAA7134_INPUT_COMPOSITE1,
354 			.vmux = 0,
355 			.amux = LINE1,
356 		},{
357 			.type = SAA7134_INPUT_SVIDEO,
358 			.vmux = 8,
359 			.amux = LINE1,
360 		}},
361 		.radio = {
362 			.type = SAA7134_INPUT_RADIO,
363 			.amux = LINE2,
364 		},
365 	},
366 	[SAA7134_BOARD_MD9717] = {
367 		.name		= "Tevion MD 9717",
368 		.audio_clock	= 0x00200000,
369 		.tuner_type	= TUNER_PHILIPS_PAL,
370 		.radio_type     = UNSET,
371 		.tuner_addr	= ADDR_UNSET,
372 		.radio_addr	= ADDR_UNSET,
373 		.inputs         = {{
374 			.type = SAA7134_INPUT_TV,
375 			.vmux = 1,
376 			.amux = TV,
377 		},{
378 			/* workaround for problems with normal TV sound */
379 			.type = SAA7134_INPUT_TV_MONO,
380 			.vmux = 1,
381 			.amux = LINE2,
382 		},{
383 			.type = SAA7134_INPUT_COMPOSITE1,
384 			.vmux = 0,
385 			.amux = LINE1,
386 		},{
387 			.type = SAA7134_INPUT_COMPOSITE2,
388 			.vmux = 3,
389 			.amux = LINE1,
390 		},{
391 			.type = SAA7134_INPUT_SVIDEO,
392 			.vmux = 8,
393 			.amux = LINE1,
394 		}},
395 		.radio = {
396 			.type = SAA7134_INPUT_RADIO,
397 			.amux = LINE2,
398 		},
399 	       .mute = {
400 		       .type = SAA7134_INPUT_MUTE,
401 		       .amux = TV,
402 	       },
403 	},
404 	[SAA7134_BOARD_TVSTATION_RDS] = {
405 		/* Typhoon TV Tuner RDS: Art.Nr. 50694 */
406 		.name		= "KNC One TV-Station RDS / Typhoon TV Tuner RDS",
407 		.audio_clock	= 0x00200000,
408 		.tuner_type	= TUNER_PHILIPS_FM1216ME_MK3,
409 		.radio_type     = UNSET,
410 		.tuner_addr	= ADDR_UNSET,
411 		.radio_addr	= ADDR_UNSET,
412 		.tda9887_conf   = TDA9887_PRESENT,
413 		.inputs         = {{
414 			.type = SAA7134_INPUT_TV,
415 			.vmux = 1,
416 			.amux = TV,
417 		},{
418 			.type = SAA7134_INPUT_TV_MONO,
419 			.vmux = 1,
420 			.amux   = LINE2,
421 		},{
422 
423 			.type = SAA7134_INPUT_SVIDEO,
424 			.vmux = 8,
425 			.amux = LINE1,
426 		},{
427 			.type = SAA7134_INPUT_COMPOSITE1,
428 			.vmux = 3,
429 			.amux = LINE1,
430 		},{
431 
432 			.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
433 			.vmux = 0,
434 			.amux = LINE1,
435 		}},
436 		.radio = {
437 			.type = SAA7134_INPUT_RADIO,
438 			.amux = LINE2,
439 		},
440 	},
441 	[SAA7134_BOARD_TVSTATION_DVR] = {
442 		.name		= "KNC One TV-Station DVR",
443 		.audio_clock	= 0x00200000,
444 		.tuner_type	= TUNER_PHILIPS_FM1216ME_MK3,
445 		.radio_type     = UNSET,
446 		.tuner_addr	= ADDR_UNSET,
447 		.radio_addr	= ADDR_UNSET,
448 		.empress_addr	= 0x20,
449 		.tda9887_conf	= TDA9887_PRESENT,
450 		.gpiomask	= 0x820000,
451 		.inputs		= {{
452 			.type = SAA7134_INPUT_TV,
453 			.vmux = 1,
454 			.amux = TV,
455 			.gpio = 0x20000,
456 		},{
457 			.type = SAA7134_INPUT_SVIDEO,
458 			.vmux = 8,
459 			.amux = LINE1,
460 			.gpio = 0x20000,
461 		},{
462 			.type = SAA7134_INPUT_COMPOSITE1,
463 			.vmux = 3,
464 			.amux = LINE1,
465 			.gpio = 0x20000,
466 		}},
467 		.radio		= {
468 			.type = SAA7134_INPUT_RADIO,
469 			.amux = LINE2,
470 			.gpio = 0x20000,
471 		},
472 		.mpeg           = SAA7134_MPEG_EMPRESS,
473 		.video_out	= CCIR656,
474 	},
475 	[SAA7134_BOARD_CINERGY400] = {
476 		.name           = "Terratec Cinergy 400 TV",
477 		.audio_clock    = 0x00200000,
478 		.tuner_type     = TUNER_PHILIPS_PAL,
479 		.radio_type     = UNSET,
480 		.tuner_addr	= ADDR_UNSET,
481 		.radio_addr	= ADDR_UNSET,
482 		.inputs         = {{
483 			.type = SAA7134_INPUT_TV,
484 			.vmux = 1,
485 			.amux = TV,
486 		},{
487 			.type = SAA7134_INPUT_COMPOSITE,
488 			.vmux = 4,
489 			.amux = LINE1,
490 		},{
491 			.type = SAA7134_INPUT_SVIDEO,
492 			.vmux = 8,
493 			.amux = LINE1,
494 		},{
495 			.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
496 			.vmux = 0,
497 			.amux = LINE1,
498 		}}
499 	},
500 	[SAA7134_BOARD_MD5044] = {
501 		.name           = "Medion 5044",
502 		.audio_clock    = 0x00187de7, /* was: 0x00200000, */
503 		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,
504 		.radio_type     = UNSET,
505 		.tuner_addr	= ADDR_UNSET,
506 		.radio_addr	= ADDR_UNSET,
507 		.tda9887_conf   = TDA9887_PRESENT,
508 		.inputs         = {{
509 			.type = SAA7134_INPUT_TV,
510 			.vmux = 1,
511 			.amux = TV,
512 		},{
513 			/* workaround for problems with normal TV sound */
514 			.type = SAA7134_INPUT_TV_MONO,
515 			.vmux = 1,
516 			.amux = LINE2,
517 		},{
518 			.type = SAA7134_INPUT_COMPOSITE1,
519 			.vmux = 0,
520 			.amux = LINE2,
521 		},{
522 			.type = SAA7134_INPUT_COMPOSITE2,
523 			.vmux = 3,
524 			.amux = LINE2,
525 		},{
526 			.type = SAA7134_INPUT_SVIDEO,
527 			.vmux = 8,
528 			.amux = LINE2,
529 		}},
530 		.radio = {
531 			.type = SAA7134_INPUT_RADIO,
532 			.amux = LINE2,
533 		},
534 	},
535 	[SAA7134_BOARD_KWORLD] = {
536 		.name           = "Kworld/KuroutoShikou SAA7130-TVPCI",
537 		.audio_clock    = 0x00187de7,
538 		.tuner_type     = TUNER_PHILIPS_NTSC_M,
539 		.radio_type     = UNSET,
540 		.tuner_addr	= ADDR_UNSET,
541 		.radio_addr	= ADDR_UNSET,
542 		.inputs         = {{
543 			.type = SAA7134_INPUT_SVIDEO,
544 			.vmux = 8,
545 			.amux = LINE1,
546 		},{
547 			.type = SAA7134_INPUT_COMPOSITE1,
548 			.vmux = 3,
549 			.amux = LINE1,
550 		},{
551 			.type = SAA7134_INPUT_TV,
552 			.vmux = 1,
553 			.amux = LINE2,
554 		}},
555 	},
556 	[SAA7134_BOARD_CINERGY600] = {
557 		.name           = "Terratec Cinergy 600 TV",
558 		.audio_clock    = 0x00200000,
559 		.tuner_type     = TUNER_PHILIPS_PAL,
560 		.radio_type     = UNSET,
561 		.tuner_addr	= ADDR_UNSET,
562 		.radio_addr	= ADDR_UNSET,
563 		.tda9887_conf   = TDA9887_PRESENT,
564 		.inputs         = {{
565 			.type = SAA7134_INPUT_TV,
566 			.vmux = 1,
567 			.amux = TV,
568 		},{
569 			.type = SAA7134_INPUT_COMPOSITE1,
570 			.vmux = 4,
571 			.amux = LINE1,
572 		},{
573 			.type = SAA7134_INPUT_SVIDEO,
574 			.vmux = 8,
575 			.amux = LINE1,
576 		},{
577 			.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
578 			.vmux = 0,
579 			.amux = LINE1,
580 		}},
581 		.radio = {
582 			.type = SAA7134_INPUT_RADIO,
583 			.amux = LINE2,
584 		},
585 	},
586 	[SAA7134_BOARD_MD7134] = {
587 		.name           = "Medion 7134",
588 		.audio_clock    = 0x00187de7,
589 		.tuner_type     = TUNER_PHILIPS_FMD1216ME_MK3,
590 		.radio_type     = UNSET,
591 		.tuner_addr	= ADDR_UNSET,
592 		.radio_addr	= ADDR_UNSET,
593 		.tda9887_conf   = TDA9887_PRESENT,
594 		.mpeg           = SAA7134_MPEG_DVB,
595 		.inputs = {{
596 			.type = SAA7134_INPUT_TV,
597 			.vmux   = 1,
598 			.amux   = TV,
599 		},{
600 			.type = SAA7134_INPUT_COMPOSITE1,
601 			.vmux   = 0,
602 			.amux   = LINE1,
603 		},{
604 			.type = SAA7134_INPUT_SVIDEO,
605 			.vmux   = 8,
606 			.amux   = LINE1,
607 		}},
608 		.radio = {
609 			.type = SAA7134_INPUT_RADIO,
610 			.amux   = LINE2,
611 	       },
612 	       .mute = {
613 		       .type = SAA7134_INPUT_MUTE,
614 		       .amux = TV,
615 		},
616 	},
617 	[SAA7134_BOARD_TYPHOON_90031] = {
618 		/* aka Typhoon "TV+Radio", Art.Nr 90031 */
619 		/* Tom Zoerner <tomzo at users sourceforge net> */
620 		.name           = "Typhoon TV+Radio 90031",
621 		.audio_clock    = 0x00200000,
622 		.tuner_type     = TUNER_PHILIPS_PAL,
623 		.radio_type     = UNSET,
624 		.tuner_addr	= ADDR_UNSET,
625 		.radio_addr	= ADDR_UNSET,
626 		.tda9887_conf   = TDA9887_PRESENT,
627 		.inputs         = {{
628 			.type = SAA7134_INPUT_TV,
629 			.vmux   = 1,
630 			.amux   = TV,
631 		},{
632 			.type = SAA7134_INPUT_COMPOSITE1,
633 			.vmux   = 3,
634 			.amux   = LINE1,
635 		},{
636 			.type = SAA7134_INPUT_SVIDEO,
637 			.vmux   = 8,
638 			.amux   = LINE1,
639 		}},
640 		.radio = {
641 			.type = SAA7134_INPUT_RADIO,
642 			.amux   = LINE2,
643 		},
644 	},
645 	[SAA7134_BOARD_ELSA] = {
646 		.name           = "ELSA EX-VISION 300TV",
647 		.audio_clock    = 0x00187de7,
648 		.tuner_type     = TUNER_HITACHI_NTSC,
649 		.radio_type     = UNSET,
650 		.tuner_addr	= ADDR_UNSET,
651 		.radio_addr	= ADDR_UNSET,
652 		.inputs         = {{
653 			.type = SAA7134_INPUT_SVIDEO,
654 			.vmux = 8,
655 			.amux = LINE1,
656 		},{
657 			.type = SAA7134_INPUT_COMPOSITE1,
658 			.vmux   = 0,
659 			.amux   = LINE1,
660 		},{
661 			.type = SAA7134_INPUT_TV,
662 			.vmux = 4,
663 			.amux = LINE2,
664 		}},
665 	},
666 	[SAA7134_BOARD_ELSA_500TV] = {
667 		.name           = "ELSA EX-VISION 500TV",
668 		.audio_clock    = 0x00187de7,
669 		.tuner_type     = TUNER_HITACHI_NTSC,
670 		.radio_type     = UNSET,
671 		.tuner_addr	= ADDR_UNSET,
672 		.radio_addr	= ADDR_UNSET,
673 		.inputs         = {{
674 			.type = SAA7134_INPUT_SVIDEO,
675 			.vmux = 7,
676 			.amux = LINE1,
677 		},{
678 			.type = SAA7134_INPUT_TV,
679 			.vmux = 8,
680 			.amux = TV,
681 		},{
682 			.type = SAA7134_INPUT_TV_MONO,
683 			.vmux = 8,
684 			.amux = LINE2,
685 		}},
686 	},
687 	[SAA7134_BOARD_ELSA_700TV] = {
688 		.name           = "ELSA EX-VISION 700TV",
689 		.audio_clock    = 0x00187de7,
690 		.tuner_type     = TUNER_HITACHI_NTSC,
691 		.radio_type     = UNSET,
692 		.tuner_addr	= ADDR_UNSET,
693 		.radio_addr	= ADDR_UNSET,
694 		.inputs         = {{
695 			.type = SAA7134_INPUT_TV,
696 			.vmux = 4,
697 			.amux = LINE2,
698 		},{
699 			.type = SAA7134_INPUT_COMPOSITE1,
700 			.vmux = 6,
701 			.amux = LINE1,
702 		},{
703 			.type = SAA7134_INPUT_SVIDEO,
704 			.vmux = 7,
705 			.amux = LINE1,
706 		}},
707 		.mute           = {
708 			.type = SAA7134_INPUT_MUTE,
709 			.amux = TV,
710 		},
711 	},
712 	[SAA7134_BOARD_ASUSTeK_TVFM7134] = {
713 		.name           = "ASUS TV-FM 7134",
714 		.audio_clock    = 0x00187de7,
715 		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,
716 		.radio_type     = UNSET,
717 		.tuner_addr	= ADDR_UNSET,
718 		.radio_addr	= ADDR_UNSET,
719 		.tda9887_conf   = TDA9887_PRESENT,
720 		.inputs         = {{
721 			.type = SAA7134_INPUT_TV,
722 			.vmux = 1,
723 			.amux = TV,
724 		},{
725 			.type = SAA7134_INPUT_COMPOSITE1,
726 			.vmux = 4,
727 			.amux = LINE2,
728 		},{
729 			.type = SAA7134_INPUT_SVIDEO,
730 			.vmux = 6,
731 			.amux = LINE2,
732 		}},
733 		.radio = {
734 			.type = SAA7134_INPUT_RADIO,
735 			.amux = LINE1,
736 		},
737 	},
738 	[SAA7134_BOARD_ASUSTeK_TVFM7135] = {
739 		.name           = "ASUS TV-FM 7135",
740 		.audio_clock    = 0x00187de7,
741 		.tuner_type     = TUNER_PHILIPS_TDA8290,
742 		.radio_type     = UNSET,
743 		.tuner_addr	= ADDR_UNSET,
744 		.radio_addr	= ADDR_UNSET,
745 		.gpiomask       = 0x200000,
746 		.inputs         = {{
747 			.type = SAA7134_INPUT_TV,
748 			.vmux = 1,
749 			.amux = TV,
750 			.gpio = 0x0000,
751 		},{
752 			.type = SAA7134_INPUT_COMPOSITE1,
753 			.vmux = 4,
754 			.amux = LINE2,
755 			.gpio = 0x0000,
756 		},{
757 			.type = SAA7134_INPUT_SVIDEO,
758 			.vmux = 6,
759 			.amux = LINE2,
760 			.gpio = 0x0000,
761 		}},
762 		.radio = {
763 			.type = SAA7134_INPUT_RADIO,
764 			.amux = TV,
765 			.gpio = 0x200000,
766 		},
767 		.mute  = {
768 			.type = SAA7134_INPUT_MUTE,
769 			.gpio = 0x0000,
770 		},
771 
772 	},
773 	[SAA7134_BOARD_VA1000POWER] = {
774 		.name           = "AOPEN VA1000 POWER",
775 		.audio_clock    = 0x00187de7,
776 		.tuner_type     = TUNER_PHILIPS_NTSC,
777 		.radio_type     = UNSET,
778 		.tuner_addr	= ADDR_UNSET,
779 		.radio_addr	= ADDR_UNSET,
780 		.inputs         = {{
781 			.type = SAA7134_INPUT_SVIDEO,
782 			.vmux = 8,
783 			.amux = LINE1,
784 		},{
785 			.type = SAA7134_INPUT_COMPOSITE1,
786 			.vmux = 3,
787 			.amux = LINE1,
788 		},{
789 			.type = SAA7134_INPUT_TV,
790 			.vmux = 1,
791 			.amux = LINE2,
792 		}},
793 	},
794 	[SAA7134_BOARD_10MOONSTVMASTER] = {
795 		/* "lilicheng" <llc@linuxfans.org> */
796 		.name           = "10MOONS PCI TV CAPTURE CARD",
797 		.audio_clock    = 0x00200000,
798 		.tuner_type     = TUNER_LG_PAL_NEW_TAPC,
799 		.radio_type     = UNSET,
800 		.tuner_addr	= ADDR_UNSET,
801 		.radio_addr	= ADDR_UNSET,
802 		.gpiomask       = 0xe000,
803 		.inputs         = {{
804 			.type = SAA7134_INPUT_TV,
805 			.vmux = 1,
806 			.amux = LINE2,
807 			.gpio = 0x0000,
808 		},{
809 			.type = SAA7134_INPUT_COMPOSITE1,
810 			.vmux = 0,
811 			.amux = LINE2,
812 			.gpio = 0x4000,
813 		},{
814 			.type = SAA7134_INPUT_COMPOSITE2,
815 			.vmux = 3,
816 			.amux = LINE2,
817 			.gpio = 0x4000,
818 		},{
819 			.type = SAA7134_INPUT_SVIDEO,
820 			.vmux = 8,
821 			.amux = LINE2,
822 			.gpio = 0x4000,
823 		}},
824 		.radio = {
825 			.type = SAA7134_INPUT_RADIO,
826 			.amux = LINE2,
827 			.gpio = 0x2000,
828 		},
829 		.mute = {
830 			.type = SAA7134_INPUT_MUTE,
831 			.amux = LINE2,
832 			.gpio = 0x8000,
833 		},
834 	},
835 	[SAA7134_BOARD_BMK_MPEX_NOTUNER] = {
836 		/* "Andrew de Quincey" <adq@lidskialf.net> */
837 		.name		= "BMK MPEX No Tuner",
838 		.audio_clock	= 0x200000,
839 		.tuner_type	= TUNER_ABSENT,
840 		.radio_type     = UNSET,
841 		.tuner_addr	= ADDR_UNSET,
842 		.radio_addr	= ADDR_UNSET,
843 		.empress_addr	= 0x20,
844 		.inputs         = {{
845 			.type = SAA7134_INPUT_COMPOSITE1,
846 			.vmux = 4,
847 			.amux = LINE1,
848 		},{
849 			.type = SAA7134_INPUT_COMPOSITE2,
850 			.vmux = 3,
851 			.amux = LINE1,
852 		},{
853 			.type = SAA7134_INPUT_COMPOSITE3,
854 			.vmux = 0,
855 			.amux = LINE1,
856 		},{
857 			.type = SAA7134_INPUT_COMPOSITE4,
858 			.vmux = 1,
859 			.amux = LINE1,
860 		},{
861 			.type = SAA7134_INPUT_SVIDEO,
862 			.vmux = 8,
863 			.amux = LINE1,
864 		}},
865 		.mpeg      = SAA7134_MPEG_EMPRESS,
866 		.video_out = CCIR656,
867 	},
868 	[SAA7134_BOARD_VIDEOMATE_TV] = {
869 		.name           = "Compro VideoMate TV",
870 		.audio_clock    = 0x00187de7,
871 		.tuner_type     = TUNER_PHILIPS_NTSC_M,
872 		.radio_type     = UNSET,
873 		.tuner_addr	= ADDR_UNSET,
874 		.radio_addr	= ADDR_UNSET,
875 		.inputs         = {{
876 			.type = SAA7134_INPUT_SVIDEO,
877 			.vmux = 8,
878 			.amux = LINE1,
879 		},{
880 			.type = SAA7134_INPUT_COMPOSITE1,
881 			.vmux = 3,
882 			.amux = LINE1,
883 		},{
884 			.type = SAA7134_INPUT_TV,
885 			.vmux = 1,
886 			.amux = LINE2,
887 		}},
888 	},
889 	[SAA7134_BOARD_VIDEOMATE_TV_GOLD_PLUS] = {
890 		.name           = "Compro VideoMate TV Gold+",
891 		.audio_clock    = 0x00187de7,
892 		.tuner_type     = TUNER_PHILIPS_NTSC_M,
893 		.gpiomask       = 0x800c0000,
894 		.radio_type     = UNSET,
895 		.tuner_addr	= ADDR_UNSET,
896 		.radio_addr	= ADDR_UNSET,
897 		.inputs         = {{
898 			.type = SAA7134_INPUT_SVIDEO,
899 			.vmux = 8,
900 			.amux = LINE1,
901 			.gpio = 0x06c00012,
902 		},{
903 			.type = SAA7134_INPUT_COMPOSITE1,
904 			.vmux = 3,
905 			.amux = LINE1,
906 			.gpio = 0x0ac20012,
907 		},{
908 			.type = SAA7134_INPUT_TV,
909 			.vmux = 1,
910 			.amux = LINE2,
911 			.gpio = 0x08c20012,
912 		}},				/* radio and probably mute is missing */
913 	},
914 	[SAA7134_BOARD_CRONOS_PLUS] = {
915 		/*
916 		gpio pins:
917 			0  .. 3   BASE_ID
918 			4  .. 7   PROTECT_ID
919 			8  .. 11  USER_OUT
920 			12 .. 13  USER_IN
921 			14 .. 15  VIDIN_SEL
922 		*/
923 		.name           = "Matrox CronosPlus",
924 		.tuner_type     = TUNER_ABSENT,
925 		.radio_type     = UNSET,
926 		.tuner_addr	= ADDR_UNSET,
927 		.radio_addr	= ADDR_UNSET,
928 		.gpiomask       = 0xcf00,
929 		.inputs         = {{
930 			.type = SAA7134_INPUT_COMPOSITE1,
931 			.vmux = 0,
932 			.gpio = 2 << 14,
933 		},{
934 			.type = SAA7134_INPUT_COMPOSITE2,
935 			.vmux = 0,
936 			.gpio = 1 << 14,
937 		},{
938 			.type = SAA7134_INPUT_COMPOSITE3,
939 			.vmux = 0,
940 			.gpio = 0 << 14,
941 		},{
942 			.type = SAA7134_INPUT_COMPOSITE4,
943 			.vmux = 0,
944 			.gpio = 3 << 14,
945 		},{
946 			.type = SAA7134_INPUT_SVIDEO,
947 			.vmux = 8,
948 			.gpio = 2 << 14,
949 		}},
950 	},
951 	[SAA7134_BOARD_MD2819] = {
952 		.name           = "AverMedia M156 / Medion 2819",
953 		.audio_clock    = 0x00187de7,
954 		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,
955 		.radio_type     = UNSET,
956 		.tuner_addr	= ADDR_UNSET,
957 		.radio_addr	= ADDR_UNSET,
958 		.tda9887_conf   = TDA9887_PRESENT,
959 		.gpiomask	= 0x03,
960 		.inputs         = {{
961 			.type = SAA7134_INPUT_TV,
962 			.vmux = 1,
963 			.amux = TV,
964 			.gpio = 0x00,
965 		}, {
966 			.type = SAA7134_INPUT_COMPOSITE1,
967 			.vmux = 3,
968 			.amux = LINE1,
969 			.gpio = 0x02,
970 		}, {
971 			.type = SAA7134_INPUT_COMPOSITE2,
972 			.vmux = 0,
973 			.amux = LINE1,
974 			.gpio = 0x02,
975 		}, {
976 			.type = SAA7134_INPUT_SVIDEO,
977 			.vmux = 8,
978 			.amux = LINE1,
979 			.gpio = 0x02,
980 		} },
981 		.radio = {
982 			.type = SAA7134_INPUT_RADIO,
983 			.amux = LINE1,
984 			.gpio = 0x01,
985 		},
986 		.mute  = {
987 			.type = SAA7134_INPUT_MUTE,
988 			.amux = TV,
989 			.gpio = 0x00,
990 		},
991 	},
992 	[SAA7134_BOARD_BMK_MPEX_TUNER] = {
993 		/* "Greg Wickham <greg.wickham@grangenet.net> */
994 		.name           = "BMK MPEX Tuner",
995 		.audio_clock    = 0x200000,
996 		.tuner_type     = TUNER_PHILIPS_PAL,
997 		.radio_type     = UNSET,
998 		.tuner_addr	= ADDR_UNSET,
999 		.radio_addr	= ADDR_UNSET,
1000 		.empress_addr	= 0x20,
1001 		.inputs         = {{
1002 			.type = SAA7134_INPUT_COMPOSITE1,
1003 			.vmux = 1,
1004 			.amux = LINE1,
1005 		},{
1006 			.type = SAA7134_INPUT_SVIDEO,
1007 			.vmux = 8,
1008 			.amux = LINE1,
1009 		},{
1010 			.type = SAA7134_INPUT_TV,
1011 			.vmux = 3,
1012 			.amux = TV,
1013 		}},
1014 		.mpeg      = SAA7134_MPEG_EMPRESS,
1015 		.video_out = CCIR656,
1016 	},
1017 	[SAA7134_BOARD_ASUSTEK_TVFM7133] = {
1018 		.name           = "ASUS TV-FM 7133",
1019 		.audio_clock    = 0x00187de7,
1020 		/* probably wrong, the 7133 one is the NTSC version ...
1021 		* .tuner_type  = TUNER_PHILIPS_FM1236_MK3 */
1022 		.tuner_type     = TUNER_LG_NTSC_NEW_TAPC,
1023 		.radio_type     = UNSET,
1024 		.tuner_addr	= ADDR_UNSET,
1025 		.radio_addr	= ADDR_UNSET,
1026 		.tda9887_conf   = TDA9887_PRESENT,
1027 		.inputs         = {{
1028 			.type = SAA7134_INPUT_TV,
1029 			.vmux = 1,
1030 			.amux = TV,
1031 
1032 		},{
1033 			.type = SAA7134_INPUT_COMPOSITE1,
1034 			.vmux = 4,
1035 			.amux = LINE2,
1036 		},{
1037 			.type = SAA7134_INPUT_SVIDEO,
1038 			.vmux = 6,
1039 			.amux = LINE2,
1040 		}},
1041 		.radio = {
1042 			.type = SAA7134_INPUT_RADIO,
1043 			.amux = LINE1,
1044 		},
1045 	},
1046 	[SAA7134_BOARD_PINNACLE_PCTV_STEREO] = {
1047 		.name           = "Pinnacle PCTV Stereo (saa7134)",
1048 		.audio_clock    = 0x00187de7,
1049 		.tuner_type     = TUNER_MT2032,
1050 		.radio_type     = UNSET,
1051 		.tuner_addr	= ADDR_UNSET,
1052 		.radio_addr	= ADDR_UNSET,
1053 		.tda9887_conf   = TDA9887_PRESENT | TDA9887_INTERCARRIER | TDA9887_PORT2_INACTIVE,
1054 		.inputs         = {{
1055 			.type = SAA7134_INPUT_TV,
1056 			.vmux = 3,
1057 			.amux = TV,
1058 		},{
1059 			.type = SAA7134_INPUT_COMPOSITE1,
1060 			.vmux = 0,
1061 			.amux = LINE2,
1062 		},{
1063 			.type = SAA7134_INPUT_COMPOSITE2,
1064 			.vmux = 1,
1065 			.amux = LINE2,
1066 		},{
1067 			.type = SAA7134_INPUT_SVIDEO,
1068 			.vmux = 8,
1069 			.amux = LINE2,
1070 		}},
1071 	},
1072 	[SAA7134_BOARD_MANLI_MTV002] = {
1073 		/* Ognjen Nastic <ognjen@logosoft.ba> */
1074 		.name           = "Manli MuchTV M-TV002",
1075 		.audio_clock    = 0x00200000,
1076 		.tuner_type     = TUNER_PHILIPS_PAL,
1077 		.radio_type     = UNSET,
1078 		.tuner_addr	= ADDR_UNSET,
1079 		.radio_addr	= ADDR_UNSET,
1080 		.inputs         = {{
1081 			.type = SAA7134_INPUT_SVIDEO,
1082 			.vmux = 8,
1083 			.amux = LINE1,
1084 		},{
1085 			.type = SAA7134_INPUT_COMPOSITE1,
1086 			.vmux   = 1,
1087 			.amux   = LINE1,
1088 		},{
1089 			.type = SAA7134_INPUT_TV,
1090 			.vmux = 3,
1091 			.amux = LINE2,
1092 		}},
1093 		.radio = {
1094 			.type = SAA7134_INPUT_RADIO,
1095 			.amux = LINE2,
1096 		},
1097 	},
1098 	[SAA7134_BOARD_MANLI_MTV001] = {
1099 		/* Ognjen Nastic <ognjen@logosoft.ba> UNTESTED */
1100 		.name           = "Manli MuchTV M-TV001",
1101 		.audio_clock    = 0x00200000,
1102 		.tuner_type     = TUNER_PHILIPS_PAL,
1103 		.radio_type     = UNSET,
1104 		.tuner_addr	= ADDR_UNSET,
1105 		.radio_addr	= ADDR_UNSET,
1106 		.inputs         = {{
1107 			.type = SAA7134_INPUT_SVIDEO,
1108 			.vmux = 8,
1109 			.amux = LINE1,
1110 		},{
1111 			.type = SAA7134_INPUT_COMPOSITE1,
1112 			.vmux = 1,
1113 			.amux = LINE1,
1114 		},{
1115 			.type = SAA7134_INPUT_TV,
1116 			.vmux = 3,
1117 			.amux = LINE2,
1118 		}},
1119 		.mute = {
1120 			.type = SAA7134_INPUT_MUTE,
1121 			.amux = LINE1,
1122 		},
1123 	},
1124 	[SAA7134_BOARD_TG3000TV] = {
1125 		/* TransGear 3000TV */
1126 		.name           = "Nagase Sangyo TransGear 3000TV",
1127 		.audio_clock    = 0x00187de7,
1128 		.tuner_type     = TUNER_PHILIPS_NTSC_M,
1129 		.radio_type     = UNSET,
1130 		.tuner_addr	= ADDR_UNSET,
1131 		.radio_addr	= ADDR_UNSET,
1132 		.inputs         = {{
1133 			.type = SAA7134_INPUT_TV,
1134 			.vmux = 1,
1135 			.amux = LINE2,
1136 		},{
1137 			.type = SAA7134_INPUT_COMPOSITE1,
1138 			.vmux = 3,
1139 			.amux = LINE2,
1140 		},{
1141 			.type = SAA7134_INPUT_SVIDEO,
1142 			.vmux = 8,
1143 			.amux = LINE2,
1144 		}},
1145 	},
1146 	[SAA7134_BOARD_ECS_TVP3XP] = {
1147 		.name           = "Elitegroup ECS TVP3XP FM1216 Tuner Card(PAL-BG,FM) ",
1148 		.audio_clock    = 0x187de7,  /* xtal 32.1 MHz */
1149 		.tuner_type     = TUNER_PHILIPS_PAL,
1150 		.radio_type     = UNSET,
1151 		.tuner_addr	= ADDR_UNSET,
1152 		.radio_addr	= ADDR_UNSET,
1153 		.inputs         = {{
1154 			.type = SAA7134_INPUT_TV,
1155 			.vmux   = 1,
1156 			.amux   = TV,
1157 		},{
1158 			.type = SAA7134_INPUT_TV_MONO,
1159 			.vmux   = 1,
1160 			.amux   = LINE2,
1161 		},{
1162 			.type = SAA7134_INPUT_COMPOSITE1,
1163 			.vmux   = 3,
1164 			.amux   = LINE1,
1165 		},{
1166 			.type = SAA7134_INPUT_SVIDEO,
1167 			.vmux   = 8,
1168 			.amux   = LINE1,
1169 		},{
1170 			.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
1171 			.vmux   = 0,
1172 			.amux   = LINE1,
1173 		}},
1174 		.radio = {
1175 			.type = SAA7134_INPUT_RADIO,
1176 			.amux   = LINE2,
1177 		},
1178 	},
1179 	[SAA7134_BOARD_ECS_TVP3XP_4CB5] = {
1180 		.name           = "Elitegroup ECS TVP3XP FM1236 Tuner Card (NTSC,FM)",
1181 		.audio_clock    = 0x187de7,
1182 		.tuner_type     = TUNER_PHILIPS_NTSC,
1183 		.radio_type     = UNSET,
1184 		.tuner_addr	= ADDR_UNSET,
1185 		.radio_addr	= ADDR_UNSET,
1186 		.inputs         = {{
1187 			.type = SAA7134_INPUT_TV,
1188 			.vmux   = 1,
1189 			.amux   = TV,
1190 		},{
1191 			.type = SAA7134_INPUT_TV_MONO,
1192 			.vmux   = 1,
1193 			.amux   = LINE2,
1194 		},{
1195 			.type = SAA7134_INPUT_COMPOSITE1,
1196 			.vmux   = 3,
1197 			.amux   = LINE1,
1198 		},{
1199 			.type = SAA7134_INPUT_SVIDEO,
1200 			.vmux   = 8,
1201 			.amux   = LINE1,
1202 		},{
1203 			.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
1204 			.vmux   = 0,
1205 			.amux   = LINE1,
1206 		}},
1207 		.radio = {
1208 			.type = SAA7134_INPUT_RADIO,
1209 			.amux   = LINE2,
1210 		},
1211 	},
1212     [SAA7134_BOARD_ECS_TVP3XP_4CB6] = {
1213 		/* Barry Scott <barry.scott@onelan.co.uk> */
1214 		.name		= "Elitegroup ECS TVP3XP FM1246 Tuner Card (PAL,FM)",
1215 		.audio_clock    = 0x187de7,
1216 		.tuner_type     = TUNER_PHILIPS_PAL_I,
1217 		.radio_type     = UNSET,
1218 		.tuner_addr	= ADDR_UNSET,
1219 		.radio_addr	= ADDR_UNSET,
1220 		.inputs         = {{
1221 			.type = SAA7134_INPUT_TV,
1222 			.vmux   = 1,
1223 			.amux   = TV,
1224 		},{
1225 			.type = SAA7134_INPUT_TV_MONO,
1226 			.vmux   = 1,
1227 			.amux   = LINE2,
1228 		},{
1229 			.type = SAA7134_INPUT_COMPOSITE1,
1230 			.vmux   = 3,
1231 			.amux   = LINE1,
1232 		},{
1233 			.type = SAA7134_INPUT_SVIDEO,
1234 			.vmux   = 8,
1235 			.amux   = LINE1,
1236 		},{
1237 			.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
1238 			.vmux   = 0,
1239 			.amux   = LINE1,
1240 		}},
1241 		.radio = {
1242 			.type = SAA7134_INPUT_RADIO,
1243 			.amux   = LINE2,
1244 		},
1245 	},
1246 	[SAA7134_BOARD_AVACSSMARTTV] = {
1247 		/* Roman Pszonczenko <romka@kolos.math.uni.lodz.pl> */
1248 		.name           = "AVACS SmartTV",
1249 		.audio_clock    = 0x00187de7,
1250 		.tuner_type     = TUNER_PHILIPS_PAL,
1251 		.radio_type     = UNSET,
1252 		.tuner_addr	= ADDR_UNSET,
1253 		.radio_addr	= ADDR_UNSET,
1254 		.inputs         = {{
1255 			.type = SAA7134_INPUT_TV,
1256 			.vmux = 1,
1257 			.amux = TV,
1258 		},{
1259 			.type = SAA7134_INPUT_TV_MONO,
1260 			.vmux = 1,
1261 			.amux = LINE2,
1262 		},{
1263 			.type = SAA7134_INPUT_COMPOSITE1,
1264 			.vmux = 0,
1265 			.amux = LINE2,
1266 		},{
1267 			.type = SAA7134_INPUT_COMPOSITE2,
1268 			.vmux = 3,
1269 			.amux = LINE2,
1270 		},{
1271 			.type = SAA7134_INPUT_SVIDEO,
1272 			.vmux = 8,
1273 			.amux = LINE2,
1274 		}},
1275 		.radio = {
1276 			.type = SAA7134_INPUT_RADIO,
1277 			.amux = LINE2,
1278 			.gpio = 0x200000,
1279 		},
1280 	},
1281 	[SAA7134_BOARD_AVERMEDIA_DVD_EZMAKER] = {
1282 		/* Michael Smith <msmith@cbnco.com> */
1283 		.name           = "AVerMedia DVD EZMaker",
1284 		.audio_clock    = 0x00187de7,
1285 		.tuner_type     = TUNER_ABSENT,
1286 		.radio_type     = UNSET,
1287 		.tuner_addr	= ADDR_UNSET,
1288 		.radio_addr	= ADDR_UNSET,
1289 		.inputs         = {{
1290 			.type = SAA7134_INPUT_COMPOSITE1,
1291 			.vmux = 3,
1292 		},{
1293 			.type = SAA7134_INPUT_SVIDEO,
1294 			.vmux = 8,
1295 		}},
1296 	},
1297 	[SAA7134_BOARD_AVERMEDIA_M103] = {
1298 		/* Massimo Piccioni <dafastidio@libero.it> */
1299 		.name           = "AVerMedia MiniPCI DVB-T Hybrid M103",
1300 		.audio_clock    = 0x187de7,
1301 		.tuner_type     = TUNER_XC2028,
1302 		.radio_type     = UNSET,
1303 		.tuner_addr     = ADDR_UNSET,
1304 		.radio_addr     = ADDR_UNSET,
1305 		 .mpeg           = SAA7134_MPEG_DVB,
1306 		 .inputs         = {{
1307 			 .type = SAA7134_INPUT_TV,
1308 			 .vmux = 1,
1309 			 .amux = TV,
1310 		 } },
1311 	},
1312 	[SAA7134_BOARD_NOVAC_PRIMETV7133] = {
1313 		/* toshii@netbsd.org */
1314 		.name           = "Noval Prime TV 7133",
1315 		.audio_clock    = 0x00200000,
1316 		.tuner_type     = TUNER_ALPS_TSBH1_NTSC,
1317 		.radio_type     = UNSET,
1318 		.tuner_addr	= ADDR_UNSET,
1319 		.radio_addr	= ADDR_UNSET,
1320 		.inputs         = {{
1321 			.type = SAA7134_INPUT_COMPOSITE1,
1322 			.vmux = 3,
1323 		},{
1324 			.type = SAA7134_INPUT_TV,
1325 			.vmux = 1,
1326 			.amux = TV,
1327 		},{
1328 			.type = SAA7134_INPUT_SVIDEO,
1329 			.vmux = 8,
1330 		}},
1331 	},
1332 	[SAA7134_BOARD_AVERMEDIA_STUDIO_305] = {
1333 		.name           = "AverMedia AverTV Studio 305",
1334 		.audio_clock    = 0x00187de7,
1335 		.tuner_type     = TUNER_PHILIPS_FM1256_IH3,
1336 		.radio_type     = UNSET,
1337 		.tuner_addr	= ADDR_UNSET,
1338 		.radio_addr	= ADDR_UNSET,
1339 		.tda9887_conf   = TDA9887_PRESENT,
1340 		.inputs         = {{
1341 			.type = SAA7134_INPUT_TV,
1342 			.vmux = 1,
1343 			.amux = LINE2,
1344 		},{
1345 			.type = SAA7134_INPUT_COMPOSITE1,
1346 			.vmux = 0,
1347 			.amux = LINE2,
1348 		},{
1349 			.type = SAA7134_INPUT_COMPOSITE2,
1350 			.vmux = 3,
1351 			.amux = LINE2,
1352 		},{
1353 			.type = SAA7134_INPUT_SVIDEO,
1354 			.vmux = 8,
1355 			.amux = LINE2,
1356 		}},
1357 		.radio = {
1358 			.type = SAA7134_INPUT_RADIO,
1359 			.amux = LINE2,
1360 		},
1361 		.mute = {
1362 			.type = SAA7134_INPUT_MUTE,
1363 			.amux = LINE1,
1364 		},
1365 	},
1366 	[SAA7134_BOARD_AVERMEDIA_STUDIO_505] = {
1367 		/* Vasiliy Temnikov <vaka@newmail.ru> */
1368 		.name           = "AverMedia AverTV Studio 505",
1369 		.audio_clock    = 0x00187de7,
1370 		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,
1371 		.radio_type     = UNSET,
1372 		.tuner_addr	= ADDR_UNSET,
1373 		.radio_addr	= ADDR_UNSET,
1374 		.tda9887_conf   = TDA9887_PRESENT,
1375 		.inputs         = { {
1376 			.type = SAA7134_INPUT_TV,
1377 			.vmux = 1,
1378 			.amux = LINE2,
1379 		}, {
1380 			.type = SAA7134_INPUT_COMPOSITE1,
1381 			.vmux = 0,
1382 			.amux = LINE2,
1383 		}, {
1384 			.type = SAA7134_INPUT_COMPOSITE2,
1385 			.vmux = 3,
1386 			.amux = LINE2,
1387 		},{
1388 			.type = SAA7134_INPUT_SVIDEO,
1389 			.vmux = 8,
1390 			.amux = LINE2,
1391 		} },
1392 		.radio = {
1393 			.type = SAA7134_INPUT_RADIO,
1394 			.amux = LINE2,
1395 		},
1396 		.mute = {
1397 			.type = SAA7134_INPUT_MUTE,
1398 			.amux = LINE1,
1399 		},
1400 	},
1401 	[SAA7134_BOARD_UPMOST_PURPLE_TV] = {
1402 		.name           = "UPMOST PURPLE TV",
1403 		.audio_clock    = 0x00187de7,
1404 		.tuner_type     = TUNER_PHILIPS_FM1236_MK3,
1405 		.radio_type     = UNSET,
1406 		.tuner_addr	= ADDR_UNSET,
1407 		.radio_addr	= ADDR_UNSET,
1408 		.tda9887_conf   = TDA9887_PRESENT,
1409 		.inputs         = {{
1410 			.type = SAA7134_INPUT_TV,
1411 			.vmux = 7,
1412 			.amux = TV,
1413 		},{
1414 			.type = SAA7134_INPUT_SVIDEO,
1415 			.vmux = 7,
1416 			.amux = LINE1,
1417 		}},
1418 	},
1419 	[SAA7134_BOARD_ITEMS_MTV005] = {
1420 		/* Norman Jonas <normanjonas@arcor.de> */
1421 		.name           = "Items MuchTV Plus / IT-005",
1422 		.audio_clock    = 0x00187de7,
1423 		.tuner_type     = TUNER_PHILIPS_PAL,
1424 		.radio_type     = UNSET,
1425 		.tuner_addr	= ADDR_UNSET,
1426 		.radio_addr	= ADDR_UNSET,
1427 		.inputs         = {{
1428 			.type = SAA7134_INPUT_TV,
1429 			.vmux = 3,
1430 			.amux = TV,
1431 		},{
1432 			.type = SAA7134_INPUT_COMPOSITE1,
1433 			.vmux   = 1,
1434 			.amux   = LINE1,
1435 		},{
1436 			.type = SAA7134_INPUT_SVIDEO,
1437 			.vmux = 8,
1438 			.amux = LINE1,
1439 		}},
1440 		.radio = {
1441 			.type = SAA7134_INPUT_RADIO,
1442 			.amux = LINE2,
1443 		},
1444 	},
1445 	[SAA7134_BOARD_CINERGY200] = {
1446 		.name           = "Terratec Cinergy 200 TV",
1447 		.audio_clock    = 0x00200000,
1448 		.tuner_type     = TUNER_PHILIPS_PAL,
1449 		.radio_type     = UNSET,
1450 		.tuner_addr	= ADDR_UNSET,
1451 		.radio_addr	= ADDR_UNSET,
1452 		.inputs         = {{
1453 			.type = SAA7134_INPUT_TV,
1454 			.vmux = 1,
1455 			.amux = LINE2,
1456 		},{
1457 			.type = SAA7134_INPUT_COMPOSITE1,
1458 			.vmux = 4,
1459 			.amux = LINE1,
1460 		},{
1461 			.type = SAA7134_INPUT_SVIDEO,
1462 			.vmux = 8,
1463 			.amux = LINE1,
1464 		},{
1465 			.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
1466 			.vmux = 0,
1467 			.amux = LINE1,
1468 		}},
1469 		.mute = {
1470 			.type = SAA7134_INPUT_MUTE,
1471 			.amux = LINE2,
1472 		},
1473 	},
1474 	[SAA7134_BOARD_VIDEOMATE_TV_PVR] = {
1475 		/* Alain St-Denis <alain@topaze.homeip.net> */
1476 		.name           = "Compro VideoMate TV PVR/FM",
1477 		.audio_clock    = 0x00187de7,
1478 		.tuner_type     = TUNER_PHILIPS_NTSC_M,
1479 		.radio_type     = UNSET,
1480 		.tuner_addr	= ADDR_UNSET,
1481 		.radio_addr	= ADDR_UNSET,
1482 		.gpiomask	= 0x808c0080,
1483 		.inputs         = {{
1484 			.type = SAA7134_INPUT_SVIDEO,
1485 			.vmux = 8,
1486 			.amux = LINE1,
1487 			.gpio = 0x00080,
1488 		},{
1489 			.type = SAA7134_INPUT_COMPOSITE1,
1490 			.vmux = 3,
1491 			.amux = LINE1,
1492 			.gpio = 0x00080,
1493 		},{
1494 			.type = SAA7134_INPUT_TV,
1495 			.vmux = 1,
1496 			.amux = LINE2_LEFT,
1497 			.gpio = 0x00080,
1498 		}},
1499 		.radio = {
1500 			.type = SAA7134_INPUT_RADIO,
1501 			.amux = LINE2,
1502 			.gpio = 0x80000,
1503 		},
1504 		.mute = {
1505 			.type = SAA7134_INPUT_MUTE,
1506 			.amux = LINE2,
1507 			.gpio = 0x40000,
1508 		},
1509 	},
1510 	[SAA7134_BOARD_SABRENT_SBTTVFM] = {
1511 		/* Michael Rodriguez-Torrent <mrtorrent@asu.edu> */
1512 		.name           = "Sabrent SBT-TVFM (saa7130)",
1513 		.audio_clock    = 0x00187de7,
1514 		.tuner_type     = TUNER_PHILIPS_NTSC_M,
1515 		.radio_type     = UNSET,
1516 		.tuner_addr	= ADDR_UNSET,
1517 		.radio_addr	= ADDR_UNSET,
1518 		.inputs         = {{
1519 			.type = SAA7134_INPUT_COMPOSITE1,
1520 			.vmux = 1,
1521 			.amux = LINE1,
1522 		},{
1523 			.type = SAA7134_INPUT_TV,
1524 			.vmux = 3,
1525 			.amux = LINE2,
1526 		},{
1527 			.type = SAA7134_INPUT_SVIDEO,
1528 			.vmux = 8,
1529 			.amux = LINE1,
1530 		}},
1531 		.radio = {
1532 			.type = SAA7134_INPUT_RADIO,
1533 			.amux   = LINE2,
1534 		},
1535 	},
1536 	[SAA7134_BOARD_ZOLID_XPERT_TV7134] = {
1537 		/* Helge Jensen <helge.jensen@slog.dk> */
1538 		.name           = ":Zolid Xpert TV7134",
1539 		.audio_clock    = 0x00187de7,
1540 		.tuner_type     = TUNER_PHILIPS_NTSC,
1541 		.radio_type     = UNSET,
1542 		.tuner_addr	= ADDR_UNSET,
1543 		.radio_addr	= ADDR_UNSET,
1544 		.inputs         = {{
1545 			.type = SAA7134_INPUT_SVIDEO,
1546 			.vmux = 8,
1547 			.amux = LINE1,
1548 		},{
1549 			.type = SAA7134_INPUT_COMPOSITE1,
1550 			.vmux = 3,
1551 			.amux = LINE1,
1552 		},{
1553 			.type = SAA7134_INPUT_TV,
1554 			.vmux = 1,
1555 			.amux = LINE2,
1556 		}},
1557 	},
1558 	[SAA7134_BOARD_EMPIRE_PCI_TV_RADIO_LE] = {
1559 		/* "Matteo Az" <matte.az@nospam.libero.it> ;-) */
1560 		.name           = "Empire PCI TV-Radio LE",
1561 		.audio_clock    = 0x00187de7,
1562 		.tuner_type     = TUNER_PHILIPS_PAL,
1563 		.radio_type     = UNSET,
1564 		.tuner_addr	= ADDR_UNSET,
1565 		.radio_addr	= ADDR_UNSET,
1566 		.gpiomask       = 0x4000,
1567 		.inputs         = {{
1568 			.type = SAA7134_INPUT_TV_MONO,
1569 			.vmux = 1,
1570 			.amux = LINE2,
1571 			.gpio = 0x8000,
1572 		},{
1573 			.type = SAA7134_INPUT_COMPOSITE1,
1574 			.vmux = 3,
1575 			.amux = LINE1,
1576 			.gpio = 0x8000,
1577 		},{
1578 			.type = SAA7134_INPUT_SVIDEO,
1579 			.vmux = 6,
1580 			.amux = LINE1,
1581 			.gpio = 0x8000,
1582 		}},
1583 		.radio = {
1584 			.type = SAA7134_INPUT_RADIO,
1585 			.amux = LINE1,
1586 			.gpio = 0x8000,
1587 		},
1588 		.mute = {
1589 			.type = SAA7134_INPUT_MUTE,
1590 			.amux = TV,
1591 			.gpio =0x8000,
1592 		}
1593 	},
1594 	[SAA7134_BOARD_AVERMEDIA_STUDIO_307] = {
1595 		/*
1596 		Nickolay V. Shmyrev <nshmyrev@yandex.ru>
1597 		Lots of thanks to Andrey Zolotarev <zolotarev_andrey@mail.ru>
1598 		*/
1599 		.name           = "Avermedia AVerTV Studio 307",
1600 		.audio_clock    = 0x00187de7,
1601 		.tuner_type     = TUNER_PHILIPS_FM1256_IH3,
1602 		.radio_type     = UNSET,
1603 		.tuner_addr	= ADDR_UNSET,
1604 		.radio_addr	= ADDR_UNSET,
1605 		.tda9887_conf   = TDA9887_PRESENT,
1606 		.gpiomask       = 0x03,
1607 		.inputs         = {{
1608 			.type = SAA7134_INPUT_TV,
1609 			.vmux = 1,
1610 			.amux = TV,
1611 			.gpio = 0x00,
1612 		},{
1613 			.type = SAA7134_INPUT_COMPOSITE,
1614 			.vmux = 3,
1615 			.amux = LINE1,
1616 			.gpio = 0x02,
1617 		},{
1618 			.type = SAA7134_INPUT_SVIDEO,
1619 			.vmux = 8,
1620 			.amux = LINE1,
1621 			.gpio = 0x02,
1622 		}},
1623 		.radio = {
1624 			.type = SAA7134_INPUT_RADIO,
1625 			.amux = LINE1,
1626 			.gpio = 0x01,
1627 		},
1628 		.mute  = {
1629 			.type = SAA7134_INPUT_MUTE,
1630 			.amux = LINE1,
1631 			.gpio = 0x00,
1632 		},
1633 	},
1634 	[SAA7134_BOARD_AVERMEDIA_GO_007_FM] = {
1635 		.name           = "Avermedia AVerTV GO 007 FM",
1636 		.audio_clock    = 0x00187de7,
1637 		.tuner_type     = TUNER_PHILIPS_TDA8290,
1638 		.radio_type     = UNSET,
1639 		.tuner_addr	= ADDR_UNSET,
1640 		.radio_addr	= ADDR_UNSET,
1641 		.gpiomask       = 0x00300003,
1642 		/* .gpiomask       = 0x8c240003, */
1643 		.inputs         = {{
1644 			.type = SAA7134_INPUT_TV,
1645 			.vmux = 1,
1646 			.amux = TV,
1647 			.gpio = 0x01,
1648 		},{
1649 			.type = SAA7134_INPUT_COMPOSITE1,
1650 			.vmux = 0,
1651 			.amux = LINE1,
1652 			.gpio = 0x02,
1653 		},{
1654 			.type = SAA7134_INPUT_SVIDEO,
1655 			.vmux = 6,
1656 			.amux = LINE1,
1657 			.gpio = 0x02,
1658 		}},
1659 		.radio = {
1660 			.type = SAA7134_INPUT_RADIO,
1661 			.amux = TV,
1662 			.gpio = 0x00300001,
1663 		},
1664 		.mute = {
1665 			.type = SAA7134_INPUT_MUTE,
1666 			.amux = TV,
1667 			.gpio = 0x01,
1668 		},
1669 	},
1670 	[SAA7134_BOARD_AVERMEDIA_CARDBUS] = {
1671 		/* Kees.Blom@cwi.nl */
1672 		.name           = "AVerMedia Cardbus TV/Radio (E500)",
1673 		.audio_clock    = 0x187de7,
1674 		.tuner_type     = TUNER_PHILIPS_TDA8290,
1675 		.radio_type     = UNSET,
1676 		.tuner_addr	= ADDR_UNSET,
1677 		.radio_addr	= ADDR_UNSET,
1678 		.inputs         = {{
1679 			.type = SAA7134_INPUT_TV,
1680 			.vmux = 1,
1681 			.amux = TV,
1682 		},{
1683 			.type = SAA7134_INPUT_COMPOSITE1,
1684 			.vmux = 3,
1685 			.amux = LINE2,
1686 		},{
1687 			.type = SAA7134_INPUT_SVIDEO,
1688 			.vmux = 8,
1689 			.amux = LINE1,
1690 		}},
1691 		.radio = {
1692 			.type = SAA7134_INPUT_RADIO,
1693 			.amux = LINE1,
1694 		},
1695 	},
1696 	[SAA7134_BOARD_AVERMEDIA_CARDBUS_501] = {
1697 		/* Oldrich Jedlicka <oldium.pro@seznam.cz> */
1698 		.name           = "AVerMedia Cardbus TV/Radio (E501R)",
1699 		.audio_clock    = 0x187de7,
1700 		.tuner_type     = TUNER_ALPS_TSBE5_PAL,
1701 		.radio_type     = TUNER_TEA5767,
1702 		.tuner_addr	= 0x61,
1703 		.radio_addr	= 0x60,
1704 		.tda9887_conf   = TDA9887_PRESENT,
1705 		.gpiomask       = 0x08000000,
1706 		.inputs         = { {
1707 			.type = SAA7134_INPUT_TV,
1708 			.vmux = 1,
1709 			.amux = TV,
1710 			.gpio = 0x08000000,
1711 		}, {
1712 			.type = SAA7134_INPUT_COMPOSITE1,
1713 			.vmux = 3,
1714 			.amux = LINE1,
1715 			.gpio = 0x08000000,
1716 		}, {
1717 			.type = SAA7134_INPUT_SVIDEO,
1718 			.vmux = 8,
1719 			.amux = LINE1,
1720 			.gpio = 0x08000000,
1721 		} },
1722 		.radio = {
1723 			.type = SAA7134_INPUT_RADIO,
1724 			.amux = LINE2,
1725 			.gpio = 0x00000000,
1726 		},
1727 	},
1728 	[SAA7134_BOARD_CINERGY400_CARDBUS] = {
1729 		.name           = "Terratec Cinergy 400 mobile",
1730 		.audio_clock    = 0x187de7,
1731 		.tuner_type     = TUNER_ALPS_TSBE5_PAL,
1732 		.radio_type     = UNSET,
1733 		.tuner_addr	= ADDR_UNSET,
1734 		.radio_addr	= ADDR_UNSET,
1735 		.tda9887_conf   = TDA9887_PRESENT,
1736 		.inputs         = {{
1737 			.type = SAA7134_INPUT_TV,
1738 			.vmux = 1,
1739 			.amux = TV,
1740 		},{
1741 			.type = SAA7134_INPUT_TV_MONO,
1742 			.vmux = 1,
1743 			.amux = LINE2,
1744 		},{
1745 			.type = SAA7134_INPUT_COMPOSITE1,
1746 			.vmux = 3,
1747 			.amux = LINE1,
1748 		},{
1749 			.type = SAA7134_INPUT_SVIDEO,
1750 			.vmux = 8,
1751 			.amux = LINE1,
1752 		}},
1753 	},
1754 	[SAA7134_BOARD_CINERGY600_MK3] = {
1755 		.name           = "Terratec Cinergy 600 TV MK3",
1756 		.audio_clock    = 0x00200000,
1757 		.tuner_type	= TUNER_PHILIPS_FM1216ME_MK3,
1758 		.radio_type     = UNSET,
1759 		.tuner_addr	= ADDR_UNSET,
1760 		.radio_addr	= ADDR_UNSET,
1761 		.rds_addr	= 0x10,
1762 		.tda9887_conf   = TDA9887_PRESENT,
1763 		.inputs         = {{
1764 			.type = SAA7134_INPUT_TV,
1765 			.vmux = 1,
1766 			.amux = TV,
1767 		},{
1768 			.type = SAA7134_INPUT_COMPOSITE1,
1769 			.vmux = 4,
1770 			.amux = LINE1,
1771 		},{
1772 			.type = SAA7134_INPUT_SVIDEO,
1773 			.vmux = 8,
1774 			.amux = LINE1,
1775 		},{
1776 			.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
1777 			.vmux = 0,
1778 			.amux = LINE1,
1779 		}},
1780 		.radio = {
1781 			.type = SAA7134_INPUT_RADIO,
1782 			.amux = LINE2,
1783 		},
1784 	},
1785 	[SAA7134_BOARD_VIDEOMATE_GOLD_PLUS] = {
1786 		/* Dylan Walkden <dylan_walkden@hotmail.com> */
1787 		.name		= "Compro VideoMate Gold+ Pal",
1788 		.audio_clock	= 0x00187de7,
1789 		.tuner_type     = TUNER_PHILIPS_PAL,
1790 		.radio_type     = UNSET,
1791 		.tuner_addr	= ADDR_UNSET,
1792 		.radio_addr	= ADDR_UNSET,
1793 		.gpiomask	= 0x1ce780,
1794 		.inputs		= {{
1795 			.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
1796 			.vmux = 0,
1797 			.amux = LINE1,
1798 			.gpio = 0x008080,
1799 		},{
1800 			.type = SAA7134_INPUT_COMPOSITE1,
1801 			.vmux = 3,
1802 			.amux = LINE1,
1803 			.gpio = 0x008080,
1804 		},{
1805 			.type = SAA7134_INPUT_TV,
1806 			.vmux = 1,
1807 			.amux = TV,
1808 			.gpio = 0x008080,
1809 		}},
1810 		.radio = {
1811 			.type = SAA7134_INPUT_RADIO,
1812 			.amux = LINE2,
1813 			.gpio = 0x80000,
1814 		},
1815 		.mute = {
1816 			.type = SAA7134_INPUT_MUTE,
1817 			.amux = LINE2,
1818 			.gpio = 0x0c8000,
1819 		},
1820 	},
1821 	[SAA7134_BOARD_PINNACLE_300I_DVBT_PAL] = {
1822 		.name           = "Pinnacle PCTV 300i DVB-T + PAL",
1823 		.audio_clock    = 0x00187de7,
1824 		.tuner_type     = TUNER_MT2032,
1825 		.radio_type     = UNSET,
1826 		.tuner_addr	= ADDR_UNSET,
1827 		.radio_addr	= ADDR_UNSET,
1828 		.tda9887_conf   = TDA9887_PRESENT | TDA9887_INTERCARRIER | TDA9887_PORT2_INACTIVE,
1829 		.mpeg           = SAA7134_MPEG_DVB,
1830 		.inputs         = {{
1831 			.type = SAA7134_INPUT_TV,
1832 			.vmux = 3,
1833 			.amux = TV,
1834 		},{
1835 			.type = SAA7134_INPUT_COMPOSITE1,
1836 			.vmux = 0,
1837 			.amux = LINE2,
1838 		},{
1839 			.type = SAA7134_INPUT_COMPOSITE2,
1840 			.vmux = 1,
1841 			.amux = LINE2,
1842 		},{
1843 			.type = SAA7134_INPUT_SVIDEO,
1844 			.vmux = 8,
1845 			.amux = LINE2,
1846 		}},
1847 	},
1848 	[SAA7134_BOARD_PROVIDEO_PV952] = {
1849 		/* andreas.kretschmer@web.de */
1850 		.name		= "ProVideo PV952",
1851 		.audio_clock	= 0x00187de7,
1852 		.tuner_type	= TUNER_PHILIPS_FM1216ME_MK3,
1853 		.radio_type     = UNSET,
1854 		.tuner_addr	= ADDR_UNSET,
1855 		.radio_addr	= ADDR_UNSET,
1856 		.tda9887_conf   = TDA9887_PRESENT,
1857 		.inputs         = {{
1858 			.type = SAA7134_INPUT_COMPOSITE1,
1859 			.vmux = 0,
1860 			.amux = LINE1,
1861 		},{
1862 			.type = SAA7134_INPUT_TV,
1863 			.vmux = 1,
1864 			.amux = TV,
1865 		},{
1866 			.type = SAA7134_INPUT_TV_MONO,
1867 			.vmux = 1,
1868 			.amux = LINE2,
1869 		}},
1870 		.radio = {
1871 			.type = SAA7134_INPUT_RADIO,
1872 			.amux = LINE2,
1873 		},
1874 	},
1875 	[SAA7134_BOARD_AVERMEDIA_305] = {
1876 		/* much like the "studio" version but without radio
1877 		* and another tuner (sirspiritus@yandex.ru) */
1878 		.name           = "AverMedia AverTV/305",
1879 		.audio_clock    = 0x00187de7,
1880 		.tuner_type     = TUNER_PHILIPS_FQ1216ME,
1881 		.radio_type     = UNSET,
1882 		.tuner_addr	= ADDR_UNSET,
1883 		.radio_addr	= ADDR_UNSET,
1884 		.tda9887_conf   = TDA9887_PRESENT,
1885 		.inputs         = {{
1886 			.type = SAA7134_INPUT_TV,
1887 			.vmux = 1,
1888 			.amux = LINE2,
1889 		},{
1890 			.type = SAA7134_INPUT_COMPOSITE1,
1891 			.vmux = 0,
1892 			.amux = LINE2,
1893 		},{
1894 			.type = SAA7134_INPUT_COMPOSITE2,
1895 			.vmux = 3,
1896 			.amux = LINE2,
1897 		},{
1898 			.type = SAA7134_INPUT_SVIDEO,
1899 			.vmux = 8,
1900 			.amux = LINE2,
1901 		}},
1902 		.mute = {
1903 			.type = SAA7134_INPUT_MUTE,
1904 			.amux = LINE1,
1905 		},
1906 	},
1907 	[SAA7134_BOARD_FLYDVBTDUO] = {
1908 		/* LifeView FlyDVB-T DUO */
1909 		/* "Nico Sabbi <nsabbi@tiscali.it>  Hartmut Hackmann hartmut.hackmann@t-online.de*/
1910 		.name           = "LifeView FlyDVB-T DUO / MSI TV@nywhere Duo",
1911 		.audio_clock    = 0x00200000,
1912 		.tuner_type     = TUNER_PHILIPS_TDA8290,
1913 		.radio_type     = UNSET,
1914 		.tuner_addr	= ADDR_UNSET,
1915 		.radio_addr	= ADDR_UNSET,
1916 		.gpiomask	= 0x00200000,
1917 		.mpeg           = SAA7134_MPEG_DVB,
1918 		.inputs         = {{
1919 			.type = SAA7134_INPUT_TV,
1920 			.vmux = 1,
1921 			.amux = TV,
1922 			.gpio = 0x200000,	/* GPIO21=High for TV input */
1923 		},{
1924 			.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
1925 			.vmux = 0,
1926 			.amux = LINE2,
1927 		},{
1928 			.type = SAA7134_INPUT_COMPOSITE,
1929 			.vmux = 3,
1930 			.amux = LINE2,
1931 		},{
1932 			.type = SAA7134_INPUT_SVIDEO,
1933 			.vmux = 8,
1934 			.amux = LINE2,
1935 		}},
1936 		.radio = {
1937 			.type = SAA7134_INPUT_RADIO,
1938 			.amux = TV,
1939 			.gpio = 0x000000,	/* GPIO21=Low for FM radio antenna */
1940 		},
1941 	},
1942 	[SAA7134_BOARD_PHILIPS_TOUGH] = {
1943 		.name           = "Philips TOUGH DVB-T reference design",
1944 		.tuner_type	= TUNER_ABSENT,
1945 		.audio_clock    = 0x00187de7,
1946 		.radio_type     = UNSET,
1947 		.tuner_addr	= ADDR_UNSET,
1948 		.radio_addr	= ADDR_UNSET,
1949 		.mpeg           = SAA7134_MPEG_DVB,
1950 		.inputs = {{
1951 			.type = SAA7134_INPUT_COMPOSITE1,
1952 			.vmux   = 0,
1953 			.amux   = LINE1,
1954 		},{
1955 			.type = SAA7134_INPUT_SVIDEO,
1956 			.vmux   = 8,
1957 			.amux   = LINE1,
1958 		}},
1959 	},
1960 	[SAA7134_BOARD_AVERMEDIA_307] = {
1961 		/*
1962 		Davydov Vladimir <vladimir@iqmedia.com>
1963 		*/
1964 		.name           = "Avermedia AVerTV 307",
1965 		.audio_clock    = 0x00187de7,
1966 		.tuner_type     = TUNER_PHILIPS_FQ1216ME,
1967 		.radio_type     = UNSET,
1968 		.tuner_addr	= ADDR_UNSET,
1969 		.radio_addr	= ADDR_UNSET,
1970 		.tda9887_conf   = TDA9887_PRESENT,
1971 		.inputs         = {{
1972 			.type = SAA7134_INPUT_TV,
1973 			.vmux = 1,
1974 			.amux = TV,
1975 		},{
1976 			.type = SAA7134_INPUT_COMPOSITE1,
1977 			.vmux = 0,
1978 			.amux = LINE1,
1979 		},{
1980 			.type = SAA7134_INPUT_COMPOSITE2,
1981 			.vmux = 3,
1982 			.amux = LINE1,
1983 		},{
1984 			.type = SAA7134_INPUT_SVIDEO,
1985 			.vmux = 8,
1986 			.amux = LINE1,
1987 		}},
1988 	},
1989 	[SAA7134_BOARD_ADS_INSTANT_TV] = {
1990 		.name           = "ADS Tech Instant TV (saa7135)",
1991 		.audio_clock    = 0x00187de7,
1992 		.tuner_type     = TUNER_PHILIPS_TDA8290,
1993 		.radio_type     = UNSET,
1994 		.tuner_addr	= ADDR_UNSET,
1995 		.radio_addr	= ADDR_UNSET,
1996 		.inputs         = {{
1997 			.type = SAA7134_INPUT_TV,
1998 			.vmux = 1,
1999 			.amux = TV,
2000 		},{
2001 			.type = SAA7134_INPUT_COMPOSITE1,
2002 			.vmux = 3,
2003 			.amux = LINE2,
2004 		},{
2005 			.type = SAA7134_INPUT_SVIDEO,
2006 			.vmux = 8,
2007 			.amux = LINE2,
2008 		}},
2009 	},
2010 	[SAA7134_BOARD_KWORLD_VSTREAM_XPERT] = {
2011 		.name           = "Kworld/Tevion V-Stream Xpert TV PVR7134",
2012 		.audio_clock    = 0x00187de7,
2013 		.tuner_type     = TUNER_PHILIPS_PAL_I,
2014 		.radio_type     = UNSET,
2015 		.tuner_addr	= ADDR_UNSET,
2016 		.radio_addr	= ADDR_UNSET,
2017 		.gpiomask	= 0x0700,
2018 		.inputs = {{
2019 			.type = SAA7134_INPUT_TV,
2020 			.vmux   = 1,
2021 			.amux   = TV,
2022 			.gpio   = 0x000,
2023 		},{
2024 			.type = SAA7134_INPUT_COMPOSITE1,
2025 			.vmux   = 3,
2026 			.amux   = LINE1,
2027 			.gpio   = 0x200,		/* gpio by DScaler */
2028 		},{
2029 			.type = SAA7134_INPUT_SVIDEO,
2030 			.vmux   = 0,
2031 			.amux   = LINE1,
2032 			.gpio   = 0x200,
2033 		}},
2034 		.radio = {
2035 			.type = SAA7134_INPUT_RADIO,
2036 			.amux   = LINE1,
2037 			.gpio   = 0x100,
2038 		},
2039 		.mute  = {
2040 			.type = SAA7134_INPUT_MUTE,
2041 			.amux = TV,
2042 			.gpio = 0x000,
2043 		},
2044 	},
2045 	[SAA7134_BOARD_FLYDVBT_DUO_CARDBUS] = {
2046 		.name		= "LifeView/Typhoon/Genius FlyDVB-T Duo Cardbus",
2047 		.audio_clock    = 0x00200000,
2048 		.tuner_type     = TUNER_PHILIPS_TDA8290,
2049 		.radio_type     = UNSET,
2050 		.tuner_addr	= ADDR_UNSET,
2051 		.radio_addr	= ADDR_UNSET,
2052 		.mpeg           = SAA7134_MPEG_DVB,
2053 		.gpiomask	= 0x00200000,
2054 		.inputs         = {{
2055 			.type = SAA7134_INPUT_TV,
2056 			.vmux = 1,
2057 			.amux = TV,
2058 			.gpio = 0x200000,	/* GPIO21=High for TV input */
2059 		},{
2060 			.type = SAA7134_INPUT_SVIDEO,
2061 			.vmux = 8,
2062 			.amux = LINE2,
2063 		},{
2064 			.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
2065 			.vmux = 0,
2066 			.amux = LINE2,
2067 		},{
2068 			.type = SAA7134_INPUT_COMPOSITE2,
2069 			.vmux = 3,
2070 			.amux = LINE2,
2071 		}},
2072 		.radio = {
2073 			.type = SAA7134_INPUT_RADIO,
2074 			.amux = TV,
2075 			.gpio = 0x000000,	/* GPIO21=Low for FM radio antenna */
2076 		},
2077 	},
2078 	[SAA7134_BOARD_VIDEOMATE_TV_GOLD_PLUSII] = {
2079 		.name           = "Compro VideoMate TV Gold+II",
2080 		.audio_clock    = 0x002187de7,
2081 		.tuner_type     = TUNER_LG_PAL_NEW_TAPC,
2082 		.radio_type     = TUNER_TEA5767,
2083 		.tuner_addr     = 0x63,
2084 		.radio_addr     = 0x60,
2085 		.gpiomask       = 0x8c1880,
2086 		.inputs         = {{
2087 			.type = SAA7134_INPUT_SVIDEO,
2088 			.vmux = 0,
2089 			.amux = LINE1,
2090 			.gpio = 0x800800,
2091 		},{
2092 			.type = SAA7134_INPUT_COMPOSITE1,
2093 			.vmux = 3,
2094 			.amux = LINE1,
2095 			.gpio = 0x801000,
2096 		},{
2097 			.type = SAA7134_INPUT_TV,
2098 			.vmux = 1,
2099 			.amux = TV,
2100 			.gpio = 0x800000,
2101 		}},
2102 		.radio = {
2103 			.type = SAA7134_INPUT_RADIO,
2104 			.amux = TV,
2105 			.gpio = 0x880000,
2106 		},
2107 		.mute = {
2108 			.type = SAA7134_INPUT_MUTE,
2109 			.amux = LINE2,
2110 			.gpio = 0x840000,
2111 		},
2112 	},
2113 	[SAA7134_BOARD_KWORLD_XPERT] = {
2114 		/*
2115 		FIXME:
2116 		- Remote control doesn't initialize properly.
2117 		- Audio volume starts muted,
2118 		then gradually increases after channel change.
2119 		- Overlay scaling problems (application error?)
2120 		- Composite S-Video untested.
2121 		From: Konrad Rzepecki <hannibal@megapolis.pl>
2122 		*/
2123 		.name           = "Kworld Xpert TV PVR7134",
2124 		.audio_clock    = 0x00187de7,
2125 		.tuner_type     = TUNER_TENA_9533_DI,
2126 		.radio_type     = TUNER_TEA5767,
2127 		.tuner_addr	= 0x61,
2128 		.radio_addr	= 0x60,
2129 		.gpiomask	= 0x0700,
2130 		.inputs = {{
2131 			.type = SAA7134_INPUT_TV,
2132 			.vmux   = 1,
2133 			.amux   = TV,
2134 			.gpio   = 0x000,
2135 		},{
2136 			.type = SAA7134_INPUT_COMPOSITE1,
2137 			.vmux   = 3,
2138 			.amux   = LINE1,
2139 			.gpio   = 0x200,		/* gpio by DScaler */
2140 		},{
2141 			.type = SAA7134_INPUT_SVIDEO,
2142 			.vmux   = 0,
2143 			.amux   = LINE1,
2144 			.gpio   = 0x200,
2145 		}},
2146 		.radio = {
2147 			.type = SAA7134_INPUT_RADIO,
2148 			.amux   = LINE1,
2149 			.gpio   = 0x100,
2150 		},
2151 		.mute = {
2152 			.type = SAA7134_INPUT_MUTE,
2153 			.amux = TV,
2154 			.gpio = 0x000,
2155 		},
2156 	},
2157 	[SAA7134_BOARD_FLYTV_DIGIMATRIX] = {
2158 		.name		= "FlyTV mini Asus Digimatrix",
2159 		.audio_clock	= 0x00200000,
2160 		.tuner_type	= TUNER_LG_TALN,
2161 		.radio_type     = UNSET,
2162 		.tuner_addr	= ADDR_UNSET,
2163 		.radio_addr	= ADDR_UNSET,
2164 		.inputs         = {{
2165 			.type = SAA7134_INPUT_TV,
2166 			.vmux = 1,
2167 			.amux = TV,
2168 		},{
2169 			.type = SAA7134_INPUT_TV_MONO,
2170 			.vmux = 1,
2171 			.amux = LINE2,
2172 		},{
2173 			.type = SAA7134_INPUT_COMPOSITE1,
2174 			.vmux = 0,
2175 			.amux = LINE2,
2176 		},{
2177 			.type = SAA7134_INPUT_COMPOSITE2,
2178 			.vmux = 3,
2179 			.amux = LINE2,
2180 		},{
2181 			.type = SAA7134_INPUT_SVIDEO,
2182 			.vmux = 8,
2183 			.amux = LINE2,
2184 		}},
2185 		.radio = {
2186 			.type = SAA7134_INPUT_RADIO,		/* radio unconfirmed */
2187 			.amux = LINE2,
2188 		},
2189 	},
2190 	[SAA7134_BOARD_KWORLD_TERMINATOR] = {
2191 		/* Kworld V-Stream Studio TV Terminator */
2192 		/* "James Webb <jrwebb@qwest.net> */
2193 		.name           = "V-Stream Studio TV Terminator",
2194 		.audio_clock    = 0x00187de7,
2195 		.tuner_type     = TUNER_PHILIPS_TDA8290,
2196 		.radio_type     = UNSET,
2197 		.tuner_addr     = ADDR_UNSET,
2198 		.radio_addr     = ADDR_UNSET,
2199 		.gpiomask       = 1 << 21,
2200 		.inputs         = {{
2201 			.type = SAA7134_INPUT_TV,
2202 			.vmux = 1,
2203 			.amux = TV,
2204 			.gpio = 0x0000000,
2205 		},{
2206 			.type = SAA7134_INPUT_COMPOSITE1,
2207 			.vmux = 3,
2208 			.amux = LINE2,
2209 			.gpio = 0x0000000,
2210 		},{
2211 			.type = SAA7134_INPUT_SVIDEO,
2212 			.vmux = 8,
2213 			.amux = LINE2,
2214 			.gpio = 0x0000000,
2215 		}},
2216 		.radio = {
2217 			.type = SAA7134_INPUT_RADIO,
2218 			.amux = TV,
2219 			.gpio = 0x0200000,
2220 		},
2221 	},
2222 	[SAA7134_BOARD_YUAN_TUN900] = {
2223 		/* FIXME:
2224 		 * S-Video and composite sources untested.
2225 		 * Radio not working.
2226 		 * Remote control not yet implemented.
2227 		 * From : codemaster@webgeeks.be */
2228 		.name           = "Yuan TUN-900 (saa7135)",
2229 		.audio_clock    = 0x00187de7,
2230 		.tuner_type     = TUNER_PHILIPS_TDA8290,
2231 		.radio_type     = UNSET,
2232 		.tuner_addr= ADDR_UNSET,
2233 		.radio_addr= ADDR_UNSET,
2234 		.gpiomask       = 0x00010003,
2235 		.inputs         = {{
2236 			.type = SAA7134_INPUT_TV,
2237 			.vmux = 1,
2238 			.amux = TV,
2239 			.gpio = 0x01,
2240 		},{
2241 			.type = SAA7134_INPUT_COMPOSITE1,
2242 			.vmux = 0,
2243 			.amux = LINE2,
2244 			.gpio = 0x02,
2245 		},{
2246 			.type = SAA7134_INPUT_SVIDEO,
2247 			.vmux = 6,
2248 			.amux = LINE2,
2249 			.gpio = 0x02,
2250 		}},
2251 		.radio = {
2252 			.type = SAA7134_INPUT_RADIO,
2253 			.amux = LINE1,
2254 			.gpio = 0x00010003,
2255 		},
2256 		.mute = {
2257 			.type = SAA7134_INPUT_MUTE,
2258 			.amux = TV,
2259 			.gpio = 0x01,
2260 		},
2261 	},
2262 	[SAA7134_BOARD_BEHOLD_409FM] = {
2263 		/* <http://tuner.beholder.ru>, Sergey <skiv@orel.ru> */
2264 		/*       Beholder Intl. Ltd. 2008      */
2265 		/*Dmitry Belimov <d.belimov@gmail.com> */
2266 		.name           = "Beholder BeholdTV 409 FM",
2267 		.audio_clock    = 0x00187de7,
2268 		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,
2269 		.radio_type     = UNSET,
2270 		.tuner_addr     = ADDR_UNSET,
2271 		.radio_addr     = ADDR_UNSET,
2272 		.tda9887_conf   = TDA9887_PRESENT,
2273 		.gpiomask       = 0x00008000,
2274 		.inputs         = {{
2275 			  .type = SAA7134_INPUT_TV,
2276 			  .vmux = 3,
2277 			  .amux = TV,
2278 		},{
2279 			  .type = SAA7134_INPUT_COMPOSITE1,
2280 			  .vmux = 1,
2281 			  .amux = LINE1,
2282 		},{
2283 			  .type = SAA7134_INPUT_SVIDEO,
2284 			  .vmux = 8,
2285 			  .amux = LINE1,
2286 		}},
2287 		.radio = {
2288 			  .type = SAA7134_INPUT_RADIO,
2289 			  .amux = LINE2,
2290 		},
2291 	},
2292 	[SAA7134_BOARD_GOTVIEW_7135] = {
2293 		/* Mike Baikov <mike@baikov.com> */
2294 		/* Andrey Cvetcov <ays14@yandex.ru> */
2295 		.name            = "GoTView 7135 PCI",
2296 		.audio_clock     = 0x00187de7,
2297 		.tuner_type      = TUNER_PHILIPS_FM1216ME_MK3,
2298 		.radio_type      = UNSET,
2299 		.tuner_addr      = ADDR_UNSET,
2300 		.radio_addr      = ADDR_UNSET,
2301 		.tda9887_conf    = TDA9887_PRESENT,
2302 		.gpiomask        = 0x00200003,
2303 		.inputs          = {{
2304 			.type = SAA7134_INPUT_TV,
2305 			.vmux = 1,
2306 			.amux = TV,
2307 			.gpio = 0x00200003,
2308 		},{
2309 			.type = SAA7134_INPUT_TV_MONO,
2310 			.vmux = 1,
2311 			.amux = LINE2,
2312 			.gpio = 0x00200003,
2313 		},{
2314 			.type = SAA7134_INPUT_COMPOSITE1,
2315 			.vmux = 3,
2316 			.amux = LINE1,
2317 			.gpio = 0x00200003,
2318 		},{
2319 			.type = SAA7134_INPUT_SVIDEO,
2320 			.vmux = 8,
2321 			.amux = LINE1,
2322 			.gpio = 0x00200003,
2323 		}},
2324 		.radio = {
2325 			.type = SAA7134_INPUT_RADIO,
2326 			.amux = LINE2,
2327 			.gpio = 0x00200003,
2328 		},
2329 		.mute = {
2330 			.type = SAA7134_INPUT_MUTE,
2331 			.amux = TV,
2332 			.gpio = 0x00200003,
2333 		},
2334 	},
2335 	[SAA7134_BOARD_PHILIPS_EUROPA] = {
2336 		.name           = "Philips EUROPA V3 reference design",
2337 		.audio_clock    = 0x00187de7,
2338 		.tuner_type     = TUNER_PHILIPS_TD1316,
2339 		.radio_type     = UNSET,
2340 		.tuner_addr	= 0x61,
2341 		.radio_addr	= ADDR_UNSET,
2342 		.tda9887_conf   = TDA9887_PRESENT | TDA9887_PORT1_ACTIVE,
2343 		.mpeg           = SAA7134_MPEG_DVB,
2344 		.inputs = {{
2345 			.type = SAA7134_INPUT_TV,
2346 			.vmux   = 3,
2347 			.amux   = TV,
2348 		},{
2349 			.type = SAA7134_INPUT_COMPOSITE1,
2350 			.vmux   = 0,
2351 			.amux   = LINE2,
2352 		},{
2353 			.type = SAA7134_INPUT_SVIDEO,
2354 			.vmux   = 8,
2355 			.amux   = LINE2,
2356 		}},
2357 	},
2358 	[SAA7134_BOARD_VIDEOMATE_DVBT_300] = {
2359 		.name           = "Compro Videomate DVB-T300",
2360 		.audio_clock    = 0x00187de7,
2361 		.tuner_type     = TUNER_PHILIPS_TD1316,
2362 		.radio_type     = UNSET,
2363 		.tuner_addr	= 0x61,
2364 		.radio_addr	= ADDR_UNSET,
2365 		.tda9887_conf   = TDA9887_PRESENT | TDA9887_PORT1_ACTIVE,
2366 		.mpeg           = SAA7134_MPEG_DVB,
2367 		.inputs = {{
2368 			.type = SAA7134_INPUT_TV,
2369 			.vmux   = 3,
2370 			.amux   = TV,
2371 		},{
2372 			.type = SAA7134_INPUT_COMPOSITE1,
2373 			.vmux   = 1,
2374 			.amux   = LINE2,
2375 		},{
2376 			.type = SAA7134_INPUT_SVIDEO,
2377 			.vmux   = 8,
2378 			.amux   = LINE2,
2379 		}},
2380 	},
2381 	[SAA7134_BOARD_VIDEOMATE_DVBT_200] = {
2382 		.name           = "Compro Videomate DVB-T200",
2383 		.tuner_type	= TUNER_ABSENT,
2384 		.audio_clock    = 0x00187de7,
2385 		.radio_type     = UNSET,
2386 		.tuner_addr	= ADDR_UNSET,
2387 		.radio_addr	= ADDR_UNSET,
2388 		.mpeg           = SAA7134_MPEG_DVB,
2389 		.inputs = {{
2390 			.type = SAA7134_INPUT_COMPOSITE1,
2391 			.vmux   = 0,
2392 			.amux   = LINE1,
2393 		},{
2394 			.type = SAA7134_INPUT_SVIDEO,
2395 			.vmux   = 8,
2396 			.amux   = LINE1,
2397 		}},
2398 	},
2399 	[SAA7134_BOARD_RTD_VFG7350] = {
2400 		.name		= "RTD Embedded Technologies VFG7350",
2401 		.audio_clock	= 0x00200000,
2402 		.tuner_type	= TUNER_ABSENT,
2403 		.radio_type	= UNSET,
2404 		.tuner_addr	= ADDR_UNSET,
2405 		.radio_addr	= ADDR_UNSET,
2406 		.empress_addr	= 0x21,
2407 		.inputs		= {{
2408 			.type = SAA7134_INPUT_COMPOSITE0,
2409 			.vmux   = 0,
2410 			.amux   = LINE1,
2411 		},{
2412 			.type = SAA7134_INPUT_COMPOSITE1,
2413 			.vmux   = 1,
2414 			.amux   = LINE2,
2415 		},{
2416 			.type = SAA7134_INPUT_COMPOSITE2,
2417 			.vmux   = 2,
2418 			.amux   = LINE1,
2419 		},{
2420 			.type = SAA7134_INPUT_COMPOSITE3,
2421 			.vmux   = 3,
2422 			.amux   = LINE2,
2423 		},{
2424 			.type = SAA7134_INPUT_SVIDEO0,
2425 
2426 			.vmux   = 8,
2427 			.amux   = LINE1,
2428 		},{
2429 			.type = SAA7134_INPUT_SVIDEO1,
2430 			.vmux   = 9,
2431 			.amux   = LINE2,
2432 		}},
2433 		.mpeg           = SAA7134_MPEG_EMPRESS,
2434 		.video_out      = CCIR656,
2435 		.vid_port_opts  = ( SET_T_CODE_POLARITY_NON_INVERTED |
2436 				    SET_CLOCK_NOT_DELAYED |
2437 				    SET_CLOCK_INVERTED |
2438 				    SET_VSYNC_OFF ),
2439 	},
2440 	[SAA7134_BOARD_RTD_VFG7330] = {
2441 		.name		= "RTD Embedded Technologies VFG7330",
2442 		.audio_clock	= 0x00200000,
2443 		.tuner_type	= TUNER_ABSENT,
2444 		.radio_type	= UNSET,
2445 		.tuner_addr	= ADDR_UNSET,
2446 		.radio_addr	= ADDR_UNSET,
2447 		.inputs		= {{
2448 			.type = SAA7134_INPUT_COMPOSITE0,
2449 			.vmux   = 0,
2450 			.amux   = LINE1,
2451 		},{
2452 			.type = SAA7134_INPUT_COMPOSITE1,
2453 			.vmux   = 1,
2454 			.amux   = LINE2,
2455 		},{
2456 			.type = SAA7134_INPUT_COMPOSITE2,
2457 			.vmux   = 2,
2458 			.amux   = LINE1,
2459 		},{
2460 			.type = SAA7134_INPUT_COMPOSITE3,
2461 			.vmux   = 3,
2462 			.amux   = LINE2,
2463 		},{
2464 			.type = SAA7134_INPUT_SVIDEO0,
2465 			.vmux   = 8,
2466 			.amux   = LINE1,
2467 		},{
2468 			.type = SAA7134_INPUT_SVIDEO1,
2469 			.vmux   = 9,
2470 			.amux   = LINE2,
2471 		}},
2472 	},
2473 	[SAA7134_BOARD_FLYTVPLATINUM_MINI2] = {
2474 		.name           = "LifeView FlyTV Platinum Mini2",
2475 		.audio_clock    = 0x00200000,
2476 		.tuner_type     = TUNER_PHILIPS_TDA8290,
2477 		.radio_type     = UNSET,
2478 		.tuner_addr	= ADDR_UNSET,
2479 		.radio_addr	= ADDR_UNSET,
2480 
2481 		.inputs         = {{
2482 			.type = SAA7134_INPUT_TV,
2483 			.vmux = 1,
2484 			.amux = TV,
2485 		},{
2486 			.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
2487 			.vmux = 0,
2488 			.amux = LINE2,
2489 		},{
2490 			.type = SAA7134_INPUT_COMPOSITE,
2491 			.vmux = 3,
2492 			.amux = LINE2,
2493 		},{
2494 			.type = SAA7134_INPUT_SVIDEO,
2495 			.vmux = 8,
2496 			.amux = LINE2,
2497 		}},
2498 	},
2499 	[SAA7134_BOARD_AVERMEDIA_AVERTVHD_A180] = {
2500 		/* Michael Krufky <mkrufky@linuxtv.org>
2501 		 * Uses Alps Electric TDHU2, containing NXT2004 ATSC Decoder
2502 		 * AFAIK, there is no analog demod, thus,
2503 		 * no support for analog television.
2504 		 */
2505 		.name           = "AVerMedia AVerTVHD MCE A180",
2506 		.audio_clock    = 0x00187de7,
2507 		.tuner_type     = TUNER_ABSENT,
2508 		.radio_type     = UNSET,
2509 		.tuner_addr     = ADDR_UNSET,
2510 		.radio_addr     = ADDR_UNSET,
2511 		.mpeg           = SAA7134_MPEG_DVB,
2512 		.inputs         = {{
2513 			.type = SAA7134_INPUT_COMPOSITE1,
2514 			.vmux = 3,
2515 			.amux = LINE2,
2516 		},{
2517 			.type = SAA7134_INPUT_SVIDEO,
2518 			.vmux = 8,
2519 			.amux = LINE2,
2520 		}},
2521 	},
2522 	[SAA7134_BOARD_MONSTERTV_MOBILE] = {
2523 		.name           = "SKNet MonsterTV Mobile",
2524 		.audio_clock    = 0x00187de7,
2525 		.tuner_type     = TUNER_PHILIPS_TDA8290,
2526 		.radio_type     = UNSET,
2527 		.tuner_addr	= ADDR_UNSET,
2528 		.radio_addr	= ADDR_UNSET,
2529 
2530 		.inputs         = {{
2531 			  .type = SAA7134_INPUT_TV,
2532 			  .vmux = 1,
2533 			  .amux = TV,
2534 		},{
2535 			  .type = SAA7134_INPUT_COMPOSITE1,
2536 			  .vmux = 3,
2537 			  .amux = LINE1,
2538 		},{
2539 			  .type = SAA7134_INPUT_SVIDEO,
2540 			  .vmux = 6,
2541 			  .amux = LINE1,
2542 		}},
2543 	},
2544 	[SAA7134_BOARD_PINNACLE_PCTV_110i] = {
2545 	       .name           = "Pinnacle PCTV 40i/50i/110i (saa7133)",
2546 		.audio_clock    = 0x00187de7,
2547 		.tuner_type     = TUNER_PHILIPS_TDA8290,
2548 		.radio_type     = UNSET,
2549 		.tuner_addr     = ADDR_UNSET,
2550 		.radio_addr     = ADDR_UNSET,
2551 		.gpiomask       = 0x080200000,
2552 		.inputs         = { {
2553 			.type = SAA7134_INPUT_TV,
2554 			.vmux = 4,
2555 			.amux = TV,
2556 		}, {
2557 			.type = SAA7134_INPUT_COMPOSITE1,
2558 			.vmux = 1,
2559 			.amux = LINE2,
2560 		}, {
2561 			.type = SAA7134_INPUT_COMPOSITE2,
2562 			.vmux = 0,
2563 			.amux = LINE2,
2564 		}, {
2565 			.type = SAA7134_INPUT_SVIDEO,
2566 			.vmux = 8,
2567 			.amux = LINE2,
2568 		} },
2569 		.radio = {
2570 			.type = SAA7134_INPUT_RADIO,
2571 			.amux = TV,
2572 			.gpio = 0x0200000,
2573 		},
2574 	},
2575 	[SAA7134_BOARD_ASUSTeK_P7131_DUAL] = {
2576 		.name           = "ASUSTeK P7131 Dual",
2577 		.audio_clock    = 0x00187de7,
2578 		.tuner_type     = TUNER_PHILIPS_TDA8290,
2579 		.radio_type     = UNSET,
2580 		.tuner_addr	= ADDR_UNSET,
2581 		.radio_addr	= ADDR_UNSET,
2582 		.gpiomask	= 1 << 21,
2583 		.mpeg           = SAA7134_MPEG_DVB,
2584 		.inputs         = {{
2585 			.type = SAA7134_INPUT_TV,
2586 			.vmux = 1,
2587 			.amux = TV,
2588 			.gpio = 0x0000000,
2589 		},{
2590 			.type = SAA7134_INPUT_COMPOSITE1,
2591 			.vmux = 3,
2592 			.amux = LINE2,
2593 			.gpio = 0x0200000,
2594 		},{
2595 			.type = SAA7134_INPUT_COMPOSITE2,
2596 			.vmux = 0,
2597 			.amux = LINE2,
2598 			.gpio = 0x0200000,
2599 		},{
2600 			.type = SAA7134_INPUT_SVIDEO,
2601 			.vmux = 8,
2602 			.amux = LINE2,
2603 			.gpio = 0x0200000,
2604 		}},
2605 		.radio = {
2606 			.type = SAA7134_INPUT_RADIO,
2607 			.amux = TV,
2608 			.gpio = 0x0200000,
2609 		},
2610 	},
2611 	[SAA7134_BOARD_SEDNA_PC_TV_CARDBUS] = {
2612 		/* Paul Tom Zalac <pzalac@gmail.com> */
2613 		/* Pavel Mihaylov <bin@bash.info> */
2614 		.name           = "Sedna/MuchTV PC TV Cardbus TV/Radio (ITO25 Rev:2B)",
2615 				/* Sedna/MuchTV (OEM) Cardbus TV Tuner */
2616 		.audio_clock    = 0x00187de7,
2617 		.tuner_type     = TUNER_PHILIPS_TDA8290,
2618 		.radio_type     = UNSET,
2619 		.tuner_addr     = ADDR_UNSET,
2620 		.radio_addr     = ADDR_UNSET,
2621 		.gpiomask       = 0xe880c0,
2622 		.inputs         = {{
2623 			.type = SAA7134_INPUT_TV,
2624 			.vmux = 3,
2625 			.amux = TV,
2626 		},{
2627 			.type = SAA7134_INPUT_COMPOSITE1,
2628 			.vmux = 1,
2629 			.amux = LINE1,
2630 		},{
2631 			.type = SAA7134_INPUT_SVIDEO,
2632 			.vmux = 6,
2633 			.amux = LINE1,
2634 		}},
2635 		.radio = {
2636 			.type = SAA7134_INPUT_RADIO,
2637 			.amux = LINE2,
2638 		},
2639 	},
2640 	[SAA7134_BOARD_ASUSTEK_DIGIMATRIX_TV] = {
2641 		/* "Cyril Lacoux (Yack)" <clacoux@ifeelgood.org> */
2642 		.name           = "ASUS Digimatrix TV",
2643 		.audio_clock    = 0x00200000,
2644 		.tuner_type     = TUNER_PHILIPS_FQ1216ME,
2645 		.tda9887_conf   = TDA9887_PRESENT,
2646 		.radio_type     = UNSET,
2647 		.tuner_addr     = ADDR_UNSET,
2648 		.radio_addr     = ADDR_UNSET,
2649 		.inputs         = {{
2650 			.type = SAA7134_INPUT_TV,
2651 			.vmux = 1,
2652 			.amux = TV,
2653 		},{
2654 			.type = SAA7134_INPUT_COMPOSITE1,
2655 			.vmux = 3,
2656 			.amux = LINE1,
2657 		},{
2658 			.type = SAA7134_INPUT_SVIDEO,
2659 			.vmux = 8,
2660 			.amux = LINE1,
2661 		}},
2662 	},
2663 	[SAA7134_BOARD_PHILIPS_TIGER] = {
2664 		.name           = "Philips Tiger reference design",
2665 		.audio_clock    = 0x00187de7,
2666 		.tuner_type     = TUNER_PHILIPS_TDA8290,
2667 		.radio_type     = UNSET,
2668 		.tuner_addr	= ADDR_UNSET,
2669 		.radio_addr	= ADDR_UNSET,
2670 		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_OFF },
2671 		.mpeg           = SAA7134_MPEG_DVB,
2672 		.gpiomask       = 0x0200000,
2673 		.inputs = {{
2674 			.type = SAA7134_INPUT_TV,
2675 			.vmux   = 1,
2676 			.amux   = TV,
2677 		},{
2678 			.type = SAA7134_INPUT_COMPOSITE1,
2679 			.vmux   = 3,
2680 			.amux   = LINE1,
2681 		},{
2682 			.type = SAA7134_INPUT_SVIDEO,
2683 			.vmux   = 8,
2684 			.amux   = LINE1,
2685 		}},
2686 		.radio = {
2687 			.type = SAA7134_INPUT_RADIO,
2688 			.amux   = TV,
2689 			.gpio   = 0x0200000,
2690 		},
2691 	},
2692 	[SAA7134_BOARD_MSI_TVATANYWHERE_PLUS] = {
2693 		.name           = "MSI TV@Anywhere plus",
2694 		.audio_clock    = 0x00187de7,
2695 		.tuner_type     = TUNER_PHILIPS_TDA8290,
2696 		.radio_type     = UNSET,
2697 		.tuner_addr	= ADDR_UNSET,
2698 		.radio_addr	= ADDR_UNSET,
2699 		.gpiomask       = 1 << 21,
2700 		.inputs = {{
2701 			.type = SAA7134_INPUT_TV,
2702 			.vmux   = 1,
2703 			.amux   = TV,
2704 		},{
2705 			.type = SAA7134_INPUT_COMPOSITE,
2706 			.vmux   = 3,
2707 			.amux   = LINE2,	/* unconfirmed, taken from Philips driver */
2708 		},{
2709 			.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
2710 			.vmux   = 0,		/* untested */
2711 			.amux   = LINE2,
2712 		},{
2713 			.type = SAA7134_INPUT_SVIDEO,
2714 			.vmux   = 8,
2715 			.amux   = LINE2,
2716 		}},
2717 		.radio = {
2718 			.type = SAA7134_INPUT_RADIO,
2719 			.amux   = TV,
2720 			.gpio   = 0x0200000,
2721 		},
2722 	},
2723 	[SAA7134_BOARD_CINERGY250PCI] = {
2724 		/* remote-control does not work. The signal about a
2725 		   key press comes in via gpio, but the key code
2726 		   doesn't. Neither does it have an i2c remote control
2727 		   interface. */
2728 		.name           = "Terratec Cinergy 250 PCI TV",
2729 		.audio_clock    = 0x00187de7,
2730 		.tuner_type     = TUNER_PHILIPS_TDA8290,
2731 		.radio_type     = UNSET,
2732 		.tuner_addr	= ADDR_UNSET,
2733 		.radio_addr	= ADDR_UNSET,
2734 		.gpiomask       = 0x80200000,
2735 		.inputs         = {{
2736 			.type = SAA7134_INPUT_TV,
2737 			.vmux = 1,
2738 			.amux = TV,
2739 		},{
2740 			.type = SAA7134_INPUT_SVIDEO,  /* NOT tested */
2741 			.vmux = 8,
2742 			.amux = LINE1,
2743 		}},
2744 		.radio = {
2745 			.type = SAA7134_INPUT_RADIO,
2746 			.amux   = TV,
2747 			.gpio   = 0x0200000,
2748 		},
2749 	},
2750 	[SAA7134_BOARD_FLYDVB_TRIO] = {
2751 		/* LifeView LR319 FlyDVB Trio */
2752 		/* Peter Missel <peter.missel@onlinehome.de> */
2753 		.name           = "LifeView FlyDVB Trio",
2754 		.audio_clock    = 0x00200000,
2755 		.tuner_type     = TUNER_PHILIPS_TDA8290,
2756 		.radio_type     = UNSET,
2757 		.tuner_addr	= ADDR_UNSET,
2758 		.radio_addr	= ADDR_UNSET,
2759 		.gpiomask	= 0x00200000,
2760 		.mpeg           = SAA7134_MPEG_DVB,
2761 		.inputs         = {{
2762 			.type = SAA7134_INPUT_TV,	/* Analog broadcast/cable TV */
2763 			.vmux = 1,
2764 			.amux = TV,
2765 			.gpio = 0x200000,	/* GPIO21=High for TV input */
2766 		},{
2767 			.type = SAA7134_INPUT_SVIDEO,
2768 			.vmux = 8,
2769 			.amux = LINE2,
2770 		},{
2771 			.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
2772 			.vmux = 0,
2773 			.amux = LINE2,
2774 		},{
2775 			.type = SAA7134_INPUT_COMPOSITE2,
2776 			.vmux = 3,
2777 			.amux = LINE2,
2778 		}},
2779 		.radio = {
2780 			.type = SAA7134_INPUT_RADIO,
2781 			.amux = TV,
2782 			.gpio = 0x000000,	/* GPIO21=Low for FM radio antenna */
2783 		},
2784 	},
2785 	[SAA7134_BOARD_AVERMEDIA_777] = {
2786 		.name           = "AverTV DVB-T 777",
2787 		.audio_clock    = 0x00187de7,
2788 		.tuner_type     = TUNER_ABSENT,
2789 		.radio_type     = UNSET,
2790 		.tuner_addr	= ADDR_UNSET,
2791 		.radio_addr	= ADDR_UNSET,
2792 		.mpeg           = SAA7134_MPEG_DVB,
2793 		.inputs = {{
2794 			.type = SAA7134_INPUT_COMPOSITE1,
2795 			.vmux   = 1,
2796 			.amux   = LINE1,
2797 		},{
2798 			.type = SAA7134_INPUT_SVIDEO,
2799 			.vmux   = 8,
2800 			.amux   = LINE1,
2801 		}},
2802 	},
2803 	[SAA7134_BOARD_FLYDVBT_LR301] = {
2804 		/* LifeView FlyDVB-T */
2805 		/* Giampiero Giancipoli <gianci@libero.it> */
2806 		.name           = "LifeView FlyDVB-T / Genius VideoWonder DVB-T",
2807 		.audio_clock    = 0x00200000,
2808 		.tuner_type     = TUNER_ABSENT,
2809 		.radio_type     = UNSET,
2810 		.tuner_addr	= ADDR_UNSET,
2811 		.radio_addr	= ADDR_UNSET,
2812 		.mpeg           = SAA7134_MPEG_DVB,
2813 		.inputs         = {{
2814 			.type = SAA7134_INPUT_COMPOSITE1,
2815 			.vmux = 3,
2816 			.amux = LINE2,
2817 		},{
2818 			.type = SAA7134_INPUT_SVIDEO,
2819 			.vmux = 8,
2820 			.amux = LINE2,
2821 		}},
2822 	},
2823 	[SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331] = {
2824 		.name           = "ADS Instant TV Duo Cardbus PTV331",
2825 		.audio_clock    = 0x00200000,
2826 		.tuner_type     = TUNER_PHILIPS_TDA8290,
2827 		.radio_type     = UNSET,
2828 		.tuner_addr	= ADDR_UNSET,
2829 		.radio_addr	= ADDR_UNSET,
2830 		.mpeg           = SAA7134_MPEG_DVB,
2831 		.gpiomask       = 0x00600000, /* Bit 21 0=Radio, Bit 22 0=TV */
2832 		.inputs = {{
2833 			.type = SAA7134_INPUT_TV,
2834 			.vmux   = 1,
2835 			.amux   = TV,
2836 			.gpio   = 0x00200000,
2837 		}},
2838 	},
2839 	[SAA7134_BOARD_TEVION_DVBT_220RF] = {
2840 		.name           = "Tevion/KWorld DVB-T 220RF",
2841 		.audio_clock    = 0x00187de7,
2842 		.tuner_type     = TUNER_PHILIPS_TDA8290,
2843 		.radio_type     = UNSET,
2844 		.tuner_addr     = ADDR_UNSET,
2845 		.radio_addr     = ADDR_UNSET,
2846 		.mpeg           = SAA7134_MPEG_DVB,
2847 		.gpiomask       = 1 << 21,
2848 		.inputs = {{
2849 			.type = SAA7134_INPUT_TV,
2850 			.vmux   = 1,
2851 			.amux   = TV,
2852 		},{
2853 			.type = SAA7134_INPUT_COMPOSITE1,
2854 			.vmux   = 3,
2855 			.amux   = LINE1,
2856 		},{
2857 			.type = SAA7134_INPUT_COMPOSITE2,
2858 			.vmux   = 0,
2859 			.amux   = LINE1,
2860 		},{
2861 			.type = SAA7134_INPUT_SVIDEO,
2862 			.vmux   = 8,
2863 			.amux   = LINE1,
2864 		}},
2865 		.radio = {
2866 			.type = SAA7134_INPUT_RADIO,
2867 			.amux   = TV,
2868 			.gpio   = 0x0200000,
2869 		},
2870 	},
2871 	[SAA7134_BOARD_KWORLD_DVBT_210] = {
2872 		.name           = "KWorld DVB-T 210",
2873 		.audio_clock    = 0x00187de7,
2874 		.tuner_type     = TUNER_PHILIPS_TDA8290,
2875 		.radio_type     = UNSET,
2876 		.tuner_addr	= ADDR_UNSET,
2877 		.radio_addr	= ADDR_UNSET,
2878 		.mpeg           = SAA7134_MPEG_DVB,
2879 		.gpiomask       = 1 << 21,
2880 		.inputs = {{
2881 			.type = SAA7134_INPUT_TV,
2882 			.vmux   = 1,
2883 			.amux   = TV,
2884 		},{
2885 			.type = SAA7134_INPUT_COMPOSITE1,
2886 			.vmux   = 3,
2887 			.amux   = LINE1,
2888 		},{
2889 			.type = SAA7134_INPUT_SVIDEO,
2890 			.vmux   = 8,
2891 			.amux   = LINE1,
2892 		}},
2893 		.radio = {
2894 			.type = SAA7134_INPUT_RADIO,
2895 			.amux   = TV,
2896 			.gpio   = 0x0200000,
2897 		},
2898 	},
2899 	[SAA7134_BOARD_KWORLD_ATSC110] = {
2900 		.name           = "Kworld ATSC110/115",
2901 		.audio_clock    = 0x00187de7,
2902 		.tuner_type     = TUNER_PHILIPS_TUV1236D,
2903 		.radio_type     = UNSET,
2904 		.tuner_addr     = ADDR_UNSET,
2905 		.radio_addr     = ADDR_UNSET,
2906 		.tda9887_conf   = TDA9887_PRESENT,
2907 		.mpeg           = SAA7134_MPEG_DVB,
2908 		.inputs         = {{
2909 			.type = SAA7134_INPUT_TV,
2910 			.vmux = 1,
2911 			.amux = TV,
2912 		},{
2913 			.type = SAA7134_INPUT_COMPOSITE1,
2914 			.vmux = 3,
2915 			.amux = LINE2,
2916 		},{
2917 			.type = SAA7134_INPUT_SVIDEO,
2918 			.vmux = 8,
2919 			.amux = LINE2,
2920 		}},
2921 	},
2922 	[SAA7134_BOARD_AVERMEDIA_A169_B] = {
2923 		/* AVerMedia A169  */
2924 		/* Rickard Osser <ricky@osser.se>  */
2925 		/* This card has two saa7134 chips on it,
2926 		   but only one of them is currently working. */
2927 		.name		= "AVerMedia A169 B",
2928 		.audio_clock    = 0x02187de7,
2929 		.tuner_type	= TUNER_LG_TALN,
2930 		.radio_type     = UNSET,
2931 		.tuner_addr	= ADDR_UNSET,
2932 		.radio_addr	= ADDR_UNSET,
2933 		.tda9887_conf   = TDA9887_PRESENT,
2934 		.gpiomask       = 0x0a60000,
2935 	},
2936 	[SAA7134_BOARD_AVERMEDIA_A169_B1] = {
2937 		/* AVerMedia A169 */
2938 		/* Rickard Osser <ricky@osser.se> */
2939 		.name		= "AVerMedia A169 B1",
2940 		.audio_clock    = 0x02187de7,
2941 		.tuner_type	= TUNER_LG_TALN,
2942 		.radio_type     = UNSET,
2943 		.tuner_addr	= ADDR_UNSET,
2944 		.radio_addr	= ADDR_UNSET,
2945 		.tda9887_conf   = TDA9887_PRESENT,
2946 		.gpiomask       = 0xca60000,
2947 		.inputs         = {{
2948 			.type = SAA7134_INPUT_TV,
2949 			.vmux = 4,
2950 			.amux = TV,
2951 			.gpio = 0x04a61000,
2952 		},{
2953 			.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
2954 			.vmux = 1,
2955 			.amux = LINE2,
2956 		},{
2957 			.type = SAA7134_INPUT_SVIDEO,
2958 			.vmux = 9,           /* 9 is correct as S-VIDEO1 according to a169.inf! */
2959 			.amux = LINE1,
2960 		}},
2961 	},
2962 	[SAA7134_BOARD_MD7134_BRIDGE_2] = {
2963 		/* The second saa7134 on this card only serves as DVB-S host bridge */
2964 		.name           = "Medion 7134 Bridge #2",
2965 		.audio_clock    = 0x00187de7,
2966 		.radio_type     = UNSET,
2967 		.tuner_addr	= ADDR_UNSET,
2968 		.radio_addr	= ADDR_UNSET,
2969 		.mpeg           = SAA7134_MPEG_DVB,
2970 	},
2971 	[SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS] = {
2972 		.name		= "LifeView FlyDVB-T Hybrid Cardbus/MSI TV @nywhere A/D NB",
2973 		.audio_clock    = 0x00200000,
2974 		.tuner_type     = TUNER_PHILIPS_TDA8290,
2975 		.radio_type     = UNSET,
2976 		.tuner_addr	= ADDR_UNSET,
2977 		.radio_addr	= ADDR_UNSET,
2978 		.mpeg           = SAA7134_MPEG_DVB,
2979 		.gpiomask       = 0x00600000, /* Bit 21 0=Radio, Bit 22 0=TV */
2980 		.inputs         = {{
2981 			.type = SAA7134_INPUT_TV,
2982 			.vmux = 1,
2983 			.amux = TV,
2984 			.gpio = 0x200000,	/* GPIO21=High for TV input */
2985 		},{
2986 			.type = SAA7134_INPUT_SVIDEO,
2987 			.vmux = 8,
2988 			.amux = LINE2,
2989 		},{
2990 			.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
2991 			.vmux = 0,
2992 			.amux = LINE2,
2993 		},{
2994 			.type = SAA7134_INPUT_COMPOSITE,
2995 			.vmux = 3,
2996 			.amux = LINE2,
2997 		}},
2998 		.radio = {
2999 			.type = SAA7134_INPUT_RADIO,
3000 			.amux = TV,
3001 			.gpio = 0x000000,	/* GPIO21=Low for FM radio antenna */
3002 		},
3003 	},
3004 	[SAA7134_BOARD_FLYVIDEO3000_NTSC] = {
3005 		/* "Zac Bowling" <zac@zacbowling.com> */
3006 		.name           = "LifeView FlyVIDEO3000 (NTSC)",
3007 		.audio_clock    = 0x00200000,
3008 		.tuner_type     = TUNER_PHILIPS_NTSC,
3009 		.radio_type     = UNSET,
3010 		.tuner_addr     = ADDR_UNSET,
3011 		.radio_addr     = ADDR_UNSET,
3012 
3013 		.gpiomask       = 0xe000,
3014 		.inputs         = {{
3015 			.type = SAA7134_INPUT_TV,
3016 			.vmux = 1,
3017 			.amux = TV,
3018 			.gpio = 0x8000,
3019 		},{
3020 			.type = SAA7134_INPUT_TV_MONO,
3021 			.vmux = 1,
3022 			.amux = LINE2,
3023 			.gpio = 0x0000,
3024 		},{
3025 			.type = SAA7134_INPUT_COMPOSITE1,
3026 			.vmux = 0,
3027 			.amux = LINE2,
3028 			.gpio = 0x4000,
3029 		},{
3030 			.type = SAA7134_INPUT_COMPOSITE2,
3031 			.vmux = 3,
3032 			.amux = LINE2,
3033 			.gpio = 0x4000,
3034 		},{
3035 			.type = SAA7134_INPUT_SVIDEO,
3036 			.vmux = 8,
3037 			.amux = LINE2,
3038 			.gpio = 0x4000,
3039 		}},
3040 		.radio = {
3041 			.type = SAA7134_INPUT_RADIO,
3042 			.amux = LINE2,
3043 			.gpio = 0x2000,
3044 		},
3045 			.mute = {
3046 			.type = SAA7134_INPUT_MUTE,
3047 			.amux = TV,
3048 			.gpio = 0x8000,
3049 		},
3050 	},
3051 	[SAA7134_BOARD_MEDION_MD8800_QUADRO] = {
3052 		.name           = "Medion Md8800 Quadro",
3053 		.audio_clock    = 0x00187de7,
3054 		.tuner_type     = TUNER_PHILIPS_TDA8290,
3055 		.radio_type     = UNSET,
3056 		.tuner_addr     = ADDR_UNSET,
3057 		.radio_addr     = ADDR_UNSET,
3058 		.mpeg           = SAA7134_MPEG_DVB,
3059 		.inputs = {{
3060 			.type = SAA7134_INPUT_TV,
3061 			.vmux   = 1,
3062 			.amux   = TV,
3063 		},{
3064 			.type = SAA7134_INPUT_COMPOSITE1,
3065 			.vmux   = 0,
3066 			.amux   = LINE1,
3067 		},{
3068 			.type = SAA7134_INPUT_SVIDEO,
3069 			.vmux   = 8,
3070 			.amux   = LINE1,
3071 		}},
3072 	},
3073 	[SAA7134_BOARD_FLYDVBS_LR300] = {
3074 		/* LifeView FlyDVB-s */
3075 		/* Igor M. Liplianin <liplianin@tut.by> */
3076 		.name           = "LifeView FlyDVB-S /Acorp TV134DS",
3077 		.audio_clock    = 0x00200000,
3078 		.tuner_type     = TUNER_ABSENT,
3079 		.radio_type     = UNSET,
3080 		.tuner_addr	= ADDR_UNSET,
3081 		.radio_addr	= ADDR_UNSET,
3082 		.mpeg           = SAA7134_MPEG_DVB,
3083 		.inputs         = {{
3084 			.type = SAA7134_INPUT_COMPOSITE1,
3085 			.vmux = 3,
3086 			.amux = LINE1,
3087 		},{
3088 			.type = SAA7134_INPUT_SVIDEO,
3089 			.vmux = 8,
3090 			.amux = LINE1,
3091 		}},
3092 	},
3093 	[SAA7134_BOARD_PROTEUS_2309] = {
3094 		.name           = "Proteus Pro 2309",
3095 		.audio_clock    = 0x00187de7,
3096 		.tuner_type	= TUNER_PHILIPS_FM1216ME_MK3,
3097 		.radio_type     = UNSET,
3098 		.tuner_addr	= ADDR_UNSET,
3099 		.radio_addr	= ADDR_UNSET,
3100 		.tda9887_conf   = TDA9887_PRESENT,
3101 		.inputs         = {{
3102 			.type = SAA7134_INPUT_TV,
3103 			.vmux = 1,
3104 			.amux = LINE2,
3105 		},{
3106 			.type = SAA7134_INPUT_COMPOSITE1,
3107 			.vmux = 0,
3108 			.amux = LINE2,
3109 		},{
3110 			.type = SAA7134_INPUT_COMPOSITE2,
3111 			.vmux = 3,
3112 			.amux = LINE2,
3113 		},{
3114 			.type = SAA7134_INPUT_SVIDEO,
3115 			.vmux = 8,
3116 			.amux = LINE2,
3117 		}},
3118 		.mute = {
3119 			.type = SAA7134_INPUT_MUTE,
3120 			.amux = LINE1,
3121 		},
3122 	},
3123 	[SAA7134_BOARD_AVERMEDIA_A16AR] = {
3124 		/* Petr Baudis <pasky@ucw.cz> */
3125 		.name           = "AVerMedia TV Hybrid A16AR",
3126 		.audio_clock    = 0x187de7,
3127 		.tuner_type     = TUNER_PHILIPS_TD1316, /* untested */
3128 		.radio_type     = TUNER_TEA5767, /* untested */
3129 		.tuner_addr     = ADDR_UNSET,
3130 		.radio_addr     = 0x60,
3131 		.tda9887_conf   = TDA9887_PRESENT,
3132 		.mpeg           = SAA7134_MPEG_DVB,
3133 		.inputs         = {{
3134 			.type = SAA7134_INPUT_TV,
3135 			.vmux = 1,
3136 			.amux = TV,
3137 		},{
3138 			.type = SAA7134_INPUT_COMPOSITE1,
3139 			.vmux = 3,
3140 			.amux = LINE2,
3141 		},{
3142 			.type = SAA7134_INPUT_SVIDEO,
3143 			.vmux = 8,
3144 			.amux = LINE1,
3145 		}},
3146 		.radio = {
3147 			.type = SAA7134_INPUT_RADIO,
3148 			.amux = LINE1,
3149 		},
3150 	},
3151 	[SAA7134_BOARD_ASUS_EUROPA2_HYBRID] = {
3152 		.name           = "Asus Europa2 OEM",
3153 		.audio_clock    = 0x00187de7,
3154 		.tuner_type     = TUNER_PHILIPS_FMD1216ME_MK3,
3155 		.radio_type     = UNSET,
3156 		.tuner_addr	= ADDR_UNSET,
3157 		.radio_addr	= ADDR_UNSET,
3158 		.tda9887_conf   = TDA9887_PRESENT| TDA9887_PORT1_ACTIVE | TDA9887_PORT2_ACTIVE,
3159 		.mpeg           = SAA7134_MPEG_DVB,
3160 		.inputs = {{
3161 			.type = SAA7134_INPUT_TV,
3162 			.vmux   = 3,
3163 			.amux   = TV,
3164 		},{
3165 			.type = SAA7134_INPUT_COMPOSITE1,
3166 			.vmux   = 4,
3167 			.amux   = LINE2,
3168 		},{
3169 			.type = SAA7134_INPUT_SVIDEO,
3170 			.vmux   = 8,
3171 			.amux   = LINE2,
3172 		}},
3173 		.radio = {
3174 			.type = SAA7134_INPUT_RADIO,
3175 			.amux   = LINE1,
3176 		},
3177 	},
3178 	[SAA7134_BOARD_PINNACLE_PCTV_310i] = {
3179 		.name           = "Pinnacle PCTV 310i",
3180 		.audio_clock    = 0x00187de7,
3181 		.tuner_type     = TUNER_PHILIPS_TDA8290,
3182 		.radio_type     = UNSET,
3183 		.tuner_addr     = ADDR_UNSET,
3184 		.radio_addr     = ADDR_UNSET,
3185 		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_GP0_HIGH_ON },
3186 		.mpeg           = SAA7134_MPEG_DVB,
3187 		.gpiomask       = 0x000200000,
3188 		.inputs         = {{
3189 			.type = SAA7134_INPUT_TV,
3190 			.vmux = 4,
3191 			.amux = TV,
3192 		},{
3193 			.type = SAA7134_INPUT_COMPOSITE1,
3194 			.vmux = 1,
3195 			.amux = LINE2,
3196 		},{
3197 			.type = SAA7134_INPUT_COMPOSITE2,
3198 			.vmux = 0,
3199 			.amux = LINE2,
3200 		},{
3201 			.type = SAA7134_INPUT_SVIDEO,
3202 			.vmux = 8,
3203 			.amux = LINE2,
3204 		}},
3205 		.radio = {
3206 			.type = SAA7134_INPUT_RADIO,
3207 			.amux   = TV,
3208 			.gpio   = 0x0200000,
3209 		},
3210 	},
3211 	[SAA7134_BOARD_AVERMEDIA_STUDIO_507] = {
3212 		/* Mikhail Fedotov <mo_fedotov@mail.ru> */
3213 		.name           = "Avermedia AVerTV Studio 507",
3214 		.audio_clock    = 0x00187de7,
3215 		.tuner_type     = TUNER_PHILIPS_FM1256_IH3,
3216 		.radio_type     = UNSET,
3217 		.tuner_addr	= ADDR_UNSET,
3218 		.radio_addr	= ADDR_UNSET,
3219 		.tda9887_conf   = TDA9887_PRESENT,
3220 		.gpiomask       = 0x03,
3221 		.inputs         = {{
3222 			.type = SAA7134_INPUT_TV,
3223 			.vmux = 1,
3224 			.amux = TV,
3225 			.gpio = 0x00,
3226 		},{
3227 			.type = SAA7134_INPUT_COMPOSITE1,
3228 			.vmux = 0,
3229 			.amux = LINE2,
3230 			.gpio = 0x00,
3231 		},{
3232 			.type = SAA7134_INPUT_COMPOSITE2,
3233 			.vmux = 3,
3234 			.amux = LINE2,
3235 			.gpio = 0x00,
3236 		},{
3237 			.type = SAA7134_INPUT_SVIDEO,
3238 			.vmux = 8,
3239 			.amux = LINE2,
3240 			.gpio = 0x00,
3241 		}},
3242 		.radio = {
3243 			.type = SAA7134_INPUT_RADIO,
3244 			.amux = LINE2,
3245 			.gpio = 0x01,
3246 		},
3247 		.mute  = {
3248 			.type = SAA7134_INPUT_MUTE,
3249 			.amux = LINE1,
3250 			.gpio = 0x00,
3251 		},
3252 	},
3253 	[SAA7134_BOARD_VIDEOMATE_DVBT_200A] = {
3254 		/* Francis Barber <fedora@barber-family.id.au> */
3255 		.name           = "Compro Videomate DVB-T200A",
3256 		.audio_clock    = 0x00187de7,
3257 		.tuner_type     = TUNER_ABSENT,
3258 		.radio_type     = UNSET,
3259 		.tuner_addr	= ADDR_UNSET,
3260 		.radio_addr	= ADDR_UNSET,
3261 		.tda9887_conf   = TDA9887_PRESENT | TDA9887_PORT1_ACTIVE,
3262 		.mpeg           = SAA7134_MPEG_DVB,
3263 		.inputs = {{
3264 			.type = SAA7134_INPUT_TV,
3265 			.vmux   = 3,
3266 			.amux   = TV,
3267 		},{
3268 			.type = SAA7134_INPUT_COMPOSITE1,
3269 			.vmux   = 1,
3270 			.amux   = LINE2,
3271 		},{
3272 			.type = SAA7134_INPUT_SVIDEO,
3273 			.vmux   = 8,
3274 			.amux   = LINE2,
3275 		}},
3276 	},
3277 	[SAA7134_BOARD_HAUPPAUGE_HVR1110] = {
3278 		/* Thomas Genty <tomlohave@gmail.com> */
3279 		/* David Bentham <db260179@hotmail.com> */
3280 		.name           = "Hauppauge WinTV-HVR1110 DVB-T/Hybrid",
3281 		.audio_clock    = 0x00187de7,
3282 		.tuner_type     = TUNER_PHILIPS_TDA8290,
3283 		.radio_type     = UNSET,
3284 		.tuner_addr     = ADDR_UNSET,
3285 		.radio_addr     = ADDR_UNSET,
3286 		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_GP0_HIGH_ON },
3287 		.mpeg           = SAA7134_MPEG_DVB,
3288 		.gpiomask       = 0x0200100,
3289 		.inputs         = {{
3290 			.type = SAA7134_INPUT_TV,
3291 			.vmux = 1,
3292 			.amux = TV,
3293 			.gpio = 0x0000100,
3294 		}, {
3295 			.type = SAA7134_INPUT_COMPOSITE1,
3296 			.vmux = 3,
3297 			.amux = LINE1,
3298 		}, {
3299 			.type = SAA7134_INPUT_SVIDEO,
3300 			.vmux = 8,
3301 			.amux = LINE1,
3302 		} },
3303 		.radio = {
3304 			.type = SAA7134_INPUT_RADIO,
3305 			.amux = TV,
3306 			.gpio = 0x0200100,
3307 		},
3308 	},
3309 	[SAA7134_BOARD_HAUPPAUGE_HVR1150] = {
3310 		.name           = "Hauppauge WinTV-HVR1150 ATSC/QAM-Hybrid",
3311 		.audio_clock    = 0x00187de7,
3312 		.tuner_type     = TUNER_PHILIPS_TDA8290,
3313 		.radio_type     = UNSET,
3314 		.tuner_addr     = ADDR_UNSET,
3315 		.radio_addr     = ADDR_UNSET,
3316 		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_ON_BRIDGE },
3317 		.mpeg           = SAA7134_MPEG_DVB,
3318 		.ts_type	= SAA7134_MPEG_TS_SERIAL,
3319 		.ts_force_val   = 1,
3320 		.gpiomask       = 0x0800100, /* GPIO 21 is an INPUT */
3321 		.inputs         = {{
3322 			.type = SAA7134_INPUT_TV,
3323 			.vmux = 1,
3324 			.amux = TV,
3325 			.gpio = 0x0000100,
3326 		}, {
3327 			.type = SAA7134_INPUT_COMPOSITE1,
3328 			.vmux = 3,
3329 			.amux = LINE1,
3330 		}, {
3331 			.type = SAA7134_INPUT_SVIDEO,
3332 			.vmux = 8,
3333 			.amux = LINE1,
3334 		} },
3335 		.radio = {
3336 			.type = SAA7134_INPUT_RADIO,
3337 			.amux = TV,
3338 			.gpio = 0x0800100, /* GPIO 23 HI for FM */
3339 		},
3340 	},
3341 	[SAA7134_BOARD_HAUPPAUGE_HVR1120] = {
3342 		.name           = "Hauppauge WinTV-HVR1120 DVB-T/Hybrid",
3343 		.audio_clock    = 0x00187de7,
3344 		.tuner_type     = TUNER_PHILIPS_TDA8290,
3345 		.radio_type     = UNSET,
3346 		.tuner_addr     = ADDR_UNSET,
3347 		.radio_addr     = ADDR_UNSET,
3348 		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_ON_BRIDGE },
3349 		.mpeg           = SAA7134_MPEG_DVB,
3350 		.ts_type	= SAA7134_MPEG_TS_SERIAL,
3351 		.gpiomask       = 0x0800100, /* GPIO 21 is an INPUT */
3352 		.inputs         = {{
3353 			.type = SAA7134_INPUT_TV,
3354 			.vmux = 1,
3355 			.amux = TV,
3356 			.gpio = 0x0000100,
3357 		}, {
3358 			.type = SAA7134_INPUT_COMPOSITE1,
3359 			.vmux = 3,
3360 			.amux = LINE1,
3361 		}, {
3362 			.type = SAA7134_INPUT_SVIDEO,
3363 			.vmux = 8,
3364 			.amux = LINE1,
3365 		} },
3366 		.radio = {
3367 			.type = SAA7134_INPUT_RADIO,
3368 			.amux = TV,
3369 			.gpio = 0x0800100, /* GPIO 23 HI for FM */
3370 		},
3371 	},
3372 	[SAA7134_BOARD_CINERGY_HT_PCMCIA] = {
3373 		.name           = "Terratec Cinergy HT PCMCIA",
3374 		.audio_clock    = 0x00187de7,
3375 		.tuner_type     = TUNER_PHILIPS_TDA8290,
3376 		.radio_type     = UNSET,
3377 		.tuner_addr	= ADDR_UNSET,
3378 		.radio_addr	= ADDR_UNSET,
3379 		.mpeg           = SAA7134_MPEG_DVB,
3380 		.inputs = {{
3381 			.type = SAA7134_INPUT_TV,
3382 			.vmux   = 1,
3383 			.amux   = TV,
3384 		},{
3385 			.type = SAA7134_INPUT_COMPOSITE1,
3386 			.vmux   = 0,
3387 			.amux   = LINE1,
3388 		},{
3389 			.type = SAA7134_INPUT_SVIDEO,
3390 			.vmux   = 6,
3391 			.amux   = LINE1,
3392 		}},
3393 	},
3394 	[SAA7134_BOARD_ENCORE_ENLTV] = {
3395 	/* Steven Walter <stevenrwalter@gmail.com>
3396 	   Juan Pablo Sormani <sorman@gmail.com> */
3397 		.name           = "Encore ENLTV",
3398 		.audio_clock    = 0x00200000,
3399 		.tuner_type     = TUNER_TNF_5335MF,
3400 		.radio_type     = UNSET,
3401 		.tuner_addr	= ADDR_UNSET,
3402 		.radio_addr	= ADDR_UNSET,
3403 		.inputs         = {{
3404 			.type = SAA7134_INPUT_TV,
3405 			.vmux = 1,
3406 			.amux = 3,
3407 		},{
3408 			.type = SAA7134_INPUT_TV_MONO,
3409 			.vmux = 7,
3410 			.amux = 4,
3411 		},{
3412 			.type = SAA7134_INPUT_COMPOSITE1,
3413 			.vmux = 3,
3414 			.amux = 2,
3415 		},{
3416 			.type = SAA7134_INPUT_SVIDEO,
3417 			.vmux = 0,
3418 			.amux = 2,
3419 		}},
3420 		.radio = {
3421 			.type = SAA7134_INPUT_RADIO,
3422 			.amux = LINE2,
3423 /*			.gpio = 0x00300001,*/
3424 			.gpio = 0x20000,
3425 
3426 		},
3427 		.mute = {
3428 			.type = SAA7134_INPUT_MUTE,
3429 			.amux = 0,
3430 		},
3431 	},
3432 	[SAA7134_BOARD_ENCORE_ENLTV_FM] = {
3433   /*	Juan Pablo Sormani <sorman@gmail.com> */
3434 		.name           = "Encore ENLTV-FM",
3435 		.audio_clock    = 0x00200000,
3436 		.tuner_type     = TUNER_PHILIPS_FCV1236D,
3437 		.radio_type     = UNSET,
3438 		.tuner_addr	= ADDR_UNSET,
3439 		.radio_addr	= ADDR_UNSET,
3440 		.inputs         = {{
3441 			.type = SAA7134_INPUT_TV,
3442 			.vmux = 1,
3443 			.amux = 3,
3444 		},{
3445 			.type = SAA7134_INPUT_TV_MONO,
3446 			.vmux = 7,
3447 			.amux = 4,
3448 		},{
3449 			.type = SAA7134_INPUT_COMPOSITE1,
3450 			.vmux = 3,
3451 			.amux = 2,
3452 		},{
3453 			.type = SAA7134_INPUT_SVIDEO,
3454 			.vmux = 0,
3455 			.amux = 2,
3456 		}},
3457 		.radio = {
3458 			.type = SAA7134_INPUT_RADIO,
3459 			.amux = LINE2,
3460 			.gpio = 0x20000,
3461 
3462 		},
3463 		.mute = {
3464 			.type = SAA7134_INPUT_MUTE,
3465 			.amux = 0,
3466 		},
3467 	},
3468 	[SAA7134_BOARD_ENCORE_ENLTV_FM53] = {
3469 		.name           = "Encore ENLTV-FM v5.3",
3470 		.audio_clock    = 0x00200000,
3471 		.tuner_type     = TUNER_TNF_5335MF,
3472 		.radio_type     = UNSET,
3473 		.tuner_addr	= ADDR_UNSET,
3474 		.radio_addr	= ADDR_UNSET,
3475 		.gpiomask	= 0x7000,
3476 		.inputs         = { {
3477 			.type = SAA7134_INPUT_TV,
3478 			.vmux = 1,
3479 			.amux = 1,
3480 			.gpio = 0x50000,
3481 		}, {
3482 			.type = SAA7134_INPUT_COMPOSITE1,
3483 			.vmux = 3,
3484 			.amux = 2,
3485 			.gpio = 0x2000,
3486 		}, {
3487 			.type = SAA7134_INPUT_SVIDEO,
3488 			.vmux = 8,
3489 			.amux = 2,
3490 			.gpio = 0x2000,
3491 		} },
3492 		.radio = {
3493 			.type = SAA7134_INPUT_RADIO,
3494 			.vmux = 1,
3495 			.amux = 1,
3496 		},
3497 		.mute = {
3498 			.type = SAA7134_INPUT_MUTE,
3499 			.gpio = 0xf000,
3500 			.amux = 0,
3501 		},
3502 	},
3503 	[SAA7134_BOARD_ENCORE_ENLTV_FM3] = {
3504 		.name           = "Encore ENLTV-FM 3",
3505 		.audio_clock    = 0x02187de7,
3506 		.tuner_type     = TUNER_TENA_TNF_5337,
3507 		.radio_type     = TUNER_TEA5767,
3508 		.tuner_addr	= 0x61,
3509 		.radio_addr	= 0x60,
3510 		.inputs         = { {
3511 			.type = SAA7134_INPUT_TV,
3512 			.vmux = 1,
3513 			.amux = LINE2,
3514 		}, {
3515 			.type = SAA7134_INPUT_COMPOSITE1,
3516 			.vmux = 3,
3517 			.amux = LINE1,
3518 		}, {
3519 			.type = SAA7134_INPUT_SVIDEO,
3520 			.vmux = 8,
3521 			.amux = LINE1,
3522 		} },
3523 		.radio = {
3524 			.type = SAA7134_INPUT_RADIO,
3525 			.vmux = 1,
3526 			.amux = LINE1,
3527 		},
3528 		.mute = {
3529 			.type = SAA7134_INPUT_MUTE,
3530 			.amux = LINE1,
3531 			.gpio = 0x43000,
3532 		},
3533 	},
3534 	[SAA7134_BOARD_CINERGY_HT_PCI] = {
3535 		.name           = "Terratec Cinergy HT PCI",
3536 		.audio_clock    = 0x00187de7,
3537 		.tuner_type     = TUNER_PHILIPS_TDA8290,
3538 		.radio_type     = UNSET,
3539 		.tuner_addr	= ADDR_UNSET,
3540 		.radio_addr	= ADDR_UNSET,
3541 		.mpeg           = SAA7134_MPEG_DVB,
3542 		.inputs = {{
3543 			.type = SAA7134_INPUT_TV,
3544 			.vmux   = 1,
3545 			.amux   = TV,
3546 		},{
3547 			.type = SAA7134_INPUT_COMPOSITE1,
3548 			.vmux   = 0,
3549 			.amux   = LINE1,
3550 		},{
3551 			.type = SAA7134_INPUT_SVIDEO,
3552 			.vmux   = 6,
3553 			.amux   = LINE1,
3554 		}},
3555 	},
3556 	[SAA7134_BOARD_PHILIPS_TIGER_S] = {
3557 		.name           = "Philips Tiger - S Reference design",
3558 		.audio_clock    = 0x00187de7,
3559 		.tuner_type     = TUNER_PHILIPS_TDA8290,
3560 		.radio_type     = UNSET,
3561 		.tuner_addr	= ADDR_UNSET,
3562 		.radio_addr	= ADDR_UNSET,
3563 		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_GP0_HIGH_OFF },
3564 		.mpeg           = SAA7134_MPEG_DVB,
3565 		.gpiomask       = 0x0200000,
3566 		.inputs = {{
3567 			.type = SAA7134_INPUT_TV,
3568 			.vmux   = 1,
3569 			.amux   = TV,
3570 		},{
3571 			.type = SAA7134_INPUT_COMPOSITE1,
3572 			.vmux   = 3,
3573 			.amux   = LINE1,
3574 		},{
3575 			.type = SAA7134_INPUT_SVIDEO,
3576 			.vmux   = 8,
3577 			.amux   = LINE1,
3578 		}},
3579 		.radio = {
3580 			.type = SAA7134_INPUT_RADIO,
3581 			.amux   = TV,
3582 			.gpio   = 0x0200000,
3583 		},
3584 	},
3585 	[SAA7134_BOARD_AVERMEDIA_M102] = {
3586 		.name           = "Avermedia M102",
3587 		.audio_clock    = 0x00187de7,
3588 		.tuner_type     = TUNER_PHILIPS_TDA8290,
3589 		.radio_type     = UNSET,
3590 		.tuner_addr	= ADDR_UNSET,
3591 		.radio_addr	= ADDR_UNSET,
3592 		.gpiomask       = 1<<21,
3593 		.inputs         = {{
3594 			.type = SAA7134_INPUT_TV,
3595 			.vmux = 1,
3596 			.amux = TV,
3597 		},{
3598 			.type = SAA7134_INPUT_COMPOSITE1,
3599 			.vmux = 0,
3600 			.amux = LINE2,
3601 		},{
3602 			.type = SAA7134_INPUT_SVIDEO,
3603 			.vmux = 6,
3604 			.amux = LINE2,
3605 		}},
3606 	},
3607 	[SAA7134_BOARD_ASUS_P7131_4871] = {
3608 		.name           = "ASUS P7131 4871",
3609 		.audio_clock    = 0x00187de7,
3610 		.tuner_type     = TUNER_PHILIPS_TDA8290,
3611 		.radio_type     = UNSET,
3612 		.tuner_addr	= ADDR_UNSET,
3613 		.radio_addr	= ADDR_UNSET,
3614 		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_GP0_HIGH_OFF },
3615 		.mpeg           = SAA7134_MPEG_DVB,
3616 		.gpiomask       = 0x0200000,
3617 		.inputs = {{
3618 			.type = SAA7134_INPUT_TV,
3619 			.vmux   = 1,
3620 			.amux   = TV,
3621 			.gpio   = 0x0200000,
3622 		},{
3623 			.type = SAA7134_INPUT_COMPOSITE1,
3624 			.vmux = 3,
3625 			.amux = LINE2,
3626 			.gpio = 0x0200000,
3627 		},{
3628 			.type = SAA7134_INPUT_COMPOSITE2,
3629 			.vmux = 0,
3630 			.amux = LINE2,
3631 			.gpio = 0x0200000,
3632 		},{
3633 			.type = SAA7134_INPUT_SVIDEO,
3634 			.vmux = 8,
3635 			.amux = LINE2,
3636 			.gpio = 0x0200000,
3637 		}},
3638 	},
3639 	[SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA] = {
3640 		.name           = "ASUSTeK P7131 Hybrid",
3641 		.audio_clock    = 0x00187de7,
3642 		.tuner_type     = TUNER_PHILIPS_TDA8290,
3643 		.radio_type     = UNSET,
3644 		.tuner_addr	= ADDR_UNSET,
3645 		.radio_addr	= ADDR_UNSET,
3646 		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_GP0_HIGH_OFF },
3647 		.gpiomask	= 1 << 21,
3648 		.mpeg           = SAA7134_MPEG_DVB,
3649 		.inputs         = {{
3650 			.type = SAA7134_INPUT_TV,
3651 			.vmux = 1,
3652 			.amux = TV,
3653 			.gpio = 0x0000000,
3654 		},{
3655 			.type = SAA7134_INPUT_COMPOSITE1,
3656 			.vmux = 3,
3657 			.amux = LINE2,
3658 			.gpio = 0x0200000,
3659 		},{
3660 			.type = SAA7134_INPUT_COMPOSITE2,
3661 			.vmux = 0,
3662 			.amux = LINE2,
3663 			.gpio = 0x0200000,
3664 		},{
3665 			.type = SAA7134_INPUT_SVIDEO,
3666 			.vmux = 8,
3667 			.amux = LINE2,
3668 			.gpio = 0x0200000,
3669 		}},
3670 		.radio = {
3671 			.type = SAA7134_INPUT_RADIO,
3672 			.amux = TV,
3673 			.gpio = 0x0200000,
3674 		},
3675 	},
3676 	[SAA7134_BOARD_ASUSTeK_P7131_ANALOG] = {
3677 	       .name           = "ASUSTeK P7131 Analog",
3678 	       .audio_clock    = 0x00187de7,
3679 	       .tuner_type     = TUNER_PHILIPS_TDA8290,
3680 	       .radio_type     = UNSET,
3681 	       .tuner_addr     = ADDR_UNSET,
3682 	       .radio_addr     = ADDR_UNSET,
3683 	       .gpiomask       = 1 << 21,
3684 	       .inputs         = {{
3685 		       .type = SAA7134_INPUT_TV,
3686 		       .vmux = 1,
3687 		       .amux = TV,
3688 		       .gpio = 0x0000000,
3689 	       }, {
3690 		       .type = SAA7134_INPUT_COMPOSITE1,
3691 		       .vmux = 3,
3692 		       .amux = LINE2,
3693 	       }, {
3694 		       .type = SAA7134_INPUT_COMPOSITE2,
3695 		       .vmux = 0,
3696 		       .amux = LINE2,
3697 	       }, {
3698 		       .type = SAA7134_INPUT_SVIDEO,
3699 		       .vmux = 8,
3700 		       .amux = LINE2,
3701 	       } },
3702 	       .radio = {
3703 		       .type = SAA7134_INPUT_RADIO,
3704 		       .amux = TV,
3705 		       .gpio = 0x0200000,
3706 	       },
3707 	},
3708 	[SAA7134_BOARD_SABRENT_TV_PCB05] = {
3709 		.name           = "Sabrent PCMCIA TV-PCB05",
3710 		.audio_clock    = 0x00187de7,
3711 		.tuner_type     = TUNER_PHILIPS_TDA8290,
3712 		.radio_type     = UNSET,
3713 		.tuner_addr     = ADDR_UNSET,
3714 		.radio_addr     = ADDR_UNSET,
3715 		.inputs         = {{
3716 			.type = SAA7134_INPUT_TV,
3717 			.vmux = 1,
3718 			.amux = TV,
3719 		},{
3720 			.type = SAA7134_INPUT_COMPOSITE1,
3721 			.vmux = 3,
3722 			.amux = LINE1,
3723 		},{
3724 			.type = SAA7134_INPUT_COMPOSITE2,
3725 			.vmux = 0,
3726 			.amux = LINE1,
3727 		},{
3728 			.type = SAA7134_INPUT_SVIDEO,
3729 			.vmux = 8,
3730 			.amux = LINE1,
3731 		}},
3732 		.mute = {
3733 			.type = SAA7134_INPUT_MUTE,
3734 			.amux = TV,
3735 		},
3736 	},
3737 	[SAA7134_BOARD_10MOONSTVMASTER3] = {
3738 		/* Tony Wan <aloha_cn@hotmail.com> */
3739 		.name           = "10MOONS TM300 TV Card",
3740 		.audio_clock    = 0x00200000,
3741 		.tuner_type     = TUNER_LG_PAL_NEW_TAPC,
3742 		.radio_type     = UNSET,
3743 		.tuner_addr     = ADDR_UNSET,
3744 		.radio_addr     = ADDR_UNSET,
3745 		.gpiomask       = 0x7000,
3746 		.inputs         = {{
3747 			.type = SAA7134_INPUT_TV,
3748 			.vmux = 1,
3749 			.amux = LINE2,
3750 			.gpio = 0x0000,
3751 		},{
3752 			.type = SAA7134_INPUT_COMPOSITE1,
3753 			.vmux = 3,
3754 			.amux = LINE1,
3755 			.gpio = 0x2000,
3756 		},{
3757 			.type = SAA7134_INPUT_SVIDEO,
3758 			.vmux = 8,
3759 			.amux = LINE1,
3760 			.gpio = 0x2000,
3761 		}},
3762 		.mute = {
3763 			.type = SAA7134_INPUT_MUTE,
3764 			.amux = LINE2,
3765 			.gpio = 0x3000,
3766 		},
3767 	},
3768 	[SAA7134_BOARD_AVERMEDIA_SUPER_007] = {
3769 		.name           = "Avermedia Super 007",
3770 		.audio_clock    = 0x00187de7,
3771 		.tuner_type     = TUNER_PHILIPS_TDA8290,
3772 		.radio_type     = UNSET,
3773 		.tuner_addr     = ADDR_UNSET,
3774 		.radio_addr     = ADDR_UNSET,
3775 		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_OFF },
3776 		.mpeg           = SAA7134_MPEG_DVB,
3777 		.inputs = {{
3778 			.type = SAA7134_INPUT_TV, /* FIXME: analog tv untested */
3779 			.vmux   = 1,
3780 			.amux   = TV,
3781 		}},
3782 	},
3783 	[SAA7134_BOARD_AVERMEDIA_M135A] = {
3784 		.name           = "Avermedia PCI pure analog (M135A)",
3785 		.audio_clock    = 0x00187de7,
3786 		.tuner_type     = TUNER_PHILIPS_TDA8290,
3787 		.radio_type     = UNSET,
3788 		.tuner_addr     = ADDR_UNSET,
3789 		.radio_addr     = ADDR_UNSET,
3790 		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_GP0_HIGH_OFF },
3791 		.gpiomask       = 0x020200000,
3792 		.inputs         = {{
3793 			.type = SAA7134_INPUT_TV,
3794 			.vmux = 1,
3795 			.amux = TV,
3796 		}, {
3797 			.type = SAA7134_INPUT_COMPOSITE1,
3798 			.vmux = 3,
3799 			.amux = LINE1,
3800 		}, {
3801 			.type = SAA7134_INPUT_SVIDEO,
3802 			.vmux = 8,
3803 			.amux = LINE1,
3804 		} },
3805 		.radio = {
3806 			.type = SAA7134_INPUT_RADIO,
3807 			.amux = TV,
3808 			.gpio = 0x00200000,
3809 		},
3810 		.mute = {
3811 			.type = SAA7134_INPUT_MUTE,
3812 			.amux = TV,
3813 			.gpio = 0x01,
3814 		},
3815 	},
3816 	[SAA7134_BOARD_AVERMEDIA_M733A] = {
3817 		.name		= "Avermedia PCI M733A",
3818 		.audio_clock	= 0x00187de7,
3819 		.tuner_type	= TUNER_PHILIPS_TDA8290,
3820 		.radio_type	= UNSET,
3821 		.tuner_addr	= ADDR_UNSET,
3822 		.radio_addr	= ADDR_UNSET,
3823 		.tda829x_conf	= { .lna_cfg = TDA8290_LNA_OFF },
3824 		.gpiomask	= 0x020200000,
3825 		.inputs		= {{
3826 			.type = SAA7134_INPUT_TV,
3827 			.vmux = 1,
3828 			.amux = TV,
3829 		}, {
3830 			.type = SAA7134_INPUT_COMPOSITE1,
3831 			.vmux = 3,
3832 			.amux = LINE1,
3833 		}, {
3834 			.type = SAA7134_INPUT_SVIDEO,
3835 			.vmux = 8,
3836 			.amux = LINE1,
3837 		} },
3838 		.radio = {
3839 			.type = SAA7134_INPUT_RADIO,
3840 			.amux = TV,
3841 			.gpio = 0x00200000,
3842 		},
3843 		.mute = {
3844 			.type = SAA7134_INPUT_MUTE,
3845 			.amux = TV,
3846 			.gpio = 0x01,
3847 		},
3848 	},
3849 	[SAA7134_BOARD_BEHOLD_401] = {
3850 		/*       Beholder Intl. Ltd. 2008      */
3851 		/*Dmitry Belimov <d.belimov@gmail.com> */
3852 		.name           = "Beholder BeholdTV 401",
3853 		.audio_clock    = 0x00187de7,
3854 		.tuner_type     = TUNER_PHILIPS_FQ1216ME,
3855 		.radio_type     = UNSET,
3856 		.tuner_addr	= ADDR_UNSET,
3857 		.radio_addr	= ADDR_UNSET,
3858 		.gpiomask       = 0x00008000,
3859 		.inputs         = {{
3860 			.type = SAA7134_INPUT_SVIDEO,
3861 			.vmux = 8,
3862 			.amux = LINE1,
3863 		},{
3864 			.type = SAA7134_INPUT_COMPOSITE1,
3865 			.vmux = 1,
3866 			.amux = LINE1,
3867 		},{
3868 			.type = SAA7134_INPUT_TV,
3869 			.vmux = 3,
3870 			.amux = LINE2,
3871 		}},
3872 		.mute = {
3873 			.type = SAA7134_INPUT_MUTE,
3874 			.amux = LINE1,
3875 		},
3876 	},
3877 	[SAA7134_BOARD_BEHOLD_403] = {
3878 		/*       Beholder Intl. Ltd. 2008      */
3879 		/*Dmitry Belimov <d.belimov@gmail.com> */
3880 		.name           = "Beholder BeholdTV 403",
3881 		.audio_clock    = 0x00187de7,
3882 		.tuner_type     = TUNER_PHILIPS_FQ1216ME,
3883 		.radio_type     = UNSET,
3884 		.tuner_addr	= ADDR_UNSET,
3885 		.radio_addr	= ADDR_UNSET,
3886 		.gpiomask       = 0x00008000,
3887 		.inputs         = {{
3888 			.type = SAA7134_INPUT_SVIDEO,
3889 			.vmux = 8,
3890 			.amux = LINE1,
3891 		},{
3892 			.type = SAA7134_INPUT_COMPOSITE1,
3893 			.vmux   = 1,
3894 			.amux   = LINE1,
3895 		},{
3896 			.type = SAA7134_INPUT_TV,
3897 			.vmux = 3,
3898 			.amux = LINE2,
3899 		}},
3900 	},
3901 	[SAA7134_BOARD_BEHOLD_403FM] = {
3902 		/*       Beholder Intl. Ltd. 2008      */
3903 		/*Dmitry Belimov <d.belimov@gmail.com> */
3904 		.name           = "Beholder BeholdTV 403 FM",
3905 		.audio_clock    = 0x00187de7,
3906 		.tuner_type     = TUNER_PHILIPS_FQ1216ME,
3907 		.radio_type     = UNSET,
3908 		.tuner_addr	= ADDR_UNSET,
3909 		.radio_addr	= ADDR_UNSET,
3910 		.gpiomask       = 0x00008000,
3911 		.inputs         = {{
3912 			.type = SAA7134_INPUT_SVIDEO,
3913 			.vmux = 8,
3914 			.amux = LINE1,
3915 		},{
3916 			.type = SAA7134_INPUT_COMPOSITE1,
3917 			.vmux   = 1,
3918 			.amux   = LINE1,
3919 		},{
3920 			.type = SAA7134_INPUT_TV,
3921 			.vmux = 3,
3922 			.amux = LINE2,
3923 		}},
3924 		.radio = {
3925 			.type = SAA7134_INPUT_RADIO,
3926 			.amux = LINE2,
3927 		},
3928 	},
3929 	[SAA7134_BOARD_BEHOLD_405] = {
3930 		/*       Beholder Intl. Ltd. 2008      */
3931 		/*Dmitry Belimov <d.belimov@gmail.com> */
3932 		.name           = "Beholder BeholdTV 405",
3933 		.audio_clock    = 0x00187de7,
3934 		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,
3935 		.radio_type     = UNSET,
3936 		.tuner_addr     = ADDR_UNSET,
3937 		.radio_addr     = ADDR_UNSET,
3938 		.tda9887_conf   = TDA9887_PRESENT,
3939 		.gpiomask       = 0x00008000,
3940 		.inputs         = {{
3941 			.type = SAA7134_INPUT_SVIDEO,
3942 			.vmux = 8,
3943 			.amux = LINE1,
3944 		},{
3945 			.type = SAA7134_INPUT_COMPOSITE1,
3946 			.vmux = 3,
3947 			.amux = LINE1,
3948 		},{
3949 			.type = SAA7134_INPUT_TV,
3950 			.vmux = 3,
3951 			.amux = LINE2,
3952 		}},
3953 	},
3954 	[SAA7134_BOARD_BEHOLD_405FM] = {
3955 		/* Sergey <skiv@orel.ru> */
3956 		/*       Beholder Intl. Ltd. 2008      */
3957 		/*Dmitry Belimov <d.belimov@gmail.com> */
3958 		.name           = "Beholder BeholdTV 405 FM",
3959 		.audio_clock    = 0x00187de7,
3960 		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,
3961 		.radio_type     = UNSET,
3962 		.tuner_addr     = ADDR_UNSET,
3963 		.radio_addr     = ADDR_UNSET,
3964 		.tda9887_conf   = TDA9887_PRESENT,
3965 		.gpiomask       = 0x00008000,
3966 		.inputs         = {{
3967 			.type = SAA7134_INPUT_SVIDEO,
3968 			.vmux = 8,
3969 			.amux = LINE1,
3970 		},{
3971 			.type = SAA7134_INPUT_COMPOSITE1,
3972 			.vmux = 3,
3973 			.amux = LINE1,
3974 		},{
3975 			.type = SAA7134_INPUT_TV,
3976 			.vmux = 3,
3977 			.amux = LINE2,
3978 		}},
3979 		.radio = {
3980 			.type = SAA7134_INPUT_RADIO,
3981 			.amux = LINE2,
3982 		},
3983 	},
3984 	[SAA7134_BOARD_BEHOLD_407] = {
3985 		/*       Beholder Intl. Ltd. 2008      */
3986 		/*Dmitry Belimov <d.belimov@gmail.com> */
3987 		.name		= "Beholder BeholdTV 407",
3988 		.audio_clock	= 0x00187de7,
3989 		.tuner_type	= TUNER_PHILIPS_FM1216ME_MK3,
3990 		.radio_type	= UNSET,
3991 		.tuner_addr	= ADDR_UNSET,
3992 		.radio_addr	= ADDR_UNSET,
3993 		.tda9887_conf	= TDA9887_PRESENT,
3994 		.gpiomask       = 0x00008000,
3995 		.inputs = {{
3996 			.type = SAA7134_INPUT_SVIDEO,
3997 			.vmux = 8,
3998 			.amux = LINE1,
3999 			.gpio = 0xc0c000,
4000 		},{
4001 			.type = SAA7134_INPUT_COMPOSITE1,
4002 			.vmux = 1,
4003 			.amux = LINE1,
4004 			.gpio = 0xc0c000,
4005 		},{
4006 			.type = SAA7134_INPUT_TV,
4007 			.vmux = 3,
4008 			.amux = TV,
4009 			.gpio = 0xc0c000,
4010 		}},
4011 	},
4012 	[SAA7134_BOARD_BEHOLD_407FM] = {
4013 		/*       Beholder Intl. Ltd. 2008      */
4014 		/*Dmitry Belimov <d.belimov@gmail.com> */
4015 		.name		= "Beholder BeholdTV 407 FM",
4016 		.audio_clock	= 0x00187de7,
4017 		.tuner_type	= TUNER_PHILIPS_FM1216ME_MK3,
4018 		.radio_type	= UNSET,
4019 		.tuner_addr	= ADDR_UNSET,
4020 		.radio_addr	= ADDR_UNSET,
4021 		.tda9887_conf	= TDA9887_PRESENT,
4022 		.gpiomask       = 0x00008000,
4023 		.inputs = {{
4024 			.type = SAA7134_INPUT_SVIDEO,
4025 			.vmux = 8,
4026 			.amux = LINE1,
4027 			.gpio = 0xc0c000,
4028 		},{
4029 			.type = SAA7134_INPUT_COMPOSITE1,
4030 			.vmux = 1,
4031 			.amux = LINE1,
4032 			.gpio = 0xc0c000,
4033 		},{
4034 			.type = SAA7134_INPUT_TV,
4035 			.vmux = 3,
4036 			.amux = TV,
4037 			.gpio = 0xc0c000,
4038 		}},
4039 		.radio = {
4040 			.type = SAA7134_INPUT_RADIO,
4041 			.amux = LINE2,
4042 			.gpio = 0xc0c000,
4043 		},
4044 	},
4045 	[SAA7134_BOARD_BEHOLD_409] = {
4046 		/*       Beholder Intl. Ltd. 2008      */
4047 		/*Dmitry Belimov <d.belimov@gmail.com> */
4048 		.name           = "Beholder BeholdTV 409",
4049 		.audio_clock    = 0x00187de7,
4050 		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,
4051 		.radio_type     = UNSET,
4052 		.tuner_addr     = ADDR_UNSET,
4053 		.radio_addr     = ADDR_UNSET,
4054 		.tda9887_conf   = TDA9887_PRESENT,
4055 		.gpiomask       = 0x00008000,
4056 		.inputs         = {{
4057 			.type = SAA7134_INPUT_TV,
4058 			.vmux = 3,
4059 			.amux = TV,
4060 		},{
4061 			.type = SAA7134_INPUT_COMPOSITE1,
4062 			.vmux = 1,
4063 			.amux = LINE1,
4064 		},{
4065 			.type = SAA7134_INPUT_SVIDEO,
4066 			.vmux = 8,
4067 			.amux = LINE1,
4068 		}},
4069 	},
4070 	[SAA7134_BOARD_BEHOLD_505FM] = {
4071 		/*       Beholder Intl. Ltd. 2008      */
4072 		/*Dmitry Belimov <d.belimov@gmail.com> */
4073 		.name           = "Beholder BeholdTV 505 FM",
4074 		.audio_clock    = 0x00200000,
4075 		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,
4076 		.radio_type     = UNSET,
4077 		.tuner_addr     = ADDR_UNSET,
4078 		.radio_addr     = ADDR_UNSET,
4079 		.tda9887_conf   = TDA9887_PRESENT,
4080 		.gpiomask       = 0x00008000,
4081 		.inputs         = {{
4082 			.type = SAA7134_INPUT_TV,
4083 			.vmux = 3,
4084 			.amux = LINE2,
4085 		}, {
4086 			.type = SAA7134_INPUT_COMPOSITE1,
4087 			.vmux = 1,
4088 			.amux = LINE1,
4089 		}, {
4090 			.type = SAA7134_INPUT_SVIDEO,
4091 			.vmux = 8,
4092 			.amux = LINE1,
4093 		} },
4094 		.mute = {
4095 			.type = SAA7134_INPUT_MUTE,
4096 			.amux = LINE1,
4097 		},
4098 		.radio = {
4099 			.type = SAA7134_INPUT_RADIO,
4100 			.amux = LINE2,
4101 		},
4102 	},
4103 	[SAA7134_BOARD_BEHOLD_505RDS_MK5] = {
4104 		/*       Beholder Intl. Ltd. 2008      */
4105 		/*Dmitry Belimov <d.belimov@gmail.com> */
4106 		.name           = "Beholder BeholdTV 505 RDS",
4107 		.audio_clock    = 0x00200000,
4108 		.tuner_type     = TUNER_PHILIPS_FM1216MK5,
4109 		.radio_type     = UNSET,
4110 		.tuner_addr     = ADDR_UNSET,
4111 		.radio_addr     = ADDR_UNSET,
4112 		.rds_addr	= 0x10,
4113 		.tda9887_conf   = TDA9887_PRESENT,
4114 		.gpiomask       = 0x00008000,
4115 		.inputs         = {{
4116 			.type = SAA7134_INPUT_TV,
4117 			.vmux = 3,
4118 			.amux = LINE2,
4119 		},{
4120 			.type = SAA7134_INPUT_COMPOSITE1,
4121 			.vmux = 1,
4122 			.amux = LINE1,
4123 		},{
4124 			.type = SAA7134_INPUT_SVIDEO,
4125 			.vmux = 8,
4126 			.amux = LINE1,
4127 		}},
4128 		.mute = {
4129 			.type = SAA7134_INPUT_MUTE,
4130 			.amux = LINE1,
4131 		},
4132 		.radio = {
4133 			.type = SAA7134_INPUT_RADIO,
4134 			.amux = LINE2,
4135 		},
4136 	},
4137 	[SAA7134_BOARD_BEHOLD_507_9FM] = {
4138 		/*       Beholder Intl. Ltd. 2008      */
4139 		/*Dmitry Belimov <d.belimov@gmail.com> */
4140 		.name           = "Beholder BeholdTV 507 FM / BeholdTV 509 FM",
4141 		.audio_clock    = 0x00187de7,
4142 		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,
4143 		.radio_type     = UNSET,
4144 		.tuner_addr     = ADDR_UNSET,
4145 		.radio_addr     = ADDR_UNSET,
4146 		.tda9887_conf   = TDA9887_PRESENT,
4147 		.gpiomask       = 0x00008000,
4148 		.inputs         = {{
4149 			.type = SAA7134_INPUT_TV,
4150 			.vmux = 3,
4151 			.amux = TV,
4152 		},{
4153 			.type = SAA7134_INPUT_COMPOSITE1,
4154 			.vmux = 1,
4155 			.amux = LINE1,
4156 		},{
4157 			.type = SAA7134_INPUT_SVIDEO,
4158 			.vmux = 8,
4159 			.amux = LINE1,
4160 		}},
4161 			.radio = {
4162 			.type = SAA7134_INPUT_RADIO,
4163 			.amux = LINE2,
4164 		},
4165 	},
4166 	[SAA7134_BOARD_BEHOLD_507RDS_MK5] = {
4167 		/*       Beholder Intl. Ltd. 2008      */
4168 		/*Dmitry Belimov <d.belimov@gmail.com> */
4169 		.name           = "Beholder BeholdTV 507 RDS",
4170 		.audio_clock    = 0x00187de7,
4171 		.tuner_type     = TUNER_PHILIPS_FM1216MK5,
4172 		.radio_type     = UNSET,
4173 		.tuner_addr     = ADDR_UNSET,
4174 		.radio_addr     = ADDR_UNSET,
4175 		.rds_addr	= 0x10,
4176 		.tda9887_conf   = TDA9887_PRESENT,
4177 		.gpiomask       = 0x00008000,
4178 		.inputs         = {{
4179 			.type = SAA7134_INPUT_TV,
4180 			.vmux = 3,
4181 			.amux = TV,
4182 		}, {
4183 			.type = SAA7134_INPUT_COMPOSITE1,
4184 			.vmux = 1,
4185 			.amux = LINE1,
4186 		}, {
4187 			.type = SAA7134_INPUT_SVIDEO,
4188 			.vmux = 8,
4189 			.amux = LINE1,
4190 		} },
4191 			.radio = {
4192 			.type = SAA7134_INPUT_RADIO,
4193 			.amux = LINE2,
4194 		},
4195 	},
4196 	[SAA7134_BOARD_BEHOLD_507RDS_MK3] = {
4197 		/*       Beholder Intl. Ltd. 2008      */
4198 		/*Dmitry Belimov <d.belimov@gmail.com> */
4199 		.name           = "Beholder BeholdTV 507 RDS",
4200 		.audio_clock    = 0x00187de7,
4201 		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,
4202 		.radio_type     = UNSET,
4203 		.tuner_addr     = ADDR_UNSET,
4204 		.radio_addr     = ADDR_UNSET,
4205 		.rds_addr	= 0x10,
4206 		.tda9887_conf   = TDA9887_PRESENT,
4207 		.gpiomask       = 0x00008000,
4208 		.inputs         = {{
4209 			.type = SAA7134_INPUT_TV,
4210 			.vmux = 3,
4211 			.amux = TV,
4212 		}, {
4213 			.type = SAA7134_INPUT_COMPOSITE1,
4214 			.vmux = 1,
4215 			.amux = LINE1,
4216 		}, {
4217 			.type = SAA7134_INPUT_SVIDEO,
4218 			.vmux = 8,
4219 			.amux = LINE1,
4220 		} },
4221 			.radio = {
4222 			.type = SAA7134_INPUT_RADIO,
4223 			.amux = LINE2,
4224 		},
4225 	},
4226 	[SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM] = {
4227 		/*       Beholder Intl. Ltd. 2008      */
4228 		/* Dmitry Belimov <d.belimov@gmail.com> */
4229 		.name           = "Beholder BeholdTV Columbus TV/FM",
4230 		.audio_clock    = 0x00187de7,
4231 		.tuner_type     = TUNER_ALPS_TSBE5_PAL,
4232 		.radio_type     = TUNER_TEA5767,
4233 		.tuner_addr     = 0xc2 >> 1,
4234 		.radio_addr     = 0xc0 >> 1,
4235 		.tda9887_conf   = TDA9887_PRESENT,
4236 		.gpiomask       = 0x000A8004,
4237 		.inputs         = {{
4238 			.type = SAA7134_INPUT_TV,
4239 			.vmux = 3,
4240 			.amux = TV,
4241 			.gpio = 0x000A8004,
4242 		}, {
4243 			.type = SAA7134_INPUT_COMPOSITE1,
4244 			.vmux = 1,
4245 			.amux = LINE1,
4246 			.gpio = 0x000A8000,
4247 		}, {
4248 			.type = SAA7134_INPUT_SVIDEO,
4249 			.vmux = 8,
4250 			.amux = LINE1,
4251 			.gpio = 0x000A8000,
4252 		} },
4253 		.radio = {
4254 			.type = SAA7134_INPUT_RADIO,
4255 			.amux = LINE2,
4256 			.gpio = 0x000A8000,
4257 		},
4258 	},
4259 	[SAA7134_BOARD_BEHOLD_607FM_MK3] = {
4260 		/* Andrey Melnikoff <temnota@kmv.ru> */
4261 		.name           = "Beholder BeholdTV 607 FM",
4262 		.audio_clock    = 0x00187de7,
4263 		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,
4264 		.radio_type     = UNSET,
4265 		.tuner_addr     = ADDR_UNSET,
4266 		.radio_addr     = ADDR_UNSET,
4267 		.tda9887_conf   = TDA9887_PRESENT,
4268 		.inputs         = {{
4269 			.type = SAA7134_INPUT_TV,
4270 			.vmux = 3,
4271 			.amux = TV,
4272 		}, {
4273 			.type = SAA7134_INPUT_COMPOSITE1,
4274 			.vmux = 1,
4275 			.amux = LINE1,
4276 		}, {
4277 			.type = SAA7134_INPUT_SVIDEO,
4278 			.vmux = 8,
4279 			.amux = LINE1,
4280 		} },
4281 		.radio = {
4282 			.type = SAA7134_INPUT_RADIO,
4283 			.amux = LINE2,
4284 		},
4285 	},
4286 	[SAA7134_BOARD_BEHOLD_609FM_MK3] = {
4287 		/* Andrey Melnikoff <temnota@kmv.ru> */
4288 		.name           = "Beholder BeholdTV 609 FM",
4289 		.audio_clock    = 0x00187de7,
4290 		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,
4291 		.radio_type     = UNSET,
4292 		.tuner_addr     = ADDR_UNSET,
4293 		.radio_addr     = ADDR_UNSET,
4294 		.tda9887_conf   = TDA9887_PRESENT,
4295 		.inputs         = {{
4296 			.type = SAA7134_INPUT_TV,
4297 			.vmux = 3,
4298 			.amux = TV,
4299 		}, {
4300 			.type = SAA7134_INPUT_COMPOSITE1,
4301 			.vmux = 1,
4302 			.amux = LINE1,
4303 		}, {
4304 			.type = SAA7134_INPUT_SVIDEO,
4305 			.vmux = 8,
4306 			.amux = LINE1,
4307 		} },
4308 		.radio = {
4309 			.type = SAA7134_INPUT_RADIO,
4310 			.amux = LINE2,
4311 		},
4312 	},
4313 	[SAA7134_BOARD_BEHOLD_607FM_MK5] = {
4314 		/* Andrey Melnikoff <temnota@kmv.ru> */
4315 		.name           = "Beholder BeholdTV 607 FM",
4316 		.audio_clock    = 0x00187de7,
4317 		.tuner_type     = TUNER_PHILIPS_FM1216MK5,
4318 		.radio_type     = UNSET,
4319 		.tuner_addr     = ADDR_UNSET,
4320 		.radio_addr     = ADDR_UNSET,
4321 		.tda9887_conf   = TDA9887_PRESENT,
4322 		.inputs         = {{
4323 			.type = SAA7134_INPUT_TV,
4324 			.vmux = 3,
4325 			.amux = TV,
4326 		}, {
4327 			.type = SAA7134_INPUT_COMPOSITE1,
4328 			.vmux = 1,
4329 			.amux = LINE1,
4330 		}, {
4331 			.type = SAA7134_INPUT_SVIDEO,
4332 			.vmux = 8,
4333 			.amux = LINE1,
4334 		} },
4335 		.radio = {
4336 			.type = SAA7134_INPUT_RADIO,
4337 			.amux = LINE2,
4338 		},
4339 	},
4340 	[SAA7134_BOARD_BEHOLD_609FM_MK5] = {
4341 		/* Andrey Melnikoff <temnota@kmv.ru> */
4342 		.name           = "Beholder BeholdTV 609 FM",
4343 		.audio_clock    = 0x00187de7,
4344 		.tuner_type     = TUNER_PHILIPS_FM1216MK5,
4345 		.radio_type     = UNSET,
4346 		.tuner_addr     = ADDR_UNSET,
4347 		.radio_addr     = ADDR_UNSET,
4348 		.tda9887_conf   = TDA9887_PRESENT,
4349 		.inputs         = {{
4350 			.type = SAA7134_INPUT_TV,
4351 			.vmux = 3,
4352 			.amux = TV,
4353 		}, {
4354 			.type = SAA7134_INPUT_COMPOSITE1,
4355 			.vmux = 1,
4356 			.amux = LINE1,
4357 		}, {
4358 			.type = SAA7134_INPUT_SVIDEO,
4359 			.vmux = 8,
4360 			.amux = LINE1,
4361 		} },
4362 		.radio = {
4363 			.type = SAA7134_INPUT_RADIO,
4364 			.amux = LINE2,
4365 		},
4366 	},
4367 	[SAA7134_BOARD_BEHOLD_607RDS_MK3] = {
4368 		/* Andrey Melnikoff <temnota@kmv.ru> */
4369 		.name           = "Beholder BeholdTV 607 RDS",
4370 		.audio_clock    = 0x00187de7,
4371 		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,
4372 		.radio_type     = UNSET,
4373 		.tuner_addr     = ADDR_UNSET,
4374 		.radio_addr     = ADDR_UNSET,
4375 		.rds_addr	= 0x10,
4376 		.tda9887_conf   = TDA9887_PRESENT,
4377 		.inputs         = {{
4378 			.type = SAA7134_INPUT_TV,
4379 			.vmux = 3,
4380 			.amux = TV,
4381 		}, {
4382 			.type = SAA7134_INPUT_COMPOSITE1,
4383 			.vmux = 1,
4384 			.amux = LINE1,
4385 		}, {
4386 			.type = SAA7134_INPUT_SVIDEO,
4387 			.vmux = 8,
4388 			.amux = LINE1,
4389 		} },
4390 		.radio = {
4391 			.type = SAA7134_INPUT_RADIO,
4392 			.amux = LINE2,
4393 		},
4394 	},
4395 	[SAA7134_BOARD_BEHOLD_609RDS_MK3] = {
4396 		/* Andrey Melnikoff <temnota@kmv.ru> */
4397 		.name           = "Beholder BeholdTV 609 RDS",
4398 		.audio_clock    = 0x00187de7,
4399 		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,
4400 		.radio_type     = UNSET,
4401 		.tuner_addr     = ADDR_UNSET,
4402 		.radio_addr     = ADDR_UNSET,
4403 		.rds_addr	= 0x10,
4404 		.tda9887_conf   = TDA9887_PRESENT,
4405 		.inputs         = {{
4406 			.type = SAA7134_INPUT_TV,
4407 			.vmux = 3,
4408 			.amux = TV,
4409 		}, {
4410 			.type = SAA7134_INPUT_COMPOSITE1,
4411 			.vmux = 1,
4412 			.amux = LINE1,
4413 		}, {
4414 			.type = SAA7134_INPUT_SVIDEO,
4415 			.vmux = 8,
4416 			.amux = LINE1,
4417 		} },
4418 		.radio = {
4419 			.type = SAA7134_INPUT_RADIO,
4420 			.amux = LINE2,
4421 		},
4422 	},
4423 	[SAA7134_BOARD_BEHOLD_607RDS_MK5] = {
4424 		/* Andrey Melnikoff <temnota@kmv.ru> */
4425 		.name           = "Beholder BeholdTV 607 RDS",
4426 		.audio_clock    = 0x00187de7,
4427 		.tuner_type     = TUNER_PHILIPS_FM1216MK5,
4428 		.radio_type     = UNSET,
4429 		.tuner_addr     = ADDR_UNSET,
4430 		.radio_addr     = ADDR_UNSET,
4431 		.rds_addr	= 0x10,
4432 		.tda9887_conf   = TDA9887_PRESENT,
4433 		.inputs         = {{
4434 			.type = SAA7134_INPUT_TV,
4435 			.vmux = 3,
4436 			.amux = TV,
4437 		}, {
4438 			.type = SAA7134_INPUT_COMPOSITE1,
4439 			.vmux = 1,
4440 			.amux = LINE1,
4441 		}, {
4442 			.type = SAA7134_INPUT_SVIDEO,
4443 			.vmux = 8,
4444 			.amux = LINE1,
4445 		} },
4446 		.radio = {
4447 			.type = SAA7134_INPUT_RADIO,
4448 			.amux = LINE2,
4449 		},
4450 	},
4451 	[SAA7134_BOARD_BEHOLD_609RDS_MK5] = {
4452 		/* Andrey Melnikoff <temnota@kmv.ru> */
4453 		.name           = "Beholder BeholdTV 609 RDS",
4454 		.audio_clock    = 0x00187de7,
4455 		.tuner_type     = TUNER_PHILIPS_FM1216MK5,
4456 		.radio_type     = UNSET,
4457 		.tuner_addr     = ADDR_UNSET,
4458 		.radio_addr     = ADDR_UNSET,
4459 		.rds_addr	= 0x10,
4460 		.tda9887_conf   = TDA9887_PRESENT,
4461 		.inputs         = {{
4462 			.type = SAA7134_INPUT_TV,
4463 			.vmux = 3,
4464 			.amux = TV,
4465 		},{
4466 			.type = SAA7134_INPUT_COMPOSITE1,
4467 			.vmux = 1,
4468 			.amux = LINE1,
4469 		},{
4470 			.type = SAA7134_INPUT_SVIDEO,
4471 			.vmux = 8,
4472 			.amux = LINE1,
4473 		}},
4474 		.radio = {
4475 			.type = SAA7134_INPUT_RADIO,
4476 			.amux = LINE2,
4477 		},
4478 	},
4479 	[SAA7134_BOARD_BEHOLD_M6] = {
4480 		/* Igor Kuznetsov <igk@igk.ru> */
4481 		/* Andrey Melnikoff <temnota@kmv.ru> */
4482 		/* Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com> */
4483 		/* Alexey Osipov <lion-simba@pridelands.ru> */
4484 		.name           = "Beholder BeholdTV M6",
4485 		.audio_clock    = 0x00187de7,
4486 		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,
4487 		.radio_type     = UNSET,
4488 		.tuner_addr     = ADDR_UNSET,
4489 		.radio_addr     = ADDR_UNSET,
4490 		.empress_addr	= 0x20,
4491 		.tda9887_conf   = TDA9887_PRESENT,
4492 		.inputs         = { {
4493 			.type = SAA7134_INPUT_TV,
4494 			.vmux = 3,
4495 			.amux = TV,
4496 		}, {
4497 			.type = SAA7134_INPUT_COMPOSITE1,
4498 			.vmux = 1,
4499 			.amux = LINE1,
4500 		}, {
4501 			.type = SAA7134_INPUT_SVIDEO,
4502 			.vmux = 8,
4503 			.amux = LINE1,
4504 		} },
4505 		.radio = {
4506 			.type = SAA7134_INPUT_RADIO,
4507 			.amux = LINE2,
4508 		},
4509 		.mpeg  = SAA7134_MPEG_EMPRESS,
4510 		.video_out = CCIR656,
4511 		.vid_port_opts  = (SET_T_CODE_POLARITY_NON_INVERTED |
4512 					SET_CLOCK_NOT_DELAYED |
4513 					SET_CLOCK_INVERTED |
4514 					SET_VSYNC_OFF),
4515 	},
4516 	[SAA7134_BOARD_BEHOLD_M63] = {
4517 		/* Igor Kuznetsov <igk@igk.ru> */
4518 		/* Andrey Melnikoff <temnota@kmv.ru> */
4519 		/* Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com> */
4520 		.name           = "Beholder BeholdTV M63",
4521 		.audio_clock    = 0x00187de7,
4522 		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,
4523 		.radio_type     = UNSET,
4524 		.tuner_addr     = ADDR_UNSET,
4525 		.radio_addr     = ADDR_UNSET,
4526 		.empress_addr	= 0x20,
4527 		.tda9887_conf   = TDA9887_PRESENT,
4528 		.inputs         = { {
4529 			.type = SAA7134_INPUT_TV,
4530 			.vmux = 3,
4531 			.amux = TV,
4532 		}, {
4533 			.type = SAA7134_INPUT_COMPOSITE1,
4534 			.vmux = 1,
4535 			.amux = LINE1,
4536 		}, {
4537 			.type = SAA7134_INPUT_SVIDEO,
4538 			.vmux = 8,
4539 			.amux = LINE1,
4540 		} },
4541 		.radio = {
4542 			.type = SAA7134_INPUT_RADIO,
4543 			.amux = LINE2,
4544 		},
4545 		.mpeg  = SAA7134_MPEG_EMPRESS,
4546 		.video_out = CCIR656,
4547 		.vid_port_opts  = (SET_T_CODE_POLARITY_NON_INVERTED |
4548 					SET_CLOCK_NOT_DELAYED |
4549 					SET_CLOCK_INVERTED |
4550 					SET_VSYNC_OFF),
4551 	},
4552 	[SAA7134_BOARD_BEHOLD_M6_EXTRA] = {
4553 		/* Igor Kuznetsov <igk@igk.ru> */
4554 		/* Andrey Melnikoff <temnota@kmv.ru> */
4555 		/* Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com> */
4556 		/* Alexey Osipov <lion-simba@pridelands.ru> */
4557 		.name           = "Beholder BeholdTV M6 Extra",
4558 		.audio_clock    = 0x00187de7,
4559 		.tuner_type     = TUNER_PHILIPS_FM1216MK5,
4560 		.radio_type     = UNSET,
4561 		.tuner_addr     = ADDR_UNSET,
4562 		.radio_addr     = ADDR_UNSET,
4563 		.rds_addr	= 0x10,
4564 		.empress_addr	= 0x20,
4565 		.tda9887_conf   = TDA9887_PRESENT,
4566 		.inputs         = { {
4567 			.type = SAA7134_INPUT_TV,
4568 			.vmux = 3,
4569 			.amux = TV,
4570 		}, {
4571 			.type = SAA7134_INPUT_COMPOSITE1,
4572 			.vmux = 1,
4573 			.amux = LINE1,
4574 		}, {
4575 			.type = SAA7134_INPUT_SVIDEO,
4576 			.vmux = 8,
4577 			.amux = LINE1,
4578 		} },
4579 		.radio = {
4580 			.type = SAA7134_INPUT_RADIO,
4581 			.amux = LINE2,
4582 		},
4583 		.mpeg  = SAA7134_MPEG_EMPRESS,
4584 		.video_out = CCIR656,
4585 		.vid_port_opts  = (SET_T_CODE_POLARITY_NON_INVERTED |
4586 					SET_CLOCK_NOT_DELAYED |
4587 					SET_CLOCK_INVERTED |
4588 					SET_VSYNC_OFF),
4589 	},
4590 	[SAA7134_BOARD_TWINHAN_DTV_DVB_3056] = {
4591 		.name           = "Twinhan Hybrid DTV-DVB 3056 PCI",
4592 		.audio_clock    = 0x00187de7,
4593 		.tuner_type     = TUNER_PHILIPS_TDA8290,
4594 		.radio_type     = UNSET,
4595 		.tuner_addr	= ADDR_UNSET,
4596 		.radio_addr	= ADDR_UNSET,
4597 		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_GP0_HIGH_OFF },
4598 		.mpeg           = SAA7134_MPEG_DVB,
4599 		.gpiomask       = 0x0200000,
4600 		.inputs = {{
4601 			.type = SAA7134_INPUT_TV,
4602 			.vmux   = 1,
4603 			.amux   = TV,
4604 		}, {
4605 			.type = SAA7134_INPUT_COMPOSITE1,
4606 			.vmux   = 3,
4607 			.amux   = LINE1,
4608 		}, {
4609 			.type = SAA7134_INPUT_SVIDEO,
4610 			.vmux   = 8,		/* untested */
4611 			.amux   = LINE1,
4612 		} },
4613 		.radio = {
4614 			.type = SAA7134_INPUT_RADIO,
4615 			.amux   = TV,
4616 			.gpio   = 0x0200000,
4617 		},
4618 	},
4619 	[SAA7134_BOARD_GENIUS_TVGO_A11MCE] = {
4620 		/* Adrian Pardini <pardo.bsso@gmail.com> */
4621 		.name		= "Genius TVGO AM11MCE",
4622 		.audio_clock	= 0x00200000,
4623 		.tuner_type	= TUNER_TNF_5335MF,
4624 		.radio_type     = UNSET,
4625 		.tuner_addr	= ADDR_UNSET,
4626 		.radio_addr	= ADDR_UNSET,
4627 		.gpiomask       = 0xf000,
4628 		.inputs         = {{
4629 			.type = SAA7134_INPUT_TV_MONO,
4630 			.vmux = 1,
4631 			.amux = LINE2,
4632 			.gpio = 0x0000,
4633 		}, {
4634 			.type = SAA7134_INPUT_COMPOSITE1,
4635 			.vmux = 3,
4636 			.amux = LINE1,
4637 			.gpio = 0x2000,
4638 		}, {
4639 			.type = SAA7134_INPUT_SVIDEO,
4640 			.vmux = 8,
4641 			.amux = LINE1,
4642 			.gpio = 0x2000,
4643 	} },
4644 		.radio = {
4645 			.type = SAA7134_INPUT_RADIO,
4646 			.amux = LINE2,
4647 			.gpio = 0x1000,
4648 		},
4649 		.mute = {
4650 			.type = SAA7134_INPUT_MUTE,
4651 			.amux = LINE2,
4652 			.gpio = 0x6000,
4653 		},
4654 	},
4655 	[SAA7134_BOARD_PHILIPS_SNAKE] = {
4656 		.name           = "NXP Snake DVB-S reference design",
4657 		.audio_clock    = 0x00200000,
4658 		.tuner_type     = TUNER_ABSENT,
4659 		.radio_type     = UNSET,
4660 		.tuner_addr     = ADDR_UNSET,
4661 		.radio_addr     = ADDR_UNSET,
4662 		.mpeg           = SAA7134_MPEG_DVB,
4663 		.inputs = {{
4664 			.type = SAA7134_INPUT_COMPOSITE1,
4665 			.vmux   = 3,
4666 			.amux   = LINE1,
4667 		}, {
4668 			.type = SAA7134_INPUT_SVIDEO,
4669 			.vmux   = 8,
4670 			.amux   = LINE1,
4671 		} },
4672 	},
4673 	[SAA7134_BOARD_CREATIX_CTX953] = {
4674 		.name         = "Medion/Creatix CTX953 Hybrid",
4675 		.audio_clock  = 0x00187de7,
4676 		.tuner_type   = TUNER_PHILIPS_TDA8290,
4677 		.radio_type   = UNSET,
4678 		.tuner_addr   = ADDR_UNSET,
4679 		.radio_addr   = ADDR_UNSET,
4680 		.tda829x_conf = { .lna_cfg = TDA8290_LNA_OFF },
4681 		.mpeg         = SAA7134_MPEG_DVB,
4682 		.inputs       = {{
4683 			.type = SAA7134_INPUT_TV,
4684 			.vmux = 1,
4685 			.amux = TV,
4686 		}, {
4687 			.type = SAA7134_INPUT_COMPOSITE1,
4688 			.vmux = 0,
4689 			.amux = LINE1,
4690 		}, {
4691 			.type = SAA7134_INPUT_SVIDEO,
4692 			.vmux = 8,
4693 			.amux = LINE1,
4694 		} },
4695 	},
4696 	[SAA7134_BOARD_MSI_TVANYWHERE_AD11] = {
4697 		.name           = "MSI TV@nywhere A/D v1.1",
4698 		.audio_clock    = 0x00187de7,
4699 		.tuner_type     = TUNER_PHILIPS_TDA8290,
4700 		.radio_type     = UNSET,
4701 		.tuner_addr	= ADDR_UNSET,
4702 		.radio_addr	= ADDR_UNSET,
4703 		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_GP0_HIGH_OFF },
4704 		.mpeg           = SAA7134_MPEG_DVB,
4705 		.gpiomask       = 0x0200000,
4706 		.inputs = { {
4707 			.type = SAA7134_INPUT_TV,
4708 			.vmux   = 1,
4709 			.amux   = TV,
4710 		}, {
4711 			.type = SAA7134_INPUT_COMPOSITE1,
4712 			.vmux   = 3,
4713 			.amux   = LINE1,
4714 		}, {
4715 			.type = SAA7134_INPUT_SVIDEO,
4716 			.vmux   = 8,
4717 			.amux   = LINE1,
4718 		} },
4719 		.radio = {
4720 			.type = SAA7134_INPUT_RADIO,
4721 			.amux   = TV,
4722 			.gpio   = 0x0200000,
4723 		},
4724 	},
4725 	[SAA7134_BOARD_AVERMEDIA_CARDBUS_506] = {
4726 		.name           = "AVerMedia Cardbus TV/Radio (E506R)",
4727 		.audio_clock    = 0x187de7,
4728 		.tuner_type     = TUNER_XC2028,
4729 		.radio_type     = UNSET,
4730 		.tuner_addr	= ADDR_UNSET,
4731 		.radio_addr	= ADDR_UNSET,
4732 		 .mpeg           = SAA7134_MPEG_DVB,
4733 		 .inputs         = {{
4734 			 .type = SAA7134_INPUT_TV,
4735 			 .vmux = 1,
4736 			 .amux = TV,
4737 		 }, {
4738 			 .type = SAA7134_INPUT_COMPOSITE1,
4739 			 .vmux = 3,
4740 			 .amux = LINE1,
4741 		 }, {
4742 			 .type = SAA7134_INPUT_SVIDEO,
4743 			 .vmux = 8,
4744 			 .amux = LINE2,
4745 		 } },
4746 		 .radio = {
4747 			 .type = SAA7134_INPUT_RADIO,
4748 			 .amux = TV,
4749 		 },
4750 	},
4751 	[SAA7134_BOARD_AVERMEDIA_A16D] = {
4752 		.name           = "AVerMedia Hybrid TV/Radio (A16D)",
4753 		.audio_clock    = 0x187de7,
4754 		.tuner_type     = TUNER_XC2028,
4755 		.radio_type     = UNSET,
4756 		.tuner_addr	= ADDR_UNSET,
4757 		.radio_addr	= ADDR_UNSET,
4758 		.mpeg           = SAA7134_MPEG_DVB,
4759 		.inputs         = {{
4760 			.type = SAA7134_INPUT_TV,
4761 			.vmux = 1,
4762 			.amux = TV,
4763 		}, {
4764 			.type = SAA7134_INPUT_SVIDEO,
4765 			.vmux = 8,
4766 			.amux = LINE1,
4767 		}, {
4768 			.type = SAA7134_INPUT_COMPOSITE,
4769 			.vmux = 0,
4770 			.amux = LINE1,
4771 		} },
4772 		.radio = {
4773 			.type = SAA7134_INPUT_RADIO,
4774 			.amux = TV,
4775 		},
4776 	},
4777 	[SAA7134_BOARD_AVERMEDIA_M115] = {
4778 		.name           = "Avermedia M115",
4779 		.audio_clock    = 0x187de7,
4780 		.tuner_type     = TUNER_XC2028,
4781 		.radio_type     = UNSET,
4782 		.tuner_addr	= ADDR_UNSET,
4783 		.radio_addr	= ADDR_UNSET,
4784 		.inputs         = {{
4785 			.type = SAA7134_INPUT_TV,
4786 			.vmux = 1,
4787 			.amux = TV,
4788 		}, {
4789 			.type = SAA7134_INPUT_COMPOSITE1,
4790 			.vmux = 3,
4791 			.amux = LINE1,
4792 		}, {
4793 			.type = SAA7134_INPUT_SVIDEO,
4794 			.vmux = 8,
4795 			.amux = LINE2,
4796 		} },
4797 	},
4798 	[SAA7134_BOARD_VIDEOMATE_T750] = {
4799 		/* John Newbigin <jn@it.swin.edu.au> */
4800 		.name           = "Compro VideoMate T750",
4801 		.audio_clock    = 0x00187de7,
4802 		.tuner_type     = TUNER_XC2028,
4803 		.radio_type     = UNSET,
4804 		.tuner_addr	= 0x61,
4805 		.radio_addr	= ADDR_UNSET,
4806 		.mpeg           = SAA7134_MPEG_DVB,
4807 		.inputs = {{
4808 			.type = SAA7134_INPUT_TV,
4809 			.vmux   = 3,
4810 			.amux   = TV,
4811 		}, {
4812 			.type = SAA7134_INPUT_COMPOSITE1,
4813 			.vmux   = 1,
4814 			.amux   = LINE2,
4815 		}, {
4816 			.type = SAA7134_INPUT_SVIDEO,
4817 			.vmux   = 8,
4818 			.amux   = LINE2,
4819 		} },
4820 		.radio = {
4821 			.type = SAA7134_INPUT_RADIO,
4822 			.amux = TV,
4823 		}
4824 	},
4825 	[SAA7134_BOARD_AVERMEDIA_A700_PRO] = {
4826 		/* Matthias Schwarzott <zzam@gentoo.org> */
4827 		.name           = "Avermedia DVB-S Pro A700",
4828 		.audio_clock    = 0x00187de7,
4829 		.tuner_type     = TUNER_ABSENT,
4830 		.radio_type     = UNSET,
4831 		.tuner_addr     = ADDR_UNSET,
4832 		.radio_addr     = ADDR_UNSET,
4833 		.mpeg           = SAA7134_MPEG_DVB,
4834 		.inputs         = { {
4835 			.type = SAA7134_INPUT_COMPOSITE,
4836 			.vmux = 1,
4837 			.amux = LINE1,
4838 		}, {
4839 			.type = SAA7134_INPUT_SVIDEO,
4840 			.vmux = 6,
4841 			.amux = LINE1,
4842 		} },
4843 	},
4844 	[SAA7134_BOARD_AVERMEDIA_A700_HYBRID] = {
4845 		/* Matthias Schwarzott <zzam@gentoo.org> */
4846 		.name           = "Avermedia DVB-S Hybrid+FM A700",
4847 		.audio_clock    = 0x00187de7,
4848 		.tuner_type     = TUNER_XC2028,
4849 		.radio_type     = UNSET,
4850 		.tuner_addr     = ADDR_UNSET,
4851 		.radio_addr     = ADDR_UNSET,
4852 		.mpeg           = SAA7134_MPEG_DVB,
4853 		.inputs         = { {
4854 			.type = SAA7134_INPUT_TV,
4855 			.vmux   = 4,
4856 			.amux   = TV,
4857 		}, {
4858 			.type = SAA7134_INPUT_COMPOSITE,
4859 			.vmux = 1,
4860 			.amux = LINE1,
4861 		}, {
4862 			.type = SAA7134_INPUT_SVIDEO,
4863 			.vmux = 6,
4864 			.amux = LINE1,
4865 		} },
4866 		.radio = {
4867 			.type = SAA7134_INPUT_RADIO,
4868 			.amux = TV,
4869 		},
4870 	},
4871 	[SAA7134_BOARD_BEHOLD_H6] = {
4872 		/* Igor Kuznetsov <igk@igk.ru> */
4873 		.name           = "Beholder BeholdTV H6",
4874 		.audio_clock    = 0x00187de7,
4875 		.tuner_type     = TUNER_PHILIPS_FMD1216MEX_MK3,
4876 		.radio_type     = UNSET,
4877 		.tuner_addr     = ADDR_UNSET,
4878 		.radio_addr     = ADDR_UNSET,
4879 		.tda9887_conf   = TDA9887_PRESENT,
4880 		.mpeg           = SAA7134_MPEG_DVB,
4881 		.inputs         = {{
4882 			.type = SAA7134_INPUT_TV,
4883 			.vmux = 3,
4884 			.amux = TV,
4885 		}, {
4886 			.type = SAA7134_INPUT_COMPOSITE1,
4887 			.vmux = 1,
4888 			.amux = LINE1,
4889 		}, {
4890 			.type = SAA7134_INPUT_SVIDEO,
4891 			.vmux = 8,
4892 			.amux = LINE1,
4893 		} },
4894 		.radio = {
4895 			.type = SAA7134_INPUT_RADIO,
4896 			.amux = LINE2,
4897 		},
4898 	},
4899 	[SAA7134_BOARD_ASUSTeK_TIGER_3IN1] = {
4900 		.name           = "Asus Tiger 3in1",
4901 		.audio_clock    = 0x00187de7,
4902 		.tuner_type     = TUNER_PHILIPS_TDA8290,
4903 		.radio_type     = UNSET,
4904 		.tuner_addr     = ADDR_UNSET,
4905 		.radio_addr     = ADDR_UNSET,
4906 		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_GP0_HIGH_OFF },
4907 		.gpiomask       = 1 << 21,
4908 		.mpeg           = SAA7134_MPEG_DVB,
4909 		.inputs         = {{
4910 			.type = SAA7134_INPUT_TV,
4911 			.vmux = 1,
4912 			.amux = TV,
4913 		}, {
4914 			.type = SAA7134_INPUT_COMPOSITE,
4915 			.vmux = 0,
4916 			.amux = LINE2,
4917 		}, {
4918 			.type = SAA7134_INPUT_SVIDEO,
4919 			.vmux = 8,
4920 			.amux = LINE2,
4921 		} },
4922 		.radio = {
4923 			.type = SAA7134_INPUT_RADIO,
4924 			.amux = TV,
4925 			.gpio = 0x0200000,
4926 		},
4927 	},
4928 	[SAA7134_BOARD_ASUSTeK_PS3_100] = {
4929 		.name           = "Asus My Cinema PS3-100",
4930 		.audio_clock    = 0x00187de7,
4931 		.tuner_type     = TUNER_PHILIPS_TDA8290,
4932 		.radio_type     = UNSET,
4933 		.tuner_addr     = ADDR_UNSET,
4934 		.radio_addr     = ADDR_UNSET,
4935 		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_GP0_HIGH_OFF },
4936 		.gpiomask       = 1 << 21,
4937 		.mpeg           = SAA7134_MPEG_DVB,
4938 		.inputs         = {{
4939 			.type = SAA7134_INPUT_TV,
4940 			.vmux = 1,
4941 			.amux = TV,
4942 		}, {
4943 			.type = SAA7134_INPUT_COMPOSITE,
4944 			.vmux = 0,
4945 			.amux = LINE2,
4946 		}, {
4947 			.type = SAA7134_INPUT_SVIDEO,
4948 			.vmux = 8,
4949 			.amux = LINE2,
4950 		} },
4951 		.radio = {
4952 			.type = SAA7134_INPUT_RADIO,
4953 			.amux = TV,
4954 			.gpio = 0x0200000,
4955 		},
4956 	},
4957 	[SAA7134_BOARD_REAL_ANGEL_220] = {
4958 		.name           = "Zogis Real Angel 220",
4959 		.audio_clock    = 0x00187de7,
4960 		.tuner_type     = TUNER_TNF_5335MF,
4961 		.radio_type     = UNSET,
4962 		.tuner_addr     = ADDR_UNSET,
4963 		.radio_addr     = ADDR_UNSET,
4964 		.gpiomask       = 0x801a8087,
4965 		.inputs = { {
4966 			.type = SAA7134_INPUT_TV,
4967 			.vmux   = 3,
4968 			.amux   = LINE2,
4969 			.gpio   = 0x624000,
4970 		}, {
4971 			.type = SAA7134_INPUT_COMPOSITE1,
4972 			.vmux   = 1,
4973 			.amux   = LINE1,
4974 			.gpio   = 0x624000,
4975 		}, {
4976 			.type = SAA7134_INPUT_SVIDEO,
4977 			.vmux   = 1,
4978 			.amux   = LINE1,
4979 			.gpio   = 0x624000,
4980 		} },
4981 		.radio = {
4982 			.type = SAA7134_INPUT_RADIO,
4983 			.amux   = LINE2,
4984 			.gpio   = 0x624001,
4985 		},
4986 		.mute = {
4987 			.type = SAA7134_INPUT_MUTE,
4988 			.amux = TV,
4989 		},
4990 	},
4991 	[SAA7134_BOARD_ADS_INSTANT_HDTV_PCI] = {
4992 		.name           = "ADS Tech Instant HDTV",
4993 		.audio_clock    = 0x00187de7,
4994 		.tuner_type     = TUNER_PHILIPS_TUV1236D,
4995 		.radio_type     = UNSET,
4996 		.tuner_addr     = ADDR_UNSET,
4997 		.radio_addr     = ADDR_UNSET,
4998 		.tda9887_conf   = TDA9887_PRESENT,
4999 		.mpeg           = SAA7134_MPEG_DVB,
5000 		.inputs         = { {
5001 			.type = SAA7134_INPUT_TV,
5002 			.vmux = 1,
5003 			.amux = TV,
5004 		}, {
5005 			.type = SAA7134_INPUT_COMPOSITE,
5006 			.vmux = 4,
5007 			.amux = LINE1,
5008 		}, {
5009 			.type = SAA7134_INPUT_SVIDEO,
5010 			.vmux = 8,
5011 			.amux = LINE1,
5012 		} },
5013 	},
5014 	[SAA7134_BOARD_ASUSTeK_TIGER] = {
5015 		.name           = "Asus Tiger Rev:1.00",
5016 		.audio_clock    = 0x00187de7,
5017 		.tuner_type     = TUNER_PHILIPS_TDA8290,
5018 		.radio_type     = UNSET,
5019 		.tuner_addr	= ADDR_UNSET,
5020 		.radio_addr	= ADDR_UNSET,
5021 		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_OFF },
5022 		.mpeg           = SAA7134_MPEG_DVB,
5023 		.gpiomask       = 0x0200000,
5024 		.inputs = { {
5025 			.type = SAA7134_INPUT_TV,
5026 			.vmux   = 1,
5027 			.amux   = TV,
5028 		}, {
5029 			.type = SAA7134_INPUT_COMPOSITE1,
5030 			.vmux   = 3,
5031 			.amux   = LINE2,
5032 		}, {
5033 			.type = SAA7134_INPUT_COMPOSITE2,
5034 			.vmux   = 0,
5035 			.amux   = LINE2,
5036 		}, {
5037 			.type = SAA7134_INPUT_SVIDEO,
5038 			.vmux   = 8,
5039 			.amux   = LINE2,
5040 		} },
5041 		.radio = {
5042 			.type = SAA7134_INPUT_RADIO,
5043 			.amux   = TV,
5044 			.gpio   = 0x0200000,
5045 		},
5046 	},
5047 	[SAA7134_BOARD_KWORLD_PLUS_TV_ANALOG] = {
5048 		.name           = "Kworld Plus TV Analog Lite PCI",
5049 		.audio_clock    = 0x00187de7,
5050 		.tuner_type     = TUNER_YMEC_TVF_5533MF,
5051 		.radio_type     = TUNER_TEA5767,
5052 		.tuner_addr     = ADDR_UNSET,
5053 		.radio_addr     = 0x60,
5054 		.gpiomask       = 0x80000700,
5055 		.inputs = { {
5056 			.type = SAA7134_INPUT_TV,
5057 			.vmux   = 1,
5058 			.amux   = LINE2,
5059 			.gpio   = 0x100,
5060 		}, {
5061 			.type = SAA7134_INPUT_COMPOSITE1,
5062 			.vmux   = 3,
5063 			.amux   = LINE1,
5064 			.gpio   = 0x200,
5065 		}, {
5066 			.type = SAA7134_INPUT_SVIDEO,
5067 			.vmux   = 8,
5068 			.amux   = LINE1,
5069 			.gpio   = 0x200,
5070 		} },
5071 		.radio = {
5072 			.type = SAA7134_INPUT_RADIO,
5073 			.vmux   = 1,
5074 			.amux   = LINE1,
5075 			.gpio   = 0x100,
5076 		},
5077 		.mute = {
5078 			.type = SAA7134_INPUT_MUTE,
5079 			.vmux = 8,
5080 			.amux = 2,
5081 		},
5082 	},
5083 	[SAA7134_BOARD_KWORLD_PCI_SBTVD_FULLSEG] = {
5084 		.name           = "Kworld PCI SBTVD/ISDB-T Full-Seg Hybrid",
5085 		.audio_clock    = 0x00187de7,
5086 		.tuner_type     = TUNER_PHILIPS_TDA8290,
5087 		.tuner_addr     = ADDR_UNSET,
5088 		.radio_type     = UNSET,
5089 		.radio_addr	= ADDR_UNSET,
5090 		.gpiomask       = 0x8e054000,
5091 		.mpeg           = SAA7134_MPEG_DVB,
5092 		.ts_type	= SAA7134_MPEG_TS_PARALLEL,
5093 		.inputs = { {
5094 			.type = SAA7134_INPUT_TV,
5095 			.vmux   = 1,
5096 			.amux   = TV,
5097 #if 0	/* FIXME */
5098 		}, {
5099 			.type = SAA7134_INPUT_COMPOSITE1,
5100 			.vmux   = 3,
5101 			.amux   = LINE1,
5102 			.gpio   = 0x200,
5103 		}, {
5104 			.type = SAA7134_INPUT_SVIDEO,
5105 			.vmux   = 8,
5106 			.amux   = LINE1,
5107 			.gpio   = 0x200,
5108 #endif
5109 		} },
5110 #if 0
5111 		.radio = {
5112 			.type = SAA7134_INPUT_RADIO,
5113 			.vmux   = 1,
5114 			.amux   = LINE1,
5115 			.gpio   = 0x100,
5116 		},
5117 #endif
5118 		.mute = {
5119 			.type = SAA7134_INPUT_MUTE,
5120 			.vmux = 0,
5121 			.amux = TV,
5122 		},
5123 	},
5124 	[SAA7134_BOARD_AVERMEDIA_GO_007_FM_PLUS] = {
5125 		.name           = "Avermedia AVerTV GO 007 FM Plus",
5126 		.audio_clock    = 0x00187de7,
5127 		.tuner_type     = TUNER_PHILIPS_TDA8290,
5128 		.radio_type     = UNSET,
5129 		.tuner_addr	= ADDR_UNSET,
5130 		.radio_addr	= ADDR_UNSET,
5131 		.gpiomask       = 0x00300003,
5132 		/* .gpiomask       = 0x8c240003, */
5133 		.inputs         = { {
5134 			.type = SAA7134_INPUT_TV,
5135 			.vmux = 1,
5136 			.amux = TV,
5137 			.gpio = 0x01,
5138 		}, {
5139 			.type = SAA7134_INPUT_SVIDEO,
5140 			.vmux = 6,
5141 			.amux = LINE1,
5142 			.gpio = 0x02,
5143 		} },
5144 		.radio = {
5145 			.type = SAA7134_INPUT_RADIO,
5146 			.amux = TV,
5147 			.gpio = 0x00300001,
5148 		},
5149 		.mute = {
5150 			.type = SAA7134_INPUT_MUTE,
5151 			.amux = TV,
5152 			.gpio = 0x01,
5153 		},
5154 	},
5155 	[SAA7134_BOARD_AVERMEDIA_STUDIO_507UA] = {
5156 		/* Andy Shevchenko <andy@smile.org.ua> */
5157 		.name           = "Avermedia AVerTV Studio 507UA",
5158 		.audio_clock    = 0x00187de7,
5159 		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3, /* Should be MK5 */
5160 		.radio_type     = UNSET,
5161 		.tuner_addr     = ADDR_UNSET,
5162 		.radio_addr     = ADDR_UNSET,
5163 		.tda9887_conf   = TDA9887_PRESENT,
5164 		.gpiomask       = 0x03,
5165 		.inputs         = { {
5166 			.type = SAA7134_INPUT_TV,
5167 			.vmux = 1,
5168 			.amux = TV,
5169 			.gpio = 0x00,
5170 		}, {
5171 			.type = SAA7134_INPUT_COMPOSITE1,
5172 			.vmux = 3,
5173 			.amux = LINE1,
5174 			.gpio = 0x00,
5175 		}, {
5176 			.type = SAA7134_INPUT_SVIDEO,
5177 			.vmux = 8,
5178 			.amux = LINE1,
5179 			.gpio = 0x00,
5180 		} },
5181 		.radio = {
5182 			.type = SAA7134_INPUT_RADIO,
5183 			.amux = LINE2,
5184 			.gpio = 0x01,
5185 		},
5186 		.mute  = {
5187 			.type = SAA7134_INPUT_MUTE,
5188 			.amux = LINE1,
5189 			.gpio = 0x00,
5190 		},
5191 	},
5192 	[SAA7134_BOARD_VIDEOMATE_S350] = {
5193 		/* Jan D. Louw <jd.louw@mweb.co.za */
5194 		.name		= "Compro VideoMate S350/S300",
5195 		.audio_clock	= 0x00187de7,
5196 		.tuner_type	= TUNER_ABSENT,
5197 		.radio_type	= UNSET,
5198 		.tuner_addr	= ADDR_UNSET,
5199 		.radio_addr	= ADDR_UNSET,
5200 		.mpeg		= SAA7134_MPEG_DVB,
5201 		.inputs = { {
5202 			.type = SAA7134_INPUT_COMPOSITE1,
5203 			.vmux	= 0,
5204 			.amux	= LINE1,
5205 		}, {
5206 			.type = SAA7134_INPUT_SVIDEO,
5207 			.vmux	= 8, /* Not tested */
5208 			.amux	= LINE1
5209 		} },
5210 	},
5211 	[SAA7134_BOARD_BEHOLD_X7] = {
5212 		/* Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com> */
5213 		.name           = "Beholder BeholdTV X7",
5214 		.audio_clock    = 0x00187de7,
5215 		.tuner_type     = TUNER_XC5000,
5216 		.radio_type     = UNSET,
5217 		.tuner_addr     = ADDR_UNSET,
5218 		.radio_addr     = ADDR_UNSET,
5219 		.mpeg           = SAA7134_MPEG_DVB,
5220 		.inputs         = { {
5221 			.type = SAA7134_INPUT_TV,
5222 			.vmux = 2,
5223 			.amux = TV,
5224 		}, {
5225 			.type = SAA7134_INPUT_COMPOSITE1,
5226 			.vmux = 0,
5227 			.amux = LINE1,
5228 		}, {
5229 			.type = SAA7134_INPUT_SVIDEO,
5230 			.vmux = 9,
5231 			.amux = LINE1,
5232 		} },
5233 		.radio = {
5234 			.type = SAA7134_INPUT_RADIO,
5235 			.amux = TV,
5236 		},
5237 	},
5238 	[SAA7134_BOARD_ZOLID_HYBRID_PCI] = {
5239 		.name           = "Zolid Hybrid TV Tuner PCI",
5240 		.audio_clock    = 0x00187de7,
5241 		.tuner_type     = TUNER_PHILIPS_TDA8290,
5242 		.radio_type     = UNSET,
5243 		.tuner_addr     = ADDR_UNSET,
5244 		.radio_addr     = ADDR_UNSET,
5245 		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_OFF },
5246 		.mpeg           = SAA7134_MPEG_DVB,
5247 		.ts_type	= SAA7134_MPEG_TS_PARALLEL,
5248 		.inputs         = {{
5249 			.type = SAA7134_INPUT_TV,
5250 			.vmux = 1,
5251 			.amux = TV,
5252 		} },
5253 		.radio = {	/* untested */
5254 			.type = SAA7134_INPUT_RADIO,
5255 			.amux = TV,
5256 		},
5257 	},
5258 	[SAA7134_BOARD_ASUS_EUROPA_HYBRID] = {
5259 		.name           = "Asus Europa Hybrid OEM",
5260 		.audio_clock    = 0x00187de7,
5261 		.tuner_type     = TUNER_PHILIPS_TD1316,
5262 		.radio_type     = UNSET,
5263 		.tuner_addr	= 0x61,
5264 		.radio_addr	= ADDR_UNSET,
5265 		.tda9887_conf   = TDA9887_PRESENT | TDA9887_PORT1_ACTIVE,
5266 		.mpeg           = SAA7134_MPEG_DVB,
5267 		.inputs = { {
5268 			.type = SAA7134_INPUT_TV,
5269 			.vmux   = 3,
5270 			.amux   = TV,
5271 		}, {
5272 			.type = SAA7134_INPUT_COMPOSITE1,
5273 			.vmux   = 4,
5274 			.amux   = LINE2,
5275 		}, {
5276 			.type = SAA7134_INPUT_SVIDEO,
5277 			.vmux   = 8,
5278 			.amux   = LINE2,
5279 		} },
5280 	},
5281 	[SAA7134_BOARD_LEADTEK_WINFAST_DTV1000S] = {
5282 		.name           = "Leadtek Winfast DTV1000S",
5283 		.audio_clock    = 0x00187de7,
5284 		.tuner_type     = TUNER_PHILIPS_TDA8290,
5285 		.radio_type     = UNSET,
5286 		.tuner_addr     = ADDR_UNSET,
5287 		.radio_addr     = ADDR_UNSET,
5288 		.mpeg           = SAA7134_MPEG_DVB,
5289 		.inputs         = { {
5290 			.type = SAA7134_INPUT_COMPOSITE1,
5291 			.vmux = 3,
5292 		}, {
5293 			.type = SAA7134_INPUT_SVIDEO,
5294 			.vmux = 8,
5295 		} },
5296 	},
5297 	[SAA7134_BOARD_BEHOLD_505RDS_MK3] = {
5298 		/*       Beholder Intl. Ltd. 2008      */
5299 		/*Dmitry Belimov <d.belimov@gmail.com> */
5300 		.name           = "Beholder BeholdTV 505 RDS",
5301 		.audio_clock    = 0x00200000,
5302 		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,
5303 		.radio_type     = UNSET,
5304 		.tuner_addr     = ADDR_UNSET,
5305 		.radio_addr     = ADDR_UNSET,
5306 		.rds_addr	= 0x10,
5307 		.tda9887_conf   = TDA9887_PRESENT,
5308 		.gpiomask       = 0x00008000,
5309 		.inputs         = {{
5310 			.type = SAA7134_INPUT_TV,
5311 			.vmux = 3,
5312 			.amux = LINE2,
5313 		}, {
5314 			.type = SAA7134_INPUT_COMPOSITE1,
5315 			.vmux = 1,
5316 			.amux = LINE1,
5317 		}, {
5318 			.type = SAA7134_INPUT_SVIDEO,
5319 			.vmux = 8,
5320 			.amux = LINE1,
5321 		} },
5322 		.mute = {
5323 			.type = SAA7134_INPUT_MUTE,
5324 			.amux = LINE1,
5325 		},
5326 		.radio = {
5327 			.type = SAA7134_INPUT_RADIO,
5328 			.amux = LINE2,
5329 		},
5330 	},
5331 	[SAA7134_BOARD_HAWELL_HW_404M7] = {
5332 		/* Hawell HW-404M7 & Hawell HW-808M7  */
5333 		/* Bogoslovskiy Viktor <bogovic@bk.ru> */
5334 		.name         = "Hawell HW-404M7",
5335 		.audio_clock   = 0x00200000,
5336 		.tuner_type    = UNSET,
5337 		.radio_type    = UNSET,
5338 		.tuner_addr   = ADDR_UNSET,
5339 		.radio_addr   = ADDR_UNSET,
5340 		.gpiomask      = 0x389c00,
5341 		.inputs       = {{
5342 			.type = SAA7134_INPUT_COMPOSITE1,
5343 			.vmux = 3,
5344 			.amux = LINE1,
5345 			.gpio = 0x01fc00,
5346 		} },
5347 	},
5348 	[SAA7134_BOARD_BEHOLD_H7] = {
5349 		/* Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com> */
5350 		.name           = "Beholder BeholdTV H7",
5351 		.audio_clock    = 0x00187de7,
5352 		.tuner_type     = TUNER_XC5000,
5353 		.radio_type     = UNSET,
5354 		.tuner_addr     = ADDR_UNSET,
5355 		.radio_addr     = ADDR_UNSET,
5356 		.mpeg           = SAA7134_MPEG_DVB,
5357 		.ts_type	= SAA7134_MPEG_TS_PARALLEL,
5358 		.inputs         = { {
5359 			.type = SAA7134_INPUT_TV,
5360 			.vmux = 2,
5361 			.amux = TV,
5362 		}, {
5363 			.type = SAA7134_INPUT_COMPOSITE1,
5364 			.vmux = 0,
5365 			.amux = LINE1,
5366 		}, {
5367 			.type = SAA7134_INPUT_SVIDEO,
5368 			.vmux = 9,
5369 			.amux = LINE1,
5370 		} },
5371 		.radio = {
5372 			.type = SAA7134_INPUT_RADIO,
5373 			.amux = TV,
5374 		},
5375 	},
5376 	[SAA7134_BOARD_BEHOLD_A7] = {
5377 		/* Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com> */
5378 		.name           = "Beholder BeholdTV A7",
5379 		.audio_clock    = 0x00187de7,
5380 		.tuner_type     = TUNER_XC5000,
5381 		.radio_type     = UNSET,
5382 		.tuner_addr     = ADDR_UNSET,
5383 		.radio_addr     = ADDR_UNSET,
5384 		.inputs         = { {
5385 			.type = SAA7134_INPUT_TV,
5386 			.vmux = 2,
5387 			.amux = TV,
5388 		}, {
5389 			.type = SAA7134_INPUT_COMPOSITE1,
5390 			.vmux = 0,
5391 			.amux = LINE1,
5392 		}, {
5393 			.type = SAA7134_INPUT_SVIDEO,
5394 			.vmux = 9,
5395 			.amux = LINE1,
5396 		} },
5397 		.radio = {
5398 			.type = SAA7134_INPUT_RADIO,
5399 			.amux = TV,
5400 		},
5401 	},
5402 	[SAA7134_BOARD_TECHNOTREND_BUDGET_T3000] = {
5403 		.name           = "TechoTrend TT-budget T-3000",
5404 		.tuner_type     = TUNER_PHILIPS_TD1316,
5405 		.audio_clock    = 0x00187de7,
5406 		.radio_type     = UNSET,
5407 		.tuner_addr     = 0x63,
5408 		.radio_addr     = ADDR_UNSET,
5409 		.tda9887_conf   = TDA9887_PRESENT | TDA9887_PORT1_ACTIVE,
5410 		.mpeg           = SAA7134_MPEG_DVB,
5411 		.inputs = {{
5412 			.type = SAA7134_INPUT_TV,
5413 			.vmux   = 3,
5414 			.amux   = TV,
5415 		}, {
5416 			.type = SAA7134_INPUT_COMPOSITE1,
5417 			.vmux   = 0,
5418 			.amux   = LINE2,
5419 		}, {
5420 			.type = SAA7134_INPUT_SVIDEO,
5421 			.vmux   = 8,
5422 			.amux   = LINE2,
5423 		} },
5424 	},
5425 	[SAA7134_BOARD_VIDEOMATE_M1F] = {
5426 		/* Pavel Osnova <pvosnova@gmail.com> */
5427 		.name           = "Compro VideoMate Vista M1F",
5428 		.audio_clock    = 0x00187de7,
5429 		.tuner_type     = TUNER_LG_PAL_NEW_TAPC,
5430 		.radio_type     = TUNER_TEA5767,
5431 		.tuner_addr     = ADDR_UNSET,
5432 		.radio_addr     = 0x60,
5433 		.inputs         = { {
5434 			.type = SAA7134_INPUT_TV,
5435 			.vmux = 1,
5436 			.amux = TV,
5437 		}, {
5438 			.type = SAA7134_INPUT_COMPOSITE1,
5439 			.vmux = 3,
5440 			.amux = LINE2,
5441 		}, {
5442 			.type = SAA7134_INPUT_SVIDEO,
5443 			.vmux = 8,
5444 			.amux = LINE2,
5445 		} },
5446 		.radio = {
5447 			.type = SAA7134_INPUT_RADIO,
5448 			.amux = LINE1,
5449 		},
5450 		.mute = {
5451 			.type = SAA7134_INPUT_MUTE,
5452 			.amux = TV,
5453 		},
5454 	},
5455 	[SAA7134_BOARD_MAGICPRO_PROHDTV_PRO2] = {
5456 		/* Timothy Lee <timothy.lee@siriushk.com> */
5457 		.name		= "MagicPro ProHDTV Pro2 DMB-TH/Hybrid",
5458 		.audio_clock	= 0x00187de7,
5459 		.tuner_type	= TUNER_PHILIPS_TDA8290,
5460 		.radio_type	= UNSET,
5461 		.tda829x_conf	= { .lna_cfg = TDA8290_LNA_ON_BRIDGE },
5462 		.tuner_addr	= ADDR_UNSET,
5463 		.radio_addr	= ADDR_UNSET,
5464 		.gpiomask	= 0x02050000,
5465 		.mpeg		= SAA7134_MPEG_DVB,
5466 		.ts_type	= SAA7134_MPEG_TS_PARALLEL,
5467 		.inputs		= { {
5468 			.type = SAA7134_INPUT_TV,
5469 			.vmux   = 1,
5470 			.amux   = TV,
5471 			.gpio   = 0x00050000,
5472 		}, {
5473 			.type = SAA7134_INPUT_COMPOSITE1,
5474 			.vmux   = 3,
5475 			.amux   = LINE1,
5476 			.gpio   = 0x00050000,
5477 		}, {
5478 			.type = SAA7134_INPUT_SVIDEO,
5479 			.vmux   = 8,
5480 			.amux   = LINE1,
5481 			.gpio   = 0x00050000,
5482 		} },
5483 		.radio = {
5484 			.type = SAA7134_INPUT_RADIO,
5485 			.amux   = TV,
5486 			.gpio   = 0x00050000,
5487 		},
5488 		.mute = {
5489 			.type = SAA7134_INPUT_MUTE,
5490 			.vmux   = 0,
5491 			.amux   = TV,
5492 			.gpio   = 0x00050000,
5493 		},
5494 	},
5495 	[SAA7134_BOARD_BEHOLD_501] = {
5496 		/*       Beholder Intl. Ltd. 2010       */
5497 		/* Dmitry Belimov <d.belimov@gmail.com> */
5498 		.name           = "Beholder BeholdTV 501",
5499 		.audio_clock    = 0x00200000,
5500 		.tuner_type     = TUNER_ABSENT,
5501 		.radio_type     = UNSET,
5502 		.tuner_addr     = ADDR_UNSET,
5503 		.radio_addr     = ADDR_UNSET,
5504 		.gpiomask       = 0x00008000,
5505 		.inputs         = { {
5506 			.type = SAA7134_INPUT_TV,
5507 			.vmux = 3,
5508 			.amux = LINE2,
5509 		}, {
5510 			.type = SAA7134_INPUT_COMPOSITE1,
5511 			.vmux = 1,
5512 			.amux = LINE1,
5513 		}, {
5514 			.type = SAA7134_INPUT_SVIDEO,
5515 			.vmux = 8,
5516 			.amux = LINE1,
5517 		} },
5518 		.mute = {
5519 			.type = SAA7134_INPUT_MUTE,
5520 			.amux = LINE1,
5521 		},
5522 	},
5523 	[SAA7134_BOARD_BEHOLD_503FM] = {
5524 		/*       Beholder Intl. Ltd. 2010       */
5525 		/* Dmitry Belimov <d.belimov@gmail.com> */
5526 		.name           = "Beholder BeholdTV 503 FM",
5527 		.audio_clock    = 0x00200000,
5528 		.tuner_type     = TUNER_ABSENT,
5529 		.radio_type     = UNSET,
5530 		.tuner_addr     = ADDR_UNSET,
5531 		.radio_addr     = ADDR_UNSET,
5532 		.gpiomask       = 0x00008000,
5533 		.inputs         = { {
5534 			.type = SAA7134_INPUT_TV,
5535 			.vmux = 3,
5536 			.amux = LINE2,
5537 		}, {
5538 			.type = SAA7134_INPUT_COMPOSITE1,
5539 			.vmux = 1,
5540 			.amux = LINE1,
5541 		}, {
5542 			.type = SAA7134_INPUT_SVIDEO,
5543 			.vmux = 8,
5544 			.amux = LINE1,
5545 		} },
5546 		.mute = {
5547 			.type = SAA7134_INPUT_MUTE,
5548 			.amux = LINE1,
5549 		},
5550 	},
5551 	[SAA7134_BOARD_SENSORAY811_911] = {
5552 		.name		= "Sensoray 811/911",
5553 		.audio_clock	= 0x00200000,
5554 		.tuner_type	= TUNER_ABSENT,
5555 		.radio_type	= UNSET,
5556 		.tuner_addr	= ADDR_UNSET,
5557 		.radio_addr	= ADDR_UNSET,
5558 		.inputs		= {{
5559 			.type = SAA7134_INPUT_COMPOSITE1,
5560 			.vmux   = 0,
5561 			.amux   = LINE1,
5562 		}, {
5563 			.type = SAA7134_INPUT_COMPOSITE3,
5564 			.vmux   = 2,
5565 			.amux   = LINE1,
5566 		}, {
5567 			.type = SAA7134_INPUT_SVIDEO,
5568 			.vmux   = 8,
5569 			.amux   = LINE1,
5570 		} },
5571 	},
5572 	[SAA7134_BOARD_KWORLD_PC150U] = {
5573 		.name           = "Kworld PC150-U",
5574 		.audio_clock    = 0x00187de7,
5575 		.tuner_type     = TUNER_PHILIPS_TDA8290,
5576 		.radio_type     = UNSET,
5577 		.tuner_addr	= ADDR_UNSET,
5578 		.radio_addr	= ADDR_UNSET,
5579 		.mpeg           = SAA7134_MPEG_DVB,
5580 		.gpiomask       = 1 << 21,
5581 		.ts_type	= SAA7134_MPEG_TS_PARALLEL,
5582 		.inputs = { {
5583 			.type = SAA7134_INPUT_TV,
5584 			.vmux   = 1,
5585 			.amux   = TV,
5586 		}, {
5587 			.type = SAA7134_INPUT_COMPOSITE,
5588 			.vmux   = 3,
5589 			.amux   = LINE1,
5590 		}, {
5591 			.type = SAA7134_INPUT_SVIDEO,
5592 			.vmux   = 8,
5593 			.amux   = LINE2,
5594 		} },
5595 		.radio = {
5596 			.type = SAA7134_INPUT_RADIO,
5597 			.amux   = TV,
5598 			.gpio	= 0x0000000,
5599 		},
5600 	},
5601 	[SAA7134_BOARD_HAWELL_HW_9004V1] = {
5602 		/* Hawell HW-9004V1 */
5603 		/* Vadim Frolov <fralik@gmail.com> */
5604 		.name         = "Hawell HW-9004V1",
5605 		.audio_clock   = 0x00200000,
5606 		.tuner_type    = UNSET,
5607 		.radio_type    = UNSET,
5608 		.tuner_addr   = ADDR_UNSET,
5609 		.radio_addr   = ADDR_UNSET,
5610 		.gpiomask      = 0x618E700,
5611 		.inputs       = {{
5612 			.type = SAA7134_INPUT_COMPOSITE1,
5613 			.vmux = 3,
5614 			.amux = LINE1,
5615 			.gpio = 0x6010000,
5616 		} },
5617 	},
5618 	[SAA7134_BOARD_AVERMEDIA_A706] = {
5619 		.name           = "AverMedia AverTV Satellite Hybrid+FM A706",
5620 		.audio_clock    = 0x00187de7,
5621 		.tuner_type     = TUNER_PHILIPS_TDA8290,
5622 		.radio_type     = UNSET,
5623 		.tuner_addr     = ADDR_UNSET,
5624 		.radio_addr     = ADDR_UNSET,
5625 		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_OFF,
5626 				    .no_i2c_gate = 1,
5627 				    .tda18271_std_map = &aver_a706_std_map },
5628 		.gpiomask       = 1 << 11,
5629 		.mpeg           = SAA7134_MPEG_DVB,
5630 		.inputs         = {{
5631 			.type = SAA7134_INPUT_TV,
5632 			.vmux = 1,
5633 			.amux = TV,
5634 		}, {
5635 			.type = SAA7134_INPUT_COMPOSITE,
5636 			.vmux = 4,
5637 			.amux = LINE1,
5638 		}, {
5639 			.type = SAA7134_INPUT_SVIDEO,
5640 			.vmux = 8,
5641 			.amux = LINE1,
5642 		} },
5643 		.radio = {
5644 			.type = SAA7134_INPUT_RADIO,
5645 			.amux = TV,
5646 			.gpio = 0x0000800,
5647 		},
5648 	},
5649 	[SAA7134_BOARD_WIS_VOYAGER] = {
5650 		.name           = "WIS Voyager or compatible",
5651 		.audio_clock    = 0x00200000,
5652 		.tuner_type	= TUNER_PHILIPS_TDA8290,
5653 		.radio_type     = UNSET,
5654 		.tuner_addr     = ADDR_UNSET,
5655 		.radio_addr     = ADDR_UNSET,
5656 		.mpeg		= SAA7134_MPEG_GO7007,
5657 		.inputs		= { {
5658 			.type = SAA7134_INPUT_COMPOSITE1,
5659 			.vmux = 0,
5660 			.amux = LINE2,
5661 		}, {
5662 			.type = SAA7134_INPUT_TV,
5663 			.vmux = 3,
5664 			.amux = TV,
5665 		}, {
5666 			.type = SAA7134_INPUT_SVIDEO,
5667 			.vmux = 6,
5668 		.amux = LINE1,
5669 		} },
5670 	},
5671 	[SAA7134_BOARD_AVERMEDIA_505] = {
5672 		/* much like the "studio" version but without radio
5673 		* and another tuner (dbaryshkov@gmail.com) */
5674 		.name           = "AverMedia AverTV/505",
5675 		.audio_clock    = 0x00187de7,
5676 		.tuner_type     = TUNER_PHILIPS_FQ1216ME,
5677 		.radio_type     = UNSET,
5678 		.tuner_addr	= ADDR_UNSET,
5679 		.radio_addr	= ADDR_UNSET,
5680 		.tda9887_conf   = TDA9887_PRESENT,
5681 		.inputs         = {{
5682 			.type = SAA7134_INPUT_TV,
5683 			.vmux = 1,
5684 			.amux = LINE2,
5685 		}, {
5686 			.type = SAA7134_INPUT_COMPOSITE1,
5687 			.vmux = 0,
5688 			.amux = LINE2,
5689 		}, {
5690 			.type = SAA7134_INPUT_COMPOSITE2,
5691 			.vmux = 3,
5692 			.amux = LINE2,
5693 		}, {
5694 			.type = SAA7134_INPUT_SVIDEO,
5695 			.vmux = 8,
5696 			.amux = LINE2,
5697 		} },
5698 		.mute = {
5699 			.type = SAA7134_INPUT_MUTE,
5700 			.amux = LINE1,
5701 		},
5702 	},
5703 	[SAA7134_BOARD_LEADTEK_WINFAST_TV2100_FM] = {
5704 		.name           = "Leadtek Winfast TV2100 FM",
5705 		.audio_clock    = 0x00187de7,
5706 		.tuner_type     = TUNER_TNF_5335MF,
5707 		.radio_type     = UNSET,
5708 		.tuner_addr	= ADDR_UNSET,
5709 		.radio_addr	= ADDR_UNSET,
5710 		.gpiomask       = 0x0d,
5711 		.inputs         = {{
5712 			.type = SAA7134_INPUT_TV_MONO,
5713 			.vmux = 1,
5714 			.amux = LINE1,
5715 			.gpio = 0x00,
5716 		}, {
5717 			.type = SAA7134_INPUT_COMPOSITE1,
5718 			.vmux = 3,
5719 			.amux = LINE2,
5720 			.gpio = 0x08,
5721 		}, {
5722 			.type = SAA7134_INPUT_SVIDEO,
5723 			.vmux = 8,
5724 			.amux = LINE2,
5725 			.gpio = 0x08,
5726 		} },
5727 		.radio = {
5728 			.type = SAA7134_INPUT_RADIO,
5729 			.amux = LINE1,
5730 			.gpio = 0x04,
5731 		},
5732 		.mute = {
5733 			.type = SAA7134_INPUT_MUTE,
5734 			.amux = LINE1,
5735 			.gpio = 0x08,
5736 		},
5737 	},
5738 	[SAA7134_BOARD_SNAZIO_TVPVR_PRO] = {
5739 		.name           = "SnaZio* TVPVR PRO",
5740 		.audio_clock    = 0x00187de7,
5741 		.tuner_type     = TUNER_PHILIPS_TDA8290,
5742 		.radio_type     = UNSET,
5743 		.tuner_addr     = ADDR_UNSET,
5744 		.radio_addr     = ADDR_UNSET,
5745 		.gpiomask       = 1 << 21,
5746 		.inputs         = { {
5747 			.type = SAA7134_INPUT_TV,
5748 			.vmux = 1,
5749 			.amux = TV,
5750 			.gpio = 0x0000000,
5751 		}, {
5752 			.type = SAA7134_INPUT_COMPOSITE1,
5753 			.vmux = 3,
5754 			.amux = LINE2,
5755 			.gpio = 0x0000000,
5756 		}, {
5757 			.type = SAA7134_INPUT_SVIDEO,
5758 			.vmux = 8,
5759 			.amux = LINE2,
5760 			.gpio = 0x0000000,
5761 		} },
5762 		.radio = {
5763 			.type = SAA7134_INPUT_RADIO,
5764 			.amux = TV,
5765 			.gpio = 0x0200000,
5766 		},
5767 	},
5768 	[SAA7134_BOARD_LEADTEK_WINFAST_HDTV200_H] = {
5769 		.name           = "Leadtek Winfast HDTV200 H",
5770 		.audio_clock    = 0x00187de7,
5771 		.tuner_type     = TUNER_PHILIPS_TDA8290,
5772 		.radio_type     = UNSET,
5773 		.tuner_addr     = ADDR_UNSET,
5774 		.radio_addr     = ADDR_UNSET,
5775 		.mpeg           = SAA7134_MPEG_DVB,
5776 		.ts_type        = SAA7134_MPEG_TS_PARALLEL,
5777 		.gpiomask       = 0x00200700,
5778 		.inputs         = { {
5779 			.type = SAA7134_INPUT_TV,
5780 			.vmux = 1,
5781 			.amux = TV,
5782 			.gpio = 0x00000300,
5783 		}, {
5784 			.type = SAA7134_INPUT_COMPOSITE,
5785 			.vmux = 3,
5786 			.amux = LINE1,
5787 			.gpio = 0x00200300,
5788 		}, {
5789 			.type = SAA7134_INPUT_SVIDEO,
5790 			.vmux = 8,
5791 			.amux = LINE1,
5792 			.gpio = 0x00200300,
5793 		} },
5794 	},
5795 };
5796 
5797 const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);
5798 
5799 /* ------------------------------------------------------------------ */
5800 /* PCI ids + subsystem IDs                                            */
5801 
5802 struct pci_device_id saa7134_pci_tbl[] = {
5803 	{
5804 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5805 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5806 		.subvendor    = PCI_VENDOR_ID_PHILIPS,
5807 		.subdevice    = 0x2001,
5808 		.driver_data  = SAA7134_BOARD_PROTEUS_PRO,
5809 	},{
5810 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5811 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
5812 		.subvendor    = PCI_VENDOR_ID_PHILIPS,
5813 		.subdevice    = 0x2001,
5814 		.driver_data  = SAA7134_BOARD_PROTEUS_PRO,
5815 	},{
5816 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5817 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5818 		.subvendor    = PCI_VENDOR_ID_PHILIPS,
5819 		.subdevice    = 0x6752,
5820 		.driver_data  = SAA7134_BOARD_EMPRESS,
5821 	},{
5822 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5823 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5824 		.subvendor    = 0x1131,
5825 		.subdevice    = 0x4e85,
5826 		.driver_data  = SAA7134_BOARD_MONSTERTV,
5827 	},{
5828 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5829 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5830 		.subvendor    = 0x153b,
5831 		.subdevice    = 0x1142,
5832 		.driver_data  = SAA7134_BOARD_CINERGY400,
5833 	},{
5834 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5835 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5836 		.subvendor    = 0x153b,
5837 		.subdevice    = 0x1143,
5838 		.driver_data  = SAA7134_BOARD_CINERGY600,
5839 	},{
5840 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5841 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5842 		.subvendor    = 0x153b,
5843 		.subdevice    = 0x1158,
5844 		.driver_data  = SAA7134_BOARD_CINERGY600_MK3,
5845 	},{
5846 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5847 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
5848 		.subvendor    = 0x153b,
5849 		.subdevice    = 0x1162,
5850 		.driver_data  = SAA7134_BOARD_CINERGY400_CARDBUS,
5851 	},{
5852 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5853 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5854 		.subvendor    = 0x5169,
5855 		.subdevice    = 0x0138,
5856 		.driver_data  = SAA7134_BOARD_FLYVIDEO3000_NTSC,
5857 	},{
5858 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5859 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5860 		.subvendor    = 0x5168,
5861 		.subdevice    = 0x0138,
5862 		.driver_data  = SAA7134_BOARD_FLYVIDEO3000,
5863 	},{
5864 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5865 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5866 		.subvendor    = 0x4e42,				/* "Typhoon PCI Capture TV Card" Art.No. 50673 */
5867 		.subdevice    = 0x0138,
5868 		.driver_data  = SAA7134_BOARD_FLYVIDEO3000,
5869 	},{
5870 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5871 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
5872 		.subvendor    = 0x5168,
5873 		.subdevice    = 0x0138,
5874 		.driver_data  = SAA7134_BOARD_FLYVIDEO2000,
5875 	},{
5876 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5877 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
5878 		.subvendor    = 0x4e42,		/* Typhoon */
5879 		.subdevice    = 0x0138,		/* LifeView FlyTV Prime30 OEM */
5880 		.driver_data  = SAA7134_BOARD_FLYVIDEO2000,
5881 	},{
5882 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5883 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
5884 		.subvendor    = 0x5168,
5885 		.subdevice    = 0x0212, /* minipci, LR212 */
5886 		.driver_data  = SAA7134_BOARD_FLYTVPLATINUM_MINI,
5887 	},{
5888 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5889 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
5890 		.subvendor    = 0x14c0,
5891 		.subdevice    = 0x1212, /* minipci, LR1212 */
5892 		.driver_data  = SAA7134_BOARD_FLYTVPLATINUM_MINI2,
5893 	},{
5894 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5895 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
5896 		.subvendor    = 0x4e42,
5897 		.subdevice    = 0x0212, /* OEM minipci, LR212 */
5898 		.driver_data  = SAA7134_BOARD_FLYTVPLATINUM_MINI,
5899 	},{
5900 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5901 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
5902 		.subvendor    = 0x5168,	/* Animation Technologies (LifeView) */
5903 		.subdevice    = 0x0214, /* Standard PCI, LR214 Rev E and earlier (SAA7135) */
5904 		.driver_data  = SAA7134_BOARD_FLYTVPLATINUM_FM,
5905 	},{
5906 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5907 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
5908 		.subvendor    = 0x5168,	/* Animation Technologies (LifeView) */
5909 		.subdevice    = 0x5214, /* Standard PCI, LR214 Rev F onwards (SAA7131) */
5910 		.driver_data  = SAA7134_BOARD_FLYTVPLATINUM_FM,
5911 	},{
5912 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5913 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
5914 		.subvendor    = 0x1489, /* KYE */
5915 		.subdevice    = 0x0214, /* Genius VideoWonder ProTV */
5916 		.driver_data  = SAA7134_BOARD_FLYTVPLATINUM_FM, /* is an LR214WF actually */
5917 	},{
5918 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5919 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5920 		.subvendor    = 0x16be,
5921 		.subdevice    = 0x0003,
5922 		.driver_data  = SAA7134_BOARD_MD7134,
5923 	},{
5924 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5925 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5926 		.subvendor    = 0x16be, /* CTX946 analog TV, HW mpeg, DVB-T */
5927 		.subdevice    = 0x5000, /* only analog TV and DVB-T for now */
5928 		.driver_data  = SAA7134_BOARD_MD7134,
5929 	}, {
5930 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5931 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
5932 		.subvendor    = 0x1048,
5933 		.subdevice    = 0x226b,
5934 		.driver_data  = SAA7134_BOARD_ELSA,
5935 	},{
5936 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5937 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
5938 		.subvendor    = 0x1048,
5939 		.subdevice    = 0x226a,
5940 		.driver_data  = SAA7134_BOARD_ELSA_500TV,
5941 	},{
5942 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5943 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
5944 		.subvendor    = 0x1048,
5945 		.subdevice    = 0x226c,
5946 		.driver_data  = SAA7134_BOARD_ELSA_700TV,
5947 	},{
5948 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5949 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5950 		.subvendor    = PCI_VENDOR_ID_ASUSTEK,
5951 		.subdevice    = 0x4842,
5952 		.driver_data  = SAA7134_BOARD_ASUSTeK_TVFM7134,
5953 	},{
5954 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5955 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
5956 		.subvendor    = PCI_VENDOR_ID_ASUSTEK,
5957 		.subdevice    = 0x4845,
5958 		.driver_data  = SAA7134_BOARD_ASUSTeK_TVFM7135,
5959 	},{
5960 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5961 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5962 		.subvendor    = PCI_VENDOR_ID_ASUSTEK,
5963 		.subdevice    = 0x4830,
5964 		.driver_data  = SAA7134_BOARD_ASUSTeK_TVFM7134,
5965 	},{
5966 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5967 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
5968 		.subvendor    = PCI_VENDOR_ID_ASUSTEK,
5969 		.subdevice    = 0x4843,
5970 		.driver_data  = SAA7134_BOARD_ASUSTEK_TVFM7133,
5971 	},{
5972 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5973 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5974 		.subvendor    = PCI_VENDOR_ID_ASUSTEK,
5975 		.subdevice    = 0x4840,
5976 		.driver_data  = SAA7134_BOARD_ASUSTeK_TVFM7134,
5977 	},{
5978 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5979 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5980 		.subvendor    = PCI_VENDOR_ID_PHILIPS,
5981 		.subdevice    = 0xfe01,
5982 		.driver_data  = SAA7134_BOARD_TVSTATION_RDS,
5983 	},{
5984 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5985 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5986 		.subvendor    = 0x1894,
5987 		.subdevice    = 0xfe01,
5988 		.driver_data  = SAA7134_BOARD_TVSTATION_RDS,
5989 	},{
5990 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5991 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5992 		.subvendor    = 0x1894,
5993 		.subdevice    = 0xa006,
5994 		.driver_data  = SAA7134_BOARD_TVSTATION_DVR,
5995 	},{
5996 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5997 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5998 		.subvendor    = 0x1131,
5999 		.subdevice    = 0x7133,
6000 		.driver_data  = SAA7134_BOARD_VA1000POWER,
6001 	},{
6002 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6003 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6004 		.subvendor    = PCI_VENDOR_ID_PHILIPS,
6005 		.subdevice    = 0x2001,
6006 		.driver_data  = SAA7134_BOARD_10MOONSTVMASTER,
6007 	},{
6008 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6009 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6010 		.subvendor    = 0x185b,
6011 		.subdevice    = 0xc100,
6012 		.driver_data  = SAA7134_BOARD_VIDEOMATE_TV,
6013 	},{
6014 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6015 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6016 		.subvendor    = 0x185b,
6017 		.subdevice    = 0xc100,
6018 		.driver_data  = SAA7134_BOARD_VIDEOMATE_TV_GOLD_PLUS,
6019 	},{
6020 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6021 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6022 		.subvendor    = PCI_VENDOR_ID_MATROX,
6023 		.subdevice    = 0x48d0,
6024 		.driver_data  = SAA7134_BOARD_CRONOS_PLUS,
6025 	},{
6026 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6027 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6028 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6029 		.subdevice    = 0xa70b,
6030 		.driver_data  = SAA7134_BOARD_MD2819,
6031 	},{
6032 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6033 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6034 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6035 		.subdevice    = 0xa7a1,
6036 		.driver_data  = SAA7134_BOARD_AVERMEDIA_A700_PRO,
6037 	}, {
6038 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6039 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6040 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6041 		.subdevice    = 0xa7a2,
6042 		.driver_data  = SAA7134_BOARD_AVERMEDIA_A700_HYBRID,
6043 	}, {
6044 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6045 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6046 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6047 		.subdevice    = 0x2115,
6048 		.driver_data  = SAA7134_BOARD_AVERMEDIA_STUDIO_305,
6049 	},{
6050 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6051 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6052 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6053 		.subdevice    = 0xa115,
6054 		.driver_data  = SAA7134_BOARD_AVERMEDIA_STUDIO_505,
6055 	}, {
6056 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6057 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6058 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6059 		.subdevice    = 0x2108,
6060 		.driver_data  = SAA7134_BOARD_AVERMEDIA_305,
6061 	},{
6062 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6063 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6064 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6065 		.subdevice    = 0x10ff,
6066 		.driver_data  = SAA7134_BOARD_AVERMEDIA_DVD_EZMAKER,
6067 	},{
6068 		/* AVerMedia CardBus */
6069 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6070 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6071 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6072 		.subdevice    = 0xd6ee,
6073 		.driver_data  = SAA7134_BOARD_AVERMEDIA_CARDBUS,
6074 	},{
6075 		/* AVerMedia CardBus */
6076 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6077 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6078 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6079 		.subdevice    = 0xb7e9,
6080 		.driver_data  = SAA7134_BOARD_AVERMEDIA_CARDBUS_501,
6081 	}, {
6082 		/* TransGear 3000TV */
6083 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6084 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6085 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6086 		.subdevice    = 0x050c,
6087 		.driver_data  = SAA7134_BOARD_TG3000TV,
6088 	},{
6089 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6090 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6091 		.subvendor    = 0x11bd,
6092 		.subdevice    = 0x002b,
6093 		.driver_data  = SAA7134_BOARD_PINNACLE_PCTV_STEREO,
6094 	},{
6095 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6096 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6097 		.subvendor    = 0x11bd,
6098 		.subdevice    = 0x002d,
6099 		.driver_data  = SAA7134_BOARD_PINNACLE_300I_DVBT_PAL,
6100 	},{
6101 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6102 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6103 		.subvendor    = 0x1019,
6104 		.subdevice    = 0x4cb4,
6105 		.driver_data  = SAA7134_BOARD_ECS_TVP3XP,
6106 	},{
6107 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6108 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6109 		.subvendor    = 0x1019,
6110 		.subdevice    = 0x4cb5,
6111 		.driver_data  = SAA7134_BOARD_ECS_TVP3XP_4CB5,
6112 	},{
6113 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6114 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6115 		.subvendor    = 0x1019,
6116 		.subdevice    = 0x4cb6,
6117 		.driver_data  = SAA7134_BOARD_ECS_TVP3XP_4CB6,
6118 	},{
6119 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6120 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6121 		.subvendor    = 0x12ab,
6122 		.subdevice    = 0x0800,
6123 		.driver_data  = SAA7134_BOARD_UPMOST_PURPLE_TV,
6124 	},{
6125 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6126 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6127 		.subvendor    = 0x153b,
6128 		.subdevice    = 0x1152,
6129 		.driver_data  = SAA7134_BOARD_CINERGY200,
6130 	},{
6131 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6132 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6133 		.subvendor    = 0x185b,
6134 		.subdevice    = 0xc100,
6135 		.driver_data  = SAA7134_BOARD_VIDEOMATE_TV_PVR,
6136 	},{
6137 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6138 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6139 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6140 		.subdevice    = 0x9715,
6141 		.driver_data  = SAA7134_BOARD_AVERMEDIA_STUDIO_307,
6142 	},{
6143 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6144 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6145 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6146 		.subdevice    = 0xa70a,
6147 		.driver_data  = SAA7134_BOARD_AVERMEDIA_307,
6148 	},{
6149 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6150 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6151 		.subvendor    = 0x185b,
6152 		.subdevice    = 0xc200,
6153 		.driver_data  = SAA7134_BOARD_VIDEOMATE_GOLD_PLUS,
6154 	},{
6155 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6156 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6157 		.subvendor    = 0x1540,
6158 		.subdevice    = 0x9524,
6159 		.driver_data  = SAA7134_BOARD_PROVIDEO_PV952,
6160 
6161 	},{
6162 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6163 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6164 		.subvendor    = 0x5168,
6165 		.subdevice    = 0x0502,                /* Cardbus version */
6166 		.driver_data  = SAA7134_BOARD_FLYDVBT_DUO_CARDBUS,
6167 	},{
6168 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6169 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6170 		.subvendor    = 0x5168,
6171 		.subdevice    = 0x0306,                /* PCI version */
6172 		.driver_data  = SAA7134_BOARD_FLYDVBTDUO,
6173 	},{
6174 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6175 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6176 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6177 		.subdevice    = 0xf31f,
6178 		.driver_data  = SAA7134_BOARD_AVERMEDIA_GO_007_FM,
6179 
6180 	},{
6181 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6182 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6183 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6184 		.subdevice    = 0xf11d,
6185 		.driver_data  = SAA7134_BOARD_AVERMEDIA_M135A,
6186 	}, {
6187 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6188 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6189 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6190 		.subdevice    = 0x4155,
6191 		.driver_data  = SAA7134_BOARD_AVERMEDIA_M733A,
6192 	}, {
6193 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6194 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6195 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6196 		.subdevice    = 0x4255,
6197 		.driver_data  = SAA7134_BOARD_AVERMEDIA_M733A,
6198 	}, {
6199 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6200 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6201 		.subvendor    = PCI_VENDOR_ID_PHILIPS,
6202 		.subdevice    = 0x2004,
6203 		.driver_data  = SAA7134_BOARD_PHILIPS_TOUGH,
6204 	},{
6205 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6206 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6207 		.subvendor    = 0x1421,
6208 		.subdevice    = 0x0350,		/* PCI version */
6209 		.driver_data  = SAA7134_BOARD_ADS_INSTANT_TV,
6210 	},{
6211 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6212 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6213 		.subvendor    = 0x1421,
6214 		.subdevice    = 0x0351,		/* PCI version, new revision */
6215 		.driver_data  = SAA7134_BOARD_ADS_INSTANT_TV,
6216 	},{
6217 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6218 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6219 		.subvendor    = 0x1421,
6220 		.subdevice    = 0x0370,		/* cardbus version */
6221 		.driver_data  = SAA7134_BOARD_ADS_INSTANT_TV,
6222 	},{
6223 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6224 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6225 		.subvendor    = 0x1421,
6226 		.subdevice    = 0x1370,        /* cardbus version */
6227 		.driver_data  = SAA7134_BOARD_ADS_INSTANT_TV,
6228 
6229 	},{
6230 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6231 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6232 		.subvendor    = 0x4e42,		/* Typhoon */
6233 		.subdevice    = 0x0502,		/* LifeView LR502 OEM */
6234 		.driver_data  = SAA7134_BOARD_FLYDVBT_DUO_CARDBUS,
6235 	},{
6236 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6237 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6238 		.subvendor    = 0x1043,
6239 		.subdevice    = 0x0210,		/* mini pci NTSC version */
6240 		.driver_data  = SAA7134_BOARD_FLYTV_DIGIMATRIX,
6241 	},{
6242 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6243 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6244 		.subvendor    = 0x1043,
6245 		.subdevice    = 0x0210,		/* mini pci PAL/SECAM version */
6246 		.driver_data  = SAA7134_BOARD_ASUSTEK_DIGIMATRIX_TV,
6247 
6248 	},{
6249 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6250 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6251 		.subvendor    = 0x0000, /* It shouldn't break anything, since subdevice id seems unique */
6252 		.subdevice    = 0x4091,
6253 		.driver_data  = SAA7134_BOARD_BEHOLD_409FM,
6254 	},{
6255 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6256 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6257 		.subvendor    = 0x5456, /* GoTView */
6258 		.subdevice    = 0x7135,
6259 		.driver_data  = SAA7134_BOARD_GOTVIEW_7135,
6260 	},{
6261 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6262 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6263 		.subvendor    = PCI_VENDOR_ID_PHILIPS,
6264 		.subdevice    = 0x2004,
6265 		.driver_data  = SAA7134_BOARD_PHILIPS_EUROPA,
6266 	},{
6267 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6268 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6269 		.subvendor    = 0x185b,
6270 		.subdevice    = 0xc900,
6271 		.driver_data  = SAA7134_BOARD_VIDEOMATE_DVBT_300,
6272 	},{
6273 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6274 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6275 		.subvendor    = 0x185b,
6276 		.subdevice    = 0xc901,
6277 		.driver_data  = SAA7134_BOARD_VIDEOMATE_DVBT_200,
6278 	},{
6279 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6280 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6281 		.subvendor    = 0x1435,
6282 		.subdevice    = 0x7350,
6283 		.driver_data  = SAA7134_BOARD_RTD_VFG7350,
6284 	},{
6285 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6286 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6287 		.subvendor    = 0x1435,
6288 		.subdevice    = 0x7330,
6289 		.driver_data  = SAA7134_BOARD_RTD_VFG7330,
6290 	},{
6291 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6292 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6293 		.subvendor    = 0x1461,
6294 		.subdevice    = 0x1044,
6295 		.driver_data  = SAA7134_BOARD_AVERMEDIA_AVERTVHD_A180,
6296 	},{
6297 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6298 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6299 		.subvendor    = 0x1131,
6300 		.subdevice    = 0x4ee9,
6301 		.driver_data  = SAA7134_BOARD_MONSTERTV_MOBILE,
6302 	},{
6303 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6304 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6305 		.subvendor    = 0x11bd,
6306 		.subdevice    = 0x002e,
6307 		.driver_data  = SAA7134_BOARD_PINNACLE_PCTV_110i,
6308 	},{
6309 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6310 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6311 		.subvendor    = 0x1043,
6312 		.subdevice    = 0x4862,
6313 		.driver_data  = SAA7134_BOARD_ASUSTeK_P7131_DUAL,
6314 	},{
6315 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6316 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6317 		.subvendor    = PCI_VENDOR_ID_PHILIPS,
6318 		.subdevice    = 0x2018,
6319 		.driver_data  = SAA7134_BOARD_PHILIPS_TIGER,
6320 	},{
6321 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6322 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6323 		.subvendor    = 0x1462,
6324 		.subdevice    = 0x6231, /* tda8275a, ks003 IR */
6325 		.driver_data  = SAA7134_BOARD_MSI_TVATANYWHERE_PLUS,
6326 	},{
6327 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6328 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6329 		.subvendor    = 0x1462,
6330 		.subdevice    = 0x8624, /* tda8275, ks003 IR */
6331 		.driver_data  = SAA7134_BOARD_MSI_TVATANYWHERE_PLUS,
6332 	},{
6333 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6334 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6335 		.subvendor    = 0x153b,
6336 		.subdevice    = 0x1160,
6337 		.driver_data  = SAA7134_BOARD_CINERGY250PCI,
6338 	},{
6339 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6340 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,	/* SAA 7131E */
6341 		.subvendor    = 0x5168,
6342 		.subdevice    = 0x0319,
6343 		.driver_data  = SAA7134_BOARD_FLYDVB_TRIO,
6344 	},{
6345 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6346 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6347 		.subvendor    = 0x1461,
6348 		.subdevice    = 0x2c05,
6349 		.driver_data  = SAA7134_BOARD_AVERMEDIA_777,
6350 	},{
6351 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6352 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6353 		.subvendor    = 0x5168,
6354 		.subdevice    = 0x0301,
6355 		.driver_data  = SAA7134_BOARD_FLYDVBT_LR301,
6356 	},{
6357 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6358 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6359 		.subvendor    = 0x0331,
6360 		.subdevice    = 0x1421,
6361 		.driver_data  = SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331,
6362 	},{
6363 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6364 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6365 		.subvendor    = 0x17de,
6366 		.subdevice    = 0x7201,
6367 		.driver_data  = SAA7134_BOARD_TEVION_DVBT_220RF,
6368 	},{
6369 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6370 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6371 		.subvendor    = 0x17de,
6372 		.subdevice    = 0x7250,
6373 		.driver_data  = SAA7134_BOARD_KWORLD_DVBT_210,
6374 	},{
6375 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6376 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133, /* SAA7135HL */
6377 		.subvendor    = 0x17de,
6378 		.subdevice    = 0x7350,
6379 		.driver_data  = SAA7134_BOARD_KWORLD_ATSC110,
6380 	},{
6381 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6382 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133, /* SAA7135HL */
6383 		.subvendor    = 0x17de,
6384 		.subdevice    = 0x7352,
6385 		.driver_data  = SAA7134_BOARD_KWORLD_ATSC110, /* ATSC 115 */
6386 	},{
6387 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6388 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133, /* SAA7135HL */
6389 		.subvendor    = 0x17de,
6390 		.subdevice    = 0xa134,
6391 		.driver_data  = SAA7134_BOARD_KWORLD_PC150U,
6392 	}, {
6393 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6394 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6395 		.subvendor    = 0x1461,
6396 		.subdevice    = 0x7360,
6397 		.driver_data  = SAA7134_BOARD_AVERMEDIA_A169_B,
6398 	},{
6399 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6400 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6401 		.subvendor    = 0x1461,
6402 		.subdevice    = 0x6360,
6403 		.driver_data  = SAA7134_BOARD_AVERMEDIA_A169_B1,
6404 	},{
6405 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6406 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6407 		.subvendor    = 0x16be,
6408 		.subdevice    = 0x0005,
6409 		.driver_data  = SAA7134_BOARD_MD7134_BRIDGE_2,
6410 	},{
6411 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6412 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6413 		.subvendor    = 0x5168,
6414 		.subdevice    = 0x0300,
6415 		.driver_data  = SAA7134_BOARD_FLYDVBS_LR300,
6416 	},{
6417 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6418 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6419 		.subvendor    = 0x4e42,
6420 		.subdevice    = 0x0300,/* LR300 */
6421 		.driver_data  = SAA7134_BOARD_FLYDVBS_LR300,
6422 	},{
6423 		.vendor = PCI_VENDOR_ID_PHILIPS,
6424 		.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
6425 		.subvendor = 0x1489,
6426 		.subdevice = 0x0301,
6427 		.driver_data = SAA7134_BOARD_FLYDVBT_LR301,
6428 	},{
6429 		.vendor = PCI_VENDOR_ID_PHILIPS,
6430 		.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
6431 		.subvendor = 0x5168, /* Animation Technologies (LifeView) */
6432 		.subdevice = 0x0304,
6433 		.driver_data = SAA7134_BOARD_FLYTVPLATINUM_FM,
6434 	},{
6435 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6436 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6437 		.subvendor    = 0x5168,
6438 		.subdevice    = 0x3306,
6439 		.driver_data  = SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS,
6440 	},{
6441 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6442 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6443 		.subvendor    = 0x5168,
6444 		.subdevice    = 0x3502,  /* what's the difference to 0x3306 ?*/
6445 		.driver_data  = SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS,
6446 	},{
6447 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6448 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6449 		.subvendor    = 0x5168,
6450 		.subdevice    = 0x3307, /* FlyDVB-T Hybrid Mini PCI */
6451 		.driver_data  = SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS,
6452 	}, {
6453 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6454 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6455 		.subvendor    = 0x16be,
6456 		.subdevice    = 0x0007,
6457 		.driver_data  = SAA7134_BOARD_MEDION_MD8800_QUADRO,
6458 	},{
6459 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6460 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6461 		.subvendor    = 0x16be,
6462 		.subdevice    = 0x0008,
6463 		.driver_data  = SAA7134_BOARD_MEDION_MD8800_QUADRO,
6464 	},{
6465 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6466 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6467 		.subvendor    = 0x16be,
6468 		.subdevice    = 0x000d, /* triple CTX948_V1.1.1 */
6469 		.driver_data  = SAA7134_BOARD_MEDION_MD8800_QUADRO,
6470 	}, {
6471 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6472 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6473 		.subvendor    = 0x1461,
6474 		.subdevice    = 0x2c05,
6475 		.driver_data  = SAA7134_BOARD_AVERMEDIA_777,
6476 	},{
6477 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6478 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6479 		.subvendor    = 0x1489,
6480 		.subdevice    = 0x0502,                /* Cardbus version */
6481 		.driver_data  = SAA7134_BOARD_FLYDVBT_DUO_CARDBUS,
6482 	},{
6483 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6484 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6485 		.subvendor    = 0x0919, /* Philips Proteus PRO 2309 */
6486 		.subdevice    = 0x2003,
6487 		.driver_data  = SAA7134_BOARD_PROTEUS_2309,
6488 	},{
6489 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6490 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6491 		.subvendor    = 0x1461,
6492 		.subdevice    = 0x2c00,
6493 		.driver_data  = SAA7134_BOARD_AVERMEDIA_A16AR,
6494 	},{
6495 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6496 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6497 		.subvendor    = 0x1043,
6498 		.subdevice    = 0x4860,
6499 		.driver_data  = SAA7134_BOARD_ASUS_EUROPA2_HYBRID,
6500 	},{
6501 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6502 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6503 		.subvendor    = 0x11bd,
6504 		.subdevice    = 0x002f,
6505 		.driver_data  = SAA7134_BOARD_PINNACLE_PCTV_310i,
6506 	},{
6507 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6508 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6509 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6510 		.subdevice    = 0x9715,
6511 		.driver_data  = SAA7134_BOARD_AVERMEDIA_STUDIO_507,
6512 	},{
6513 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6514 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6515 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6516 		.subdevice    = 0xa11b,
6517 		.driver_data  = SAA7134_BOARD_AVERMEDIA_STUDIO_507UA,
6518 	}, {
6519 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6520 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6521 		.subvendor    = 0x1043,
6522 		.subdevice    = 0x4876,
6523 		.driver_data  = SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA,
6524 	},{
6525 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6526 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6527 		.subvendor    = 0x0070,
6528 		.subdevice    = 0x6700,
6529 		.driver_data  = SAA7134_BOARD_HAUPPAUGE_HVR1110,
6530 	},{
6531 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6532 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6533 		.subvendor    = 0x0070,
6534 		.subdevice    = 0x6701,
6535 		.driver_data  = SAA7134_BOARD_HAUPPAUGE_HVR1110,
6536 	},{
6537 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6538 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6539 		.subvendor    = 0x0070,
6540 		.subdevice    = 0x6702,
6541 		.driver_data  = SAA7134_BOARD_HAUPPAUGE_HVR1110,
6542 	},{
6543 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6544 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6545 		.subvendor    = 0x0070,
6546 		.subdevice    = 0x6703,
6547 		.driver_data  = SAA7134_BOARD_HAUPPAUGE_HVR1110,
6548 	},{
6549 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6550 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6551 		.subvendor    = 0x0070,
6552 		.subdevice    = 0x6704,
6553 		.driver_data  = SAA7134_BOARD_HAUPPAUGE_HVR1110,
6554 	},{
6555 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6556 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6557 		.subvendor    = 0x0070,
6558 		.subdevice    = 0x6705,
6559 		.driver_data  = SAA7134_BOARD_HAUPPAUGE_HVR1110,
6560 	},{
6561 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6562 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6563 		.subvendor    = 0x0070,
6564 		.subdevice    = 0x6706,
6565 		.driver_data  = SAA7134_BOARD_HAUPPAUGE_HVR1150,
6566 	},{
6567 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6568 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6569 		.subvendor    = 0x0070,
6570 		.subdevice    = 0x6707,
6571 		.driver_data  = SAA7134_BOARD_HAUPPAUGE_HVR1120,
6572 	},{
6573 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6574 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6575 		.subvendor    = 0x0070,
6576 		.subdevice    = 0x6708,
6577 		.driver_data  = SAA7134_BOARD_HAUPPAUGE_HVR1150,
6578 	},{
6579 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6580 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6581 		.subvendor    = 0x0070,
6582 		.subdevice    = 0x6709,
6583 		.driver_data  = SAA7134_BOARD_HAUPPAUGE_HVR1120,
6584 	},{
6585 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6586 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6587 		.subvendor    = 0x0070,
6588 		.subdevice    = 0x670a,
6589 		.driver_data  = SAA7134_BOARD_HAUPPAUGE_HVR1120,
6590 	},{
6591 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6592 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6593 		.subvendor    = 0x153b,
6594 		.subdevice    = 0x1172,
6595 		.driver_data  = SAA7134_BOARD_CINERGY_HT_PCMCIA,
6596 	},{
6597 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6598 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6599 		.subvendor    = PCI_VENDOR_ID_PHILIPS,
6600 		.subdevice    = 0x2342,
6601 		.driver_data  = SAA7134_BOARD_ENCORE_ENLTV,
6602 	},{
6603 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6604 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6605 		.subvendor    = 0x1131,
6606 		.subdevice    = 0x2341,
6607 		.driver_data  = SAA7134_BOARD_ENCORE_ENLTV,
6608 	},{
6609 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6610 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6611 		.subvendor    = 0x3016,
6612 		.subdevice    = 0x2344,
6613 		.driver_data  = SAA7134_BOARD_ENCORE_ENLTV,
6614 	},{
6615 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6616 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6617 		.subvendor    = 0x1131,
6618 		.subdevice    = 0x230f,
6619 		.driver_data  = SAA7134_BOARD_ENCORE_ENLTV_FM,
6620 	},{
6621 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6622 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6623 		.subvendor    = 0x1a7f,
6624 		.subdevice    = 0x2008,
6625 		.driver_data  = SAA7134_BOARD_ENCORE_ENLTV_FM53,
6626 	}, {
6627 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6628 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6629 		.subvendor    = 0x1a7f,
6630 		.subdevice    = 0x2108,
6631 		.driver_data  = SAA7134_BOARD_ENCORE_ENLTV_FM3,
6632 	}, {
6633 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6634 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6635 		.subvendor    = 0x153b,
6636 		.subdevice    = 0x1175,
6637 		.driver_data  = SAA7134_BOARD_CINERGY_HT_PCI,
6638 	},{
6639 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6640 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6641 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6642 		.subdevice    = 0xf31e,
6643 		.driver_data  = SAA7134_BOARD_AVERMEDIA_M102,
6644 	},{
6645 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6646 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6647 		.subvendor    = 0x4E42,         /* MSI */
6648 		.subdevice    = 0x0306,         /* TV@nywhere DUO */
6649 		.driver_data  = SAA7134_BOARD_FLYDVBTDUO,
6650 	},{
6651 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6652 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6653 		.subvendor    = 0x1043,
6654 		.subdevice    = 0x4871,
6655 		.driver_data  = SAA7134_BOARD_ASUS_P7131_4871,
6656 	},{
6657 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6658 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6659 		.subvendor    = 0x1043,
6660 		.subdevice    = 0x4857,		/* REV:1.00 */
6661 		.driver_data  = SAA7134_BOARD_ASUSTeK_TIGER,
6662 	},{
6663 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6664 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6665 		.subvendor    = 0x0919, /* SinoVideo PCI 2309 Proteus (7134) */
6666 		.subdevice    = 0x2003, /* OEM cardbus */
6667 		.driver_data  = SAA7134_BOARD_SABRENT_TV_PCB05,
6668 	},{
6669 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6670 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6671 		.subvendor    = PCI_VENDOR_ID_PHILIPS,
6672 		.subdevice    = 0x2304,
6673 		.driver_data  = SAA7134_BOARD_10MOONSTVMASTER3,
6674 	},{
6675 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6676 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6677 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6678 		.subdevice    = 0xf01d, /* AVerTV DVB-T Super 007 */
6679 		.driver_data  = SAA7134_BOARD_AVERMEDIA_SUPER_007,
6680 	},{
6681 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6682 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6683 		.subvendor    = 0x0000,
6684 		.subdevice    = 0x4016,
6685 		.driver_data  = SAA7134_BOARD_BEHOLD_401,
6686 	},{
6687 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6688 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6689 		.subvendor    = 0x0000,
6690 		.subdevice    = 0x4036,
6691 		.driver_data  = SAA7134_BOARD_BEHOLD_403,
6692 	},{
6693 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6694 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6695 		.subvendor    = 0x0000,
6696 		.subdevice    = 0x4037,
6697 		.driver_data  = SAA7134_BOARD_BEHOLD_403FM,
6698 	},{
6699 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6700 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6701 		.subvendor    = 0x0000,
6702 		.subdevice    = 0x4050,
6703 		.driver_data  = SAA7134_BOARD_BEHOLD_405,
6704 	},{
6705 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6706 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6707 		.subvendor    = 0x0000,
6708 		.subdevice    = 0x4051,
6709 		.driver_data  = SAA7134_BOARD_BEHOLD_405FM,
6710 	},{
6711 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6712 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6713 		.subvendor    = 0x0000,
6714 		.subdevice    = 0x4070,
6715 		.driver_data  = SAA7134_BOARD_BEHOLD_407,
6716 	},{
6717 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6718 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6719 		.subvendor    = 0x0000,
6720 		.subdevice    = 0x4071,
6721 		.driver_data  = SAA7134_BOARD_BEHOLD_407FM,
6722 	},{
6723 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6724 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6725 		.subvendor    = 0x0000,
6726 		.subdevice    = 0x4090,
6727 		.driver_data  = SAA7134_BOARD_BEHOLD_409,
6728 	},{
6729 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6730 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6731 		.subvendor    = 0x0000,
6732 		.subdevice    = 0x505B,
6733 		.driver_data  = SAA7134_BOARD_BEHOLD_505RDS_MK5,
6734 	}, {
6735 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6736 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6737 		.subvendor    = 0x0000,
6738 		.subdevice    = 0x5051,
6739 		.driver_data  = SAA7134_BOARD_BEHOLD_505RDS_MK3,
6740 	},{
6741 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6742 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6743 		.subvendor    = 0x5ace,
6744 		.subdevice    = 0x5050,
6745 		.driver_data  = SAA7134_BOARD_BEHOLD_505FM,
6746 	},{
6747 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6748 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6749 		.subvendor    = 0x0000,
6750 		.subdevice    = 0x5071,
6751 		.driver_data  = SAA7134_BOARD_BEHOLD_507RDS_MK3,
6752 	},{
6753 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6754 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6755 		.subvendor    = 0x0000,
6756 		.subdevice    = 0x507B,
6757 		.driver_data  = SAA7134_BOARD_BEHOLD_507RDS_MK5,
6758 	},{
6759 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6760 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6761 		.subvendor    = 0x5ace,
6762 		.subdevice    = 0x5070,
6763 		.driver_data  = SAA7134_BOARD_BEHOLD_507_9FM,
6764 	},{
6765 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6766 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6767 		.subvendor    = 0x5ace,
6768 		.subdevice    = 0x5090,
6769 		.driver_data  = SAA7134_BOARD_BEHOLD_507_9FM,
6770 	},{
6771 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6772 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6773 		.subvendor    = 0x0000,
6774 		.subdevice    = 0x5201,
6775 		.driver_data  = SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM,
6776 	},{
6777 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6778 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6779 		.subvendor    = 0x5ace,
6780 		.subdevice    = 0x6070,
6781 		.driver_data  = SAA7134_BOARD_BEHOLD_607FM_MK3,
6782 	},{
6783 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6784 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6785 		.subvendor    = 0x5ace,
6786 		.subdevice    = 0x6071,
6787 		.driver_data  = SAA7134_BOARD_BEHOLD_607FM_MK5,
6788 	},{
6789 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6790 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6791 		.subvendor    = 0x5ace,
6792 		.subdevice    = 0x6072,
6793 		.driver_data  = SAA7134_BOARD_BEHOLD_607RDS_MK3,
6794 	},{
6795 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6796 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6797 		.subvendor    = 0x5ace,
6798 		.subdevice    = 0x6073,
6799 		.driver_data  = SAA7134_BOARD_BEHOLD_607RDS_MK5,
6800 	},{
6801 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6802 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6803 		.subvendor    = 0x5ace,
6804 		.subdevice    = 0x6090,
6805 		.driver_data  = SAA7134_BOARD_BEHOLD_609FM_MK3,
6806 	},{
6807 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6808 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6809 		.subvendor    = 0x5ace,
6810 		.subdevice    = 0x6091,
6811 		.driver_data  = SAA7134_BOARD_BEHOLD_609FM_MK5,
6812 	},{
6813 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6814 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6815 		.subvendor    = 0x5ace,
6816 		.subdevice    = 0x6092,
6817 		.driver_data  = SAA7134_BOARD_BEHOLD_609RDS_MK3,
6818 	},{
6819 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6820 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6821 		.subvendor    = 0x5ace,
6822 		.subdevice    = 0x6093,
6823 		.driver_data  = SAA7134_BOARD_BEHOLD_609RDS_MK5,
6824 	},{
6825 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6826 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6827 		.subvendor    = 0x5ace,
6828 		.subdevice    = 0x6190,
6829 		.driver_data  = SAA7134_BOARD_BEHOLD_M6,
6830 	},{
6831 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6832 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6833 		.subvendor    = 0x5ace,
6834 		.subdevice    = 0x6193,
6835 		.driver_data  = SAA7134_BOARD_BEHOLD_M6_EXTRA,
6836 	}, {
6837 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6838 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6839 		.subvendor    = 0x5ace,
6840 		.subdevice    = 0x6191,
6841 		.driver_data  = SAA7134_BOARD_BEHOLD_M63,
6842 	},{
6843 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6844 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6845 		.subvendor    = 0x4e42,
6846 		.subdevice    = 0x3502,
6847 		.driver_data  = SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS,
6848 	}, {
6849 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6850 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6851 		.subvendor    = 0x1822, /*Twinhan Technology Co. Ltd*/
6852 		.subdevice    = 0x0022,
6853 		.driver_data  = SAA7134_BOARD_TWINHAN_DTV_DVB_3056,
6854 	}, {
6855 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6856 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6857 		.subvendor    = 0x16be,
6858 		.subdevice    = 0x0010, /* Medion version CTX953_V.1.4.3 */
6859 		.driver_data  = SAA7134_BOARD_CREATIX_CTX953,
6860 	}, {
6861 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6862 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6863 		.subvendor    = 0x1462, /* MSI */
6864 		.subdevice    = 0x8625, /* TV@nywhere A/D v1.1 */
6865 		.driver_data  = SAA7134_BOARD_MSI_TVANYWHERE_AD11,
6866 	},{
6867 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6868 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6869 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6870 		.subdevice    = 0xf436,
6871 		.driver_data  = SAA7134_BOARD_AVERMEDIA_CARDBUS_506,
6872 	}, {
6873 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6874 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6875 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6876 		.subdevice    = 0xf936,
6877 		.driver_data  = SAA7134_BOARD_AVERMEDIA_A16D,
6878 	}, {
6879 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6880 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6881 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6882 		.subdevice    = 0xa836,
6883 		.driver_data  = SAA7134_BOARD_AVERMEDIA_M115,
6884 	}, {
6885 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6886 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6887 		.subvendor    = 0x185b,
6888 		.subdevice    = 0xc900,
6889 		.driver_data  = SAA7134_BOARD_VIDEOMATE_T750,
6890 	}, {
6891 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6892 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133, /* SAA7135HL */
6893 		.subvendor    = 0x1421,
6894 		.subdevice    = 0x0380,
6895 		.driver_data  = SAA7134_BOARD_ADS_INSTANT_HDTV_PCI,
6896 	}, {
6897 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6898 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6899 		.subvendor    = 0x5169,
6900 		.subdevice    = 0x1502,
6901 		.driver_data  = SAA7134_BOARD_FLYTVPLATINUM_MINI,
6902 	}, {
6903 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6904 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6905 		.subvendor    = 0x5ace,
6906 		.subdevice    = 0x6290,
6907 		.driver_data  = SAA7134_BOARD_BEHOLD_H6,
6908 	}, {
6909 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6910 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6911 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6912 		.subdevice    = 0xf636,
6913 		.driver_data  = SAA7134_BOARD_AVERMEDIA_M103,
6914 	}, {
6915 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6916 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6917 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6918 		.subdevice    = 0xf736,
6919 		.driver_data  = SAA7134_BOARD_AVERMEDIA_M103,
6920 	}, {
6921 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6922 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6923 		.subvendor    = 0x1043,
6924 		.subdevice    = 0x4878, /* REV:1.02G */
6925 		.driver_data  = SAA7134_BOARD_ASUSTeK_TIGER_3IN1,
6926 	}, {
6927 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6928 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6929 		.subvendor    = 0x1043,
6930 		.subdevice    = 0x48cd,
6931 		.driver_data  = SAA7134_BOARD_ASUSTeK_PS3_100,
6932 	}, {
6933 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6934 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6935 		.subvendor    = 0x17de,
6936 		.subdevice    = 0x7128,
6937 		.driver_data  = SAA7134_BOARD_KWORLD_PLUS_TV_ANALOG,
6938 	}, {
6939 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6940 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6941 		.subvendor    = 0x17de,
6942 		.subdevice    = 0xb136,
6943 		.driver_data  = SAA7134_BOARD_KWORLD_PCI_SBTVD_FULLSEG,
6944 	}, {
6945 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6946 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6947 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6948 		.subdevice    = 0xf31d,
6949 		.driver_data  = SAA7134_BOARD_AVERMEDIA_GO_007_FM_PLUS,
6950 	}, {
6951 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6952 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6953 		.subvendor    = 0x185b,
6954 		.subdevice    = 0xc900,
6955 		.driver_data  = SAA7134_BOARD_VIDEOMATE_S350,
6956 	}, {
6957 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6958 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6959 		.subvendor    = 0x5ace, /* Beholder Intl. Ltd. */
6960 		.subdevice    = 0x7595,
6961 		.driver_data  = SAA7134_BOARD_BEHOLD_X7,
6962 	}, {
6963 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6964 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6965 		.subvendor    = 0x19d1, /* RoverMedia */
6966 		.subdevice    = 0x0138, /* LifeView FlyTV Prime30 OEM */
6967 		.driver_data  = SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM,
6968 	}, {
6969 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6970 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6971 		.subvendor    = PCI_VENDOR_ID_PHILIPS,
6972 		.subdevice    = 0x2004,
6973 		.driver_data  = SAA7134_BOARD_ZOLID_HYBRID_PCI,
6974 	}, {
6975 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6976 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6977 		.subvendor    = 0x1043,
6978 		.subdevice    = 0x4847,
6979 		.driver_data  = SAA7134_BOARD_ASUS_EUROPA_HYBRID,
6980 	}, {
6981 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6982 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6983 		.subvendor    = 0x107d,
6984 		.subdevice    = 0x6655,
6985 		.driver_data  = SAA7134_BOARD_LEADTEK_WINFAST_DTV1000S,
6986 	}, {
6987 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6988 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6989 		.subvendor    = 0x13c2,
6990 		.subdevice    = 0x2804,
6991 		.driver_data  = SAA7134_BOARD_TECHNOTREND_BUDGET_T3000,
6992 	}, {
6993 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6994 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6995 		.subvendor    = 0x5ace, /* Beholder Intl. Ltd. */
6996 		.subdevice    = 0x7190,
6997 		.driver_data  = SAA7134_BOARD_BEHOLD_H7,
6998 	}, {
6999 		.vendor       = PCI_VENDOR_ID_PHILIPS,
7000 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
7001 		.subvendor    = 0x5ace, /* Beholder Intl. Ltd. */
7002 		.subdevice    = 0x7090,
7003 		.driver_data  = SAA7134_BOARD_BEHOLD_A7,
7004 	}, {
7005 		.vendor       = PCI_VENDOR_ID_PHILIPS,
7006 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7135,
7007 		.subvendor    = 0x185b,
7008 		.subdevice    = 0xc900,
7009 		.driver_data  = SAA7134_BOARD_VIDEOMATE_M1F,
7010 	}, {
7011 		.vendor       = PCI_VENDOR_ID_PHILIPS,
7012 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
7013 		.subvendor    = 0x5ace,
7014 		.subdevice    = 0x5030,
7015 		.driver_data  = SAA7134_BOARD_BEHOLD_503FM,
7016 	}, {
7017 		.vendor       = PCI_VENDOR_ID_PHILIPS,
7018 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
7019 		.subvendor    = 0x5ace,
7020 		.subdevice    = 0x5010,
7021 		.driver_data  = SAA7134_BOARD_BEHOLD_501,
7022 	}, {
7023 		.vendor       = PCI_VENDOR_ID_PHILIPS,
7024 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
7025 		.subvendor    = 0x17de,
7026 		.subdevice    = 0xd136,
7027 		.driver_data  = SAA7134_BOARD_MAGICPRO_PROHDTV_PRO2,
7028 	}, {
7029 		.vendor       = PCI_VENDOR_ID_PHILIPS,
7030 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
7031 		.subvendor    = 0x6000,
7032 		.subdevice    = 0x0811,
7033 		.driver_data  = SAA7134_BOARD_SENSORAY811_911,
7034 	}, {
7035 		.vendor       = PCI_VENDOR_ID_PHILIPS,
7036 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
7037 		.subvendor    = 0x6000,
7038 		.subdevice    = 0x0911,
7039 		.driver_data  = SAA7134_BOARD_SENSORAY811_911,
7040 	}, {
7041 		.vendor       = PCI_VENDOR_ID_PHILIPS,
7042 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
7043 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
7044 		.subdevice    = 0x2055, /* AverTV Satellite Hybrid+FM A706 */
7045 		.driver_data  = SAA7134_BOARD_AVERMEDIA_A706,
7046 	}, {
7047 		.vendor       = PCI_VENDOR_ID_PHILIPS,
7048 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
7049 		.subvendor    = 0x1905, /* WIS */
7050 		.subdevice    = 0x7007,
7051 		.driver_data  = SAA7134_BOARD_WIS_VOYAGER,
7052 	}, {
7053 		.vendor       = PCI_VENDOR_ID_PHILIPS,
7054 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
7055 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
7056 		.subdevice    = 0xa10a,
7057 		.driver_data  = SAA7134_BOARD_AVERMEDIA_505,
7058 	}, {
7059 		.vendor       = PCI_VENDOR_ID_PHILIPS,
7060 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
7061 		.subvendor    = 0x107d,
7062 		.subdevice    = 0x6f3a,
7063 		.driver_data  = SAA7134_BOARD_LEADTEK_WINFAST_TV2100_FM,
7064 	}, {
7065 		.vendor       = PCI_VENDOR_ID_PHILIPS,
7066 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
7067 		.subvendor    = 0x1779, /* V One Multimedia PTE Ltd */
7068 		.subdevice    = 0x13cf,
7069 		.driver_data  = SAA7134_BOARD_SNAZIO_TVPVR_PRO,
7070 	}, {
7071 		.vendor       = PCI_VENDOR_ID_PHILIPS,
7072 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
7073 		.subvendor    = 0x107d,
7074 		.subdevice    = 0x6f2e,
7075 		.driver_data  = SAA7134_BOARD_LEADTEK_WINFAST_HDTV200_H,
7076 	}, {
7077 		/* --- boards without eeprom + subsystem ID --- */
7078 		.vendor       = PCI_VENDOR_ID_PHILIPS,
7079 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
7080 		.subvendor    = PCI_VENDOR_ID_PHILIPS,
7081 		.subdevice    = 0,
7082 		.driver_data  = SAA7134_BOARD_NOAUTO,
7083 	},{
7084 		.vendor       = PCI_VENDOR_ID_PHILIPS,
7085 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
7086 		.subvendor    = PCI_VENDOR_ID_PHILIPS,
7087 		.subdevice    = 0,
7088 		.driver_data  = SAA7134_BOARD_NOAUTO,
7089 	},{
7090 		/* --- default catch --- */
7091 		.vendor       = PCI_VENDOR_ID_PHILIPS,
7092 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
7093 		.subvendor    = PCI_ANY_ID,
7094 		.subdevice    = PCI_ANY_ID,
7095 		.driver_data  = SAA7134_BOARD_UNKNOWN,
7096 	},{
7097 		.vendor       = PCI_VENDOR_ID_PHILIPS,
7098 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
7099 		.subvendor    = PCI_ANY_ID,
7100 		.subdevice    = PCI_ANY_ID,
7101 		.driver_data  = SAA7134_BOARD_UNKNOWN,
7102 	},{
7103 		.vendor       = PCI_VENDOR_ID_PHILIPS,
7104 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
7105 		.subvendor    = PCI_ANY_ID,
7106 		.subdevice    = PCI_ANY_ID,
7107 		.driver_data  = SAA7134_BOARD_UNKNOWN,
7108 	},{
7109 		.vendor       = PCI_VENDOR_ID_PHILIPS,
7110 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7135,
7111 		.subvendor    = PCI_ANY_ID,
7112 		.subdevice    = PCI_ANY_ID,
7113 		.driver_data  = SAA7134_BOARD_UNKNOWN,
7114 	},{
7115 		/* --- end of list --- */
7116 	}
7117 };
7118 MODULE_DEVICE_TABLE(pci, saa7134_pci_tbl);
7119 
7120 /* ----------------------------------------------------------- */
7121 /* flyvideo tweaks                                             */
7122 
7123 
board_flyvideo(struct saa7134_dev * dev)7124 static void board_flyvideo(struct saa7134_dev *dev)
7125 {
7126 	pr_warn("%s: there are different flyvideo cards with different tuners\n"
7127 		"%s: out there, you might have to use the tuner=<nr> insmod\n"
7128 		"%s: option to override the default value.\n",
7129 		dev->name, dev->name, dev->name);
7130 }
7131 
saa7134_xc2028_callback(struct saa7134_dev * dev,int command,int arg)7132 static int saa7134_xc2028_callback(struct saa7134_dev *dev,
7133 				   int command, int arg)
7134 {
7135 	switch (command) {
7136 	case XC2028_TUNER_RESET:
7137 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00008000, 0x00000000);
7138 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00008000, 0x00008000);
7139 		switch (dev->board) {
7140 		case SAA7134_BOARD_AVERMEDIA_CARDBUS_506:
7141 		case SAA7134_BOARD_AVERMEDIA_M103:
7142 			saa7134_set_gpio(dev, 23, 0);
7143 			msleep(10);
7144 			saa7134_set_gpio(dev, 23, 1);
7145 		break;
7146 		case SAA7134_BOARD_AVERMEDIA_A16D:
7147 			saa7134_set_gpio(dev, 21, 0);
7148 			msleep(10);
7149 			saa7134_set_gpio(dev, 21, 1);
7150 		break;
7151 		case SAA7134_BOARD_AVERMEDIA_A700_HYBRID:
7152 			saa7134_set_gpio(dev, 18, 0);
7153 			msleep(10);
7154 			saa7134_set_gpio(dev, 18, 1);
7155 		break;
7156 		case SAA7134_BOARD_VIDEOMATE_T750:
7157 			saa7134_set_gpio(dev, 20, 0);
7158 			msleep(10);
7159 			saa7134_set_gpio(dev, 20, 1);
7160 		break;
7161 		}
7162 		return 0;
7163 	}
7164 	return -EINVAL;
7165 }
7166 
saa7134_xc5000_callback(struct saa7134_dev * dev,int command,int arg)7167 static int saa7134_xc5000_callback(struct saa7134_dev *dev,
7168 				   int command, int arg)
7169 {
7170 	switch (dev->board) {
7171 	case SAA7134_BOARD_BEHOLD_X7:
7172 	case SAA7134_BOARD_BEHOLD_H7:
7173 	case SAA7134_BOARD_BEHOLD_A7:
7174 		if (command == XC5000_TUNER_RESET) {
7175 		/* Down and UP pheripherial RESET pin for reset all chips */
7176 			saa_writeb(SAA7134_SPECIAL_MODE, 0x00);
7177 			msleep(10);
7178 			saa_writeb(SAA7134_SPECIAL_MODE, 0x01);
7179 			msleep(10);
7180 		}
7181 		break;
7182 	default:
7183 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x06e20000, 0x06e20000);
7184 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x06a20000, 0x06a20000);
7185 		saa_andorl(SAA7133_ANALOG_IO_SELECT >> 2, 0x02, 0x02);
7186 		saa_andorl(SAA7134_ANALOG_IN_CTRL1 >> 2, 0x81, 0x81);
7187 		saa_andorl(SAA7134_AUDIO_CLOCK0 >> 2, 0x03187de7, 0x03187de7);
7188 		saa_andorl(SAA7134_AUDIO_PLL_CTRL >> 2, 0x03, 0x03);
7189 		saa_andorl(SAA7134_AUDIO_CLOCKS_PER_FIELD0 >> 2,
7190 			   0x0001e000, 0x0001e000);
7191 		break;
7192 	}
7193 	return 0;
7194 }
7195 
saa7134_tda8290_827x_callback(struct saa7134_dev * dev,int command,int arg)7196 static int saa7134_tda8290_827x_callback(struct saa7134_dev *dev,
7197 					 int command, int arg)
7198 {
7199 	u8 sync_control;
7200 
7201 	switch (command) {
7202 	case 0: /* switch LNA gain through GPIO 22*/
7203 		saa7134_set_gpio(dev, 22, arg) ;
7204 		break;
7205 	case 1: /* vsync output at GPIO22. 50 / 60Hz */
7206 		saa_andorb(SAA7134_VIDEO_PORT_CTRL3, 0x80, 0x80);
7207 		saa_andorb(SAA7134_VIDEO_PORT_CTRL6, 0x0f, 0x03);
7208 		if (arg == 1)
7209 			sync_control = 11;
7210 		else
7211 			sync_control = 17;
7212 		saa_writeb(SAA7134_VGATE_START, sync_control);
7213 		saa_writeb(SAA7134_VGATE_STOP, sync_control + 1);
7214 		saa_andorb(SAA7134_MISC_VGATE_MSB, 0x03, 0x00);
7215 		break;
7216 	default:
7217 		return -EINVAL;
7218 	}
7219 
7220 	return 0;
7221 }
7222 
saa7134_tda18271_hvr11x0_toggle_agc(struct saa7134_dev * dev,enum tda18271_mode mode)7223 static inline int saa7134_tda18271_hvr11x0_toggle_agc(struct saa7134_dev *dev,
7224 						      enum tda18271_mode mode)
7225 {
7226 	/* toggle AGC switch through GPIO 26 */
7227 	switch (mode) {
7228 	case TDA18271_ANALOG:
7229 		saa7134_set_gpio(dev, 26, 0);
7230 		break;
7231 	case TDA18271_DIGITAL:
7232 		saa7134_set_gpio(dev, 26, 1);
7233 		break;
7234 	default:
7235 		return -EINVAL;
7236 	}
7237 	return 0;
7238 }
7239 
saa7134_kworld_sbtvd_toggle_agc(struct saa7134_dev * dev,enum tda18271_mode mode)7240 static inline int saa7134_kworld_sbtvd_toggle_agc(struct saa7134_dev *dev,
7241 						  enum tda18271_mode mode)
7242 {
7243 	/* toggle AGC switch through GPIO 27 */
7244 	switch (mode) {
7245 	case TDA18271_ANALOG:
7246 		saa_writel(SAA7134_GPIO_GPMODE0 >> 2, 0x4000);
7247 		saa_writel(SAA7134_GPIO_GPSTATUS0 >> 2, 0x4000);
7248 		msleep(20);
7249 		break;
7250 	case TDA18271_DIGITAL:
7251 		saa_writel(SAA7134_GPIO_GPMODE0 >> 2, 0x14000);
7252 		saa_writel(SAA7134_GPIO_GPSTATUS0 >> 2, 0x14000);
7253 		msleep(20);
7254 		saa_writel(SAA7134_GPIO_GPMODE0 >> 2, 0x54000);
7255 		saa_writel(SAA7134_GPIO_GPSTATUS0 >> 2, 0x54000);
7256 		msleep(30);
7257 		break;
7258 	default:
7259 		return -EINVAL;
7260 	}
7261 	return 0;
7262 }
7263 
saa7134_kworld_pc150u_toggle_agc(struct saa7134_dev * dev,enum tda18271_mode mode)7264 static int saa7134_kworld_pc150u_toggle_agc(struct saa7134_dev *dev,
7265 					    enum tda18271_mode mode)
7266 {
7267 	switch (mode) {
7268 	case TDA18271_ANALOG:
7269 		saa7134_set_gpio(dev, 18, 0);
7270 		break;
7271 	case TDA18271_DIGITAL:
7272 		saa7134_set_gpio(dev, 18, 1);
7273 		msleep(30);
7274 		break;
7275 	default:
7276 		return -EINVAL;
7277 	}
7278 	return 0;
7279 }
7280 
saa7134_leadtek_hdtv200h_toggle_agc(struct saa7134_dev * dev,enum tda18271_mode mode)7281 static int saa7134_leadtek_hdtv200h_toggle_agc(struct saa7134_dev *dev,
7282 					       enum tda18271_mode mode)
7283 {
7284 	switch (mode) {
7285 	case TDA18271_ANALOG:
7286 		saa7134_set_gpio(dev, 10, 0);
7287 		break;
7288 	case TDA18271_DIGITAL:
7289 		saa7134_set_gpio(dev, 10, 1);
7290 		break;
7291 	default:
7292 		return -EINVAL;
7293 	}
7294 	return 0;
7295 }
7296 
saa7134_tda8290_18271_callback(struct saa7134_dev * dev,int command,int arg)7297 static int saa7134_tda8290_18271_callback(struct saa7134_dev *dev,
7298 					  int command, int arg)
7299 {
7300 	int ret = 0;
7301 
7302 	switch (command) {
7303 	case TDA18271_CALLBACK_CMD_AGC_ENABLE: /* 0 */
7304 		switch (dev->board) {
7305 		case SAA7134_BOARD_HAUPPAUGE_HVR1150:
7306 		case SAA7134_BOARD_HAUPPAUGE_HVR1120:
7307 		case SAA7134_BOARD_MAGICPRO_PROHDTV_PRO2:
7308 			ret = saa7134_tda18271_hvr11x0_toggle_agc(dev, arg);
7309 			break;
7310 		case SAA7134_BOARD_KWORLD_PCI_SBTVD_FULLSEG:
7311 			ret = saa7134_kworld_sbtvd_toggle_agc(dev, arg);
7312 			break;
7313 		case SAA7134_BOARD_KWORLD_PC150U:
7314 			ret = saa7134_kworld_pc150u_toggle_agc(dev, arg);
7315 			break;
7316 		case SAA7134_BOARD_LEADTEK_WINFAST_HDTV200_H:
7317 			ret = saa7134_leadtek_hdtv200h_toggle_agc(dev, arg);
7318 			break;
7319 		default:
7320 			break;
7321 		}
7322 		break;
7323 	default:
7324 		ret = -EINVAL;
7325 		break;
7326 	}
7327 	return ret;
7328 }
7329 
saa7134_tda8290_callback(struct saa7134_dev * dev,int command,int arg)7330 static int saa7134_tda8290_callback(struct saa7134_dev *dev,
7331 				    int command, int arg)
7332 {
7333 	int ret;
7334 
7335 	switch (dev->board) {
7336 	case SAA7134_BOARD_HAUPPAUGE_HVR1150:
7337 	case SAA7134_BOARD_HAUPPAUGE_HVR1120:
7338 	case SAA7134_BOARD_AVERMEDIA_M733A:
7339 	case SAA7134_BOARD_KWORLD_PCI_SBTVD_FULLSEG:
7340 	case SAA7134_BOARD_KWORLD_PC150U:
7341 	case SAA7134_BOARD_MAGICPRO_PROHDTV_PRO2:
7342 	case SAA7134_BOARD_LEADTEK_WINFAST_HDTV200_H:
7343 		/* tda8290 + tda18271 */
7344 		ret = saa7134_tda8290_18271_callback(dev, command, arg);
7345 		break;
7346 	default:
7347 		/* tda8290 + tda827x */
7348 		ret = saa7134_tda8290_827x_callback(dev, command, arg);
7349 		break;
7350 	}
7351 	return ret;
7352 }
7353 
saa7134_tuner_callback(void * priv,int component,int command,int arg)7354 int saa7134_tuner_callback(void *priv, int component, int command, int arg)
7355 {
7356 	struct saa7134_dev *dev = priv;
7357 
7358 	if (dev != NULL) {
7359 		switch (dev->tuner_type) {
7360 		case TUNER_PHILIPS_TDA8290:
7361 			return saa7134_tda8290_callback(dev, command, arg);
7362 		case TUNER_XC2028:
7363 			return saa7134_xc2028_callback(dev, command, arg);
7364 		case TUNER_XC5000:
7365 			return saa7134_xc5000_callback(dev, command, arg);
7366 		}
7367 	} else {
7368 		pr_err("saa7134: Error - device struct undefined.\n");
7369 		return -EINVAL;
7370 	}
7371 	return -EINVAL;
7372 }
7373 EXPORT_SYMBOL(saa7134_tuner_callback);
7374 
7375 /* ----------------------------------------------------------- */
7376 
hauppauge_eeprom(struct saa7134_dev * dev,u8 * eeprom_data)7377 static void hauppauge_eeprom(struct saa7134_dev *dev, u8 *eeprom_data)
7378 {
7379 	struct tveeprom tv;
7380 
7381 	tveeprom_hauppauge_analog(&tv, eeprom_data);
7382 
7383 	/* Make sure we support the board model */
7384 	switch (tv.model) {
7385 	case 67019: /* WinTV-HVR1110 (Retail, IR Blaster, hybrid, FM, SVid/Comp, 3.5mm audio in) */
7386 	case 67109: /* WinTV-HVR1000 (Retail, IR Receive, analog, no FM, SVid/Comp, 3.5mm audio in) */
7387 	case 67201: /* WinTV-HVR1150 (Retail, IR Receive, hybrid, FM, SVid/Comp, 3.5mm audio in) */
7388 	case 67301: /* WinTV-HVR1000 (Retail, IR Receive, analog, no FM, SVid/Comp, 3.5mm audio in) */
7389 	case 67209: /* WinTV-HVR1110 (Retail, IR Receive, hybrid, FM, SVid/Comp, 3.5mm audio in) */
7390 	case 67559: /* WinTV-HVR1110 (OEM, no IR, hybrid, FM, SVid/Comp, RCA aud) */
7391 	case 67569: /* WinTV-HVR1110 (OEM, no IR, hybrid, FM) */
7392 	case 67579: /* WinTV-HVR1110 (OEM, no IR, hybrid, no FM) */
7393 	case 67589: /* WinTV-HVR1110 (OEM, no IR, hybrid, no FM, SVid/Comp, RCA aud) */
7394 	case 67599: /* WinTV-HVR1110 (OEM, no IR, hybrid, no FM, SVid/Comp, RCA aud) */
7395 	case 67651: /* WinTV-HVR1150 (OEM, no IR, hybrid, FM, SVid/Comp, RCA aud) */
7396 	case 67659: /* WinTV-HVR1110 (OEM, no IR, hybrid, FM, SVid/Comp, RCA aud) */
7397 		break;
7398 	default:
7399 		pr_warn("%s: warning: unknown hauppauge model #%d\n",
7400 			dev->name, tv.model);
7401 		break;
7402 	}
7403 
7404 	pr_info("%s: hauppauge eeprom: model=%d\n",
7405 	       dev->name, tv.model);
7406 }
7407 
7408 /* ----------------------------------------------------------- */
7409 
saa7134_board_init1(struct saa7134_dev * dev)7410 int saa7134_board_init1(struct saa7134_dev *dev)
7411 {
7412 	/* Always print gpio, often manufacturers encode tuner type and other info. */
7413 	saa_writel(SAA7134_GPIO_GPMODE0 >> 2, 0);
7414 	dev->gpio_value = saa_readl(SAA7134_GPIO_GPSTATUS0 >> 2);
7415 	pr_info("%s: board init: gpio is %x\n", dev->name, dev->gpio_value);
7416 
7417 	switch (dev->board) {
7418 	case SAA7134_BOARD_FLYVIDEO2000:
7419 	case SAA7134_BOARD_FLYVIDEO3000:
7420 	case SAA7134_BOARD_FLYVIDEO3000_NTSC:
7421 		dev->has_remote = SAA7134_REMOTE_GPIO;
7422 		board_flyvideo(dev);
7423 		break;
7424 	case SAA7134_BOARD_FLYTVPLATINUM_MINI2:
7425 	case SAA7134_BOARD_FLYTVPLATINUM_FM:
7426 	case SAA7134_BOARD_CINERGY400:
7427 	case SAA7134_BOARD_CINERGY600:
7428 	case SAA7134_BOARD_CINERGY600_MK3:
7429 	case SAA7134_BOARD_ECS_TVP3XP:
7430 	case SAA7134_BOARD_ECS_TVP3XP_4CB5:
7431 	case SAA7134_BOARD_ECS_TVP3XP_4CB6:
7432 	case SAA7134_BOARD_MD2819:
7433 	case SAA7134_BOARD_KWORLD_VSTREAM_XPERT:
7434 	case SAA7134_BOARD_KWORLD_XPERT:
7435 	case SAA7134_BOARD_AVERMEDIA_STUDIO_305:
7436 	case SAA7134_BOARD_AVERMEDIA_305:
7437 	case SAA7134_BOARD_AVERMEDIA_STUDIO_505:
7438 	case SAA7134_BOARD_AVERMEDIA_505:
7439 	case SAA7134_BOARD_AVERMEDIA_STUDIO_307:
7440 	case SAA7134_BOARD_AVERMEDIA_307:
7441 	case SAA7134_BOARD_AVERMEDIA_STUDIO_507:
7442 	case SAA7134_BOARD_AVERMEDIA_GO_007_FM:
7443 	case SAA7134_BOARD_AVERMEDIA_777:
7444 	case SAA7134_BOARD_AVERMEDIA_M135A:
7445 /*      case SAA7134_BOARD_SABRENT_SBTTVFM:  */ /* not finished yet */
7446 	case SAA7134_BOARD_VIDEOMATE_TV_PVR:
7447 	case SAA7134_BOARD_VIDEOMATE_GOLD_PLUS:
7448 	case SAA7134_BOARD_VIDEOMATE_TV_GOLD_PLUSII:
7449 	case SAA7134_BOARD_VIDEOMATE_M1F:
7450 	case SAA7134_BOARD_VIDEOMATE_DVBT_300:
7451 	case SAA7134_BOARD_VIDEOMATE_DVBT_200:
7452 	case SAA7134_BOARD_VIDEOMATE_DVBT_200A:
7453 	case SAA7134_BOARD_MANLI_MTV001:
7454 	case SAA7134_BOARD_MANLI_MTV002:
7455 	case SAA7134_BOARD_BEHOLD_409FM:
7456 	case SAA7134_BOARD_AVACSSMARTTV:
7457 	case SAA7134_BOARD_GOTVIEW_7135:
7458 	case SAA7134_BOARD_KWORLD_TERMINATOR:
7459 	case SAA7134_BOARD_SEDNA_PC_TV_CARDBUS:
7460 	case SAA7134_BOARD_FLYDVBT_LR301:
7461 	case SAA7134_BOARD_ASUSTeK_PS3_100:
7462 	case SAA7134_BOARD_ASUSTeK_P7131_DUAL:
7463 	case SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA:
7464 	case SAA7134_BOARD_ASUSTeK_P7131_ANALOG:
7465 	case SAA7134_BOARD_FLYDVBTDUO:
7466 	case SAA7134_BOARD_PROTEUS_2309:
7467 	case SAA7134_BOARD_AVERMEDIA_A16AR:
7468 	case SAA7134_BOARD_ENCORE_ENLTV:
7469 	case SAA7134_BOARD_ENCORE_ENLTV_FM:
7470 	case SAA7134_BOARD_ENCORE_ENLTV_FM53:
7471 	case SAA7134_BOARD_ENCORE_ENLTV_FM3:
7472 	case SAA7134_BOARD_10MOONSTVMASTER3:
7473 	case SAA7134_BOARD_BEHOLD_401:
7474 	case SAA7134_BOARD_BEHOLD_403:
7475 	case SAA7134_BOARD_BEHOLD_403FM:
7476 	case SAA7134_BOARD_BEHOLD_405:
7477 	case SAA7134_BOARD_BEHOLD_405FM:
7478 	case SAA7134_BOARD_BEHOLD_407:
7479 	case SAA7134_BOARD_BEHOLD_407FM:
7480 	case SAA7134_BOARD_BEHOLD_409:
7481 	case SAA7134_BOARD_BEHOLD_505FM:
7482 	case SAA7134_BOARD_BEHOLD_505RDS_MK5:
7483 	case SAA7134_BOARD_BEHOLD_505RDS_MK3:
7484 	case SAA7134_BOARD_BEHOLD_507_9FM:
7485 	case SAA7134_BOARD_BEHOLD_507RDS_MK3:
7486 	case SAA7134_BOARD_BEHOLD_507RDS_MK5:
7487 	case SAA7134_BOARD_GENIUS_TVGO_A11MCE:
7488 	case SAA7134_BOARD_REAL_ANGEL_220:
7489 	case SAA7134_BOARD_KWORLD_PLUS_TV_ANALOG:
7490 	case SAA7134_BOARD_AVERMEDIA_GO_007_FM_PLUS:
7491 	case SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM:
7492 	case SAA7134_BOARD_LEADTEK_WINFAST_DTV1000S:
7493 	case SAA7134_BOARD_LEADTEK_WINFAST_TV2100_FM:
7494 		dev->has_remote = SAA7134_REMOTE_GPIO;
7495 		break;
7496 	case SAA7134_BOARD_FLYDVBS_LR300:
7497 		saa_writeb(SAA7134_GPIO_GPMODE3, 0x80);
7498 		saa_writeb(SAA7134_GPIO_GPSTATUS2, 0x40);
7499 		dev->has_remote = SAA7134_REMOTE_GPIO;
7500 		break;
7501 	case SAA7134_BOARD_MD5044:
7502 		pr_warn("%s: seems there are two different versions of the MD5044\n"
7503 			"%s: (with the same ID) out there.  If sound doesn't work for\n"
7504 			"%s: you try the audio_clock_override=0x200000 insmod option.\n",
7505 			dev->name, dev->name, dev->name);
7506 		break;
7507 	case SAA7134_BOARD_CINERGY400_CARDBUS:
7508 		/* power-up tuner chip */
7509 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x00040000, 0x00040000);
7510 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00040000, 0x00000000);
7511 		break;
7512 	case SAA7134_BOARD_PINNACLE_300I_DVBT_PAL:
7513 		/* this turns the remote control chip off to work around a bug in it */
7514 		saa_writeb(SAA7134_GPIO_GPMODE1, 0x80);
7515 		saa_writeb(SAA7134_GPIO_GPSTATUS1, 0x80);
7516 		break;
7517 	case SAA7134_BOARD_MONSTERTV_MOBILE:
7518 		/* power-up tuner chip */
7519 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x00040000, 0x00040000);
7520 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00040000, 0x00000004);
7521 		break;
7522 	case SAA7134_BOARD_FLYDVBT_DUO_CARDBUS:
7523 		/* turn the fan on */
7524 		saa_writeb(SAA7134_GPIO_GPMODE3, 0x08);
7525 		saa_writeb(SAA7134_GPIO_GPSTATUS3, 0x06);
7526 		break;
7527 	case SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331:
7528 	case SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS:
7529 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x08000000, 0x08000000);
7530 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x08000000, 0x00000000);
7531 		break;
7532 	case SAA7134_BOARD_AVERMEDIA_CARDBUS:
7533 	case SAA7134_BOARD_AVERMEDIA_M115:
7534 		/* power-down tuner chip */
7535 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0xffffffff, 0);
7536 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0xffffffff, 0);
7537 		msleep(10);
7538 		/* power-up tuner chip */
7539 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0xffffffff, 0xffffffff);
7540 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0xffffffff, 0xffffffff);
7541 		msleep(10);
7542 		break;
7543 	case SAA7134_BOARD_AVERMEDIA_CARDBUS_501:
7544 		/* power-down tuner chip */
7545 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x08400000, 0x08400000);
7546 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x08400000, 0);
7547 		msleep(10);
7548 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x08400000, 0x08400000);
7549 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x08400000, 0x08400000);
7550 		msleep(10);
7551 		dev->has_remote = SAA7134_REMOTE_I2C;
7552 		break;
7553 	case SAA7134_BOARD_AVERMEDIA_CARDBUS_506:
7554 		saa7134_set_gpio(dev, 23, 0);
7555 		msleep(10);
7556 		saa7134_set_gpio(dev, 23, 1);
7557 		dev->has_remote = SAA7134_REMOTE_I2C;
7558 		break;
7559 	case SAA7134_BOARD_AVERMEDIA_M103:
7560 		saa7134_set_gpio(dev, 23, 0);
7561 		msleep(10);
7562 		saa7134_set_gpio(dev, 23, 1);
7563 		break;
7564 	case SAA7134_BOARD_AVERMEDIA_A16D:
7565 		saa7134_set_gpio(dev, 21, 0);
7566 		msleep(10);
7567 		saa7134_set_gpio(dev, 21, 1);
7568 		msleep(1);
7569 		dev->has_remote = SAA7134_REMOTE_GPIO;
7570 		break;
7571 	case SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM:
7572 		/* power-down tuner chip */
7573 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x000A8004, 0x000A8004);
7574 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x000A8004, 0);
7575 		msleep(10);
7576 		/* power-up tuner chip */
7577 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x000A8004, 0x000A8004);
7578 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x000A8004, 0x000A8004);
7579 		msleep(10);
7580 		/* remote via GPIO */
7581 		dev->has_remote = SAA7134_REMOTE_GPIO;
7582 		break;
7583 	case SAA7134_BOARD_RTD_VFG7350:
7584 
7585 		/*
7586 		 * Make sure Production Test Register at offset 0x1D1 is cleared
7587 		 * to take chip out of test mode.  Clearing bit 4 (TST_EN_AOUT)
7588 		 * prevents pin 105 from remaining low; keeping pin 105 low
7589 		 * continually resets the SAA6752 chip.
7590 		 */
7591 
7592 		saa_writeb (SAA7134_PRODUCTION_TEST_MODE, 0x00);
7593 		break;
7594 	case SAA7134_BOARD_HAUPPAUGE_HVR1150:
7595 	case SAA7134_BOARD_HAUPPAUGE_HVR1120:
7596 		dev->has_remote = SAA7134_REMOTE_GPIO;
7597 		/* GPIO 26 high for digital, low for analog */
7598 		saa7134_set_gpio(dev, 26, 0);
7599 		msleep(1);
7600 
7601 		saa7134_set_gpio(dev, 22, 0);
7602 		msleep(10);
7603 		saa7134_set_gpio(dev, 22, 1);
7604 		break;
7605 	/* i2c remotes */
7606 	case SAA7134_BOARD_PINNACLE_PCTV_110i:
7607 	case SAA7134_BOARD_PINNACLE_PCTV_310i:
7608 	case SAA7134_BOARD_UPMOST_PURPLE_TV:
7609 	case SAA7134_BOARD_MSI_TVATANYWHERE_PLUS:
7610 	case SAA7134_BOARD_HAUPPAUGE_HVR1110:
7611 	case SAA7134_BOARD_BEHOLD_607FM_MK3:
7612 	case SAA7134_BOARD_BEHOLD_607FM_MK5:
7613 	case SAA7134_BOARD_BEHOLD_609FM_MK3:
7614 	case SAA7134_BOARD_BEHOLD_609FM_MK5:
7615 	case SAA7134_BOARD_BEHOLD_607RDS_MK3:
7616 	case SAA7134_BOARD_BEHOLD_607RDS_MK5:
7617 	case SAA7134_BOARD_BEHOLD_609RDS_MK3:
7618 	case SAA7134_BOARD_BEHOLD_609RDS_MK5:
7619 	case SAA7134_BOARD_BEHOLD_M6:
7620 	case SAA7134_BOARD_BEHOLD_M63:
7621 	case SAA7134_BOARD_BEHOLD_M6_EXTRA:
7622 	case SAA7134_BOARD_BEHOLD_H6:
7623 	case SAA7134_BOARD_BEHOLD_X7:
7624 	case SAA7134_BOARD_BEHOLD_H7:
7625 	case SAA7134_BOARD_BEHOLD_A7:
7626 	case SAA7134_BOARD_KWORLD_PC150U:
7627 	case SAA7134_BOARD_SNAZIO_TVPVR_PRO:
7628 		dev->has_remote = SAA7134_REMOTE_I2C;
7629 		break;
7630 	case SAA7134_BOARD_AVERMEDIA_A169_B:
7631 		pr_warn("%s: %s: dual saa713x broadcast decoders\n"
7632 			"%s: Sorry, none of the inputs to this chip are supported yet.\n"
7633 			"%s: Dual decoder functionality is disabled for now, use the other chip.\n",
7634 			dev->name, card(dev).name, dev->name, dev->name);
7635 		break;
7636 	case SAA7134_BOARD_AVERMEDIA_M102:
7637 		/* enable tuner */
7638 	       dev->has_remote = SAA7134_REMOTE_GPIO;
7639 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x8c040007, 0x8c040007);
7640 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x0c0007cd, 0x0c0007cd);
7641 		break;
7642 	case SAA7134_BOARD_AVERMEDIA_A700_HYBRID:
7643 	case SAA7134_BOARD_AVERMEDIA_A700_PRO:
7644 		/* write windows gpio values */
7645 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x80040100, 0x80040100);
7646 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x80040100, 0x00040100);
7647 		break;
7648 	case SAA7134_BOARD_AVERMEDIA_A706:
7649 		/* radio antenna select: tristate both as in Windows driver */
7650 		saa7134_set_gpio(dev, 12, 3);	/* TV antenna */
7651 		saa7134_set_gpio(dev, 13, 3);	/* FM antenna */
7652 		dev->has_remote = SAA7134_REMOTE_I2C;
7653 		/*
7654 		 * Disable CE5039 DVB-S tuner now (SLEEP pin high) to prevent
7655 		 * it from interfering with analog tuner detection
7656 		 */
7657 		saa7134_set_gpio(dev, 23, 1);
7658 		break;
7659 	case SAA7134_BOARD_VIDEOMATE_S350:
7660 		dev->has_remote = SAA7134_REMOTE_GPIO;
7661 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x0000C000, 0x0000C000);
7662 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x0000C000, 0x0000C000);
7663 		break;
7664 	case SAA7134_BOARD_AVERMEDIA_M733A:
7665 		saa7134_set_gpio(dev, 1, 1);
7666 		msleep(10);
7667 		saa7134_set_gpio(dev, 1, 0);
7668 		msleep(10);
7669 		saa7134_set_gpio(dev, 1, 1);
7670 		dev->has_remote = SAA7134_REMOTE_GPIO;
7671 		break;
7672 	case SAA7134_BOARD_MAGICPRO_PROHDTV_PRO2:
7673 		/* enable LGS-8G75 */
7674 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x0e050000, 0x0c050000);
7675 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x0e050000, 0x0c050000);
7676 		break;
7677 	case SAA7134_BOARD_VIDEOMATE_T750:
7678 		/* enable the analog tuner */
7679 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x00008000, 0x00008000);
7680 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00008000, 0x00008000);
7681 		break;
7682 	}
7683 	return 0;
7684 }
7685 
saa7134_tuner_setup(struct saa7134_dev * dev)7686 static void saa7134_tuner_setup(struct saa7134_dev *dev)
7687 {
7688 	struct tuner_setup tun_setup;
7689 	unsigned int mode_mask = T_RADIO | T_ANALOG_TV;
7690 
7691 	memset(&tun_setup, 0, sizeof(tun_setup));
7692 	tun_setup.tuner_callback = saa7134_tuner_callback;
7693 
7694 	if (saa7134_boards[dev->board].radio_type != UNSET) {
7695 		tun_setup.type = saa7134_boards[dev->board].radio_type;
7696 		tun_setup.addr = saa7134_boards[dev->board].radio_addr;
7697 
7698 		tun_setup.mode_mask = T_RADIO;
7699 
7700 		saa_call_all(dev, tuner, s_type_addr, &tun_setup);
7701 		mode_mask &= ~T_RADIO;
7702 	}
7703 
7704 	if ((dev->tuner_type != TUNER_ABSENT) && (dev->tuner_type != UNSET)) {
7705 		tun_setup.type = dev->tuner_type;
7706 		tun_setup.addr = dev->tuner_addr;
7707 		tun_setup.config = &saa7134_boards[dev->board].tda829x_conf;
7708 		tun_setup.tuner_callback = saa7134_tuner_callback;
7709 
7710 		tun_setup.mode_mask = mode_mask;
7711 
7712 		saa_call_all(dev, tuner, s_type_addr, &tun_setup);
7713 	}
7714 
7715 	if (dev->tda9887_conf) {
7716 		struct v4l2_priv_tun_config tda9887_cfg;
7717 
7718 		tda9887_cfg.tuner = TUNER_TDA9887;
7719 		tda9887_cfg.priv = &dev->tda9887_conf;
7720 
7721 		saa_call_all(dev, tuner, s_config, &tda9887_cfg);
7722 	}
7723 
7724 	if (dev->tuner_type == TUNER_XC2028) {
7725 		struct v4l2_priv_tun_config  xc2028_cfg;
7726 		struct xc2028_ctrl           ctl;
7727 
7728 		memset(&xc2028_cfg, 0, sizeof(xc2028_cfg));
7729 		memset(&ctl, 0, sizeof(ctl));
7730 
7731 		ctl.fname   = XC2028_DEFAULT_FIRMWARE;
7732 		ctl.max_len = 64;
7733 
7734 		switch (dev->board) {
7735 		case SAA7134_BOARD_AVERMEDIA_A16D:
7736 		case SAA7134_BOARD_AVERMEDIA_CARDBUS_506:
7737 		case SAA7134_BOARD_AVERMEDIA_M103:
7738 		case SAA7134_BOARD_AVERMEDIA_A700_HYBRID:
7739 			ctl.demod = XC3028_FE_ZARLINK456;
7740 			break;
7741 		default:
7742 			ctl.demod = XC3028_FE_OREN538;
7743 			ctl.mts = 1;
7744 		}
7745 
7746 		xc2028_cfg.tuner = TUNER_XC2028;
7747 		xc2028_cfg.priv  = &ctl;
7748 
7749 		saa_call_all(dev, tuner, s_config, &xc2028_cfg);
7750 	}
7751 }
7752 
7753 /* stuff which needs working i2c */
saa7134_board_init2(struct saa7134_dev * dev)7754 int saa7134_board_init2(struct saa7134_dev *dev)
7755 {
7756 	unsigned char buf;
7757 	int board;
7758 
7759 	/* Put here the code that enables the chips that are needed
7760 	   for analog mode and doesn't depend on the tuner attachment.
7761 	   It is also a good idea to get tuner type from eeprom, etc before
7762 	   initializing tuner, since we can avoid loading tuner driver
7763 	   on devices that has TUNER_ABSENT
7764 	 */
7765 	switch (dev->board) {
7766 	case SAA7134_BOARD_BMK_MPEX_NOTUNER:
7767 	case SAA7134_BOARD_BMK_MPEX_TUNER:
7768 		/* Checks if the device has a tuner at 0x60 addr
7769 		   If the device doesn't have a tuner, TUNER_ABSENT
7770 		   will be used at tuner_type, avoiding loading tuner
7771 		   without needing it
7772 		 */
7773 		dev->i2c_client.addr = 0x60;
7774 		board = (i2c_master_recv(&dev->i2c_client, &buf, 0) < 0)
7775 			? SAA7134_BOARD_BMK_MPEX_NOTUNER
7776 			: SAA7134_BOARD_BMK_MPEX_TUNER;
7777 		if (board == dev->board)
7778 			break;
7779 		dev->board = board;
7780 		pr_warn("%s: board type fixup: %s\n", dev->name,
7781 		saa7134_boards[dev->board].name);
7782 		dev->tuner_type = saa7134_boards[dev->board].tuner_type;
7783 
7784 		break;
7785 	case SAA7134_BOARD_MD7134:
7786 	{
7787 		u8 subaddr;
7788 		u8 data[3], data1[] = { 0x09, 0x9f, 0x86, 0x11};
7789 		int ret, tuner_t;
7790 		struct i2c_msg msg[] = {{.addr = 0x50, .flags = 0, .buf = &subaddr, .len = 1},
7791 					{.addr = 0x50, .flags = I2C_M_RD, .buf = data, .len = 3}},
7792 				msg1 = {.addr = 0x61, .flags = 0, .buf = data1, .len = sizeof(data1)};
7793 
7794 		subaddr= 0x14;
7795 		tuner_t = 0;
7796 
7797 		/* Retrieve device data from eeprom, checking for the
7798 		   proper tuner_type.
7799 		 */
7800 		ret = i2c_transfer(&dev->i2c_adap, msg, 2);
7801 		if (ret != 2) {
7802 			pr_err("EEPROM read failure\n");
7803 		} else if ((data[0] != 0) && (data[0] != 0xff)) {
7804 			/* old config structure */
7805 			subaddr = data[0] + 2;
7806 			msg[1].len = 2;
7807 			i2c_transfer(&dev->i2c_adap, msg, 2);
7808 			tuner_t = (data[0] << 8) + data[1];
7809 			switch (tuner_t){
7810 			case 0x0103:
7811 				dev->tuner_type = TUNER_PHILIPS_PAL;
7812 				break;
7813 			case 0x010C:
7814 				dev->tuner_type = TUNER_PHILIPS_FM1216ME_MK3;
7815 				break;
7816 			default:
7817 				pr_err("%s Can't determine tuner type %x from EEPROM\n",
7818 				       dev->name, tuner_t);
7819 			}
7820 		} else if ((data[1] != 0) && (data[1] != 0xff)) {
7821 			/* new config structure */
7822 			subaddr = data[1] + 1;
7823 			msg[1].len = 1;
7824 			i2c_transfer(&dev->i2c_adap, msg, 2);
7825 			subaddr = data[0] + 1;
7826 			msg[1].len = 2;
7827 			i2c_transfer(&dev->i2c_adap, msg, 2);
7828 			tuner_t = (data[1] << 8) + data[0];
7829 			switch (tuner_t) {
7830 			case 0x0005:
7831 				dev->tuner_type = TUNER_PHILIPS_FM1216ME_MK3;
7832 				break;
7833 			case 0x001d:
7834 				dev->tuner_type = TUNER_PHILIPS_FMD1216ME_MK3;
7835 				pr_info("%s Board has DVB-T\n",
7836 				       dev->name);
7837 				break;
7838 			default:
7839 				pr_err("%s Can't determine tuner type %x from EEPROM\n",
7840 				       dev->name, tuner_t);
7841 			}
7842 		} else {
7843 			pr_err("%s unexpected config structure\n", dev->name);
7844 		}
7845 
7846 		pr_info("%s Tuner type is %d\n", dev->name, dev->tuner_type);
7847 
7848 		/* The tuner TUNER_PHILIPS_FMD1216ME_MK3 after hardware    */
7849 		/* start has disabled IF and enabled DVB-T. When saa7134   */
7850 		/* scan I2C devices it will not detect IF tda9887 and can`t*/
7851 		/* watch TV without software reboot. To solve this problem */
7852 		/* switch the tuner to analog TV mode manually.            */
7853 		if (dev->tuner_type == TUNER_PHILIPS_FMD1216ME_MK3) {
7854 			if (i2c_transfer(&dev->i2c_adap, &msg1, 1) != 1)
7855 				printk(KERN_WARNING "%s: Unable to enable IF of the tuner.\n", dev->name);
7856 		}
7857 		break;
7858 	}
7859 	case SAA7134_BOARD_PHILIPS_EUROPA:
7860 		if (dev->autodetected && (dev->eedata[0x41] == 0x1c)) {
7861 			/* Reconfigure board as Snake reference design */
7862 			dev->board = SAA7134_BOARD_PHILIPS_SNAKE;
7863 			dev->tuner_type = saa7134_boards[dev->board].tuner_type;
7864 			pr_info("%s: Reconfigured board as %s\n",
7865 				dev->name, saa7134_boards[dev->board].name);
7866 			break;
7867 		}
7868 		fallthrough;
7869 	case SAA7134_BOARD_VIDEOMATE_DVBT_300:
7870 	case SAA7134_BOARD_ASUS_EUROPA2_HYBRID:
7871 	case SAA7134_BOARD_ASUS_EUROPA_HYBRID:
7872 	case SAA7134_BOARD_TECHNOTREND_BUDGET_T3000:
7873 	{
7874 
7875 		/* The Philips EUROPA based hybrid boards have the tuner
7876 		   connected through the channel decoder. We have to make it
7877 		   transparent to find it
7878 		 */
7879 		u8 data[] = { 0x07, 0x02};
7880 		struct i2c_msg msg = {.addr=0x08, .flags=0, .buf=data, .len = sizeof(data)};
7881 		i2c_transfer(&dev->i2c_adap, &msg, 1);
7882 
7883 		break;
7884 	}
7885 	case SAA7134_BOARD_PHILIPS_TIGER:
7886 	case SAA7134_BOARD_PHILIPS_TIGER_S:
7887 	{
7888 		u8 data[] = { 0x3c, 0x33, 0x60};
7889 		struct i2c_msg msg = {.addr=0x08, .flags=0, .buf=data, .len = sizeof(data)};
7890 		if (dev->autodetected && (dev->eedata[0x49] == 0x50)) {
7891 			dev->board = SAA7134_BOARD_PHILIPS_TIGER_S;
7892 			pr_info("%s: Reconfigured board as %s\n",
7893 				dev->name, saa7134_boards[dev->board].name);
7894 		}
7895 		if (dev->board == SAA7134_BOARD_PHILIPS_TIGER_S) {
7896 			dev->tuner_type = TUNER_PHILIPS_TDA8290;
7897 
7898 			data[2] = 0x68;
7899 			i2c_transfer(&dev->i2c_adap, &msg, 1);
7900 			break;
7901 		}
7902 		i2c_transfer(&dev->i2c_adap, &msg, 1);
7903 		break;
7904 	}
7905 	case SAA7134_BOARD_ASUSTeK_TVFM7135:
7906 	/* The card below is detected as card=53, but is different */
7907 	       if (dev->autodetected && (dev->eedata[0x27] == 0x03)) {
7908 			dev->board = SAA7134_BOARD_ASUSTeK_P7131_ANALOG;
7909 			pr_info("%s: P7131 analog only, using entry of %s\n",
7910 				dev->name, saa7134_boards[dev->board].name);
7911 
7912 			/*
7913 			 * IR init has already happened for other cards, so
7914 			 * we have to catch up.
7915 			 */
7916 			dev->has_remote = SAA7134_REMOTE_GPIO;
7917 			saa7134_input_init1(dev);
7918 	       }
7919 	       break;
7920 	case SAA7134_BOARD_HAUPPAUGE_HVR1150:
7921 	case SAA7134_BOARD_HAUPPAUGE_HVR1120:
7922 		hauppauge_eeprom(dev, dev->eedata+0x80);
7923 		break;
7924 	case SAA7134_BOARD_HAUPPAUGE_HVR1110:
7925 		hauppauge_eeprom(dev, dev->eedata+0x80);
7926 		fallthrough;
7927 	case SAA7134_BOARD_PINNACLE_PCTV_310i:
7928 	case SAA7134_BOARD_KWORLD_DVBT_210:
7929 	case SAA7134_BOARD_TEVION_DVBT_220RF:
7930 	case SAA7134_BOARD_ASUSTeK_TIGER:
7931 	case SAA7134_BOARD_ASUSTeK_P7131_DUAL:
7932 	case SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA:
7933 	case SAA7134_BOARD_MEDION_MD8800_QUADRO:
7934 	case SAA7134_BOARD_AVERMEDIA_SUPER_007:
7935 	case SAA7134_BOARD_TWINHAN_DTV_DVB_3056:
7936 	case SAA7134_BOARD_CREATIX_CTX953:
7937 	{
7938 		/* this is a hybrid board, initialize to analog mode
7939 		 * and configure firmware eeprom address
7940 		 */
7941 		u8 data[] = { 0x3c, 0x33, 0x60};
7942 		struct i2c_msg msg = {.addr=0x08, .flags=0, .buf=data, .len = sizeof(data)};
7943 		i2c_transfer(&dev->i2c_adap, &msg, 1);
7944 		break;
7945 	}
7946 	case SAA7134_BOARD_ASUSTeK_TIGER_3IN1:
7947 	{
7948 		u8 data[] = { 0x3c, 0x33, 0x60};
7949 		struct i2c_msg msg = {.addr = 0x0b, .flags = 0, .buf = data,
7950 							.len = sizeof(data)};
7951 		i2c_transfer(&dev->i2c_adap, &msg, 1);
7952 		break;
7953 	}
7954 	case SAA7134_BOARD_ASUSTeK_PS3_100:
7955 	{
7956 		u8 data[] = { 0x3c, 0x33, 0x60};
7957 		struct i2c_msg msg = {.addr = 0x0b, .flags = 0, .buf = data,
7958 						       .len = sizeof(data)};
7959 		i2c_transfer(&dev->i2c_adap, &msg, 1);
7960 		break;
7961 	}
7962 	case SAA7134_BOARD_FLYDVB_TRIO:
7963 	{
7964 		u8 temp = 0;
7965 		int rc;
7966 		u8 data[] = { 0x3c, 0x33, 0x62};
7967 		struct i2c_msg msg = {.addr=0x09, .flags=0, .buf=data, .len = sizeof(data)};
7968 		i2c_transfer(&dev->i2c_adap, &msg, 1);
7969 
7970 		/*
7971 		 * send weak up message to pic16C505 chip
7972 		 * @ LifeView FlyDVB Trio
7973 		 */
7974 		msg.buf = &temp;
7975 		msg.addr = 0x0b;
7976 		msg.len = 1;
7977 		if (1 != i2c_transfer(&dev->i2c_adap, &msg, 1)) {
7978 			pr_warn("%s: send wake up byte to pic16C505(IR chip) failed\n",
7979 				dev->name);
7980 		} else {
7981 			msg.flags = I2C_M_RD;
7982 			rc = i2c_transfer(&dev->i2c_adap, &msg, 1);
7983 			pr_info("%s: probe IR chip @ i2c 0x%02x: %s\n",
7984 				   dev->name, msg.addr,
7985 				   (1 == rc) ? "yes" : "no");
7986 			if (rc == 1)
7987 				dev->has_remote = SAA7134_REMOTE_I2C;
7988 		}
7989 		break;
7990 	}
7991 	case SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331:
7992 	case SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS:
7993 	{
7994 		/* initialize analog mode  */
7995 		u8 data[] = { 0x3c, 0x33, 0x6a};
7996 		struct i2c_msg msg = {.addr=0x08, .flags=0, .buf=data, .len = sizeof(data)};
7997 		i2c_transfer(&dev->i2c_adap, &msg, 1);
7998 		break;
7999 	}
8000 	case SAA7134_BOARD_CINERGY_HT_PCMCIA:
8001 	case SAA7134_BOARD_CINERGY_HT_PCI:
8002 	{
8003 		/* initialize analog mode */
8004 		u8 data[] = { 0x3c, 0x33, 0x68};
8005 		struct i2c_msg msg = {.addr=0x08, .flags=0, .buf=data, .len = sizeof(data)};
8006 		i2c_transfer(&dev->i2c_adap, &msg, 1);
8007 		break;
8008 	}
8009 	case SAA7134_BOARD_VIDEOMATE_DVBT_200:
8010 	case SAA7134_BOARD_VIDEOMATE_DVBT_200A:
8011 		/* The T200 and the T200A share the same pci id.  Consequently,
8012 		 * we are going to query eeprom to try to find out which one we
8013 		 * are actually looking at. */
8014 
8015 		/* Don't do this if the board was specifically selected with an
8016 		 * insmod option or if we have the default configuration T200*/
8017 		if (!dev->autodetected || (dev->eedata[0x41] == 0xd0))
8018 			break;
8019 		if (dev->eedata[0x41] == 0x02) {
8020 			/* Reconfigure board  as T200A */
8021 			dev->board = SAA7134_BOARD_VIDEOMATE_DVBT_200A;
8022 			dev->tuner_type   = saa7134_boards[dev->board].tuner_type;
8023 			dev->tda9887_conf = saa7134_boards[dev->board].tda9887_conf;
8024 			pr_info("%s: Reconfigured board as %s\n",
8025 				dev->name, saa7134_boards[dev->board].name);
8026 		} else {
8027 			pr_warn("%s: Unexpected tuner type info: %x in eeprom\n",
8028 				dev->name, dev->eedata[0x41]);
8029 			break;
8030 		}
8031 		break;
8032 	case SAA7134_BOARD_ADS_INSTANT_HDTV_PCI:
8033 	case SAA7134_BOARD_KWORLD_ATSC110:
8034 	{
8035 		struct i2c_msg msg = { .addr = 0x0a, .flags = 0 };
8036 		int i;
8037 		static u8 buffer[][2] = {
8038 			{ 0x10, 0x12 },
8039 			{ 0x13, 0x04 },
8040 			{ 0x16, 0x00 },
8041 			{ 0x14, 0x04 },
8042 			{ 0x17, 0x00 },
8043 		};
8044 
8045 		for (i = 0; i < ARRAY_SIZE(buffer); i++) {
8046 			msg.buf = &buffer[i][0];
8047 			msg.len = ARRAY_SIZE(buffer[0]);
8048 			if (i2c_transfer(&dev->i2c_adap, &msg, 1) != 1)
8049 				pr_warn("%s: Unable to enable tuner(%i).\n",
8050 					dev->name, i);
8051 		}
8052 		break;
8053 	}
8054 	case SAA7134_BOARD_BEHOLD_H6:
8055 	{
8056 		u8 data[] = { 0x09, 0x9f, 0x86, 0x11};
8057 		struct i2c_msg msg = {.addr = 0x61, .flags = 0, .buf = data,
8058 							.len = sizeof(data)};
8059 
8060 		/* The tuner TUNER_PHILIPS_FMD1216MEX_MK3 after hardware    */
8061 		/* start has disabled IF and enabled DVB-T. When saa7134    */
8062 		/* scan I2C devices it not detect IF tda9887 and can`t      */
8063 		/* watch TV without software reboot. For solve this problem */
8064 		/* switch the tuner to analog TV mode manually.             */
8065 		if (i2c_transfer(&dev->i2c_adap, &msg, 1) != 1)
8066 			pr_warn("%s: Unable to enable IF of the tuner.\n",
8067 				dev->name);
8068 		break;
8069 	}
8070 	case SAA7134_BOARD_KWORLD_PCI_SBTVD_FULLSEG:
8071 		saa_writel(SAA7134_GPIO_GPMODE0 >> 2, 0x4000);
8072 		saa_writel(SAA7134_GPIO_GPSTATUS0 >> 2, 0x4000);
8073 
8074 		saa7134_set_gpio(dev, 27, 0);
8075 		break;
8076 	} /* switch() */
8077 
8078 	/* initialize tuner (don't do this when resuming) */
8079 	if (!dev->insuspend && TUNER_ABSENT != dev->tuner_type) {
8080 		int has_demod = (dev->tda9887_conf & TDA9887_PRESENT);
8081 
8082 		/* Note: radio tuner address is always filled in,
8083 		   so we do not need to probe for a radio tuner device. */
8084 		if (dev->radio_type != UNSET)
8085 			v4l2_i2c_new_subdev(&dev->v4l2_dev,
8086 				&dev->i2c_adap, "tuner",
8087 				dev->radio_addr, NULL);
8088 		if (has_demod)
8089 			v4l2_i2c_new_subdev(&dev->v4l2_dev,
8090 				&dev->i2c_adap, "tuner",
8091 				0, v4l2_i2c_tuner_addrs(ADDRS_DEMOD));
8092 		if (dev->tuner_addr == ADDR_UNSET) {
8093 			enum v4l2_i2c_tuner_type type =
8094 				has_demod ? ADDRS_TV_WITH_DEMOD : ADDRS_TV;
8095 
8096 			v4l2_i2c_new_subdev(&dev->v4l2_dev,
8097 				&dev->i2c_adap, "tuner",
8098 				0, v4l2_i2c_tuner_addrs(type));
8099 		} else {
8100 			v4l2_i2c_new_subdev(&dev->v4l2_dev,
8101 				&dev->i2c_adap, "tuner",
8102 				dev->tuner_addr, NULL);
8103 		}
8104 	}
8105 
8106 	saa7134_tuner_setup(dev);
8107 
8108 	switch (dev->board) {
8109 	case SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM:
8110 	case SAA7134_BOARD_AVERMEDIA_CARDBUS_501:
8111 	{
8112 		struct v4l2_priv_tun_config tea5767_cfg;
8113 		struct tea5767_ctrl ctl;
8114 
8115 		dev->i2c_client.addr = 0xC0;
8116 		/* set TEA5767(analog FM) defines */
8117 		memset(&ctl, 0, sizeof(ctl));
8118 		ctl.xtal_freq = TEA5767_HIGH_LO_13MHz;
8119 		tea5767_cfg.tuner = TUNER_TEA5767;
8120 		tea5767_cfg.priv  = &ctl;
8121 		saa_call_all(dev, tuner, s_config, &tea5767_cfg);
8122 		break;
8123 	}
8124 	} /* switch() */
8125 
8126 	return 0;
8127 }
8128