xref: /linux/drivers/media/pci/saa7134/saa7134-cards.c (revision ab520be8cd5d56867fc95cfbc34b90880faf1f9d)
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 	[SAA7134_BOARD_SNAZIO_TVPVR_PRO] = {
5737 		.name           = "SnaZio* TVPVR PRO",
5738 		.audio_clock    = 0x00187de7,
5739 		.tuner_type     = TUNER_PHILIPS_TDA8290,
5740 		.radio_type     = UNSET,
5741 		.tuner_addr     = ADDR_UNSET,
5742 		.radio_addr     = ADDR_UNSET,
5743 		.gpiomask       = 1 << 21,
5744 		.inputs         = { {
5745 			.type = SAA7134_INPUT_TV,
5746 			.vmux = 1,
5747 			.amux = TV,
5748 			.gpio = 0x0000000,
5749 		}, {
5750 			.type = SAA7134_INPUT_COMPOSITE1,
5751 			.vmux = 3,
5752 			.amux = LINE2,
5753 			.gpio = 0x0000000,
5754 		}, {
5755 			.type = SAA7134_INPUT_SVIDEO,
5756 			.vmux = 8,
5757 			.amux = LINE2,
5758 			.gpio = 0x0000000,
5759 		} },
5760 		.radio = {
5761 			.type = SAA7134_INPUT_RADIO,
5762 			.amux = TV,
5763 			.gpio = 0x0200000,
5764 		},
5765 	},
5766 };
5767 
5768 const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);
5769 
5770 /* ------------------------------------------------------------------ */
5771 /* PCI ids + subsystem IDs                                            */
5772 
5773 struct pci_device_id saa7134_pci_tbl[] = {
5774 	{
5775 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5776 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5777 		.subvendor    = PCI_VENDOR_ID_PHILIPS,
5778 		.subdevice    = 0x2001,
5779 		.driver_data  = SAA7134_BOARD_PROTEUS_PRO,
5780 	},{
5781 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5782 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
5783 		.subvendor    = PCI_VENDOR_ID_PHILIPS,
5784 		.subdevice    = 0x2001,
5785 		.driver_data  = SAA7134_BOARD_PROTEUS_PRO,
5786 	},{
5787 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5788 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5789 		.subvendor    = PCI_VENDOR_ID_PHILIPS,
5790 		.subdevice    = 0x6752,
5791 		.driver_data  = SAA7134_BOARD_EMPRESS,
5792 	},{
5793 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5794 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5795 		.subvendor    = 0x1131,
5796 		.subdevice    = 0x4e85,
5797 		.driver_data  = SAA7134_BOARD_MONSTERTV,
5798 	},{
5799 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5800 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5801 		.subvendor    = 0x153b,
5802 		.subdevice    = 0x1142,
5803 		.driver_data  = SAA7134_BOARD_CINERGY400,
5804 	},{
5805 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5806 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5807 		.subvendor    = 0x153b,
5808 		.subdevice    = 0x1143,
5809 		.driver_data  = SAA7134_BOARD_CINERGY600,
5810 	},{
5811 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5812 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5813 		.subvendor    = 0x153b,
5814 		.subdevice    = 0x1158,
5815 		.driver_data  = SAA7134_BOARD_CINERGY600_MK3,
5816 	},{
5817 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5818 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
5819 		.subvendor    = 0x153b,
5820 		.subdevice    = 0x1162,
5821 		.driver_data  = SAA7134_BOARD_CINERGY400_CARDBUS,
5822 	},{
5823 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5824 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5825 		.subvendor    = 0x5169,
5826 		.subdevice    = 0x0138,
5827 		.driver_data  = SAA7134_BOARD_FLYVIDEO3000_NTSC,
5828 	},{
5829 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5830 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5831 		.subvendor    = 0x5168,
5832 		.subdevice    = 0x0138,
5833 		.driver_data  = SAA7134_BOARD_FLYVIDEO3000,
5834 	},{
5835 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5836 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5837 		.subvendor    = 0x4e42,				/* "Typhoon PCI Capture TV Card" Art.No. 50673 */
5838 		.subdevice    = 0x0138,
5839 		.driver_data  = SAA7134_BOARD_FLYVIDEO3000,
5840 	},{
5841 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5842 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
5843 		.subvendor    = 0x5168,
5844 		.subdevice    = 0x0138,
5845 		.driver_data  = SAA7134_BOARD_FLYVIDEO2000,
5846 	},{
5847 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5848 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
5849 		.subvendor    = 0x4e42,		/* Typhoon */
5850 		.subdevice    = 0x0138,		/* LifeView FlyTV Prime30 OEM */
5851 		.driver_data  = SAA7134_BOARD_FLYVIDEO2000,
5852 	},{
5853 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5854 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
5855 		.subvendor    = 0x5168,
5856 		.subdevice    = 0x0212, /* minipci, LR212 */
5857 		.driver_data  = SAA7134_BOARD_FLYTVPLATINUM_MINI,
5858 	},{
5859 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5860 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
5861 		.subvendor    = 0x14c0,
5862 		.subdevice    = 0x1212, /* minipci, LR1212 */
5863 		.driver_data  = SAA7134_BOARD_FLYTVPLATINUM_MINI2,
5864 	},{
5865 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5866 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
5867 		.subvendor    = 0x4e42,
5868 		.subdevice    = 0x0212, /* OEM minipci, LR212 */
5869 		.driver_data  = SAA7134_BOARD_FLYTVPLATINUM_MINI,
5870 	},{
5871 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5872 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
5873 		.subvendor    = 0x5168,	/* Animation Technologies (LifeView) */
5874 		.subdevice    = 0x0214, /* Standard PCI, LR214 Rev E and earlier (SAA7135) */
5875 		.driver_data  = SAA7134_BOARD_FLYTVPLATINUM_FM,
5876 	},{
5877 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5878 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
5879 		.subvendor    = 0x5168,	/* Animation Technologies (LifeView) */
5880 		.subdevice    = 0x5214, /* Standard PCI, LR214 Rev F onwards (SAA7131) */
5881 		.driver_data  = SAA7134_BOARD_FLYTVPLATINUM_FM,
5882 	},{
5883 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5884 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
5885 		.subvendor    = 0x1489, /* KYE */
5886 		.subdevice    = 0x0214, /* Genius VideoWonder ProTV */
5887 		.driver_data  = SAA7134_BOARD_FLYTVPLATINUM_FM, /* is an LR214WF actually */
5888 	},{
5889 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5890 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5891 		.subvendor    = 0x16be,
5892 		.subdevice    = 0x0003,
5893 		.driver_data  = SAA7134_BOARD_MD7134,
5894 	},{
5895 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5896 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5897 		.subvendor    = 0x16be, /* CTX946 analog TV, HW mpeg, DVB-T */
5898 		.subdevice    = 0x5000, /* only analog TV and DVB-T for now */
5899 		.driver_data  = SAA7134_BOARD_MD7134,
5900 	}, {
5901 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5902 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
5903 		.subvendor    = 0x1048,
5904 		.subdevice    = 0x226b,
5905 		.driver_data  = SAA7134_BOARD_ELSA,
5906 	},{
5907 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5908 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
5909 		.subvendor    = 0x1048,
5910 		.subdevice    = 0x226a,
5911 		.driver_data  = SAA7134_BOARD_ELSA_500TV,
5912 	},{
5913 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5914 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
5915 		.subvendor    = 0x1048,
5916 		.subdevice    = 0x226c,
5917 		.driver_data  = SAA7134_BOARD_ELSA_700TV,
5918 	},{
5919 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5920 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5921 		.subvendor    = PCI_VENDOR_ID_ASUSTEK,
5922 		.subdevice    = 0x4842,
5923 		.driver_data  = SAA7134_BOARD_ASUSTeK_TVFM7134,
5924 	},{
5925 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5926 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
5927 		.subvendor    = PCI_VENDOR_ID_ASUSTEK,
5928 		.subdevice    = 0x4845,
5929 		.driver_data  = SAA7134_BOARD_ASUSTeK_TVFM7135,
5930 	},{
5931 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5932 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5933 		.subvendor    = PCI_VENDOR_ID_ASUSTEK,
5934 		.subdevice    = 0x4830,
5935 		.driver_data  = SAA7134_BOARD_ASUSTeK_TVFM7134,
5936 	},{
5937 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5938 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
5939 		.subvendor    = PCI_VENDOR_ID_ASUSTEK,
5940 		.subdevice    = 0x4843,
5941 		.driver_data  = SAA7134_BOARD_ASUSTEK_TVFM7133,
5942 	},{
5943 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5944 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5945 		.subvendor    = PCI_VENDOR_ID_ASUSTEK,
5946 		.subdevice    = 0x4840,
5947 		.driver_data  = SAA7134_BOARD_ASUSTeK_TVFM7134,
5948 	},{
5949 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5950 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5951 		.subvendor    = PCI_VENDOR_ID_PHILIPS,
5952 		.subdevice    = 0xfe01,
5953 		.driver_data  = SAA7134_BOARD_TVSTATION_RDS,
5954 	},{
5955 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5956 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5957 		.subvendor    = 0x1894,
5958 		.subdevice    = 0xfe01,
5959 		.driver_data  = SAA7134_BOARD_TVSTATION_RDS,
5960 	},{
5961 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5962 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5963 		.subvendor    = 0x1894,
5964 		.subdevice    = 0xa006,
5965 		.driver_data  = SAA7134_BOARD_TVSTATION_DVR,
5966 	},{
5967 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5968 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5969 		.subvendor    = 0x1131,
5970 		.subdevice    = 0x7133,
5971 		.driver_data  = SAA7134_BOARD_VA1000POWER,
5972 	},{
5973 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5974 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
5975 		.subvendor    = PCI_VENDOR_ID_PHILIPS,
5976 		.subdevice    = 0x2001,
5977 		.driver_data  = SAA7134_BOARD_10MOONSTVMASTER,
5978 	},{
5979 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5980 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
5981 		.subvendor    = 0x185b,
5982 		.subdevice    = 0xc100,
5983 		.driver_data  = SAA7134_BOARD_VIDEOMATE_TV,
5984 	},{
5985 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5986 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
5987 		.subvendor    = 0x185b,
5988 		.subdevice    = 0xc100,
5989 		.driver_data  = SAA7134_BOARD_VIDEOMATE_TV_GOLD_PLUS,
5990 	},{
5991 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5992 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
5993 		.subvendor    = PCI_VENDOR_ID_MATROX,
5994 		.subdevice    = 0x48d0,
5995 		.driver_data  = SAA7134_BOARD_CRONOS_PLUS,
5996 	},{
5997 		.vendor       = PCI_VENDOR_ID_PHILIPS,
5998 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
5999 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6000 		.subdevice    = 0xa70b,
6001 		.driver_data  = SAA7134_BOARD_MD2819,
6002 	},{
6003 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6004 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6005 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6006 		.subdevice    = 0xa7a1,
6007 		.driver_data  = SAA7134_BOARD_AVERMEDIA_A700_PRO,
6008 	}, {
6009 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6010 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6011 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6012 		.subdevice    = 0xa7a2,
6013 		.driver_data  = SAA7134_BOARD_AVERMEDIA_A700_HYBRID,
6014 	}, {
6015 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6016 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6017 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6018 		.subdevice    = 0x2115,
6019 		.driver_data  = SAA7134_BOARD_AVERMEDIA_STUDIO_305,
6020 	},{
6021 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6022 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6023 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6024 		.subdevice    = 0xa115,
6025 		.driver_data  = SAA7134_BOARD_AVERMEDIA_STUDIO_505,
6026 	}, {
6027 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6028 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6029 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6030 		.subdevice    = 0x2108,
6031 		.driver_data  = SAA7134_BOARD_AVERMEDIA_305,
6032 	},{
6033 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6034 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6035 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6036 		.subdevice    = 0x10ff,
6037 		.driver_data  = SAA7134_BOARD_AVERMEDIA_DVD_EZMAKER,
6038 	},{
6039 		/* AVerMedia CardBus */
6040 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6041 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6042 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6043 		.subdevice    = 0xd6ee,
6044 		.driver_data  = SAA7134_BOARD_AVERMEDIA_CARDBUS,
6045 	},{
6046 		/* AVerMedia CardBus */
6047 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6048 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6049 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6050 		.subdevice    = 0xb7e9,
6051 		.driver_data  = SAA7134_BOARD_AVERMEDIA_CARDBUS_501,
6052 	}, {
6053 		/* TransGear 3000TV */
6054 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6055 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6056 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6057 		.subdevice    = 0x050c,
6058 		.driver_data  = SAA7134_BOARD_TG3000TV,
6059 	},{
6060 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6061 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6062 		.subvendor    = 0x11bd,
6063 		.subdevice    = 0x002b,
6064 		.driver_data  = SAA7134_BOARD_PINNACLE_PCTV_STEREO,
6065 	},{
6066 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6067 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6068 		.subvendor    = 0x11bd,
6069 		.subdevice    = 0x002d,
6070 		.driver_data  = SAA7134_BOARD_PINNACLE_300I_DVBT_PAL,
6071 	},{
6072 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6073 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6074 		.subvendor    = 0x1019,
6075 		.subdevice    = 0x4cb4,
6076 		.driver_data  = SAA7134_BOARD_ECS_TVP3XP,
6077 	},{
6078 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6079 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6080 		.subvendor    = 0x1019,
6081 		.subdevice    = 0x4cb5,
6082 		.driver_data  = SAA7134_BOARD_ECS_TVP3XP_4CB5,
6083 	},{
6084 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6085 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6086 		.subvendor    = 0x1019,
6087 		.subdevice    = 0x4cb6,
6088 		.driver_data  = SAA7134_BOARD_ECS_TVP3XP_4CB6,
6089 	},{
6090 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6091 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6092 		.subvendor    = 0x12ab,
6093 		.subdevice    = 0x0800,
6094 		.driver_data  = SAA7134_BOARD_UPMOST_PURPLE_TV,
6095 	},{
6096 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6097 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6098 		.subvendor    = 0x153b,
6099 		.subdevice    = 0x1152,
6100 		.driver_data  = SAA7134_BOARD_CINERGY200,
6101 	},{
6102 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6103 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6104 		.subvendor    = 0x185b,
6105 		.subdevice    = 0xc100,
6106 		.driver_data  = SAA7134_BOARD_VIDEOMATE_TV_PVR,
6107 	},{
6108 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6109 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6110 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6111 		.subdevice    = 0x9715,
6112 		.driver_data  = SAA7134_BOARD_AVERMEDIA_STUDIO_307,
6113 	},{
6114 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6115 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6116 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6117 		.subdevice    = 0xa70a,
6118 		.driver_data  = SAA7134_BOARD_AVERMEDIA_307,
6119 	},{
6120 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6121 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6122 		.subvendor    = 0x185b,
6123 		.subdevice    = 0xc200,
6124 		.driver_data  = SAA7134_BOARD_VIDEOMATE_GOLD_PLUS,
6125 	},{
6126 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6127 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6128 		.subvendor    = 0x1540,
6129 		.subdevice    = 0x9524,
6130 		.driver_data  = SAA7134_BOARD_PROVIDEO_PV952,
6131 
6132 	},{
6133 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6134 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6135 		.subvendor    = 0x5168,
6136 		.subdevice    = 0x0502,                /* Cardbus version */
6137 		.driver_data  = SAA7134_BOARD_FLYDVBT_DUO_CARDBUS,
6138 	},{
6139 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6140 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6141 		.subvendor    = 0x5168,
6142 		.subdevice    = 0x0306,                /* PCI version */
6143 		.driver_data  = SAA7134_BOARD_FLYDVBTDUO,
6144 	},{
6145 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6146 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6147 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6148 		.subdevice    = 0xf31f,
6149 		.driver_data  = SAA7134_BOARD_AVERMEDIA_GO_007_FM,
6150 
6151 	},{
6152 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6153 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6154 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6155 		.subdevice    = 0xf11d,
6156 		.driver_data  = SAA7134_BOARD_AVERMEDIA_M135A,
6157 	}, {
6158 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6159 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6160 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6161 		.subdevice    = 0x4155,
6162 		.driver_data  = SAA7134_BOARD_AVERMEDIA_M733A,
6163 	}, {
6164 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6165 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6166 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6167 		.subdevice    = 0x4255,
6168 		.driver_data  = SAA7134_BOARD_AVERMEDIA_M733A,
6169 	}, {
6170 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6171 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6172 		.subvendor    = PCI_VENDOR_ID_PHILIPS,
6173 		.subdevice    = 0x2004,
6174 		.driver_data  = SAA7134_BOARD_PHILIPS_TOUGH,
6175 	},{
6176 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6177 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6178 		.subvendor    = 0x1421,
6179 		.subdevice    = 0x0350,		/* PCI version */
6180 		.driver_data  = SAA7134_BOARD_ADS_INSTANT_TV,
6181 	},{
6182 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6183 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6184 		.subvendor    = 0x1421,
6185 		.subdevice    = 0x0351,		/* PCI version, new revision */
6186 		.driver_data  = SAA7134_BOARD_ADS_INSTANT_TV,
6187 	},{
6188 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6189 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6190 		.subvendor    = 0x1421,
6191 		.subdevice    = 0x0370,		/* cardbus version */
6192 		.driver_data  = SAA7134_BOARD_ADS_INSTANT_TV,
6193 	},{
6194 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6195 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6196 		.subvendor    = 0x1421,
6197 		.subdevice    = 0x1370,        /* cardbus version */
6198 		.driver_data  = SAA7134_BOARD_ADS_INSTANT_TV,
6199 
6200 	},{
6201 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6202 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6203 		.subvendor    = 0x4e42,		/* Typhoon */
6204 		.subdevice    = 0x0502,		/* LifeView LR502 OEM */
6205 		.driver_data  = SAA7134_BOARD_FLYDVBT_DUO_CARDBUS,
6206 	},{
6207 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6208 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6209 		.subvendor    = 0x1043,
6210 		.subdevice    = 0x0210,		/* mini pci NTSC version */
6211 		.driver_data  = SAA7134_BOARD_FLYTV_DIGIMATRIX,
6212 	},{
6213 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6214 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6215 		.subvendor    = 0x1043,
6216 		.subdevice    = 0x0210,		/* mini pci PAL/SECAM version */
6217 		.driver_data  = SAA7134_BOARD_ASUSTEK_DIGIMATRIX_TV,
6218 
6219 	},{
6220 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6221 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6222 		.subvendor    = 0x0000, /* It shouldn't break anything, since subdevice id seems unique */
6223 		.subdevice    = 0x4091,
6224 		.driver_data  = SAA7134_BOARD_BEHOLD_409FM,
6225 	},{
6226 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6227 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6228 		.subvendor    = 0x5456, /* GoTView */
6229 		.subdevice    = 0x7135,
6230 		.driver_data  = SAA7134_BOARD_GOTVIEW_7135,
6231 	},{
6232 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6233 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6234 		.subvendor    = PCI_VENDOR_ID_PHILIPS,
6235 		.subdevice    = 0x2004,
6236 		.driver_data  = SAA7134_BOARD_PHILIPS_EUROPA,
6237 	},{
6238 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6239 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6240 		.subvendor    = 0x185b,
6241 		.subdevice    = 0xc900,
6242 		.driver_data  = SAA7134_BOARD_VIDEOMATE_DVBT_300,
6243 	},{
6244 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6245 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6246 		.subvendor    = 0x185b,
6247 		.subdevice    = 0xc901,
6248 		.driver_data  = SAA7134_BOARD_VIDEOMATE_DVBT_200,
6249 	},{
6250 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6251 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6252 		.subvendor    = 0x1435,
6253 		.subdevice    = 0x7350,
6254 		.driver_data  = SAA7134_BOARD_RTD_VFG7350,
6255 	},{
6256 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6257 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6258 		.subvendor    = 0x1435,
6259 		.subdevice    = 0x7330,
6260 		.driver_data  = SAA7134_BOARD_RTD_VFG7330,
6261 	},{
6262 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6263 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6264 		.subvendor    = 0x1461,
6265 		.subdevice    = 0x1044,
6266 		.driver_data  = SAA7134_BOARD_AVERMEDIA_AVERTVHD_A180,
6267 	},{
6268 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6269 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6270 		.subvendor    = 0x1131,
6271 		.subdevice    = 0x4ee9,
6272 		.driver_data  = SAA7134_BOARD_MONSTERTV_MOBILE,
6273 	},{
6274 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6275 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6276 		.subvendor    = 0x11bd,
6277 		.subdevice    = 0x002e,
6278 		.driver_data  = SAA7134_BOARD_PINNACLE_PCTV_110i,
6279 	},{
6280 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6281 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6282 		.subvendor    = 0x1043,
6283 		.subdevice    = 0x4862,
6284 		.driver_data  = SAA7134_BOARD_ASUSTeK_P7131_DUAL,
6285 	},{
6286 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6287 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6288 		.subvendor    = PCI_VENDOR_ID_PHILIPS,
6289 		.subdevice    = 0x2018,
6290 		.driver_data  = SAA7134_BOARD_PHILIPS_TIGER,
6291 	},{
6292 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6293 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6294 		.subvendor    = 0x1462,
6295 		.subdevice    = 0x6231, /* tda8275a, ks003 IR */
6296 		.driver_data  = SAA7134_BOARD_MSI_TVATANYWHERE_PLUS,
6297 	},{
6298 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6299 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6300 		.subvendor    = 0x1462,
6301 		.subdevice    = 0x8624, /* tda8275, ks003 IR */
6302 		.driver_data  = SAA7134_BOARD_MSI_TVATANYWHERE_PLUS,
6303 	},{
6304 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6305 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6306 		.subvendor    = 0x153b,
6307 		.subdevice    = 0x1160,
6308 		.driver_data  = SAA7134_BOARD_CINERGY250PCI,
6309 	},{
6310 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6311 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,	/* SAA 7131E */
6312 		.subvendor    = 0x5168,
6313 		.subdevice    = 0x0319,
6314 		.driver_data  = SAA7134_BOARD_FLYDVB_TRIO,
6315 	},{
6316 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6317 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6318 		.subvendor    = 0x1461,
6319 		.subdevice    = 0x2c05,
6320 		.driver_data  = SAA7134_BOARD_AVERMEDIA_777,
6321 	},{
6322 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6323 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6324 		.subvendor    = 0x5168,
6325 		.subdevice    = 0x0301,
6326 		.driver_data  = SAA7134_BOARD_FLYDVBT_LR301,
6327 	},{
6328 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6329 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6330 		.subvendor    = 0x0331,
6331 		.subdevice    = 0x1421,
6332 		.driver_data  = SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331,
6333 	},{
6334 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6335 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6336 		.subvendor    = 0x17de,
6337 		.subdevice    = 0x7201,
6338 		.driver_data  = SAA7134_BOARD_TEVION_DVBT_220RF,
6339 	},{
6340 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6341 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6342 		.subvendor    = 0x17de,
6343 		.subdevice    = 0x7250,
6344 		.driver_data  = SAA7134_BOARD_KWORLD_DVBT_210,
6345 	},{
6346 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6347 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133, /* SAA7135HL */
6348 		.subvendor    = 0x17de,
6349 		.subdevice    = 0x7350,
6350 		.driver_data  = SAA7134_BOARD_KWORLD_ATSC110,
6351 	},{
6352 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6353 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133, /* SAA7135HL */
6354 		.subvendor    = 0x17de,
6355 		.subdevice    = 0x7352,
6356 		.driver_data  = SAA7134_BOARD_KWORLD_ATSC110, /* ATSC 115 */
6357 	},{
6358 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6359 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133, /* SAA7135HL */
6360 		.subvendor    = 0x17de,
6361 		.subdevice    = 0xa134,
6362 		.driver_data  = SAA7134_BOARD_KWORLD_PC150U,
6363 	}, {
6364 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6365 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6366 		.subvendor    = 0x1461,
6367 		.subdevice    = 0x7360,
6368 		.driver_data  = SAA7134_BOARD_AVERMEDIA_A169_B,
6369 	},{
6370 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6371 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6372 		.subvendor    = 0x1461,
6373 		.subdevice    = 0x6360,
6374 		.driver_data  = SAA7134_BOARD_AVERMEDIA_A169_B1,
6375 	},{
6376 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6377 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6378 		.subvendor    = 0x16be,
6379 		.subdevice    = 0x0005,
6380 		.driver_data  = SAA7134_BOARD_MD7134_BRIDGE_2,
6381 	},{
6382 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6383 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6384 		.subvendor    = 0x5168,
6385 		.subdevice    = 0x0300,
6386 		.driver_data  = SAA7134_BOARD_FLYDVBS_LR300,
6387 	},{
6388 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6389 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6390 		.subvendor    = 0x4e42,
6391 		.subdevice    = 0x0300,/* LR300 */
6392 		.driver_data  = SAA7134_BOARD_FLYDVBS_LR300,
6393 	},{
6394 		.vendor = PCI_VENDOR_ID_PHILIPS,
6395 		.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
6396 		.subvendor = 0x1489,
6397 		.subdevice = 0x0301,
6398 		.driver_data = SAA7134_BOARD_FLYDVBT_LR301,
6399 	},{
6400 		.vendor = PCI_VENDOR_ID_PHILIPS,
6401 		.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
6402 		.subvendor = 0x5168, /* Animation Technologies (LifeView) */
6403 		.subdevice = 0x0304,
6404 		.driver_data = SAA7134_BOARD_FLYTVPLATINUM_FM,
6405 	},{
6406 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6407 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6408 		.subvendor    = 0x5168,
6409 		.subdevice    = 0x3306,
6410 		.driver_data  = SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS,
6411 	},{
6412 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6413 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6414 		.subvendor    = 0x5168,
6415 		.subdevice    = 0x3502,  /* whats the difference to 0x3306 ?*/
6416 		.driver_data  = SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS,
6417 	},{
6418 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6419 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6420 		.subvendor    = 0x5168,
6421 		.subdevice    = 0x3307, /* FlyDVB-T Hybrid Mini PCI */
6422 		.driver_data  = SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS,
6423 	}, {
6424 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6425 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6426 		.subvendor    = 0x16be,
6427 		.subdevice    = 0x0007,
6428 		.driver_data  = SAA7134_BOARD_MEDION_MD8800_QUADRO,
6429 	},{
6430 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6431 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6432 		.subvendor    = 0x16be,
6433 		.subdevice    = 0x0008,
6434 		.driver_data  = SAA7134_BOARD_MEDION_MD8800_QUADRO,
6435 	},{
6436 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6437 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6438 		.subvendor    = 0x16be,
6439 		.subdevice    = 0x000d, /* triple CTX948_V1.1.1 */
6440 		.driver_data  = SAA7134_BOARD_MEDION_MD8800_QUADRO,
6441 	}, {
6442 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6443 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6444 		.subvendor    = 0x1461,
6445 		.subdevice    = 0x2c05,
6446 		.driver_data  = SAA7134_BOARD_AVERMEDIA_777,
6447 	},{
6448 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6449 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6450 		.subvendor    = 0x1489,
6451 		.subdevice    = 0x0502,                /* Cardbus version */
6452 		.driver_data  = SAA7134_BOARD_FLYDVBT_DUO_CARDBUS,
6453 	},{
6454 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6455 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6456 		.subvendor    = 0x0919, /* Philips Proteus PRO 2309 */
6457 		.subdevice    = 0x2003,
6458 		.driver_data  = SAA7134_BOARD_PROTEUS_2309,
6459 	},{
6460 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6461 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6462 		.subvendor    = 0x1461,
6463 		.subdevice    = 0x2c00,
6464 		.driver_data  = SAA7134_BOARD_AVERMEDIA_A16AR,
6465 	},{
6466 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6467 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6468 		.subvendor    = 0x1043,
6469 		.subdevice    = 0x4860,
6470 		.driver_data  = SAA7134_BOARD_ASUS_EUROPA2_HYBRID,
6471 	},{
6472 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6473 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6474 		.subvendor    = 0x11bd,
6475 		.subdevice    = 0x002f,
6476 		.driver_data  = SAA7134_BOARD_PINNACLE_PCTV_310i,
6477 	},{
6478 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6479 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6480 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6481 		.subdevice    = 0x9715,
6482 		.driver_data  = SAA7134_BOARD_AVERMEDIA_STUDIO_507,
6483 	},{
6484 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6485 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6486 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6487 		.subdevice    = 0xa11b,
6488 		.driver_data  = SAA7134_BOARD_AVERMEDIA_STUDIO_507UA,
6489 	}, {
6490 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6491 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6492 		.subvendor    = 0x1043,
6493 		.subdevice    = 0x4876,
6494 		.driver_data  = SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA,
6495 	},{
6496 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6497 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6498 		.subvendor    = 0x0070,
6499 		.subdevice    = 0x6700,
6500 		.driver_data  = SAA7134_BOARD_HAUPPAUGE_HVR1110,
6501 	},{
6502 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6503 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6504 		.subvendor    = 0x0070,
6505 		.subdevice    = 0x6701,
6506 		.driver_data  = SAA7134_BOARD_HAUPPAUGE_HVR1110,
6507 	},{
6508 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6509 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6510 		.subvendor    = 0x0070,
6511 		.subdevice    = 0x6702,
6512 		.driver_data  = SAA7134_BOARD_HAUPPAUGE_HVR1110,
6513 	},{
6514 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6515 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6516 		.subvendor    = 0x0070,
6517 		.subdevice    = 0x6703,
6518 		.driver_data  = SAA7134_BOARD_HAUPPAUGE_HVR1110,
6519 	},{
6520 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6521 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6522 		.subvendor    = 0x0070,
6523 		.subdevice    = 0x6704,
6524 		.driver_data  = SAA7134_BOARD_HAUPPAUGE_HVR1110,
6525 	},{
6526 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6527 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6528 		.subvendor    = 0x0070,
6529 		.subdevice    = 0x6705,
6530 		.driver_data  = SAA7134_BOARD_HAUPPAUGE_HVR1110,
6531 	},{
6532 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6533 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6534 		.subvendor    = 0x0070,
6535 		.subdevice    = 0x6706,
6536 		.driver_data  = SAA7134_BOARD_HAUPPAUGE_HVR1150,
6537 	},{
6538 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6539 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6540 		.subvendor    = 0x0070,
6541 		.subdevice    = 0x6707,
6542 		.driver_data  = SAA7134_BOARD_HAUPPAUGE_HVR1120,
6543 	},{
6544 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6545 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6546 		.subvendor    = 0x0070,
6547 		.subdevice    = 0x6708,
6548 		.driver_data  = SAA7134_BOARD_HAUPPAUGE_HVR1150,
6549 	},{
6550 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6551 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6552 		.subvendor    = 0x0070,
6553 		.subdevice    = 0x6709,
6554 		.driver_data  = SAA7134_BOARD_HAUPPAUGE_HVR1120,
6555 	},{
6556 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6557 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6558 		.subvendor    = 0x0070,
6559 		.subdevice    = 0x670a,
6560 		.driver_data  = SAA7134_BOARD_HAUPPAUGE_HVR1120,
6561 	},{
6562 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6563 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6564 		.subvendor    = 0x153b,
6565 		.subdevice    = 0x1172,
6566 		.driver_data  = SAA7134_BOARD_CINERGY_HT_PCMCIA,
6567 	},{
6568 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6569 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6570 		.subvendor    = PCI_VENDOR_ID_PHILIPS,
6571 		.subdevice    = 0x2342,
6572 		.driver_data  = SAA7134_BOARD_ENCORE_ENLTV,
6573 	},{
6574 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6575 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6576 		.subvendor    = 0x1131,
6577 		.subdevice    = 0x2341,
6578 		.driver_data  = SAA7134_BOARD_ENCORE_ENLTV,
6579 	},{
6580 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6581 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6582 		.subvendor    = 0x3016,
6583 		.subdevice    = 0x2344,
6584 		.driver_data  = SAA7134_BOARD_ENCORE_ENLTV,
6585 	},{
6586 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6587 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6588 		.subvendor    = 0x1131,
6589 		.subdevice    = 0x230f,
6590 		.driver_data  = SAA7134_BOARD_ENCORE_ENLTV_FM,
6591 	},{
6592 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6593 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6594 		.subvendor    = 0x1a7f,
6595 		.subdevice    = 0x2008,
6596 		.driver_data  = SAA7134_BOARD_ENCORE_ENLTV_FM53,
6597 	}, {
6598 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6599 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6600 		.subvendor    = 0x1a7f,
6601 		.subdevice    = 0x2108,
6602 		.driver_data  = SAA7134_BOARD_ENCORE_ENLTV_FM3,
6603 	}, {
6604 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6605 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6606 		.subvendor    = 0x153b,
6607 		.subdevice    = 0x1175,
6608 		.driver_data  = SAA7134_BOARD_CINERGY_HT_PCI,
6609 	},{
6610 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6611 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6612 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6613 		.subdevice    = 0xf31e,
6614 		.driver_data  = SAA7134_BOARD_AVERMEDIA_M102,
6615 	},{
6616 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6617 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6618 		.subvendor    = 0x4E42,         /* MSI */
6619 		.subdevice    = 0x0306,         /* TV@nywhere DUO */
6620 		.driver_data  = SAA7134_BOARD_FLYDVBTDUO,
6621 	},{
6622 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6623 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6624 		.subvendor    = 0x1043,
6625 		.subdevice    = 0x4871,
6626 		.driver_data  = SAA7134_BOARD_ASUS_P7131_4871,
6627 	},{
6628 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6629 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6630 		.subvendor    = 0x1043,
6631 		.subdevice    = 0x4857,		/* REV:1.00 */
6632 		.driver_data  = SAA7134_BOARD_ASUSTeK_TIGER,
6633 	},{
6634 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6635 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6636 		.subvendor    = 0x0919, /* SinoVideo PCI 2309 Proteus (7134) */
6637 		.subdevice    = 0x2003, /* OEM cardbus */
6638 		.driver_data  = SAA7134_BOARD_SABRENT_TV_PCB05,
6639 	},{
6640 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6641 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6642 		.subvendor    = PCI_VENDOR_ID_PHILIPS,
6643 		.subdevice    = 0x2304,
6644 		.driver_data  = SAA7134_BOARD_10MOONSTVMASTER3,
6645 	},{
6646 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6647 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6648 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6649 		.subdevice    = 0xf01d, /* AVerTV DVB-T Super 007 */
6650 		.driver_data  = SAA7134_BOARD_AVERMEDIA_SUPER_007,
6651 	},{
6652 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6653 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6654 		.subvendor    = 0x0000,
6655 		.subdevice    = 0x4016,
6656 		.driver_data  = SAA7134_BOARD_BEHOLD_401,
6657 	},{
6658 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6659 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6660 		.subvendor    = 0x0000,
6661 		.subdevice    = 0x4036,
6662 		.driver_data  = SAA7134_BOARD_BEHOLD_403,
6663 	},{
6664 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6665 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6666 		.subvendor    = 0x0000,
6667 		.subdevice    = 0x4037,
6668 		.driver_data  = SAA7134_BOARD_BEHOLD_403FM,
6669 	},{
6670 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6671 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6672 		.subvendor    = 0x0000,
6673 		.subdevice    = 0x4050,
6674 		.driver_data  = SAA7134_BOARD_BEHOLD_405,
6675 	},{
6676 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6677 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6678 		.subvendor    = 0x0000,
6679 		.subdevice    = 0x4051,
6680 		.driver_data  = SAA7134_BOARD_BEHOLD_405FM,
6681 	},{
6682 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6683 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6684 		.subvendor    = 0x0000,
6685 		.subdevice    = 0x4070,
6686 		.driver_data  = SAA7134_BOARD_BEHOLD_407,
6687 	},{
6688 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6689 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6690 		.subvendor    = 0x0000,
6691 		.subdevice    = 0x4071,
6692 		.driver_data  = SAA7134_BOARD_BEHOLD_407FM,
6693 	},{
6694 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6695 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6696 		.subvendor    = 0x0000,
6697 		.subdevice    = 0x4090,
6698 		.driver_data  = SAA7134_BOARD_BEHOLD_409,
6699 	},{
6700 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6701 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6702 		.subvendor    = 0x0000,
6703 		.subdevice    = 0x505B,
6704 		.driver_data  = SAA7134_BOARD_BEHOLD_505RDS_MK5,
6705 	}, {
6706 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6707 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6708 		.subvendor    = 0x0000,
6709 		.subdevice    = 0x5051,
6710 		.driver_data  = SAA7134_BOARD_BEHOLD_505RDS_MK3,
6711 	},{
6712 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6713 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6714 		.subvendor    = 0x5ace,
6715 		.subdevice    = 0x5050,
6716 		.driver_data  = SAA7134_BOARD_BEHOLD_505FM,
6717 	},{
6718 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6719 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6720 		.subvendor    = 0x0000,
6721 		.subdevice    = 0x5071,
6722 		.driver_data  = SAA7134_BOARD_BEHOLD_507RDS_MK3,
6723 	},{
6724 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6725 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6726 		.subvendor    = 0x0000,
6727 		.subdevice    = 0x507B,
6728 		.driver_data  = SAA7134_BOARD_BEHOLD_507RDS_MK5,
6729 	},{
6730 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6731 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6732 		.subvendor    = 0x5ace,
6733 		.subdevice    = 0x5070,
6734 		.driver_data  = SAA7134_BOARD_BEHOLD_507_9FM,
6735 	},{
6736 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6737 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6738 		.subvendor    = 0x5ace,
6739 		.subdevice    = 0x5090,
6740 		.driver_data  = SAA7134_BOARD_BEHOLD_507_9FM,
6741 	},{
6742 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6743 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6744 		.subvendor    = 0x0000,
6745 		.subdevice    = 0x5201,
6746 		.driver_data  = SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM,
6747 	},{
6748 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6749 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6750 		.subvendor    = 0x5ace,
6751 		.subdevice    = 0x6070,
6752 		.driver_data  = SAA7134_BOARD_BEHOLD_607FM_MK3,
6753 	},{
6754 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6755 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6756 		.subvendor    = 0x5ace,
6757 		.subdevice    = 0x6071,
6758 		.driver_data  = SAA7134_BOARD_BEHOLD_607FM_MK5,
6759 	},{
6760 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6761 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6762 		.subvendor    = 0x5ace,
6763 		.subdevice    = 0x6072,
6764 		.driver_data  = SAA7134_BOARD_BEHOLD_607RDS_MK3,
6765 	},{
6766 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6767 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6768 		.subvendor    = 0x5ace,
6769 		.subdevice    = 0x6073,
6770 		.driver_data  = SAA7134_BOARD_BEHOLD_607RDS_MK5,
6771 	},{
6772 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6773 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6774 		.subvendor    = 0x5ace,
6775 		.subdevice    = 0x6090,
6776 		.driver_data  = SAA7134_BOARD_BEHOLD_609FM_MK3,
6777 	},{
6778 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6779 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6780 		.subvendor    = 0x5ace,
6781 		.subdevice    = 0x6091,
6782 		.driver_data  = SAA7134_BOARD_BEHOLD_609FM_MK5,
6783 	},{
6784 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6785 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6786 		.subvendor    = 0x5ace,
6787 		.subdevice    = 0x6092,
6788 		.driver_data  = SAA7134_BOARD_BEHOLD_609RDS_MK3,
6789 	},{
6790 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6791 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6792 		.subvendor    = 0x5ace,
6793 		.subdevice    = 0x6093,
6794 		.driver_data  = SAA7134_BOARD_BEHOLD_609RDS_MK5,
6795 	},{
6796 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6797 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6798 		.subvendor    = 0x5ace,
6799 		.subdevice    = 0x6190,
6800 		.driver_data  = SAA7134_BOARD_BEHOLD_M6,
6801 	},{
6802 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6803 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6804 		.subvendor    = 0x5ace,
6805 		.subdevice    = 0x6193,
6806 		.driver_data  = SAA7134_BOARD_BEHOLD_M6_EXTRA,
6807 	}, {
6808 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6809 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6810 		.subvendor    = 0x5ace,
6811 		.subdevice    = 0x6191,
6812 		.driver_data  = SAA7134_BOARD_BEHOLD_M63,
6813 	},{
6814 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6815 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6816 		.subvendor    = 0x4e42,
6817 		.subdevice    = 0x3502,
6818 		.driver_data  = SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS,
6819 	}, {
6820 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6821 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6822 		.subvendor    = 0x1822, /*Twinhan Technology Co. Ltd*/
6823 		.subdevice    = 0x0022,
6824 		.driver_data  = SAA7134_BOARD_TWINHAN_DTV_DVB_3056,
6825 	}, {
6826 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6827 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6828 		.subvendor    = 0x16be,
6829 		.subdevice    = 0x0010, /* Medion version CTX953_V.1.4.3 */
6830 		.driver_data  = SAA7134_BOARD_CREATIX_CTX953,
6831 	}, {
6832 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6833 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6834 		.subvendor    = 0x1462, /* MSI */
6835 		.subdevice    = 0x8625, /* TV@nywhere A/D v1.1 */
6836 		.driver_data  = SAA7134_BOARD_MSI_TVANYWHERE_AD11,
6837 	},{
6838 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6839 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6840 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6841 		.subdevice    = 0xf436,
6842 		.driver_data  = SAA7134_BOARD_AVERMEDIA_CARDBUS_506,
6843 	}, {
6844 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6845 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6846 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6847 		.subdevice    = 0xf936,
6848 		.driver_data  = SAA7134_BOARD_AVERMEDIA_A16D,
6849 	}, {
6850 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6851 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6852 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6853 		.subdevice    = 0xa836,
6854 		.driver_data  = SAA7134_BOARD_AVERMEDIA_M115,
6855 	}, {
6856 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6857 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6858 		.subvendor    = 0x185b,
6859 		.subdevice    = 0xc900,
6860 		.driver_data  = SAA7134_BOARD_VIDEOMATE_T750,
6861 	}, {
6862 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6863 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133, /* SAA7135HL */
6864 		.subvendor    = 0x1421,
6865 		.subdevice    = 0x0380,
6866 		.driver_data  = SAA7134_BOARD_ADS_INSTANT_HDTV_PCI,
6867 	}, {
6868 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6869 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6870 		.subvendor    = 0x5169,
6871 		.subdevice    = 0x1502,
6872 		.driver_data  = SAA7134_BOARD_FLYTVPLATINUM_MINI,
6873 	}, {
6874 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6875 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6876 		.subvendor    = 0x5ace,
6877 		.subdevice    = 0x6290,
6878 		.driver_data  = SAA7134_BOARD_BEHOLD_H6,
6879 	}, {
6880 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6881 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6882 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6883 		.subdevice    = 0xf636,
6884 		.driver_data  = SAA7134_BOARD_AVERMEDIA_M103,
6885 	}, {
6886 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6887 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6888 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6889 		.subdevice    = 0xf736,
6890 		.driver_data  = SAA7134_BOARD_AVERMEDIA_M103,
6891 	}, {
6892 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6893 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6894 		.subvendor    = 0x1043,
6895 		.subdevice    = 0x4878, /* REV:1.02G */
6896 		.driver_data  = SAA7134_BOARD_ASUSTeK_TIGER_3IN1,
6897 	}, {
6898 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6899 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6900 		.subvendor    = 0x1043,
6901 		.subdevice    = 0x48cd,
6902 		.driver_data  = SAA7134_BOARD_ASUSTeK_PS3_100,
6903 	}, {
6904 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6905 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6906 		.subvendor    = 0x17de,
6907 		.subdevice    = 0x7128,
6908 		.driver_data  = SAA7134_BOARD_KWORLD_PLUS_TV_ANALOG,
6909 	}, {
6910 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6911 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6912 		.subvendor    = 0x17de,
6913 		.subdevice    = 0xb136,
6914 		.driver_data  = SAA7134_BOARD_KWORLD_PCI_SBTVD_FULLSEG,
6915 	}, {
6916 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6917 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6918 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
6919 		.subdevice    = 0xf31d,
6920 		.driver_data  = SAA7134_BOARD_AVERMEDIA_GO_007_FM_PLUS,
6921 	}, {
6922 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6923 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6924 		.subvendor    = 0x185b,
6925 		.subdevice    = 0xc900,
6926 		.driver_data  = SAA7134_BOARD_VIDEOMATE_S350,
6927 	}, {
6928 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6929 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6930 		.subvendor    = 0x5ace, /* Beholder Intl. Ltd. */
6931 		.subdevice    = 0x7595,
6932 		.driver_data  = SAA7134_BOARD_BEHOLD_X7,
6933 	}, {
6934 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6935 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6936 		.subvendor    = 0x19d1, /* RoverMedia */
6937 		.subdevice    = 0x0138, /* LifeView FlyTV Prime30 OEM */
6938 		.driver_data  = SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM,
6939 	}, {
6940 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6941 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6942 		.subvendor    = PCI_VENDOR_ID_PHILIPS,
6943 		.subdevice    = 0x2004,
6944 		.driver_data  = SAA7134_BOARD_ZOLID_HYBRID_PCI,
6945 	}, {
6946 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6947 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6948 		.subvendor    = 0x1043,
6949 		.subdevice    = 0x4847,
6950 		.driver_data  = SAA7134_BOARD_ASUS_EUROPA_HYBRID,
6951 	}, {
6952 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6953 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6954 		.subvendor    = 0x107d,
6955 		.subdevice    = 0x6655,
6956 		.driver_data  = SAA7134_BOARD_LEADTEK_WINFAST_DTV1000S,
6957 	}, {
6958 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6959 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6960 		.subvendor    = 0x13c2,
6961 		.subdevice    = 0x2804,
6962 		.driver_data  = SAA7134_BOARD_TECHNOTREND_BUDGET_T3000,
6963 	}, {
6964 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6965 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6966 		.subvendor    = 0x5ace, /* Beholder Intl. Ltd. */
6967 		.subdevice    = 0x7190,
6968 		.driver_data  = SAA7134_BOARD_BEHOLD_H7,
6969 	}, {
6970 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6971 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6972 		.subvendor    = 0x5ace, /* Beholder Intl. Ltd. */
6973 		.subdevice    = 0x7090,
6974 		.driver_data  = SAA7134_BOARD_BEHOLD_A7,
6975 	}, {
6976 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6977 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7135,
6978 		.subvendor    = 0x185b,
6979 		.subdevice    = 0xc900,
6980 		.driver_data  = SAA7134_BOARD_VIDEOMATE_M1F,
6981 	}, {
6982 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6983 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
6984 		.subvendor    = 0x5ace,
6985 		.subdevice    = 0x5030,
6986 		.driver_data  = SAA7134_BOARD_BEHOLD_503FM,
6987 	}, {
6988 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6989 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
6990 		.subvendor    = 0x5ace,
6991 		.subdevice    = 0x5010,
6992 		.driver_data  = SAA7134_BOARD_BEHOLD_501,
6993 	}, {
6994 		.vendor       = PCI_VENDOR_ID_PHILIPS,
6995 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
6996 		.subvendor    = 0x17de,
6997 		.subdevice    = 0xd136,
6998 		.driver_data  = SAA7134_BOARD_MAGICPRO_PROHDTV_PRO2,
6999 	}, {
7000 		.vendor       = PCI_VENDOR_ID_PHILIPS,
7001 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
7002 		.subvendor    = 0x6000,
7003 		.subdevice    = 0x0811,
7004 		.driver_data  = SAA7134_BOARD_SENSORAY811_911,
7005 	}, {
7006 		.vendor       = PCI_VENDOR_ID_PHILIPS,
7007 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
7008 		.subvendor    = 0x6000,
7009 		.subdevice    = 0x0911,
7010 		.driver_data  = SAA7134_BOARD_SENSORAY811_911,
7011 	}, {
7012 		.vendor       = PCI_VENDOR_ID_PHILIPS,
7013 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
7014 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
7015 		.subdevice    = 0x2055, /* AverTV Satellite Hybrid+FM A706 */
7016 		.driver_data  = SAA7134_BOARD_AVERMEDIA_A706,
7017 	}, {
7018 		.vendor       = PCI_VENDOR_ID_PHILIPS,
7019 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
7020 		.subvendor    = 0x1905, /* WIS */
7021 		.subdevice    = 0x7007,
7022 		.driver_data  = SAA7134_BOARD_WIS_VOYAGER,
7023 	}, {
7024 		.vendor       = PCI_VENDOR_ID_PHILIPS,
7025 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
7026 		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
7027 		.subdevice    = 0xa10a,
7028 		.driver_data  = SAA7134_BOARD_AVERMEDIA_505,
7029 	}, {
7030 		.vendor       = PCI_VENDOR_ID_PHILIPS,
7031 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
7032 		.subvendor    = 0x107d,
7033 		.subdevice    = 0x6f3a,
7034 		.driver_data  = SAA7134_BOARD_LEADTEK_WINFAST_TV2100_FM,
7035 	}, {
7036 		.vendor       = PCI_VENDOR_ID_PHILIPS,
7037 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
7038 		.subvendor    = 0x1779, /* V One Multimedia PTE Ltd */
7039 		.subdevice    = 0x13cf,
7040 		.driver_data  = SAA7134_BOARD_SNAZIO_TVPVR_PRO,
7041 	}, {
7042 		/* --- boards without eeprom + subsystem ID --- */
7043 		.vendor       = PCI_VENDOR_ID_PHILIPS,
7044 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
7045 		.subvendor    = PCI_VENDOR_ID_PHILIPS,
7046 		.subdevice    = 0,
7047 		.driver_data  = SAA7134_BOARD_NOAUTO,
7048 	},{
7049 		.vendor       = PCI_VENDOR_ID_PHILIPS,
7050 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
7051 		.subvendor    = PCI_VENDOR_ID_PHILIPS,
7052 		.subdevice    = 0,
7053 		.driver_data  = SAA7134_BOARD_NOAUTO,
7054 	},{
7055 		/* --- default catch --- */
7056 		.vendor       = PCI_VENDOR_ID_PHILIPS,
7057 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
7058 		.subvendor    = PCI_ANY_ID,
7059 		.subdevice    = PCI_ANY_ID,
7060 		.driver_data  = SAA7134_BOARD_UNKNOWN,
7061 	},{
7062 		.vendor       = PCI_VENDOR_ID_PHILIPS,
7063 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
7064 		.subvendor    = PCI_ANY_ID,
7065 		.subdevice    = PCI_ANY_ID,
7066 		.driver_data  = SAA7134_BOARD_UNKNOWN,
7067 	},{
7068 		.vendor       = PCI_VENDOR_ID_PHILIPS,
7069 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
7070 		.subvendor    = PCI_ANY_ID,
7071 		.subdevice    = PCI_ANY_ID,
7072 		.driver_data  = SAA7134_BOARD_UNKNOWN,
7073 	},{
7074 		.vendor       = PCI_VENDOR_ID_PHILIPS,
7075 		.device       = PCI_DEVICE_ID_PHILIPS_SAA7135,
7076 		.subvendor    = PCI_ANY_ID,
7077 		.subdevice    = PCI_ANY_ID,
7078 		.driver_data  = SAA7134_BOARD_UNKNOWN,
7079 	},{
7080 		/* --- end of list --- */
7081 	}
7082 };
7083 MODULE_DEVICE_TABLE(pci, saa7134_pci_tbl);
7084 
7085 /* ----------------------------------------------------------- */
7086 /* flyvideo tweaks                                             */
7087 
7088 
7089 static void board_flyvideo(struct saa7134_dev *dev)
7090 {
7091 	pr_warn("%s: there are different flyvideo cards with different tuners\n"
7092 		"%s: out there, you might have to use the tuner=<nr> insmod\n"
7093 		"%s: option to override the default value.\n",
7094 		dev->name, dev->name, dev->name);
7095 }
7096 
7097 static int saa7134_xc2028_callback(struct saa7134_dev *dev,
7098 				   int command, int arg)
7099 {
7100 	switch (command) {
7101 	case XC2028_TUNER_RESET:
7102 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00008000, 0x00000000);
7103 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00008000, 0x00008000);
7104 		switch (dev->board) {
7105 		case SAA7134_BOARD_AVERMEDIA_CARDBUS_506:
7106 		case SAA7134_BOARD_AVERMEDIA_M103:
7107 			saa7134_set_gpio(dev, 23, 0);
7108 			msleep(10);
7109 			saa7134_set_gpio(dev, 23, 1);
7110 		break;
7111 		case SAA7134_BOARD_AVERMEDIA_A16D:
7112 			saa7134_set_gpio(dev, 21, 0);
7113 			msleep(10);
7114 			saa7134_set_gpio(dev, 21, 1);
7115 		break;
7116 		case SAA7134_BOARD_AVERMEDIA_A700_HYBRID:
7117 			saa7134_set_gpio(dev, 18, 0);
7118 			msleep(10);
7119 			saa7134_set_gpio(dev, 18, 1);
7120 		break;
7121 		case SAA7134_BOARD_VIDEOMATE_T750:
7122 			saa7134_set_gpio(dev, 20, 0);
7123 			msleep(10);
7124 			saa7134_set_gpio(dev, 20, 1);
7125 		break;
7126 		}
7127 		return 0;
7128 	}
7129 	return -EINVAL;
7130 }
7131 
7132 static int saa7134_xc5000_callback(struct saa7134_dev *dev,
7133 				   int command, int arg)
7134 {
7135 	switch (dev->board) {
7136 	case SAA7134_BOARD_BEHOLD_X7:
7137 	case SAA7134_BOARD_BEHOLD_H7:
7138 	case SAA7134_BOARD_BEHOLD_A7:
7139 		if (command == XC5000_TUNER_RESET) {
7140 		/* Down and UP pheripherial RESET pin for reset all chips */
7141 			saa_writeb(SAA7134_SPECIAL_MODE, 0x00);
7142 			msleep(10);
7143 			saa_writeb(SAA7134_SPECIAL_MODE, 0x01);
7144 			msleep(10);
7145 		}
7146 		break;
7147 	default:
7148 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x06e20000, 0x06e20000);
7149 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x06a20000, 0x06a20000);
7150 		saa_andorl(SAA7133_ANALOG_IO_SELECT >> 2, 0x02, 0x02);
7151 		saa_andorl(SAA7134_ANALOG_IN_CTRL1 >> 2, 0x81, 0x81);
7152 		saa_andorl(SAA7134_AUDIO_CLOCK0 >> 2, 0x03187de7, 0x03187de7);
7153 		saa_andorl(SAA7134_AUDIO_PLL_CTRL >> 2, 0x03, 0x03);
7154 		saa_andorl(SAA7134_AUDIO_CLOCKS_PER_FIELD0 >> 2,
7155 			   0x0001e000, 0x0001e000);
7156 		break;
7157 	}
7158 	return 0;
7159 }
7160 
7161 static int saa7134_tda8290_827x_callback(struct saa7134_dev *dev,
7162 					 int command, int arg)
7163 {
7164 	u8 sync_control;
7165 
7166 	switch (command) {
7167 	case 0: /* switch LNA gain through GPIO 22*/
7168 		saa7134_set_gpio(dev, 22, arg) ;
7169 		break;
7170 	case 1: /* vsync output at GPIO22. 50 / 60Hz */
7171 		saa_andorb(SAA7134_VIDEO_PORT_CTRL3, 0x80, 0x80);
7172 		saa_andorb(SAA7134_VIDEO_PORT_CTRL6, 0x0f, 0x03);
7173 		if (arg == 1)
7174 			sync_control = 11;
7175 		else
7176 			sync_control = 17;
7177 		saa_writeb(SAA7134_VGATE_START, sync_control);
7178 		saa_writeb(SAA7134_VGATE_STOP, sync_control + 1);
7179 		saa_andorb(SAA7134_MISC_VGATE_MSB, 0x03, 0x00);
7180 		break;
7181 	default:
7182 		return -EINVAL;
7183 	}
7184 
7185 	return 0;
7186 }
7187 
7188 static inline int saa7134_tda18271_hvr11x0_toggle_agc(struct saa7134_dev *dev,
7189 						      enum tda18271_mode mode)
7190 {
7191 	/* toggle AGC switch through GPIO 26 */
7192 	switch (mode) {
7193 	case TDA18271_ANALOG:
7194 		saa7134_set_gpio(dev, 26, 0);
7195 		break;
7196 	case TDA18271_DIGITAL:
7197 		saa7134_set_gpio(dev, 26, 1);
7198 		break;
7199 	default:
7200 		return -EINVAL;
7201 	}
7202 	return 0;
7203 }
7204 
7205 static inline int saa7134_kworld_sbtvd_toggle_agc(struct saa7134_dev *dev,
7206 						  enum tda18271_mode mode)
7207 {
7208 	/* toggle AGC switch through GPIO 27 */
7209 	switch (mode) {
7210 	case TDA18271_ANALOG:
7211 		saa_writel(SAA7134_GPIO_GPMODE0 >> 2, 0x4000);
7212 		saa_writel(SAA7134_GPIO_GPSTATUS0 >> 2, 0x4000);
7213 		msleep(20);
7214 		break;
7215 	case TDA18271_DIGITAL:
7216 		saa_writel(SAA7134_GPIO_GPMODE0 >> 2, 0x14000);
7217 		saa_writel(SAA7134_GPIO_GPSTATUS0 >> 2, 0x14000);
7218 		msleep(20);
7219 		saa_writel(SAA7134_GPIO_GPMODE0 >> 2, 0x54000);
7220 		saa_writel(SAA7134_GPIO_GPSTATUS0 >> 2, 0x54000);
7221 		msleep(30);
7222 		break;
7223 	default:
7224 		return -EINVAL;
7225 	}
7226 	return 0;
7227 }
7228 
7229 static int saa7134_kworld_pc150u_toggle_agc(struct saa7134_dev *dev,
7230 					    enum tda18271_mode mode)
7231 {
7232 	switch (mode) {
7233 	case TDA18271_ANALOG:
7234 		saa7134_set_gpio(dev, 18, 0);
7235 		break;
7236 	case TDA18271_DIGITAL:
7237 		saa7134_set_gpio(dev, 18, 1);
7238 		msleep(30);
7239 		break;
7240 	default:
7241 		return -EINVAL;
7242 	}
7243 	return 0;
7244 }
7245 
7246 static int saa7134_tda8290_18271_callback(struct saa7134_dev *dev,
7247 					  int command, int arg)
7248 {
7249 	int ret = 0;
7250 
7251 	switch (command) {
7252 	case TDA18271_CALLBACK_CMD_AGC_ENABLE: /* 0 */
7253 		switch (dev->board) {
7254 		case SAA7134_BOARD_HAUPPAUGE_HVR1150:
7255 		case SAA7134_BOARD_HAUPPAUGE_HVR1120:
7256 		case SAA7134_BOARD_MAGICPRO_PROHDTV_PRO2:
7257 			ret = saa7134_tda18271_hvr11x0_toggle_agc(dev, arg);
7258 			break;
7259 		case SAA7134_BOARD_KWORLD_PCI_SBTVD_FULLSEG:
7260 			ret = saa7134_kworld_sbtvd_toggle_agc(dev, arg);
7261 			break;
7262 		case SAA7134_BOARD_KWORLD_PC150U:
7263 			ret = saa7134_kworld_pc150u_toggle_agc(dev, arg);
7264 			break;
7265 		default:
7266 			break;
7267 		}
7268 		break;
7269 	default:
7270 		ret = -EINVAL;
7271 		break;
7272 	}
7273 	return ret;
7274 }
7275 
7276 static int saa7134_tda8290_callback(struct saa7134_dev *dev,
7277 				    int command, int arg)
7278 {
7279 	int ret;
7280 
7281 	switch (dev->board) {
7282 	case SAA7134_BOARD_HAUPPAUGE_HVR1150:
7283 	case SAA7134_BOARD_HAUPPAUGE_HVR1120:
7284 	case SAA7134_BOARD_AVERMEDIA_M733A:
7285 	case SAA7134_BOARD_KWORLD_PCI_SBTVD_FULLSEG:
7286 	case SAA7134_BOARD_KWORLD_PC150U:
7287 	case SAA7134_BOARD_MAGICPRO_PROHDTV_PRO2:
7288 		/* tda8290 + tda18271 */
7289 		ret = saa7134_tda8290_18271_callback(dev, command, arg);
7290 		break;
7291 	default:
7292 		/* tda8290 + tda827x */
7293 		ret = saa7134_tda8290_827x_callback(dev, command, arg);
7294 		break;
7295 	}
7296 	return ret;
7297 }
7298 
7299 int saa7134_tuner_callback(void *priv, int component, int command, int arg)
7300 {
7301 	struct saa7134_dev *dev = priv;
7302 
7303 	if (dev != NULL) {
7304 		switch (dev->tuner_type) {
7305 		case TUNER_PHILIPS_TDA8290:
7306 			return saa7134_tda8290_callback(dev, command, arg);
7307 		case TUNER_XC2028:
7308 			return saa7134_xc2028_callback(dev, command, arg);
7309 		case TUNER_XC5000:
7310 			return saa7134_xc5000_callback(dev, command, arg);
7311 		}
7312 	} else {
7313 		pr_err("saa7134: Error - device struct undefined.\n");
7314 		return -EINVAL;
7315 	}
7316 	return -EINVAL;
7317 }
7318 EXPORT_SYMBOL(saa7134_tuner_callback);
7319 
7320 /* ----------------------------------------------------------- */
7321 
7322 static void hauppauge_eeprom(struct saa7134_dev *dev, u8 *eeprom_data)
7323 {
7324 	struct tveeprom tv;
7325 
7326 	tveeprom_hauppauge_analog(&dev->i2c_client, &tv, eeprom_data);
7327 
7328 	/* Make sure we support the board model */
7329 	switch (tv.model) {
7330 	case 67019: /* WinTV-HVR1110 (Retail, IR Blaster, hybrid, FM, SVid/Comp, 3.5mm audio in) */
7331 	case 67109: /* WinTV-HVR1000 (Retail, IR Receive, analog, no FM, SVid/Comp, 3.5mm audio in) */
7332 	case 67201: /* WinTV-HVR1150 (Retail, IR Receive, hybrid, FM, SVid/Comp, 3.5mm audio in) */
7333 	case 67301: /* WinTV-HVR1000 (Retail, IR Receive, analog, no FM, SVid/Comp, 3.5mm audio in) */
7334 	case 67209: /* WinTV-HVR1110 (Retail, IR Receive, hybrid, FM, SVid/Comp, 3.5mm audio in) */
7335 	case 67559: /* WinTV-HVR1110 (OEM, no IR, hybrid, FM, SVid/Comp, RCA aud) */
7336 	case 67569: /* WinTV-HVR1110 (OEM, no IR, hybrid, FM) */
7337 	case 67579: /* WinTV-HVR1110 (OEM, no IR, hybrid, no FM) */
7338 	case 67589: /* WinTV-HVR1110 (OEM, no IR, hybrid, no FM, SVid/Comp, RCA aud) */
7339 	case 67599: /* WinTV-HVR1110 (OEM, no IR, hybrid, no FM, SVid/Comp, RCA aud) */
7340 	case 67651: /* WinTV-HVR1150 (OEM, no IR, hybrid, FM, SVid/Comp, RCA aud) */
7341 	case 67659: /* WinTV-HVR1110 (OEM, no IR, hybrid, FM, SVid/Comp, RCA aud) */
7342 		break;
7343 	default:
7344 		pr_warn("%s: warning: unknown hauppauge model #%d\n",
7345 			dev->name, tv.model);
7346 		break;
7347 	}
7348 
7349 	pr_info("%s: hauppauge eeprom: model=%d\n",
7350 	       dev->name, tv.model);
7351 }
7352 
7353 /* ----------------------------------------------------------- */
7354 
7355 int saa7134_board_init1(struct saa7134_dev *dev)
7356 {
7357 	/* Always print gpio, often manufacturers encode tuner type and other info. */
7358 	saa_writel(SAA7134_GPIO_GPMODE0 >> 2, 0);
7359 	dev->gpio_value = saa_readl(SAA7134_GPIO_GPSTATUS0 >> 2);
7360 	pr_info("%s: board init: gpio is %x\n", dev->name, dev->gpio_value);
7361 
7362 	switch (dev->board) {
7363 	case SAA7134_BOARD_FLYVIDEO2000:
7364 	case SAA7134_BOARD_FLYVIDEO3000:
7365 	case SAA7134_BOARD_FLYVIDEO3000_NTSC:
7366 		dev->has_remote = SAA7134_REMOTE_GPIO;
7367 		board_flyvideo(dev);
7368 		break;
7369 	case SAA7134_BOARD_FLYTVPLATINUM_MINI2:
7370 	case SAA7134_BOARD_FLYTVPLATINUM_FM:
7371 	case SAA7134_BOARD_CINERGY400:
7372 	case SAA7134_BOARD_CINERGY600:
7373 	case SAA7134_BOARD_CINERGY600_MK3:
7374 	case SAA7134_BOARD_ECS_TVP3XP:
7375 	case SAA7134_BOARD_ECS_TVP3XP_4CB5:
7376 	case SAA7134_BOARD_ECS_TVP3XP_4CB6:
7377 	case SAA7134_BOARD_MD2819:
7378 	case SAA7134_BOARD_KWORLD_VSTREAM_XPERT:
7379 	case SAA7134_BOARD_KWORLD_XPERT:
7380 	case SAA7134_BOARD_AVERMEDIA_STUDIO_305:
7381 	case SAA7134_BOARD_AVERMEDIA_305:
7382 	case SAA7134_BOARD_AVERMEDIA_STUDIO_505:
7383 	case SAA7134_BOARD_AVERMEDIA_505:
7384 	case SAA7134_BOARD_AVERMEDIA_STUDIO_307:
7385 	case SAA7134_BOARD_AVERMEDIA_307:
7386 	case SAA7134_BOARD_AVERMEDIA_STUDIO_507:
7387 	case SAA7134_BOARD_AVERMEDIA_GO_007_FM:
7388 	case SAA7134_BOARD_AVERMEDIA_777:
7389 	case SAA7134_BOARD_AVERMEDIA_M135A:
7390 /*      case SAA7134_BOARD_SABRENT_SBTTVFM:  */ /* not finished yet */
7391 	case SAA7134_BOARD_VIDEOMATE_TV_PVR:
7392 	case SAA7134_BOARD_VIDEOMATE_GOLD_PLUS:
7393 	case SAA7134_BOARD_VIDEOMATE_TV_GOLD_PLUSII:
7394 	case SAA7134_BOARD_VIDEOMATE_M1F:
7395 	case SAA7134_BOARD_VIDEOMATE_DVBT_300:
7396 	case SAA7134_BOARD_VIDEOMATE_DVBT_200:
7397 	case SAA7134_BOARD_VIDEOMATE_DVBT_200A:
7398 	case SAA7134_BOARD_MANLI_MTV001:
7399 	case SAA7134_BOARD_MANLI_MTV002:
7400 	case SAA7134_BOARD_BEHOLD_409FM:
7401 	case SAA7134_BOARD_AVACSSMARTTV:
7402 	case SAA7134_BOARD_GOTVIEW_7135:
7403 	case SAA7134_BOARD_KWORLD_TERMINATOR:
7404 	case SAA7134_BOARD_SEDNA_PC_TV_CARDBUS:
7405 	case SAA7134_BOARD_FLYDVBT_LR301:
7406 	case SAA7134_BOARD_ASUSTeK_PS3_100:
7407 	case SAA7134_BOARD_ASUSTeK_P7131_DUAL:
7408 	case SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA:
7409 	case SAA7134_BOARD_ASUSTeK_P7131_ANALOG:
7410 	case SAA7134_BOARD_FLYDVBTDUO:
7411 	case SAA7134_BOARD_PROTEUS_2309:
7412 	case SAA7134_BOARD_AVERMEDIA_A16AR:
7413 	case SAA7134_BOARD_ENCORE_ENLTV:
7414 	case SAA7134_BOARD_ENCORE_ENLTV_FM:
7415 	case SAA7134_BOARD_ENCORE_ENLTV_FM53:
7416 	case SAA7134_BOARD_ENCORE_ENLTV_FM3:
7417 	case SAA7134_BOARD_10MOONSTVMASTER3:
7418 	case SAA7134_BOARD_BEHOLD_401:
7419 	case SAA7134_BOARD_BEHOLD_403:
7420 	case SAA7134_BOARD_BEHOLD_403FM:
7421 	case SAA7134_BOARD_BEHOLD_405:
7422 	case SAA7134_BOARD_BEHOLD_405FM:
7423 	case SAA7134_BOARD_BEHOLD_407:
7424 	case SAA7134_BOARD_BEHOLD_407FM:
7425 	case SAA7134_BOARD_BEHOLD_409:
7426 	case SAA7134_BOARD_BEHOLD_505FM:
7427 	case SAA7134_BOARD_BEHOLD_505RDS_MK5:
7428 	case SAA7134_BOARD_BEHOLD_505RDS_MK3:
7429 	case SAA7134_BOARD_BEHOLD_507_9FM:
7430 	case SAA7134_BOARD_BEHOLD_507RDS_MK3:
7431 	case SAA7134_BOARD_BEHOLD_507RDS_MK5:
7432 	case SAA7134_BOARD_GENIUS_TVGO_A11MCE:
7433 	case SAA7134_BOARD_REAL_ANGEL_220:
7434 	case SAA7134_BOARD_KWORLD_PLUS_TV_ANALOG:
7435 	case SAA7134_BOARD_AVERMEDIA_GO_007_FM_PLUS:
7436 	case SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM:
7437 	case SAA7134_BOARD_LEADTEK_WINFAST_DTV1000S:
7438 	case SAA7134_BOARD_LEADTEK_WINFAST_TV2100_FM:
7439 		dev->has_remote = SAA7134_REMOTE_GPIO;
7440 		break;
7441 	case SAA7134_BOARD_FLYDVBS_LR300:
7442 		saa_writeb(SAA7134_GPIO_GPMODE3, 0x80);
7443 		saa_writeb(SAA7134_GPIO_GPSTATUS2, 0x40);
7444 		dev->has_remote = SAA7134_REMOTE_GPIO;
7445 		break;
7446 	case SAA7134_BOARD_MD5044:
7447 		pr_warn("%s: seems there are two different versions of the MD5044\n"
7448 			"%s: (with the same ID) out there.  If sound doesn't work for\n"
7449 			"%s: you try the audio_clock_override=0x200000 insmod option.\n",
7450 			dev->name, dev->name, dev->name);
7451 		break;
7452 	case SAA7134_BOARD_CINERGY400_CARDBUS:
7453 		/* power-up tuner chip */
7454 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x00040000, 0x00040000);
7455 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00040000, 0x00000000);
7456 		break;
7457 	case SAA7134_BOARD_PINNACLE_300I_DVBT_PAL:
7458 		/* this turns the remote control chip off to work around a bug in it */
7459 		saa_writeb(SAA7134_GPIO_GPMODE1, 0x80);
7460 		saa_writeb(SAA7134_GPIO_GPSTATUS1, 0x80);
7461 		break;
7462 	case SAA7134_BOARD_MONSTERTV_MOBILE:
7463 		/* power-up tuner chip */
7464 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x00040000, 0x00040000);
7465 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00040000, 0x00000004);
7466 		break;
7467 	case SAA7134_BOARD_FLYDVBT_DUO_CARDBUS:
7468 		/* turn the fan on */
7469 		saa_writeb(SAA7134_GPIO_GPMODE3, 0x08);
7470 		saa_writeb(SAA7134_GPIO_GPSTATUS3, 0x06);
7471 		break;
7472 	case SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331:
7473 	case SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS:
7474 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x08000000, 0x08000000);
7475 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x08000000, 0x00000000);
7476 		break;
7477 	case SAA7134_BOARD_AVERMEDIA_CARDBUS:
7478 	case SAA7134_BOARD_AVERMEDIA_M115:
7479 		/* power-down tuner chip */
7480 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0xffffffff, 0);
7481 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0xffffffff, 0);
7482 		msleep(10);
7483 		/* power-up tuner chip */
7484 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0xffffffff, 0xffffffff);
7485 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0xffffffff, 0xffffffff);
7486 		msleep(10);
7487 		break;
7488 	case SAA7134_BOARD_AVERMEDIA_CARDBUS_501:
7489 		/* power-down tuner chip */
7490 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x08400000, 0x08400000);
7491 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x08400000, 0);
7492 		msleep(10);
7493 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x08400000, 0x08400000);
7494 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x08400000, 0x08400000);
7495 		msleep(10);
7496 		dev->has_remote = SAA7134_REMOTE_I2C;
7497 		break;
7498 	case SAA7134_BOARD_AVERMEDIA_CARDBUS_506:
7499 		saa7134_set_gpio(dev, 23, 0);
7500 		msleep(10);
7501 		saa7134_set_gpio(dev, 23, 1);
7502 		dev->has_remote = SAA7134_REMOTE_I2C;
7503 		break;
7504 	case SAA7134_BOARD_AVERMEDIA_M103:
7505 		saa7134_set_gpio(dev, 23, 0);
7506 		msleep(10);
7507 		saa7134_set_gpio(dev, 23, 1);
7508 		break;
7509 	case SAA7134_BOARD_AVERMEDIA_A16D:
7510 		saa7134_set_gpio(dev, 21, 0);
7511 		msleep(10);
7512 		saa7134_set_gpio(dev, 21, 1);
7513 		msleep(1);
7514 		dev->has_remote = SAA7134_REMOTE_GPIO;
7515 		break;
7516 	case SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM:
7517 		/* power-down tuner chip */
7518 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x000A8004, 0x000A8004);
7519 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x000A8004, 0);
7520 		msleep(10);
7521 		/* power-up tuner chip */
7522 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x000A8004, 0x000A8004);
7523 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x000A8004, 0x000A8004);
7524 		msleep(10);
7525 		/* remote via GPIO */
7526 		dev->has_remote = SAA7134_REMOTE_GPIO;
7527 		break;
7528 	case SAA7134_BOARD_RTD_VFG7350:
7529 
7530 		/*
7531 		 * Make sure Production Test Register at offset 0x1D1 is cleared
7532 		 * to take chip out of test mode.  Clearing bit 4 (TST_EN_AOUT)
7533 		 * prevents pin 105 from remaining low; keeping pin 105 low
7534 		 * continually resets the SAA6752 chip.
7535 		 */
7536 
7537 		saa_writeb (SAA7134_PRODUCTION_TEST_MODE, 0x00);
7538 		break;
7539 	case SAA7134_BOARD_HAUPPAUGE_HVR1150:
7540 	case SAA7134_BOARD_HAUPPAUGE_HVR1120:
7541 		dev->has_remote = SAA7134_REMOTE_GPIO;
7542 		/* GPIO 26 high for digital, low for analog */
7543 		saa7134_set_gpio(dev, 26, 0);
7544 		msleep(1);
7545 
7546 		saa7134_set_gpio(dev, 22, 0);
7547 		msleep(10);
7548 		saa7134_set_gpio(dev, 22, 1);
7549 		break;
7550 	/* i2c remotes */
7551 	case SAA7134_BOARD_PINNACLE_PCTV_110i:
7552 	case SAA7134_BOARD_PINNACLE_PCTV_310i:
7553 	case SAA7134_BOARD_UPMOST_PURPLE_TV:
7554 	case SAA7134_BOARD_MSI_TVATANYWHERE_PLUS:
7555 	case SAA7134_BOARD_HAUPPAUGE_HVR1110:
7556 	case SAA7134_BOARD_BEHOLD_607FM_MK3:
7557 	case SAA7134_BOARD_BEHOLD_607FM_MK5:
7558 	case SAA7134_BOARD_BEHOLD_609FM_MK3:
7559 	case SAA7134_BOARD_BEHOLD_609FM_MK5:
7560 	case SAA7134_BOARD_BEHOLD_607RDS_MK3:
7561 	case SAA7134_BOARD_BEHOLD_607RDS_MK5:
7562 	case SAA7134_BOARD_BEHOLD_609RDS_MK3:
7563 	case SAA7134_BOARD_BEHOLD_609RDS_MK5:
7564 	case SAA7134_BOARD_BEHOLD_M6:
7565 	case SAA7134_BOARD_BEHOLD_M63:
7566 	case SAA7134_BOARD_BEHOLD_M6_EXTRA:
7567 	case SAA7134_BOARD_BEHOLD_H6:
7568 	case SAA7134_BOARD_BEHOLD_X7:
7569 	case SAA7134_BOARD_BEHOLD_H7:
7570 	case SAA7134_BOARD_BEHOLD_A7:
7571 	case SAA7134_BOARD_KWORLD_PC150U:
7572 	case SAA7134_BOARD_SNAZIO_TVPVR_PRO:
7573 		dev->has_remote = SAA7134_REMOTE_I2C;
7574 		break;
7575 	case SAA7134_BOARD_AVERMEDIA_A169_B:
7576 		pr_warn("%s: %s: dual saa713x broadcast decoders\n"
7577 			"%s: Sorry, none of the inputs to this chip are supported yet.\n"
7578 			"%s: Dual decoder functionality is disabled for now, use the other chip.\n",
7579 			dev->name, card(dev).name, dev->name, dev->name);
7580 		break;
7581 	case SAA7134_BOARD_AVERMEDIA_M102:
7582 		/* enable tuner */
7583 	       dev->has_remote = SAA7134_REMOTE_GPIO;
7584 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x8c040007, 0x8c040007);
7585 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x0c0007cd, 0x0c0007cd);
7586 		break;
7587 	case SAA7134_BOARD_AVERMEDIA_A700_HYBRID:
7588 	case SAA7134_BOARD_AVERMEDIA_A700_PRO:
7589 		/* write windows gpio values */
7590 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x80040100, 0x80040100);
7591 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x80040100, 0x00040100);
7592 		break;
7593 	case SAA7134_BOARD_AVERMEDIA_A706:
7594 		/* radio antenna select: tristate both as in Windows driver */
7595 		saa7134_set_gpio(dev, 12, 3);	/* TV antenna */
7596 		saa7134_set_gpio(dev, 13, 3);	/* FM antenna */
7597 		dev->has_remote = SAA7134_REMOTE_I2C;
7598 		/*
7599 		 * Disable CE5039 DVB-S tuner now (SLEEP pin high) to prevent
7600 		 * it from interfering with analog tuner detection
7601 		 */
7602 		saa7134_set_gpio(dev, 23, 1);
7603 		break;
7604 	case SAA7134_BOARD_VIDEOMATE_S350:
7605 		dev->has_remote = SAA7134_REMOTE_GPIO;
7606 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x0000C000, 0x0000C000);
7607 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x0000C000, 0x0000C000);
7608 		break;
7609 	case SAA7134_BOARD_AVERMEDIA_M733A:
7610 		saa7134_set_gpio(dev, 1, 1);
7611 		msleep(10);
7612 		saa7134_set_gpio(dev, 1, 0);
7613 		msleep(10);
7614 		saa7134_set_gpio(dev, 1, 1);
7615 		dev->has_remote = SAA7134_REMOTE_GPIO;
7616 		break;
7617 	case SAA7134_BOARD_MAGICPRO_PROHDTV_PRO2:
7618 		/* enable LGS-8G75 */
7619 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x0e050000, 0x0c050000);
7620 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x0e050000, 0x0c050000);
7621 		break;
7622 	case SAA7134_BOARD_VIDEOMATE_T750:
7623 		/* enable the analog tuner */
7624 		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x00008000, 0x00008000);
7625 		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00008000, 0x00008000);
7626 		break;
7627 	}
7628 	return 0;
7629 }
7630 
7631 static void saa7134_tuner_setup(struct saa7134_dev *dev)
7632 {
7633 	struct tuner_setup tun_setup;
7634 	unsigned int mode_mask = T_RADIO | T_ANALOG_TV;
7635 
7636 	memset(&tun_setup, 0, sizeof(tun_setup));
7637 	tun_setup.tuner_callback = saa7134_tuner_callback;
7638 
7639 	if (saa7134_boards[dev->board].radio_type != UNSET) {
7640 		tun_setup.type = saa7134_boards[dev->board].radio_type;
7641 		tun_setup.addr = saa7134_boards[dev->board].radio_addr;
7642 
7643 		tun_setup.mode_mask = T_RADIO;
7644 
7645 		saa_call_all(dev, tuner, s_type_addr, &tun_setup);
7646 		mode_mask &= ~T_RADIO;
7647 	}
7648 
7649 	if ((dev->tuner_type != TUNER_ABSENT) && (dev->tuner_type != UNSET)) {
7650 		tun_setup.type = dev->tuner_type;
7651 		tun_setup.addr = dev->tuner_addr;
7652 		tun_setup.config = &saa7134_boards[dev->board].tda829x_conf;
7653 		tun_setup.tuner_callback = saa7134_tuner_callback;
7654 
7655 		tun_setup.mode_mask = mode_mask;
7656 
7657 		saa_call_all(dev, tuner, s_type_addr, &tun_setup);
7658 	}
7659 
7660 	if (dev->tda9887_conf) {
7661 		struct v4l2_priv_tun_config tda9887_cfg;
7662 
7663 		tda9887_cfg.tuner = TUNER_TDA9887;
7664 		tda9887_cfg.priv = &dev->tda9887_conf;
7665 
7666 		saa_call_all(dev, tuner, s_config, &tda9887_cfg);
7667 	}
7668 
7669 	if (dev->tuner_type == TUNER_XC2028) {
7670 		struct v4l2_priv_tun_config  xc2028_cfg;
7671 		struct xc2028_ctrl           ctl;
7672 
7673 		memset(&xc2028_cfg, 0, sizeof(xc2028_cfg));
7674 		memset(&ctl, 0, sizeof(ctl));
7675 
7676 		ctl.fname   = XC2028_DEFAULT_FIRMWARE;
7677 		ctl.max_len = 64;
7678 
7679 		switch (dev->board) {
7680 		case SAA7134_BOARD_AVERMEDIA_A16D:
7681 		case SAA7134_BOARD_AVERMEDIA_CARDBUS_506:
7682 		case SAA7134_BOARD_AVERMEDIA_M103:
7683 		case SAA7134_BOARD_AVERMEDIA_A700_HYBRID:
7684 			ctl.demod = XC3028_FE_ZARLINK456;
7685 			break;
7686 		default:
7687 			ctl.demod = XC3028_FE_OREN538;
7688 			ctl.mts = 1;
7689 		}
7690 
7691 		xc2028_cfg.tuner = TUNER_XC2028;
7692 		xc2028_cfg.priv  = &ctl;
7693 
7694 		saa_call_all(dev, tuner, s_config, &xc2028_cfg);
7695 	}
7696 }
7697 
7698 /* stuff which needs working i2c */
7699 int saa7134_board_init2(struct saa7134_dev *dev)
7700 {
7701 	unsigned char buf;
7702 	int board;
7703 
7704 	/* Put here the code that enables the chips that are needed
7705 	   for analog mode and doesn't depend on the tuner attachment.
7706 	   It is also a good idea to get tuner type from eeprom, etc before
7707 	   initializing tuner, since we can avoid loading tuner driver
7708 	   on devices that has TUNER_ABSENT
7709 	 */
7710 	switch (dev->board) {
7711 	case SAA7134_BOARD_BMK_MPEX_NOTUNER:
7712 	case SAA7134_BOARD_BMK_MPEX_TUNER:
7713 		/* Checks if the device has a tuner at 0x60 addr
7714 		   If the device doesn't have a tuner, TUNER_ABSENT
7715 		   will be used at tuner_type, avoiding loading tuner
7716 		   without needing it
7717 		 */
7718 		dev->i2c_client.addr = 0x60;
7719 		board = (i2c_master_recv(&dev->i2c_client, &buf, 0) < 0)
7720 			? SAA7134_BOARD_BMK_MPEX_NOTUNER
7721 			: SAA7134_BOARD_BMK_MPEX_TUNER;
7722 		if (board == dev->board)
7723 			break;
7724 		dev->board = board;
7725 		pr_warn("%s: board type fixup: %s\n", dev->name,
7726 		saa7134_boards[dev->board].name);
7727 		dev->tuner_type = saa7134_boards[dev->board].tuner_type;
7728 
7729 		break;
7730 	case SAA7134_BOARD_MD7134:
7731 	{
7732 		u8 subaddr;
7733 		u8 data[3], data1[] = { 0x09, 0x9f, 0x86, 0x11};
7734 		int ret, tuner_t;
7735 		struct i2c_msg msg[] = {{.addr = 0x50, .flags = 0, .buf = &subaddr, .len = 1},
7736 					{.addr = 0x50, .flags = I2C_M_RD, .buf = data, .len = 3}},
7737 				msg1 = {.addr = 0x61, .flags = 0, .buf = data1, .len = sizeof(data1)};
7738 
7739 		subaddr= 0x14;
7740 		tuner_t = 0;
7741 
7742 		/* Retrieve device data from eeprom, checking for the
7743 		   proper tuner_type.
7744 		 */
7745 		ret = i2c_transfer(&dev->i2c_adap, msg, 2);
7746 		if (ret != 2) {
7747 			pr_err("EEPROM read failure\n");
7748 		} else if ((data[0] != 0) && (data[0] != 0xff)) {
7749 			/* old config structure */
7750 			subaddr = data[0] + 2;
7751 			msg[1].len = 2;
7752 			i2c_transfer(&dev->i2c_adap, msg, 2);
7753 			tuner_t = (data[0] << 8) + data[1];
7754 			switch (tuner_t){
7755 			case 0x0103:
7756 				dev->tuner_type = TUNER_PHILIPS_PAL;
7757 				break;
7758 			case 0x010C:
7759 				dev->tuner_type = TUNER_PHILIPS_FM1216ME_MK3;
7760 				break;
7761 			default:
7762 				pr_err("%s Can't determine tuner type %x from EEPROM\n",
7763 				       dev->name, tuner_t);
7764 			}
7765 		} else if ((data[1] != 0) && (data[1] != 0xff)) {
7766 			/* new config structure */
7767 			subaddr = data[1] + 1;
7768 			msg[1].len = 1;
7769 			i2c_transfer(&dev->i2c_adap, msg, 2);
7770 			subaddr = data[0] + 1;
7771 			msg[1].len = 2;
7772 			i2c_transfer(&dev->i2c_adap, msg, 2);
7773 			tuner_t = (data[1] << 8) + data[0];
7774 			switch (tuner_t) {
7775 			case 0x0005:
7776 				dev->tuner_type = TUNER_PHILIPS_FM1216ME_MK3;
7777 				break;
7778 			case 0x001d:
7779 				dev->tuner_type = TUNER_PHILIPS_FMD1216ME_MK3;
7780 				pr_info("%s Board has DVB-T\n",
7781 				       dev->name);
7782 				break;
7783 			default:
7784 				pr_err("%s Can't determine tuner type %x from EEPROM\n",
7785 				       dev->name, tuner_t);
7786 			}
7787 		} else {
7788 			pr_err("%s unexpected config structure\n", dev->name);
7789 		}
7790 
7791 		pr_info("%s Tuner type is %d\n", dev->name, dev->tuner_type);
7792 
7793 		/* The tuner TUNER_PHILIPS_FMD1216ME_MK3 after hardware    */
7794 		/* start has disabled IF and enabled DVB-T. When saa7134   */
7795 		/* scan I2C devices it will not detect IF tda9887 and can`t*/
7796 		/* watch TV without software reboot. To solve this problem */
7797 		/* switch the tuner to analog TV mode manually.            */
7798 		if (dev->tuner_type == TUNER_PHILIPS_FMD1216ME_MK3) {
7799 			if (i2c_transfer(&dev->i2c_adap, &msg1, 1) != 1)
7800 				printk(KERN_WARNING "%s: Unable to enable IF of the tuner.\n", dev->name);
7801 		}
7802 		break;
7803 	}
7804 	case SAA7134_BOARD_PHILIPS_EUROPA:
7805 		if (dev->autodetected && (dev->eedata[0x41] == 0x1c)) {
7806 			/* Reconfigure board as Snake reference design */
7807 			dev->board = SAA7134_BOARD_PHILIPS_SNAKE;
7808 			dev->tuner_type = saa7134_boards[dev->board].tuner_type;
7809 			pr_info("%s: Reconfigured board as %s\n",
7810 				dev->name, saa7134_boards[dev->board].name);
7811 			break;
7812 		}
7813 		/* break intentionally omitted */
7814 	case SAA7134_BOARD_VIDEOMATE_DVBT_300:
7815 	case SAA7134_BOARD_ASUS_EUROPA2_HYBRID:
7816 	case SAA7134_BOARD_ASUS_EUROPA_HYBRID:
7817 	case SAA7134_BOARD_TECHNOTREND_BUDGET_T3000:
7818 	{
7819 
7820 		/* The Philips EUROPA based hybrid boards have the tuner
7821 		   connected through the channel decoder. We have to make it
7822 		   transparent to find it
7823 		 */
7824 		u8 data[] = { 0x07, 0x02};
7825 		struct i2c_msg msg = {.addr=0x08, .flags=0, .buf=data, .len = sizeof(data)};
7826 		i2c_transfer(&dev->i2c_adap, &msg, 1);
7827 
7828 		break;
7829 	}
7830 	case SAA7134_BOARD_PHILIPS_TIGER:
7831 	case SAA7134_BOARD_PHILIPS_TIGER_S:
7832 	{
7833 		u8 data[] = { 0x3c, 0x33, 0x60};
7834 		struct i2c_msg msg = {.addr=0x08, .flags=0, .buf=data, .len = sizeof(data)};
7835 		if (dev->autodetected && (dev->eedata[0x49] == 0x50)) {
7836 			dev->board = SAA7134_BOARD_PHILIPS_TIGER_S;
7837 			pr_info("%s: Reconfigured board as %s\n",
7838 				dev->name, saa7134_boards[dev->board].name);
7839 		}
7840 		if (dev->board == SAA7134_BOARD_PHILIPS_TIGER_S) {
7841 			dev->tuner_type = TUNER_PHILIPS_TDA8290;
7842 
7843 			data[2] = 0x68;
7844 			i2c_transfer(&dev->i2c_adap, &msg, 1);
7845 			break;
7846 		}
7847 		i2c_transfer(&dev->i2c_adap, &msg, 1);
7848 		break;
7849 	}
7850 	case SAA7134_BOARD_ASUSTeK_TVFM7135:
7851 	/* The card below is detected as card=53, but is different */
7852 	       if (dev->autodetected && (dev->eedata[0x27] == 0x03)) {
7853 			dev->board = SAA7134_BOARD_ASUSTeK_P7131_ANALOG;
7854 			pr_info("%s: P7131 analog only, using entry of %s\n",
7855 				dev->name, saa7134_boards[dev->board].name);
7856 
7857 			/*
7858 			 * IR init has already happened for other cards, so
7859 			 * we have to catch up.
7860 			 */
7861 			dev->has_remote = SAA7134_REMOTE_GPIO;
7862 			saa7134_input_init1(dev);
7863 	       }
7864 	       break;
7865 	case SAA7134_BOARD_HAUPPAUGE_HVR1150:
7866 	case SAA7134_BOARD_HAUPPAUGE_HVR1120:
7867 		hauppauge_eeprom(dev, dev->eedata+0x80);
7868 		break;
7869 	case SAA7134_BOARD_HAUPPAUGE_HVR1110:
7870 		hauppauge_eeprom(dev, dev->eedata+0x80);
7871 		/* break intentionally omitted */
7872 	case SAA7134_BOARD_PINNACLE_PCTV_310i:
7873 	case SAA7134_BOARD_KWORLD_DVBT_210:
7874 	case SAA7134_BOARD_TEVION_DVBT_220RF:
7875 	case SAA7134_BOARD_ASUSTeK_TIGER:
7876 	case SAA7134_BOARD_ASUSTeK_P7131_DUAL:
7877 	case SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA:
7878 	case SAA7134_BOARD_MEDION_MD8800_QUADRO:
7879 	case SAA7134_BOARD_AVERMEDIA_SUPER_007:
7880 	case SAA7134_BOARD_TWINHAN_DTV_DVB_3056:
7881 	case SAA7134_BOARD_CREATIX_CTX953:
7882 	{
7883 		/* this is a hybrid board, initialize to analog mode
7884 		 * and configure firmware eeprom address
7885 		 */
7886 		u8 data[] = { 0x3c, 0x33, 0x60};
7887 		struct i2c_msg msg = {.addr=0x08, .flags=0, .buf=data, .len = sizeof(data)};
7888 		i2c_transfer(&dev->i2c_adap, &msg, 1);
7889 		break;
7890 	}
7891 	case SAA7134_BOARD_ASUSTeK_TIGER_3IN1:
7892 	{
7893 		u8 data[] = { 0x3c, 0x33, 0x60};
7894 		struct i2c_msg msg = {.addr = 0x0b, .flags = 0, .buf = data,
7895 							.len = sizeof(data)};
7896 		i2c_transfer(&dev->i2c_adap, &msg, 1);
7897 		break;
7898 	}
7899 	case SAA7134_BOARD_ASUSTeK_PS3_100:
7900 	{
7901 		u8 data[] = { 0x3c, 0x33, 0x60};
7902 		struct i2c_msg msg = {.addr = 0x0b, .flags = 0, .buf = data,
7903 						       .len = sizeof(data)};
7904 		i2c_transfer(&dev->i2c_adap, &msg, 1);
7905 		break;
7906 	}
7907 	case SAA7134_BOARD_FLYDVB_TRIO:
7908 	{
7909 		u8 temp = 0;
7910 		int rc;
7911 		u8 data[] = { 0x3c, 0x33, 0x62};
7912 		struct i2c_msg msg = {.addr=0x09, .flags=0, .buf=data, .len = sizeof(data)};
7913 		i2c_transfer(&dev->i2c_adap, &msg, 1);
7914 
7915 		/*
7916 		 * send weak up message to pic16C505 chip
7917 		 * @ LifeView FlyDVB Trio
7918 		 */
7919 		msg.buf = &temp;
7920 		msg.addr = 0x0b;
7921 		msg.len = 1;
7922 		if (1 != i2c_transfer(&dev->i2c_adap, &msg, 1)) {
7923 			pr_warn("%s: send wake up byte to pic16C505(IR chip) failed\n",
7924 				dev->name);
7925 		} else {
7926 			msg.flags = I2C_M_RD;
7927 			rc = i2c_transfer(&dev->i2c_adap, &msg, 1);
7928 			pr_info("%s: probe IR chip @ i2c 0x%02x: %s\n",
7929 				   dev->name, msg.addr,
7930 				   (1 == rc) ? "yes" : "no");
7931 			if (rc == 1)
7932 				dev->has_remote = SAA7134_REMOTE_I2C;
7933 		}
7934 		break;
7935 	}
7936 	case SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331:
7937 	case SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS:
7938 	{
7939 		/* initialize analog mode  */
7940 		u8 data[] = { 0x3c, 0x33, 0x6a};
7941 		struct i2c_msg msg = {.addr=0x08, .flags=0, .buf=data, .len = sizeof(data)};
7942 		i2c_transfer(&dev->i2c_adap, &msg, 1);
7943 		break;
7944 	}
7945 	case SAA7134_BOARD_CINERGY_HT_PCMCIA:
7946 	case SAA7134_BOARD_CINERGY_HT_PCI:
7947 	{
7948 		/* initialize analog mode */
7949 		u8 data[] = { 0x3c, 0x33, 0x68};
7950 		struct i2c_msg msg = {.addr=0x08, .flags=0, .buf=data, .len = sizeof(data)};
7951 		i2c_transfer(&dev->i2c_adap, &msg, 1);
7952 		break;
7953 	}
7954 	case SAA7134_BOARD_VIDEOMATE_DVBT_200:
7955 	case SAA7134_BOARD_VIDEOMATE_DVBT_200A:
7956 		/* The T200 and the T200A share the same pci id.  Consequently,
7957 		 * we are going to query eeprom to try to find out which one we
7958 		 * are actually looking at. */
7959 
7960 		/* Don't do this if the board was specifically selected with an
7961 		 * insmod option or if we have the default configuration T200*/
7962 		if (!dev->autodetected || (dev->eedata[0x41] == 0xd0))
7963 			break;
7964 		if (dev->eedata[0x41] == 0x02) {
7965 			/* Reconfigure board  as T200A */
7966 			dev->board = SAA7134_BOARD_VIDEOMATE_DVBT_200A;
7967 			dev->tuner_type   = saa7134_boards[dev->board].tuner_type;
7968 			dev->tda9887_conf = saa7134_boards[dev->board].tda9887_conf;
7969 			pr_info("%s: Reconfigured board as %s\n",
7970 				dev->name, saa7134_boards[dev->board].name);
7971 		} else {
7972 			pr_warn("%s: Unexpected tuner type info: %x in eeprom\n",
7973 				dev->name, dev->eedata[0x41]);
7974 			break;
7975 		}
7976 		break;
7977 	case SAA7134_BOARD_ADS_INSTANT_HDTV_PCI:
7978 	case SAA7134_BOARD_KWORLD_ATSC110:
7979 	{
7980 		struct i2c_msg msg = { .addr = 0x0a, .flags = 0 };
7981 		int i;
7982 		static u8 buffer[][2] = {
7983 			{ 0x10, 0x12 },
7984 			{ 0x13, 0x04 },
7985 			{ 0x16, 0x00 },
7986 			{ 0x14, 0x04 },
7987 			{ 0x17, 0x00 },
7988 		};
7989 
7990 		for (i = 0; i < ARRAY_SIZE(buffer); i++) {
7991 			msg.buf = &buffer[i][0];
7992 			msg.len = ARRAY_SIZE(buffer[0]);
7993 			if (i2c_transfer(&dev->i2c_adap, &msg, 1) != 1)
7994 				pr_warn("%s: Unable to enable tuner(%i).\n",
7995 					dev->name, i);
7996 		}
7997 		break;
7998 	}
7999 	case SAA7134_BOARD_BEHOLD_H6:
8000 	{
8001 		u8 data[] = { 0x09, 0x9f, 0x86, 0x11};
8002 		struct i2c_msg msg = {.addr = 0x61, .flags = 0, .buf = data,
8003 							.len = sizeof(data)};
8004 
8005 		/* The tuner TUNER_PHILIPS_FMD1216MEX_MK3 after hardware    */
8006 		/* start has disabled IF and enabled DVB-T. When saa7134    */
8007 		/* scan I2C devices it not detect IF tda9887 and can`t      */
8008 		/* watch TV without software reboot. For solve this problem */
8009 		/* switch the tuner to analog TV mode manually.             */
8010 		if (i2c_transfer(&dev->i2c_adap, &msg, 1) != 1)
8011 			pr_warn("%s: Unable to enable IF of the tuner.\n",
8012 				dev->name);
8013 		break;
8014 	}
8015 	case SAA7134_BOARD_KWORLD_PCI_SBTVD_FULLSEG:
8016 		saa_writel(SAA7134_GPIO_GPMODE0 >> 2, 0x4000);
8017 		saa_writel(SAA7134_GPIO_GPSTATUS0 >> 2, 0x4000);
8018 
8019 		saa7134_set_gpio(dev, 27, 0);
8020 		break;
8021 	} /* switch() */
8022 
8023 	/* initialize tuner (don't do this when resuming) */
8024 	if (!dev->insuspend && TUNER_ABSENT != dev->tuner_type) {
8025 		int has_demod = (dev->tda9887_conf & TDA9887_PRESENT);
8026 
8027 		/* Note: radio tuner address is always filled in,
8028 		   so we do not need to probe for a radio tuner device. */
8029 		if (dev->radio_type != UNSET)
8030 			v4l2_i2c_new_subdev(&dev->v4l2_dev,
8031 				&dev->i2c_adap, "tuner",
8032 				dev->radio_addr, NULL);
8033 		if (has_demod)
8034 			v4l2_i2c_new_subdev(&dev->v4l2_dev,
8035 				&dev->i2c_adap, "tuner",
8036 				0, v4l2_i2c_tuner_addrs(ADDRS_DEMOD));
8037 		if (dev->tuner_addr == ADDR_UNSET) {
8038 			enum v4l2_i2c_tuner_type type =
8039 				has_demod ? ADDRS_TV_WITH_DEMOD : ADDRS_TV;
8040 
8041 			v4l2_i2c_new_subdev(&dev->v4l2_dev,
8042 				&dev->i2c_adap, "tuner",
8043 				0, v4l2_i2c_tuner_addrs(type));
8044 		} else {
8045 			v4l2_i2c_new_subdev(&dev->v4l2_dev,
8046 				&dev->i2c_adap, "tuner",
8047 				dev->tuner_addr, NULL);
8048 		}
8049 	}
8050 
8051 	saa7134_tuner_setup(dev);
8052 
8053 	switch (dev->board) {
8054 	case SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM:
8055 	case SAA7134_BOARD_AVERMEDIA_CARDBUS_501:
8056 	{
8057 		struct v4l2_priv_tun_config tea5767_cfg;
8058 		struct tea5767_ctrl ctl;
8059 
8060 		dev->i2c_client.addr = 0xC0;
8061 		/* set TEA5767(analog FM) defines */
8062 		memset(&ctl, 0, sizeof(ctl));
8063 		ctl.xtal_freq = TEA5767_HIGH_LO_13MHz;
8064 		tea5767_cfg.tuner = TUNER_TEA5767;
8065 		tea5767_cfg.priv  = &ctl;
8066 		saa_call_all(dev, tuner, s_config, &tea5767_cfg);
8067 		break;
8068 	}
8069 	} /* switch() */
8070 
8071 	return 0;
8072 }
8073