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