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