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