]> bbs.cooldavid.org Git - net-next-2.6.git/blame - drivers/media/video/saa7134/saa7134-cards.c
drivers/char/rocket portability fixes
[net-next-2.6.git] / drivers / media / video / saa7134 / saa7134-cards.c
CommitLineData
1da177e4 1/*
1da177e4
LT
2 *
3 * device driver for philips saa7134 based TV cards
4 * card-specific stuff.
5 *
6 * (c) 2001-04 Gerd Knorr <kraxel@bytesex.org> [SuSE Labs]
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 */
22
23#include <linux/init.h>
24#include <linux/module.h>
25
26#include "saa7134-reg.h"
27#include "saa7134.h"
5e453dc7 28#include <media/v4l2-common.h>
993efa71 29#include <media/tveeprom.h>
1da177e4
LT
30
31/* commly used strings */
32static char name_mute[] = "mute";
33static char name_radio[] = "Radio";
34static char name_tv[] = "Television";
35static char name_tv_mono[] = "TV (mono only)";
f438d974 36static char name_comp[] = "Composite";
1da177e4
LT
37static char name_comp1[] = "Composite1";
38static char name_comp2[] = "Composite2";
39static char name_comp3[] = "Composite3";
40static char name_comp4[] = "Composite4";
41static char name_svideo[] = "S-Video";
42
43/* ------------------------------------------------------------------ */
44/* board config info */
45
46struct saa7134_board saa7134_boards[] = {
47 [SAA7134_BOARD_UNKNOWN] = {
48 .name = "UNKNOWN/GENERIC",
49 .audio_clock = 0x00187de7,
50 .tuner_type = TUNER_ABSENT,
330a115a
MCC
51 .radio_type = UNSET,
52 .tuner_addr = ADDR_UNSET,
53 .radio_addr = ADDR_UNSET,
54
1da177e4
LT
55 .inputs = {{
56 .name = "default",
57 .vmux = 0,
58 .amux = LINE1,
59 }},
60 },
61 [SAA7134_BOARD_PROTEUS_PRO] = {
62 /* /me */
63 .name = "Proteus Pro [philips reference design]",
64 .audio_clock = 0x00187de7,
65 .tuner_type = TUNER_PHILIPS_PAL,
330a115a
MCC
66 .radio_type = UNSET,
67 .tuner_addr = ADDR_UNSET,
68 .radio_addr = ADDR_UNSET,
69
1da177e4
LT
70 .inputs = {{
71 .name = name_comp1,
72 .vmux = 0,
73 .amux = LINE1,
74 },{
75 .name = name_tv,
76 .vmux = 1,
77 .amux = TV,
78 .tv = 1,
79 },{
80 .name = name_tv_mono,
81 .vmux = 1,
82 .amux = LINE2,
83 .tv = 1,
84 }},
85 .radio = {
86 .name = name_radio,
87 .amux = LINE2,
88 },
89 },
90 [SAA7134_BOARD_FLYVIDEO3000] = {
91 /* "Marco d'Itri" <md@Linux.IT> */
92 .name = "LifeView FlyVIDEO3000",
93 .audio_clock = 0x00200000,
94 .tuner_type = TUNER_PHILIPS_PAL,
330a115a
MCC
95 .radio_type = UNSET,
96 .tuner_addr = ADDR_UNSET,
97 .radio_addr = ADDR_UNSET,
98
1da177e4
LT
99 .gpiomask = 0xe000,
100 .inputs = {{
101 .name = name_tv,
102 .vmux = 1,
103 .amux = TV,
104 .gpio = 0x8000,
105 .tv = 1,
330a115a 106 },{
1da177e4
LT
107 .name = name_tv_mono,
108 .vmux = 1,
109 .amux = LINE2,
110 .gpio = 0x0000,
111 .tv = 1,
112 },{
113 .name = name_comp1,
114 .vmux = 0,
115 .amux = LINE2,
116 .gpio = 0x4000,
117 },{
118 .name = name_comp2,
119 .vmux = 3,
120 .amux = LINE2,
121 .gpio = 0x4000,
122 },{
123 .name = name_svideo,
124 .vmux = 8,
125 .amux = LINE2,
126 .gpio = 0x4000,
127 }},
128 .radio = {
129 .name = name_radio,
130 .amux = LINE2,
131 .gpio = 0x2000,
132 },
330a115a
MCC
133 .mute = {
134 .name = name_mute,
135 .amux = TV,
136 .gpio = 0x8000,
137 },
1da177e4
LT
138 },
139 [SAA7134_BOARD_FLYVIDEO2000] = {
140 /* "TC Wan" <tcwan@cs.usm.my> */
10b7a903 141 .name = "LifeView/Typhoon FlyVIDEO2000",
1da177e4
LT
142 .audio_clock = 0x00200000,
143 .tuner_type = TUNER_LG_PAL_NEW_TAPC,
330a115a
MCC
144 .radio_type = UNSET,
145 .tuner_addr = ADDR_UNSET,
146 .radio_addr = ADDR_UNSET,
147
1da177e4
LT
148 .gpiomask = 0xe000,
149 .inputs = {{
150 .name = name_tv,
151 .vmux = 1,
152 .amux = LINE2,
153 .gpio = 0x0000,
154 .tv = 1,
155 },{
156 .name = name_comp1,
157 .vmux = 0,
158 .amux = LINE2,
159 .gpio = 0x4000,
160 },{
161 .name = name_comp2,
162 .vmux = 3,
163 .amux = LINE2,
164 .gpio = 0x4000,
165 },{
166 .name = name_svideo,
167 .vmux = 8,
168 .amux = LINE2,
169 .gpio = 0x4000,
170 }},
330a115a
MCC
171 .radio = {
172 .name = name_radio,
173 .amux = LINE2,
1da177e4 174 .gpio = 0x2000,
330a115a 175 },
1da177e4
LT
176 .mute = {
177 .name = name_mute,
330a115a 178 .amux = LINE2,
1da177e4
LT
179 .gpio = 0x8000,
180 },
181 },
182 [SAA7134_BOARD_FLYTVPLATINUM_MINI] = {
183 /* "Arnaud Quette" <aquette@free.fr> */
184 .name = "LifeView FlyTV Platinum Mini",
185 .audio_clock = 0x00200000,
186 .tuner_type = TUNER_PHILIPS_TDA8290,
330a115a
MCC
187 .radio_type = UNSET,
188 .tuner_addr = ADDR_UNSET,
189 .radio_addr = ADDR_UNSET,
190
1da177e4
LT
191 .inputs = {{
192 .name = name_tv,
193 .vmux = 1,
ac19ecc6 194 .amux = TV,
1da177e4
LT
195 .tv = 1,
196 },{
2d14f78e 197 .name = name_comp1, /* Composite signal on S-Video input */
1da177e4
LT
198 .vmux = 0,
199 .amux = LINE2,
2d14f78e
GG
200 },{
201 .name = name_comp2, /* Composite input */
202 .vmux = 3,
203 .amux = LINE2,
1da177e4
LT
204 },{
205 .name = name_svideo,
206 .vmux = 8,
207 .amux = LINE2,
208 }},
209 },
210 [SAA7134_BOARD_FLYTVPLATINUM_FM] = {
211 /* LifeView FlyTV Platinum FM (LR214WF) */
212 /* "Peter Missel <peter.missel@onlinehome.de> */
42e6b3b4 213 .name = "LifeView FlyTV Platinum FM / Gold",
1da177e4
LT
214 .audio_clock = 0x00200000,
215 .tuner_type = TUNER_PHILIPS_TDA8290,
330a115a
MCC
216 .radio_type = UNSET,
217 .tuner_addr = ADDR_UNSET,
218 .radio_addr = ADDR_UNSET,
219
6c9e7376 220 .gpiomask = 0x1E000, /* Set GP16 and unused 15,14,13 to Output */
1da177e4
LT
221 .inputs = {{
222 .name = name_tv,
223 .vmux = 1,
224 .amux = TV,
6c9e7376 225 .gpio = 0x10000, /* GP16=1 selects TV input */
1da177e4 226 .tv = 1,
330a115a 227 },{
1da177e4
LT
228/* .name = name_tv_mono,
229 .vmux = 1,
230 .amux = LINE2,
231 .gpio = 0x0000,
232 .tv = 1,
233 },{
234*/ .name = name_comp1, /* Composite signal on S-Video input */
235 .vmux = 0,
236 .amux = LINE2,
330a115a 237/* .gpio = 0x4000, */
1da177e4
LT
238 },{
239 .name = name_comp2, /* Composite input */
240 .vmux = 3,
241 .amux = LINE2,
330a115a 242/* .gpio = 0x4000, */
1da177e4
LT
243 },{
244 .name = name_svideo, /* S-Video signal on S-Video input */
245 .vmux = 8,
246 .amux = LINE2,
330a115a 247/* .gpio = 0x4000, */
1da177e4 248 }},
6c9e7376 249 .radio = {
1da177e4 250 .name = name_radio,
6c9e7376
PM
251 .amux = TV,
252 .gpio = 0x00000, /* GP16=0 selects FM radio antenna */
1da177e4 253 },
330a115a
MCC
254 .mute = {
255 .name = name_mute,
256 .amux = TV,
257 .gpio = 0x10000,
258 },
6c9e7376 259 },
1da177e4
LT
260 [SAA7134_BOARD_EMPRESS] = {
261 /* "Gert Vervoort" <gert.vervoort@philips.com> */
262 .name = "EMPRESS",
263 .audio_clock = 0x00187de7,
264 .tuner_type = TUNER_PHILIPS_PAL,
330a115a
MCC
265 .radio_type = UNSET,
266 .tuner_addr = ADDR_UNSET,
267 .radio_addr = ADDR_UNSET,
268
1da177e4
LT
269 .inputs = {{
270 .name = name_comp1,
271 .vmux = 0,
272 .amux = LINE1,
273 },{
274 .name = name_svideo,
275 .vmux = 8,
276 .amux = LINE1,
277 },{
278 .name = name_tv,
279 .vmux = 1,
280 .amux = LINE2,
281 .tv = 1,
282 }},
283 .radio = {
284 .name = name_radio,
285 .amux = LINE2,
286 },
287 .mpeg = SAA7134_MPEG_EMPRESS,
288 .video_out = CCIR656,
289 },
290 [SAA7134_BOARD_MONSTERTV] = {
330a115a
MCC
291 /* "K.Ohta" <alpha292@bremen.or.jp> */
292 .name = "SKNet Monster TV",
293 .audio_clock = 0x00187de7,
294 .tuner_type = TUNER_PHILIPS_NTSC_M,
295 .radio_type = UNSET,
296 .tuner_addr = ADDR_UNSET,
297 .radio_addr = ADDR_UNSET,
298
299 .inputs = {{
300 .name = name_tv,
301 .vmux = 1,
302 .amux = TV,
303 .tv = 1,
304 },{
305 .name = name_comp1,
306 .vmux = 0,
307 .amux = LINE1,
308 },{
309 .name = name_svideo,
310 .vmux = 8,
311 .amux = LINE1,
312 }},
313 .radio = {
314 .name = name_radio,
315 .amux = LINE2,
316 },
1da177e4
LT
317 },
318 [SAA7134_BOARD_MD9717] = {
319 .name = "Tevion MD 9717",
320 .audio_clock = 0x00200000,
321 .tuner_type = TUNER_PHILIPS_PAL,
330a115a
MCC
322 .radio_type = UNSET,
323 .tuner_addr = ADDR_UNSET,
324 .radio_addr = ADDR_UNSET,
1da177e4
LT
325 .inputs = {{
326 .name = name_tv,
327 .vmux = 1,
328 .amux = TV,
329 .tv = 1,
330 },{
331 /* workaround for problems with normal TV sound */
332 .name = name_tv_mono,
333 .vmux = 1,
334 .amux = LINE2,
335 .tv = 1,
336 },{
337 .name = name_comp1,
4aa504a8 338 .vmux = 0,
1da177e4
LT
339 .amux = LINE1,
340 },{
341 .name = name_comp2,
342 .vmux = 3,
343 .amux = LINE1,
344 },{
345 .name = name_svideo,
346 .vmux = 8,
347 .amux = LINE1,
348 }},
349 .radio = {
350 .name = name_radio,
351 .amux = LINE2,
352 },
cc76466b
HP
353 .mute = {
354 .name = name_mute,
355 .amux = TV,
356 },
1da177e4
LT
357 },
358 [SAA7134_BOARD_TVSTATION_RDS] = {
330a115a 359 /* Typhoon TV Tuner RDS: Art.Nr. 50694 */
1da177e4
LT
360 .name = "KNC One TV-Station RDS / Typhoon TV Tuner RDS",
361 .audio_clock = 0x00200000,
362 .tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
330a115a
MCC
363 .radio_type = UNSET,
364 .tuner_addr = ADDR_UNSET,
365 .radio_addr = ADDR_UNSET,
1da177e4
LT
366 .tda9887_conf = TDA9887_PRESENT,
367 .inputs = {{
368 .name = name_tv,
369 .vmux = 1,
370 .amux = TV,
371 .tv = 1,
372 },{
373 .name = name_tv_mono,
330a115a
MCC
374 .vmux = 1,
375 .amux = LINE2,
376 .tv = 1,
377 },{
1da177e4
LT
378
379 .name = name_svideo,
380 .vmux = 8,
381 .amux = LINE1,
382 },{
383 .name = name_comp1,
384 .vmux = 3,
385 .amux = LINE1,
386 },{
387
330a115a
MCC
388 .name = "CVid over SVid",
389 .vmux = 0,
390 .amux = LINE1,
391 }},
1da177e4
LT
392 .radio = {
393 .name = name_radio,
394 .amux = LINE2,
395 },
396 },
397 [SAA7134_BOARD_TVSTATION_DVR] = {
398 .name = "KNC One TV-Station DVR",
399 .audio_clock = 0x00200000,
400 .tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
330a115a
MCC
401 .radio_type = UNSET,
402 .tuner_addr = ADDR_UNSET,
403 .radio_addr = ADDR_UNSET,
1da177e4
LT
404 .tda9887_conf = TDA9887_PRESENT,
405 .gpiomask = 0x820000,
406 .inputs = {{
407 .name = name_tv,
408 .vmux = 1,
aac0ca6a 409 .amux = TV,
1da177e4
LT
410 .tv = 1,
411 .gpio = 0x20000,
412 },{
413 .name = name_svideo,
414 .vmux = 8,
415 .amux = LINE1,
416 .gpio = 0x20000,
417 },{
418 .name = name_comp1,
419 .vmux = 3,
420 .amux = LINE1,
421 .gpio = 0x20000,
422 }},
423 .radio = {
424 .name = name_radio,
425 .amux = LINE2,
426 .gpio = 0x20000,
427 },
428 .mpeg = SAA7134_MPEG_EMPRESS,
429 .video_out = CCIR656,
430 },
431 [SAA7134_BOARD_CINERGY400] = {
330a115a
MCC
432 .name = "Terratec Cinergy 400 TV",
433 .audio_clock = 0x00200000,
434 .tuner_type = TUNER_PHILIPS_PAL,
435 .radio_type = UNSET,
436 .tuner_addr = ADDR_UNSET,
437 .radio_addr = ADDR_UNSET,
438 .inputs = {{
439 .name = name_tv,
440 .vmux = 1,
441 .amux = TV,
442 .tv = 1,
443 },{
444 .name = name_comp1,
445 .vmux = 4,
446 .amux = LINE1,
447 },{
448 .name = name_svideo,
449 .vmux = 8,
450 .amux = LINE1,
451 },{
452 .name = name_comp2, /* CVideo over SVideo Connector */
453 .vmux = 0,
454 .amux = LINE1,
455 }}
456 },
1da177e4
LT
457 [SAA7134_BOARD_MD5044] = {
458 .name = "Medion 5044",
330a115a 459 .audio_clock = 0x00187de7, /* was: 0x00200000, */
1da177e4 460 .tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
330a115a
MCC
461 .radio_type = UNSET,
462 .tuner_addr = ADDR_UNSET,
463 .radio_addr = ADDR_UNSET,
1da177e4
LT
464 .tda9887_conf = TDA9887_PRESENT,
465 .inputs = {{
466 .name = name_tv,
467 .vmux = 1,
468 .amux = TV,
469 .tv = 1,
470 },{
471 /* workaround for problems with normal TV sound */
472 .name = name_tv_mono,
473 .vmux = 1,
474 .amux = LINE2,
475 .tv = 1,
476 },{
477 .name = name_comp1,
478 .vmux = 0,
479 .amux = LINE2,
480 },{
481 .name = name_comp2,
482 .vmux = 3,
483 .amux = LINE2,
484 },{
485 .name = name_svideo,
486 .vmux = 8,
487 .amux = LINE2,
488 }},
489 .radio = {
490 .name = name_radio,
491 .amux = LINE2,
492 },
493 },
494 [SAA7134_BOARD_KWORLD] = {
330a115a 495 .name = "Kworld/KuroutoShikou SAA7130-TVPCI",
1da177e4
LT
496 .audio_clock = 0x00187de7,
497 .tuner_type = TUNER_PHILIPS_NTSC_M,
330a115a
MCC
498 .radio_type = UNSET,
499 .tuner_addr = ADDR_UNSET,
500 .radio_addr = ADDR_UNSET,
501 .inputs = {{
502 .name = name_svideo,
503 .vmux = 8,
504 .amux = LINE1,
505 },{
506 .name = name_comp1,
507 .vmux = 3,
508 .amux = LINE1,
509 },{
510 .name = name_tv,
511 .vmux = 1,
512 .amux = LINE2,
513 .tv = 1,
514 }},
515 },
1da177e4 516 [SAA7134_BOARD_CINERGY600] = {
330a115a
MCC
517 .name = "Terratec Cinergy 600 TV",
518 .audio_clock = 0x00200000,
519 .tuner_type = TUNER_PHILIPS_PAL,
520 .radio_type = UNSET,
521 .tuner_addr = ADDR_UNSET,
522 .radio_addr = ADDR_UNSET,
1da177e4 523 .tda9887_conf = TDA9887_PRESENT,
330a115a
MCC
524 .inputs = {{
525 .name = name_tv,
526 .vmux = 1,
527 .amux = TV,
528 .tv = 1,
529 },{
530 .name = name_comp1,
531 .vmux = 4,
532 .amux = LINE1,
533 },{
534 .name = name_svideo,
535 .vmux = 8,
536 .amux = LINE1,
537 },{
538 .name = name_comp2, /* CVideo over SVideo Connector */
539 .vmux = 0,
540 .amux = LINE1,
541 }},
1da177e4
LT
542 .radio = {
543 .name = name_radio,
544 .amux = LINE2,
67ac9a40 545 },
330a115a 546 },
1da177e4
LT
547 [SAA7134_BOARD_MD7134] = {
548 .name = "Medion 7134",
1da177e4 549 .audio_clock = 0x00187de7,
330a115a
MCC
550 .tuner_type = TUNER_PHILIPS_FMD1216ME_MK3,
551 .radio_type = UNSET,
552 .tuner_addr = ADDR_UNSET,
553 .radio_addr = ADDR_UNSET,
1da177e4
LT
554 .tda9887_conf = TDA9887_PRESENT,
555 .mpeg = SAA7134_MPEG_DVB,
556 .inputs = {{
557 .name = name_tv,
558 .vmux = 1,
559 .amux = TV,
560 .tv = 1,
561 },{
562 .name = name_comp1,
563 .vmux = 0,
564 .amux = LINE1,
565 },{
566 .name = name_svideo,
567 .vmux = 8,
568 .amux = LINE1,
569 }},
570 .radio = {
571 .name = name_radio,
572 .amux = LINE2,
cc76466b
HP
573 },
574 .mute = {
575 .name = name_mute,
576 .amux = TV,
1da177e4
LT
577 },
578 },
579 [SAA7134_BOARD_TYPHOON_90031] = {
580 /* aka Typhoon "TV+Radio", Art.Nr 90031 */
581 /* Tom Zoerner <tomzo at users sourceforge net> */
582 .name = "Typhoon TV+Radio 90031",
583 .audio_clock = 0x00200000,
584 .tuner_type = TUNER_PHILIPS_PAL,
330a115a
MCC
585 .radio_type = UNSET,
586 .tuner_addr = ADDR_UNSET,
587 .radio_addr = ADDR_UNSET,
1da177e4
LT
588 .tda9887_conf = TDA9887_PRESENT,
589 .inputs = {{
590 .name = name_tv,
591 .vmux = 1,
592 .amux = TV,
593 .tv = 1,
594 },{
595 .name = name_comp1,
596 .vmux = 3,
597 .amux = LINE1,
598 },{
599 .name = name_svideo,
600 .vmux = 8,
601 .amux = LINE1,
602 }},
603 .radio = {
604 .name = name_radio,
605 .amux = LINE2,
606 },
330a115a 607 },
1da177e4
LT
608 [SAA7134_BOARD_ELSA] = {
609 .name = "ELSA EX-VISION 300TV",
610 .audio_clock = 0x00187de7,
611 .tuner_type = TUNER_HITACHI_NTSC,
330a115a
MCC
612 .radio_type = UNSET,
613 .tuner_addr = ADDR_UNSET,
614 .radio_addr = ADDR_UNSET,
1da177e4
LT
615 .inputs = {{
616 .name = name_svideo,
617 .vmux = 8,
618 .amux = LINE1,
619 },{
620 .name = name_comp1,
621 .vmux = 0,
622 .amux = LINE1,
623 },{
624 .name = name_tv,
625 .vmux = 4,
626 .amux = LINE2,
627 .tv = 1,
628 }},
330a115a 629 },
1da177e4
LT
630 [SAA7134_BOARD_ELSA_500TV] = {
631 .name = "ELSA EX-VISION 500TV",
632 .audio_clock = 0x00187de7,
633 .tuner_type = TUNER_HITACHI_NTSC,
330a115a
MCC
634 .radio_type = UNSET,
635 .tuner_addr = ADDR_UNSET,
636 .radio_addr = ADDR_UNSET,
1da177e4
LT
637 .inputs = {{
638 .name = name_svideo,
639 .vmux = 7,
640 .amux = LINE1,
641 },{
642 .name = name_tv,
643 .vmux = 8,
644 .amux = TV,
645 .tv = 1,
646 },{
647 .name = name_tv_mono,
648 .vmux = 8,
649 .amux = LINE2,
650 .tv = 1,
651 }},
330a115a 652 },
d0456d1d
TS
653 [SAA7134_BOARD_ELSA_700TV] = {
654 .name = "ELSA EX-VISION 700TV",
655 .audio_clock = 0x00187de7,
656 .tuner_type = TUNER_HITACHI_NTSC,
657 .radio_type = UNSET,
658 .tuner_addr = ADDR_UNSET,
659 .radio_addr = ADDR_UNSET,
660 .inputs = {{
661 .name = name_tv,
662 .vmux = 4,
663 .amux = LINE2,
664 .tv = 1,
665 },{
666 .name = name_comp1,
667 .vmux = 6,
668 .amux = LINE1,
669 },{
670 .name = name_svideo,
671 .vmux = 7,
672 .amux = LINE1,
673 }},
674 .mute = {
675 .name = name_mute,
676 .amux = TV,
677 },
678 },
1da177e4 679 [SAA7134_BOARD_ASUSTeK_TVFM7134] = {
330a115a
MCC
680 .name = "ASUS TV-FM 7134",
681 .audio_clock = 0x00187de7,
682 .tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
683 .radio_type = UNSET,
684 .tuner_addr = ADDR_UNSET,
685 .radio_addr = ADDR_UNSET,
686 .tda9887_conf = TDA9887_PRESENT,
687 .inputs = {{
688 .name = name_tv,
689 .vmux = 1,
690 .amux = TV,
691 .tv = 1,
692 },{
693 .name = name_comp1,
694 .vmux = 4,
695 .amux = LINE2,
696 },{
697 .name = name_svideo,
698 .vmux = 6,
699 .amux = LINE2,
700 }},
701 .radio = {
702 .name = name_radio,
703 .amux = LINE1,
704 },
705 },
706 [SAA7134_BOARD_ASUSTeK_TVFM7135] = {
707 .name = "ASUS TV-FM 7135",
708 .audio_clock = 0x00187de7,
709 .tuner_type = TUNER_PHILIPS_TDA8290,
710 .radio_type = UNSET,
711 .tuner_addr = ADDR_UNSET,
712 .radio_addr = ADDR_UNSET,
1da177e4 713 .gpiomask = 0x200000,
330a115a
MCC
714 .inputs = {{
715 .name = name_tv,
716 .vmux = 1,
717 .amux = TV,
1da177e4 718 .gpio = 0x0000,
330a115a
MCC
719 .tv = 1,
720 },{
721 .name = name_comp1,
722 .vmux = 4,
723 .amux = LINE2,
1da177e4 724 .gpio = 0x0000,
330a115a
MCC
725 },{
726 .name = name_svideo,
727 .vmux = 6,
728 .amux = LINE2,
1da177e4 729 .gpio = 0x0000,
330a115a
MCC
730 }},
731 .radio = {
732 .name = name_radio,
733 .amux = TV,
1da177e4 734 .gpio = 0x200000,
330a115a
MCC
735 },
736 .mute = {
737 .name = name_mute,
738 .gpio = 0x0000,
739 },
740
1da177e4
LT
741 },
742 [SAA7134_BOARD_VA1000POWER] = {
330a115a 743 .name = "AOPEN VA1000 POWER",
1da177e4
LT
744 .audio_clock = 0x00187de7,
745 .tuner_type = TUNER_PHILIPS_NTSC,
330a115a
MCC
746 .radio_type = UNSET,
747 .tuner_addr = ADDR_UNSET,
748 .radio_addr = ADDR_UNSET,
749 .inputs = {{
750 .name = name_svideo,
751 .vmux = 8,
752 .amux = LINE1,
753 },{
754 .name = name_comp1,
755 .vmux = 3,
756 .amux = LINE1,
757 },{
758 .name = name_tv,
759 .vmux = 1,
760 .amux = LINE2,
761 .tv = 1,
762 }},
1da177e4
LT
763 },
764 [SAA7134_BOARD_10MOONSTVMASTER] = {
765 /* "lilicheng" <llc@linuxfans.org> */
766 .name = "10MOONS PCI TV CAPTURE CARD",
767 .audio_clock = 0x00200000,
768 .tuner_type = TUNER_LG_PAL_NEW_TAPC,
330a115a
MCC
769 .radio_type = UNSET,
770 .tuner_addr = ADDR_UNSET,
771 .radio_addr = ADDR_UNSET,
1da177e4
LT
772 .gpiomask = 0xe000,
773 .inputs = {{
774 .name = name_tv,
775 .vmux = 1,
776 .amux = LINE2,
777 .gpio = 0x0000,
778 .tv = 1,
779 },{
780 .name = name_comp1,
781 .vmux = 0,
782 .amux = LINE2,
783 .gpio = 0x4000,
784 },{
785 .name = name_comp2,
786 .vmux = 3,
787 .amux = LINE2,
788 .gpio = 0x4000,
789 },{
790 .name = name_svideo,
791 .vmux = 8,
792 .amux = LINE2,
793 .gpio = 0x4000,
794 }},
330a115a
MCC
795 .radio = {
796 .name = name_radio,
797 .amux = LINE2,
1da177e4 798 .gpio = 0x2000,
330a115a 799 },
1da177e4
LT
800 .mute = {
801 .name = name_mute,
330a115a 802 .amux = LINE2,
1da177e4
LT
803 .gpio = 0x8000,
804 },
805 },
806 [SAA7134_BOARD_BMK_MPEX_NOTUNER] = {
807 /* "Andrew de Quincey" <adq@lidskialf.net> */
808 .name = "BMK MPEX No Tuner",
809 .audio_clock = 0x200000,
810 .tuner_type = TUNER_ABSENT,
330a115a
MCC
811 .radio_type = UNSET,
812 .tuner_addr = ADDR_UNSET,
813 .radio_addr = ADDR_UNSET,
1da177e4
LT
814 .inputs = {{
815 .name = name_comp1,
816 .vmux = 4,
817 .amux = LINE1,
818 },{
819 .name = name_comp2,
820 .vmux = 3,
821 .amux = LINE1,
822 },{
823 .name = name_comp3,
824 .vmux = 0,
825 .amux = LINE1,
826 },{
827 .name = name_comp4,
828 .vmux = 1,
829 .amux = LINE1,
830 },{
831 .name = name_svideo,
832 .vmux = 8,
833 .amux = LINE1,
834 }},
835 .mpeg = SAA7134_MPEG_EMPRESS,
836 .video_out = CCIR656,
837 },
838 [SAA7134_BOARD_VIDEOMATE_TV] = {
839 .name = "Compro VideoMate TV",
840 .audio_clock = 0x00187de7,
841 .tuner_type = TUNER_PHILIPS_NTSC_M,
330a115a
MCC
842 .radio_type = UNSET,
843 .tuner_addr = ADDR_UNSET,
844 .radio_addr = ADDR_UNSET,
845 .inputs = {{
846 .name = name_svideo,
847 .vmux = 8,
848 .amux = LINE1,
849 },{
850 .name = name_comp1,
851 .vmux = 3,
852 .amux = LINE1,
853 },{
854 .name = name_tv,
855 .vmux = 1,
856 .amux = LINE2,
857 .tv = 1,
858 }},
859 },
860 [SAA7134_BOARD_VIDEOMATE_TV_GOLD_PLUS] = {
1da177e4
LT
861 .name = "Compro VideoMate TV Gold+",
862 .audio_clock = 0x00187de7,
863 .tuner_type = TUNER_PHILIPS_NTSC_M,
864 .gpiomask = 0x800c0000,
330a115a
MCC
865 .radio_type = UNSET,
866 .tuner_addr = ADDR_UNSET,
867 .radio_addr = ADDR_UNSET,
868 .inputs = {{
869 .name = name_svideo,
870 .vmux = 8,
871 .amux = LINE1,
872 .gpio = 0x06c00012,
873 },{
874 .name = name_comp1,
875 .vmux = 3,
876 .amux = LINE1,
877 .gpio = 0x0ac20012,
878 },{
879 .name = name_tv,
880 .vmux = 1,
881 .amux = LINE2,
882 .gpio = 0x08c20012,
883 .tv = 1,
884 }}, /* radio and probably mute is missing */
885 },
1da177e4 886 [SAA7134_BOARD_CRONOS_PLUS] = {
330a115a
MCC
887 /*
888 gpio pins:
889 0 .. 3 BASE_ID
890 4 .. 7 PROTECT_ID
891 8 .. 11 USER_OUT
892 12 .. 13 USER_IN
893 14 .. 15 VIDIN_SEL
894 */
1da177e4
LT
895 .name = "Matrox CronosPlus",
896 .tuner_type = TUNER_ABSENT,
330a115a
MCC
897 .radio_type = UNSET,
898 .tuner_addr = ADDR_UNSET,
899 .radio_addr = ADDR_UNSET,
1da177e4 900 .gpiomask = 0xcf00,
330a115a
MCC
901 .inputs = {{
902 .name = name_comp1,
903 .vmux = 0,
1da177e4
LT
904 .gpio = 2 << 14,
905 },{
330a115a
MCC
906 .name = name_comp2,
907 .vmux = 0,
1da177e4
LT
908 .gpio = 1 << 14,
909 },{
330a115a
MCC
910 .name = name_comp3,
911 .vmux = 0,
1da177e4
LT
912 .gpio = 0 << 14,
913 },{
330a115a
MCC
914 .name = name_comp4,
915 .vmux = 0,
1da177e4
LT
916 .gpio = 3 << 14,
917 },{
918 .name = name_svideo,
919 .vmux = 8,
920 .gpio = 2 << 14,
330a115a
MCC
921 }},
922 },
1da177e4
LT
923 [SAA7134_BOARD_MD2819] = {
924 .name = "AverMedia M156 / Medion 2819",
925 .audio_clock = 0x00187de7,
926 .tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
330a115a
MCC
927 .radio_type = UNSET,
928 .tuner_addr = ADDR_UNSET,
929 .radio_addr = ADDR_UNSET,
1da177e4 930 .tda9887_conf = TDA9887_PRESENT,
ad1ef131 931 .gpiomask = 0x03,
1da177e4
LT
932 .inputs = {{
933 .name = name_tv,
934 .vmux = 1,
935 .amux = TV,
936 .tv = 1,
ad1ef131
HP
937 .gpio = 0x00,
938 }, {
1da177e4 939 .name = name_comp1,
1da177e4 940 .vmux = 3,
ad1ef131
HP
941 .amux = LINE1,
942 .gpio = 0x02,
943 }, {
944 .name = name_comp2,
945 .vmux = 0,
946 .amux = LINE1,
947 .gpio = 0x02,
948 }, {
1da177e4
LT
949 .name = name_svideo,
950 .vmux = 8,
ad1ef131
HP
951 .amux = LINE1,
952 .gpio = 0x02,
953 } },
1da177e4
LT
954 .radio = {
955 .name = name_radio,
ad1ef131
HP
956 .amux = LINE1,
957 .gpio = 0x01,
958 },
959 .mute = {
960 .name = name_mute,
961 .amux = TV,
962 .gpio = 0x00,
1da177e4
LT
963 },
964 },
965 [SAA7134_BOARD_BMK_MPEX_TUNER] = {
966 /* "Greg Wickham <greg.wickham@grangenet.net> */
967 .name = "BMK MPEX Tuner",
968 .audio_clock = 0x200000,
969 .tuner_type = TUNER_PHILIPS_PAL,
330a115a
MCC
970 .radio_type = UNSET,
971 .tuner_addr = ADDR_UNSET,
972 .radio_addr = ADDR_UNSET,
1da177e4
LT
973 .inputs = {{
974 .name = name_comp1,
975 .vmux = 1,
976 .amux = LINE1,
977 },{
978 .name = name_svideo,
979 .vmux = 8,
980 .amux = LINE1,
981 },{
982 .name = name_tv,
983 .vmux = 3,
984 .amux = TV,
985 .tv = 1,
986 }},
987 .mpeg = SAA7134_MPEG_EMPRESS,
988 .video_out = CCIR656,
330a115a
MCC
989 },
990 [SAA7134_BOARD_ASUSTEK_TVFM7133] = {
991 .name = "ASUS TV-FM 7133",
992 .audio_clock = 0x00187de7,
993 /* probably wrong, the 7133 one is the NTSC version ...
994 * .tuner_type = TUNER_PHILIPS_FM1236_MK3 */
995 .tuner_type = TUNER_LG_NTSC_NEW_TAPC,
996 .radio_type = UNSET,
997 .tuner_addr = ADDR_UNSET,
998 .radio_addr = ADDR_UNSET,
999 .tda9887_conf = TDA9887_PRESENT,
1da177e4 1000 .inputs = {{
330a115a
MCC
1001 .name = name_tv,
1002 .vmux = 1,
1003 .amux = TV,
1004 .tv = 1,
1005
1da177e4 1006 },{
330a115a
MCC
1007 .name = name_comp1,
1008 .vmux = 4,
1009 .amux = LINE2,
1da177e4 1010 },{
330a115a
MCC
1011 .name = name_svideo,
1012 .vmux = 6,
1da177e4 1013 .amux = LINE2,
1da177e4
LT
1014 }},
1015 .radio = {
1016 .name = name_radio,
330a115a 1017 .amux = LINE1,
1da177e4 1018 },
1da177e4 1019 },
330a115a
MCC
1020 [SAA7134_BOARD_PINNACLE_PCTV_STEREO] = {
1021 .name = "Pinnacle PCTV Stereo (saa7134)",
1022 .audio_clock = 0x00187de7,
1023 .tuner_type = TUNER_MT2032,
1024 .radio_type = UNSET,
1025 .tuner_addr = ADDR_UNSET,
1026 .radio_addr = ADDR_UNSET,
df8cf706 1027 .tda9887_conf = TDA9887_PRESENT | TDA9887_INTERCARRIER | TDA9887_PORT2_INACTIVE,
1da177e4 1028 .inputs = {{
330a115a
MCC
1029 .name = name_tv,
1030 .vmux = 3,
1031 .amux = TV,
1032 .tv = 1,
1033 },{
1034 .name = name_comp1,
1035 .vmux = 0,
1036 .amux = LINE2,
1037 },{
1038 .name = name_comp2,
1039 .vmux = 1,
1040 .amux = LINE2,
1041 },{
1042 .name = name_svideo,
1043 .vmux = 8,
1044 .amux = LINE2,
1045 }},
1046 },
1047 [SAA7134_BOARD_MANLI_MTV002] = {
1048 /* Ognjen Nastic <ognjen@logosoft.ba> */
1049 .name = "Manli MuchTV M-TV002/Behold TV 403 FM",
1050 .audio_clock = 0x00200000,
1051 .tuner_type = TUNER_PHILIPS_PAL,
1052 .radio_type = UNSET,
1053 .tuner_addr = ADDR_UNSET,
1054 .radio_addr = ADDR_UNSET,
1055 .inputs = {{
1056 .name = name_svideo,
1057 .vmux = 8,
1058 .amux = LINE1,
1059 },{
1060 .name = name_comp1,
1061 .vmux = 1,
1062 .amux = LINE1,
1063 },{
1064 .name = name_tv,
1065 .vmux = 3,
1066 .amux = LINE2,
1067 .tv = 1,
1068 }},
1069 .radio = {
1070 .name = name_radio,
1071 .amux = LINE2,
1072 },
1073 },
1074 [SAA7134_BOARD_MANLI_MTV001] = {
1075 /* Ognjen Nastic <ognjen@logosoft.ba> UNTESTED */
1076 .name = "Manli MuchTV M-TV001/Behold TV 401",
1077 .audio_clock = 0x00200000,
1078 .tuner_type = TUNER_PHILIPS_PAL,
1079 .radio_type = UNSET,
1080 .tuner_addr = ADDR_UNSET,
1081 .radio_addr = ADDR_UNSET,
1082 .inputs = {{
1083 .name = name_svideo,
1da177e4
LT
1084 .vmux = 8,
1085 .amux = LINE1,
1086 },{
1087 .name = name_comp1,
1088 .vmux = 1,
1089 .amux = LINE1,
1090 },{
1091 .name = name_tv,
1092 .vmux = 3,
1093 .amux = LINE2,
1094 .tv = 1,
1095 }},
ac19ecc6
MCC
1096 .mute = {
1097 .name = name_mute,
330a115a 1098 .amux = LINE1,
ac19ecc6 1099 },
330a115a 1100 },
1da177e4
LT
1101 [SAA7134_BOARD_TG3000TV] = {
1102 /* TransGear 3000TV */
1103 .name = "Nagase Sangyo TransGear 3000TV",
1104 .audio_clock = 0x00187de7,
1105 .tuner_type = TUNER_PHILIPS_NTSC_M,
330a115a
MCC
1106 .radio_type = UNSET,
1107 .tuner_addr = ADDR_UNSET,
1108 .radio_addr = ADDR_UNSET,
1da177e4
LT
1109 .inputs = {{
1110 .name = name_tv,
1111 .vmux = 1,
1112 .amux = LINE2,
1113 .tv = 1,
1114 },{
1115 .name = name_comp1,
1116 .vmux = 3,
1117 .amux = LINE2,
1118 },{
1119 .name = name_svideo,
1120 .vmux = 8,
1121 .amux = LINE2,
1122 }},
1123 },
330a115a
MCC
1124 [SAA7134_BOARD_ECS_TVP3XP] = {
1125 .name = "Elitegroup ECS TVP3XP FM1216 Tuner Card(PAL-BG,FM) ",
1126 .audio_clock = 0x187de7, /* xtal 32.1 MHz */
1127 .tuner_type = TUNER_PHILIPS_PAL,
1128 .radio_type = UNSET,
1129 .tuner_addr = ADDR_UNSET,
1130 .radio_addr = ADDR_UNSET,
1131 .inputs = {{
1132 .name = name_tv,
1133 .vmux = 1,
1134 .amux = TV,
1135 .tv = 1,
1136 },{
1137 .name = name_tv_mono,
1138 .vmux = 1,
1139 .amux = LINE2,
1140 .tv = 1,
1141 },{
1142 .name = name_comp1,
1143 .vmux = 3,
1144 .amux = LINE1,
1145 },{
1146 .name = name_svideo,
1147 .vmux = 8,
1148 .amux = LINE1,
1149 },{
1150 .name = "CVid over SVid",
1151 .vmux = 0,
1152 .amux = LINE1,
1153 }},
1154 .radio = {
1155 .name = name_radio,
1156 .amux = LINE2,
1157 },
1158 },
1159 [SAA7134_BOARD_ECS_TVP3XP_4CB5] = {
1160 .name = "Elitegroup ECS TVP3XP FM1236 Tuner Card (NTSC,FM)",
1161 .audio_clock = 0x187de7,
1162 .tuner_type = TUNER_PHILIPS_NTSC,
1163 .radio_type = UNSET,
1164 .tuner_addr = ADDR_UNSET,
1165 .radio_addr = ADDR_UNSET,
1166 .inputs = {{
1167 .name = name_tv,
1168 .vmux = 1,
1169 .amux = TV,
1170 .tv = 1,
1171 },{
1172 .name = name_tv_mono,
1173 .vmux = 1,
1174 .amux = LINE2,
1175 .tv = 1,
1176 },{
1177 .name = name_comp1,
1178 .vmux = 3,
1179 .amux = LINE1,
1180 },{
1181 .name = name_svideo,
1182 .vmux = 8,
1183 .amux = LINE1,
1da177e4
LT
1184 },{
1185 .name = "CVid over SVid",
1186 .vmux = 0,
1187 .amux = LINE1,
1188 }},
330a115a
MCC
1189 .radio = {
1190 .name = name_radio,
1191 .amux = LINE2,
1192 },
1193 },
b39423a9
SF
1194 [SAA7134_BOARD_ECS_TVP3XP_4CB6] = {
1195 /* Barry Scott <barry.scott@onelan.co.uk> */
1196 .name = "Elitegroup ECS TVP3XP FM1246 Tuner Card (PAL,FM)",
1197 .audio_clock = 0x187de7,
1198 .tuner_type = TUNER_PHILIPS_PAL_I,
1199 .radio_type = UNSET,
1200 .tuner_addr = ADDR_UNSET,
1201 .radio_addr = ADDR_UNSET,
1202 .inputs = {{
1203 .name = name_tv,
1204 .vmux = 1,
1205 .amux = TV,
1206 .tv = 1,
1207 },{
1208 .name = name_tv_mono,
1209 .vmux = 1,
1210 .amux = LINE2,
1211 .tv = 1,
1212 },{
1213 .name = name_comp1,
1214 .vmux = 3,
1215 .amux = LINE1,
1216 },{
1217 .name = name_svideo,
1218 .vmux = 8,
1219 .amux = LINE1,
1220 },{
1221 .name = "CVid over SVid",
1222 .vmux = 0,
1223 .amux = LINE1,
1224 }},
1225 .radio = {
1226 .name = name_radio,
1227 .amux = LINE2,
1228 },
1229 },
1da177e4
LT
1230 [SAA7134_BOARD_AVACSSMARTTV] = {
1231 /* Roman Pszonczenko <romka@kolos.math.uni.lodz.pl> */
1232 .name = "AVACS SmartTV",
1233 .audio_clock = 0x00187de7,
1234 .tuner_type = TUNER_PHILIPS_PAL,
330a115a
MCC
1235 .radio_type = UNSET,
1236 .tuner_addr = ADDR_UNSET,
1237 .radio_addr = ADDR_UNSET,
1da177e4
LT
1238 .inputs = {{
1239 .name = name_tv,
1240 .vmux = 1,
1241 .amux = TV,
1242 .tv = 1,
330a115a 1243 },{
1da177e4
LT
1244 .name = name_tv_mono,
1245 .vmux = 1,
1246 .amux = LINE2,
1247 .tv = 1,
1248 },{
1249 .name = name_comp1,
1250 .vmux = 0,
1251 .amux = LINE2,
1252 },{
1253 .name = name_comp2,
1254 .vmux = 3,
1255 .amux = LINE2,
1256 },{
1257 .name = name_svideo,
1258 .vmux = 8,
1259 .amux = LINE2,
1260 }},
1261 .radio = {
1262 .name = name_radio,
1263 .amux = LINE2,
1264 .gpio = 0x200000,
1265 },
1266 },
1267 [SAA7134_BOARD_AVERMEDIA_DVD_EZMAKER] = {
1268 /* Michael Smith <msmith@cbnco.com> */
1269 .name = "AVerMedia DVD EZMaker",
1270 .audio_clock = 0x00187de7,
1271 .tuner_type = TUNER_ABSENT,
330a115a
MCC
1272 .radio_type = UNSET,
1273 .tuner_addr = ADDR_UNSET,
1274 .radio_addr = ADDR_UNSET,
1da177e4
LT
1275 .inputs = {{
1276 .name = name_comp1,
1277 .vmux = 3,
1278 },{
1279 .name = name_svideo,
1280 .vmux = 8,
1281 }},
1282 },
330a115a
MCC
1283 [SAA7134_BOARD_NOVAC_PRIMETV7133] = {
1284 /* toshii@netbsd.org */
1285 .name = "Noval Prime TV 7133",
1286 .audio_clock = 0x00200000,
1287 .tuner_type = TUNER_ALPS_TSBH1_NTSC,
1288 .radio_type = UNSET,
1289 .tuner_addr = ADDR_UNSET,
1290 .radio_addr = ADDR_UNSET,
1291 .inputs = {{
1292 .name = name_comp1,
1293 .vmux = 3,
1294 },{
1295 .name = name_tv,
1296 .vmux = 1,
1297 .amux = TV,
1298 .tv = 1,
1299 },{
1300 .name = name_svideo,
1301 .vmux = 8,
1302 }},
1303 },
1da177e4
LT
1304 [SAA7134_BOARD_AVERMEDIA_STUDIO_305] = {
1305 .name = "AverMedia AverTV Studio 305",
1306 .audio_clock = 0x00187de7,
1307 .tuner_type = TUNER_PHILIPS_FM1256_IH3,
330a115a
MCC
1308 .radio_type = UNSET,
1309 .tuner_addr = ADDR_UNSET,
1310 .radio_addr = ADDR_UNSET,
1da177e4 1311 .tda9887_conf = TDA9887_PRESENT,
1da177e4
LT
1312 .inputs = {{
1313 .name = name_tv,
1314 .vmux = 1,
1315 .amux = LINE2,
1316 .tv = 1,
1317 },{
1318 .name = name_comp1,
1319 .vmux = 0,
1320 .amux = LINE2,
1321 },{
1322 .name = name_comp2,
1323 .vmux = 3,
1324 .amux = LINE2,
1325 },{
1326 .name = name_svideo,
1327 .vmux = 8,
1328 .amux = LINE2,
1329 }},
1330 .radio = {
330a115a
MCC
1331 .name = name_radio,
1332 .amux = LINE2,
1333 },
1da177e4 1334 .mute = {
330a115a
MCC
1335 .name = name_mute,
1336 .amux = LINE1,
1da177e4
LT
1337 },
1338 },
330a115a
MCC
1339 [SAA7134_BOARD_UPMOST_PURPLE_TV] = {
1340 .name = "UPMOST PURPLE TV",
1341 .audio_clock = 0x00187de7,
1342 .tuner_type = TUNER_PHILIPS_FM1236_MK3,
1343 .radio_type = UNSET,
1344 .tuner_addr = ADDR_UNSET,
1345 .radio_addr = ADDR_UNSET,
1346 .tda9887_conf = TDA9887_PRESENT,
1347 .inputs = {{
1348 .name = name_tv,
1349 .vmux = 7,
1350 .amux = TV,
1351 .tv = 1,
1352 },{
1353 .name = name_svideo,
1354 .vmux = 7,
1355 .amux = LINE1,
1356 }},
1da177e4
LT
1357 },
1358 [SAA7134_BOARD_ITEMS_MTV005] = {
1359 /* Norman Jonas <normanjonas@arcor.de> */
1360 .name = "Items MuchTV Plus / IT-005",
1361 .audio_clock = 0x00187de7,
1362 .tuner_type = TUNER_PHILIPS_PAL,
330a115a
MCC
1363 .radio_type = UNSET,
1364 .tuner_addr = ADDR_UNSET,
1365 .radio_addr = ADDR_UNSET,
1da177e4
LT
1366 .inputs = {{
1367 .name = name_tv,
1368 .vmux = 3,
1369 .amux = TV,
1370 .tv = 1,
1371 },{
1372 .name = name_comp1,
1373 .vmux = 1,
1374 .amux = LINE1,
1375 },{
1376 .name = name_svideo,
1377 .vmux = 8,
1378 .amux = LINE1,
1379 }},
1380 .radio = {
1381 .name = name_radio,
1382 .amux = LINE2,
1383 },
1384 },
1385 [SAA7134_BOARD_CINERGY200] = {
1386 .name = "Terratec Cinergy 200 TV",
1387 .audio_clock = 0x00200000,
1388 .tuner_type = TUNER_PHILIPS_PAL,
330a115a
MCC
1389 .radio_type = UNSET,
1390 .tuner_addr = ADDR_UNSET,
1391 .radio_addr = ADDR_UNSET,
1da177e4 1392 .inputs = {{
330a115a 1393 .name = name_tv,
1da177e4
LT
1394 .vmux = 1,
1395 .amux = LINE2,
1396 .tv = 1,
330a115a
MCC
1397 },{
1398 .name = name_comp1,
1399 .vmux = 4,
1400 .amux = LINE1,
1401 },{
1402 .name = name_svideo,
1403 .vmux = 8,
1404 .amux = LINE1,
1405 },{
1406 .name = name_comp2, /* CVideo over SVideo Connector */
1407 .vmux = 0,
1408 .amux = LINE1,
1da177e4
LT
1409 }},
1410 .mute = {
330a115a
MCC
1411 .name = name_mute,
1412 .amux = LINE2,
1da177e4
LT
1413 },
1414 },
1415 [SAA7134_BOARD_VIDEOMATE_TV_PVR] = {
1416 /* Alain St-Denis <alain@topaze.homeip.net> */
1417 .name = "Compro VideoMate TV PVR/FM",
1418 .audio_clock = 0x00187de7,
1419 .tuner_type = TUNER_PHILIPS_NTSC_M,
330a115a
MCC
1420 .radio_type = UNSET,
1421 .tuner_addr = ADDR_UNSET,
1422 .radio_addr = ADDR_UNSET,
1da177e4 1423 .gpiomask = 0x808c0080,
330a115a
MCC
1424 .inputs = {{
1425 .name = name_svideo,
1426 .vmux = 8,
1427 .amux = LINE1,
1da177e4 1428 .gpio = 0x00080,
330a115a
MCC
1429 },{
1430 .name = name_comp1,
1431 .vmux = 3,
1432 .amux = LINE1,
1da177e4 1433 .gpio = 0x00080,
330a115a
MCC
1434 },{
1435 .name = name_tv,
1436 .vmux = 1,
1437 .amux = LINE2_LEFT,
1438 .tv = 1,
1da177e4 1439 .gpio = 0x00080,
330a115a 1440 }},
1da177e4
LT
1441 .radio = {
1442 .name = name_radio,
1443 .amux = LINE2,
1444 .gpio = 0x80000,
330a115a 1445 },
1da177e4
LT
1446 .mute = {
1447 .name = name_mute,
330a115a 1448 .amux = LINE2,
1da177e4
LT
1449 .gpio = 0x40000,
1450 },
330a115a
MCC
1451 },
1452 [SAA7134_BOARD_SABRENT_SBTTVFM] = {
1da177e4 1453 /* Michael Rodriguez-Torrent <mrtorrent@asu.edu> */
330a115a
MCC
1454 .name = "Sabrent SBT-TVFM (saa7130)",
1455 .audio_clock = 0x00187de7,
1456 .tuner_type = TUNER_PHILIPS_NTSC_M,
1457 .radio_type = UNSET,
1458 .tuner_addr = ADDR_UNSET,
1459 .radio_addr = ADDR_UNSET,
1460 .inputs = {{
1da177e4
LT
1461 .name = name_comp1,
1462 .vmux = 1,
6a989d73 1463 .amux = LINE1,
1da177e4 1464 },{
330a115a
MCC
1465 .name = name_tv,
1466 .vmux = 3,
1467 .amux = LINE2,
1468 .tv = 1,
1469 },{
1470 .name = name_svideo,
1471 .vmux = 8,
6a989d73 1472 .amux = LINE1,
330a115a
MCC
1473 }},
1474 .radio = {
1475 .name = name_radio,
1476 .amux = LINE2,
1477 },
1478 },
1da177e4
LT
1479 [SAA7134_BOARD_ZOLID_XPERT_TV7134] = {
1480 /* Helge Jensen <helge.jensen@slog.dk> */
330a115a 1481 .name = ":Zolid Xpert TV7134",
1da177e4
LT
1482 .audio_clock = 0x00187de7,
1483 .tuner_type = TUNER_PHILIPS_NTSC,
330a115a
MCC
1484 .radio_type = UNSET,
1485 .tuner_addr = ADDR_UNSET,
1486 .radio_addr = ADDR_UNSET,
1487 .inputs = {{
1da177e4 1488 .name = name_svideo,
330a115a
MCC
1489 .vmux = 8,
1490 .amux = LINE1,
1491 },{
1492 .name = name_comp1,
1493 .vmux = 3,
1494 .amux = LINE1,
1495 },{
1496 .name = name_tv,
1497 .vmux = 1,
1498 .amux = LINE2,
1499 .tv = 1,
1500 }},
1da177e4
LT
1501 },
1502 [SAA7134_BOARD_EMPIRE_PCI_TV_RADIO_LE] = {
1503 /* "Matteo Az" <matte.az@nospam.libero.it> ;-) */
1504 .name = "Empire PCI TV-Radio LE",
1505 .audio_clock = 0x00187de7,
1506 .tuner_type = TUNER_PHILIPS_PAL,
330a115a
MCC
1507 .radio_type = UNSET,
1508 .tuner_addr = ADDR_UNSET,
1509 .radio_addr = ADDR_UNSET,
1da177e4
LT
1510 .gpiomask = 0x4000,
1511 .inputs = {{
1512 .name = name_tv_mono,
1513 .vmux = 1,
1514 .amux = LINE2,
1515 .gpio = 0x8000,
1516 .tv = 1,
1517 },{
1518 .name = name_comp1,
1519 .vmux = 3,
1520 .amux = LINE1,
1521 .gpio = 0x8000,
1522 },{
1523 .name = name_svideo,
1524 .vmux = 6,
1525 .amux = LINE1,
1526 .gpio = 0x8000,
1527 }},
330a115a
MCC
1528 .radio = {
1529 .name = name_radio,
1530 .amux = LINE1,
1531 .gpio = 0x8000,
1532 },
1da177e4 1533 .mute = {
330a115a
MCC
1534 .name = name_mute,
1535 .amux = TV,
1536 .gpio =0x8000,
1537 }
1da177e4 1538 },
330a115a 1539 [SAA7134_BOARD_AVERMEDIA_STUDIO_307] = {
1da177e4
LT
1540 /*
1541 Nickolay V. Shmyrev <nshmyrev@yandex.ru>
1542 Lots of thanks to Andrey Zolotarev <zolotarev_andrey@mail.ru>
1543 */
1544 .name = "Avermedia AVerTV Studio 307",
1545 .audio_clock = 0x00187de7,
1546 .tuner_type = TUNER_PHILIPS_FM1256_IH3,
330a115a
MCC
1547 .radio_type = UNSET,
1548 .tuner_addr = ADDR_UNSET,
1549 .radio_addr = ADDR_UNSET,
1da177e4
LT
1550 .tda9887_conf = TDA9887_PRESENT,
1551 .gpiomask = 0x03,
1552 .inputs = {{
1553 .name = name_tv,
1554 .vmux = 1,
1555 .amux = TV,
1556 .tv = 1,
1557 .gpio = 0x00,
1558 },{
f438d974 1559 .name = name_comp,
1da177e4 1560 .vmux = 3,
f5e4feea
SS
1561 .amux = LINE1,
1562 .gpio = 0x02,
1da177e4
LT
1563 },{
1564 .name = name_svideo,
1565 .vmux = 8,
f5e4feea
SS
1566 .amux = LINE1,
1567 .gpio = 0x02,
1da177e4
LT
1568 }},
1569 .radio = {
1570 .name = name_radio,
1571 .amux = LINE1,
1572 .gpio = 0x01,
1573 },
330a115a
MCC
1574 .mute = {
1575 .name = name_mute,
1576 .amux = LINE1,
1577 .gpio = 0x00,
1578 },
1579 },
1580 [SAA7134_BOARD_AVERMEDIA_GO_007_FM] = {
ac19ecc6
MCC
1581 .name = "Avermedia AVerTV GO 007 FM",
1582 .audio_clock = 0x00187de7,
1583 .tuner_type = TUNER_PHILIPS_TDA8290,
330a115a
MCC
1584 .radio_type = UNSET,
1585 .tuner_addr = ADDR_UNSET,
1586 .radio_addr = ADDR_UNSET,
ac19ecc6 1587 .gpiomask = 0x00300003,
330a115a 1588 /* .gpiomask = 0x8c240003, */
ac19ecc6
MCC
1589 .inputs = {{
1590 .name = name_tv,
1591 .vmux = 1,
1592 .amux = TV,
1593 .tv = 1,
1594 .gpio = 0x01,
1595 },{
1596 .name = name_comp1,
1597 .vmux = 0,
fbc8408a 1598 .amux = LINE1,
ac19ecc6
MCC
1599 .gpio = 0x02,
1600 },{
1601 .name = name_svideo,
1602 .vmux = 6,
fbc8408a 1603 .amux = LINE1,
ac19ecc6
MCC
1604 .gpio = 0x02,
1605 }},
1606 .radio = {
1607 .name = name_radio,
1608 .amux = LINE1,
1609 .gpio = 0x00300001,
1610 },
330a115a
MCC
1611 .mute = {
1612 .name = name_mute,
1613 .amux = TV,
1614 .gpio = 0x01,
1615 },
1616 },
1da177e4 1617 [SAA7134_BOARD_AVERMEDIA_CARDBUS] = {
330a115a
MCC
1618 /* Kees.Blom@cwi.nl */
1619 .name = "AVerMedia Cardbus TV/Radio (E500)",
1620 .audio_clock = 0x187de7,
1621 .tuner_type = TUNER_PHILIPS_TDA8290,
1622 .radio_type = UNSET,
1623 .tuner_addr = ADDR_UNSET,
1624 .radio_addr = ADDR_UNSET,
1da177e4
LT
1625 .inputs = {{
1626 .name = name_tv,
1627 .vmux = 1,
330a115a 1628 .amux = TV,
1da177e4
LT
1629 .tv = 1,
1630 },{
1631 .name = name_comp1,
1632 .vmux = 3,
1633 .amux = LINE2,
1634 },{
1635 .name = name_svideo,
1636 .vmux = 8,
330a115a 1637 .amux = LINE1,
1da177e4
LT
1638 }},
1639 .radio = {
330a115a 1640 .name = name_radio,
1da177e4
LT
1641 .amux = LINE1,
1642 },
1643 },
1644 [SAA7134_BOARD_CINERGY400_CARDBUS] = {
1645 .name = "Terratec Cinergy 400 mobile",
1646 .audio_clock = 0x187de7,
1647 .tuner_type = TUNER_ALPS_TSBE5_PAL,
330a115a
MCC
1648 .radio_type = UNSET,
1649 .tuner_addr = ADDR_UNSET,
1650 .radio_addr = ADDR_UNSET,
1651 .tda9887_conf = TDA9887_PRESENT,
1da177e4 1652 .inputs = {{
330a115a 1653 .name = name_tv,
1da177e4
LT
1654 .vmux = 1,
1655 .amux = TV,
1656 .tv = 1,
330a115a 1657 },{
1da177e4
LT
1658 .name = name_tv_mono,
1659 .vmux = 1,
1660 .amux = LINE2,
1661 .tv = 1,
330a115a
MCC
1662 },{
1663 .name = name_comp1,
1664 .vmux = 3,
1665 .amux = LINE1,
1666 },{
1667 .name = name_svideo,
1668 .vmux = 8,
1669 .amux = LINE1,
1da177e4
LT
1670 }},
1671 },
1672 [SAA7134_BOARD_CINERGY600_MK3] = {
330a115a
MCC
1673 .name = "Terratec Cinergy 600 TV MK3",
1674 .audio_clock = 0x00200000,
1da177e4 1675 .tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
330a115a
MCC
1676 .radio_type = UNSET,
1677 .tuner_addr = ADDR_UNSET,
1678 .radio_addr = ADDR_UNSET,
1679 .tda9887_conf = TDA9887_PRESENT,
1680 .inputs = {{
1681 .name = name_tv,
1682 .vmux = 1,
1683 .amux = TV,
1684 .tv = 1,
1685 },{
1686 .name = name_comp1,
1687 .vmux = 4,
1688 .amux = LINE1,
1689 },{
1690 .name = name_svideo,
1691 .vmux = 8,
1692 .amux = LINE1,
1693 },{
1694 .name = name_comp2, /* CVideo over SVideo Connector */
1695 .vmux = 0,
1696 .amux = LINE1,
1697 }},
1698 .radio = {
1699 .name = name_radio,
1700 .amux = LINE2,
1701 },
1702 },
1703 [SAA7134_BOARD_VIDEOMATE_GOLD_PLUS] = {
1704 /* Dylan Walkden <dylan_walkden@hotmail.com> */
1705 .name = "Compro VideoMate Gold+ Pal",
1706 .audio_clock = 0x00187de7,
1707 .tuner_type = TUNER_PHILIPS_PAL,
1708 .radio_type = UNSET,
1709 .tuner_addr = ADDR_UNSET,
1710 .radio_addr = ADDR_UNSET,
1711 .gpiomask = 0x1ce780,
1712 .inputs = {{
1713 .name = name_svideo,
1714 .vmux = 0, /* CVideo over SVideo Connector - ok? */
1715 .amux = LINE1,
1716 .gpio = 0x008080,
1717 },{
1718 .name = name_comp1,
1719 .vmux = 3,
1720 .amux = LINE1,
1721 .gpio = 0x008080,
1722 },{
1723 .name = name_tv,
1724 .vmux = 1,
1725 .amux = TV,
1726 .tv = 1,
1727 .gpio = 0x008080,
1728 }},
1da177e4
LT
1729 .radio = {
1730 .name = name_radio,
1731 .amux = LINE2,
330a115a
MCC
1732 .gpio = 0x80000,
1733 },
1734 .mute = {
1735 .name = name_mute,
1736 .amux = LINE2,
1737 .gpio = 0x0c8000,
1738 },
1739 },
1da177e4 1740 [SAA7134_BOARD_PINNACLE_300I_DVBT_PAL] = {
330a115a
MCC
1741 .name = "Pinnacle PCTV 300i DVB-T + PAL",
1742 .audio_clock = 0x00187de7,
1743 .tuner_type = TUNER_MT2032,
1744 .radio_type = UNSET,
1745 .tuner_addr = ADDR_UNSET,
1746 .radio_addr = ADDR_UNSET,
df8cf706 1747 .tda9887_conf = TDA9887_PRESENT | TDA9887_INTERCARRIER | TDA9887_PORT2_INACTIVE,
1da177e4 1748 .mpeg = SAA7134_MPEG_DVB,
330a115a
MCC
1749 .inputs = {{
1750 .name = name_tv,
1751 .vmux = 3,
1752 .amux = TV,
1753 .tv = 1,
1754 },{
1755 .name = name_comp1,
1756 .vmux = 0,
1757 .amux = LINE2,
1758 },{
1759 .name = name_comp2,
1760 .vmux = 1,
1761 .amux = LINE2,
1762 },{
1763 .name = name_svideo,
1764 .vmux = 8,
1765 .amux = LINE2,
1766 }},
1767 },
1da177e4
LT
1768 [SAA7134_BOARD_PROVIDEO_PV952] = {
1769 /* andreas.kretschmer@web.de */
1770 .name = "ProVideo PV952",
1771 .audio_clock = 0x00187de7,
1772 .tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
330a115a
MCC
1773 .radio_type = UNSET,
1774 .tuner_addr = ADDR_UNSET,
1775 .radio_addr = ADDR_UNSET,
1da177e4
LT
1776 .tda9887_conf = TDA9887_PRESENT,
1777 .inputs = {{
1778 .name = name_comp1,
1779 .vmux = 0,
1780 .amux = LINE1,
1781 },{
1782 .name = name_tv,
1783 .vmux = 1,
1784 .amux = TV,
1785 .tv = 1,
1786 },{
330a115a
MCC
1787 .name = name_tv_mono,
1788 .vmux = 1,
1789 .amux = LINE2,
1790 .tv = 1,
1791 }},
1792 .radio = {
1793 .name = name_radio,
1794 .amux = LINE2,
1795 },
1796 },
1797 [SAA7134_BOARD_AVERMEDIA_305] = {
1798 /* much like the "studio" version but without radio
1799 * and another tuner (sirspiritus@yandex.ru) */
1800 .name = "AverMedia AverTV/305",
1801 .audio_clock = 0x00187de7,
1802 .tuner_type = TUNER_PHILIPS_FQ1216ME,
1803 .radio_type = UNSET,
1804 .tuner_addr = ADDR_UNSET,
1805 .radio_addr = ADDR_UNSET,
1806 .tda9887_conf = TDA9887_PRESENT,
1807 .inputs = {{
1808 .name = name_tv,
1809 .vmux = 1,
1810 .amux = LINE2,
1811 .tv = 1,
1812 },{
1813 .name = name_comp1,
1814 .vmux = 0,
1815 .amux = LINE2,
1816 },{
1817 .name = name_comp2,
1818 .vmux = 3,
1819 .amux = LINE2,
1820 },{
1821 .name = name_svideo,
1822 .vmux = 8,
1823 .amux = LINE2,
1824 }},
1825 .mute = {
1826 .name = name_mute,
1827 .amux = LINE1,
1828 },
1829 },
1830 [SAA7134_BOARD_FLYDVBTDUO] = {
1831 /* LifeView FlyDVB-T DUO */
1832 /* "Nico Sabbi <nsabbi@tiscali.it> Hartmut Hackmann hartmut.hackmann@t-online.de*/
db483679 1833 .name = "LifeView FlyDVB-T DUO / MSI TV@nywhere Duo",
330a115a
MCC
1834 .audio_clock = 0x00200000,
1835 .tuner_type = TUNER_PHILIPS_TDA8290,
1836 .radio_type = UNSET,
1837 .tuner_addr = ADDR_UNSET,
1838 .radio_addr = ADDR_UNSET,
7c7fea66 1839 .gpiomask = 0x00200000,
8ce47dad 1840 .mpeg = SAA7134_MPEG_DVB,
330a115a
MCC
1841 .inputs = {{
1842 .name = name_tv,
1843 .vmux = 1,
1844 .amux = TV,
7c7fea66 1845 .gpio = 0x200000, /* GPIO21=High for TV input */
330a115a
MCC
1846 .tv = 1,
1847 },{
1848 .name = name_comp1, /* Composite signal on S-Video input */
1849 .vmux = 0,
1850 .amux = LINE2,
1851 },{
1852 .name = name_comp2, /* Composite input */
1853 .vmux = 3,
1854 .amux = LINE2,
1855 },{
1856 .name = name_svideo, /* S-Video signal on S-Video input */
1857 .vmux = 8,
1da177e4 1858 .amux = LINE2,
1da177e4 1859 }},
7c7fea66
PM
1860 .radio = {
1861 .name = name_radio,
1862 .amux = TV,
1863 .gpio = 0x000000, /* GPIO21=Low for FM radio antenna */
1864 },
1da177e4 1865 },
330a115a
MCC
1866 [SAA7134_BOARD_PHILIPS_TOUGH] = {
1867 .name = "Philips TOUGH DVB-T reference design",
1868 .tuner_type = TUNER_ABSENT,
1869 .audio_clock = 0x00187de7,
1870 .radio_type = UNSET,
1871 .tuner_addr = ADDR_UNSET,
1872 .radio_addr = ADDR_UNSET,
1873 .mpeg = SAA7134_MPEG_DVB,
1874 .inputs = {{
1875 .name = name_comp1,
1876 .vmux = 0,
1877 .amux = LINE1,
1878 },{
1879 .name = name_svideo,
1880 .vmux = 8,
1881 .amux = LINE1,
1882 }},
1883 },
1884 [SAA7134_BOARD_AVERMEDIA_307] = {
1885 /*
1886 Davydov Vladimir <vladimir@iqmedia.com>
1887 */
1888 .name = "Avermedia AVerTV 307",
1da177e4
LT
1889 .audio_clock = 0x00187de7,
1890 .tuner_type = TUNER_PHILIPS_FQ1216ME,
330a115a
MCC
1891 .radio_type = UNSET,
1892 .tuner_addr = ADDR_UNSET,
1893 .radio_addr = ADDR_UNSET,
1da177e4 1894 .tda9887_conf = TDA9887_PRESENT,
1da177e4
LT
1895 .inputs = {{
1896 .name = name_tv,
1897 .vmux = 1,
330a115a 1898 .amux = TV,
1da177e4
LT
1899 .tv = 1,
1900 },{
1901 .name = name_comp1,
1902 .vmux = 0,
330a115a 1903 .amux = LINE1,
1da177e4
LT
1904 },{
1905 .name = name_comp2,
1906 .vmux = 3,
330a115a
MCC
1907 .amux = LINE1,
1908 },{
1909 .name = name_svideo,
1910 .vmux = 8,
1911 .amux = LINE1,
1912 }},
1913 },
1914 [SAA7134_BOARD_ADS_INSTANT_TV] = {
1915 .name = "ADS Tech Instant TV (saa7135)",
1916 .audio_clock = 0x00187de7,
1917 .tuner_type = TUNER_PHILIPS_TDA8290,
1918 .radio_type = UNSET,
1919 .tuner_addr = ADDR_UNSET,
1920 .radio_addr = ADDR_UNSET,
1921 .inputs = {{
1922 .name = name_tv,
1923 .vmux = 1,
1924 .amux = TV,
1925 .tv = 1,
1926 },{
1927 .name = name_comp1,
1928 .vmux = 3,
1da177e4
LT
1929 .amux = LINE2,
1930 },{
1931 .name = name_svideo,
1932 .vmux = 8,
1933 .amux = LINE2,
1934 }},
330a115a
MCC
1935 },
1936 [SAA7134_BOARD_KWORLD_VSTREAM_XPERT] = {
1937 .name = "Kworld/Tevion V-Stream Xpert TV PVR7134",
1938 .audio_clock = 0x00187de7,
1939 .tuner_type = TUNER_PHILIPS_PAL_I,
1940 .radio_type = UNSET,
1941 .tuner_addr = ADDR_UNSET,
1942 .radio_addr = ADDR_UNSET,
1943 .gpiomask = 0x0700,
1944 .inputs = {{
1945 .name = name_tv,
1946 .vmux = 1,
1947 .amux = TV,
1948 .tv = 1,
1949 .gpio = 0x000,
1950 },{
1951 .name = name_comp1,
1952 .vmux = 3,
1953 .amux = LINE1,
1954 .gpio = 0x200, /* gpio by DScaler */
1955 },{
1956 .name = name_svideo,
1957 .vmux = 0,
1958 .amux = LINE1,
1959 .gpio = 0x200,
1960 }},
1961 .radio = {
1962 .name = name_radio,
1963 .amux = LINE1,
1964 .gpio = 0x100,
1965 },
1966 .mute = {
1967 .name = name_mute,
1968 .amux = TV,
1969 .gpio = 0x000,
1da177e4
LT
1970 },
1971 },
10b7a903 1972 [SAA7134_BOARD_FLYDVBT_DUO_CARDBUS] = {
2c591947 1973 .name = "LifeView/Typhoon/Genius FlyDVB-T Duo Cardbus",
1da177e4
LT
1974 .audio_clock = 0x00200000,
1975 .tuner_type = TUNER_PHILIPS_TDA8290,
330a115a
MCC
1976 .radio_type = UNSET,
1977 .tuner_addr = ADDR_UNSET,
1978 .radio_addr = ADDR_UNSET,
1979 .mpeg = SAA7134_MPEG_DVB,
10b7a903 1980 .gpiomask = 0x00200000,
1da177e4
LT
1981 .inputs = {{
1982 .name = name_tv,
1983 .vmux = 1,
1984 .amux = TV,
10b7a903 1985 .gpio = 0x200000, /* GPIO21=High for TV input */
1da177e4 1986 .tv = 1,
10b7a903
PM
1987 },{
1988 .name = name_svideo, /* S-Video signal on S-Video input */
1989 .vmux = 8,
1990 .amux = LINE2,
330a115a 1991 },{
1da177e4
LT
1992 .name = name_comp1, /* Composite signal on S-Video input */
1993 .vmux = 0,
1994 .amux = LINE2,
1da177e4
LT
1995 },{
1996 .name = name_comp2, /* Composite input */
1997 .vmux = 3,
1998 .amux = LINE2,
1da177e4 1999 }},
330a115a
MCC
2000 .radio = {
2001 .name = name_radio,
10b7a903
PM
2002 .amux = TV,
2003 .gpio = 0x000000, /* GPIO21=Low for FM radio antenna */
330a115a 2004 },
1da177e4 2005 },
330a115a
MCC
2006 [SAA7134_BOARD_VIDEOMATE_TV_GOLD_PLUSII] = {
2007 .name = "Compro VideoMate TV Gold+II",
2008 .audio_clock = 0x002187de7,
2009 .tuner_type = TUNER_LG_PAL_NEW_TAPC,
2010 .radio_type = TUNER_TEA5767,
2011 .tuner_addr = 0x63,
2012 .radio_addr = 0x60,
2013 .gpiomask = 0x8c1880,
2014 .inputs = {{
2015 .name = name_svideo,
2016 .vmux = 0,
2017 .amux = LINE1,
2018 .gpio = 0x800800,
2019 },{
2020 .name = name_comp1,
2021 .vmux = 3,
2022 .amux = LINE1,
2023 .gpio = 0x801000,
2024 },{
2025 .name = name_tv,
2026 .vmux = 1,
2027 .amux = TV,
2028 .tv = 1,
2029 .gpio = 0x800000,
2030 }},
2031 .radio = {
2032 .name = name_radio,
2033 .amux = TV,
2034 .gpio = 0x880000,
2035 },
2036 .mute = {
2037 .name = name_mute,
2038 .amux = LINE2,
2039 .gpio = 0x840000,
2040 },
2041 },
2042 [SAA7134_BOARD_KWORLD_XPERT] = {
2043 /*
2044 FIXME:
2045 - Remote control doesn't initialize properly.
2046 - Audio volume starts muted,
2047 then gradually increases after channel change.
2048 - Overlay scaling problems (application error?)
2049 - Composite S-Video untested.
2050 From: Konrad Rzepecki <hannibal@megapolis.pl>
2051 */
2052 .name = "Kworld Xpert TV PVR7134",
ac19ecc6 2053 .audio_clock = 0x00187de7,
330a115a
MCC
2054 .tuner_type = TUNER_TENA_9533_DI,
2055 .radio_type = TUNER_TEA5767,
2056 .tuner_addr = 0x61,
2057 .radio_addr = 0x60,
2058 .gpiomask = 0x0700,
2059 .inputs = {{
2060 .name = name_tv,
2061 .vmux = 1,
2062 .amux = TV,
2063 .tv = 1,
2064 .gpio = 0x000,
2065 },{
2066 .name = name_comp1,
2067 .vmux = 3,
2068 .amux = LINE1,
2069 .gpio = 0x200, /* gpio by DScaler */
2070 },{
2071 .name = name_svideo,
2072 .vmux = 0,
2073 .amux = LINE1,
2074 .gpio = 0x200,
2075 }},
2076 .radio = {
2077 .name = name_radio,
2078 .amux = LINE1,
2079 .gpio = 0x100,
2080 },
2081 .mute = {
2082 .name = name_mute,
2083 .amux = TV,
2084 .gpio = 0x000,
2085 },
2086 },
2f180710
MCC
2087 [SAA7134_BOARD_FLYTV_DIGIMATRIX] = {
2088 .name = "FlyTV mini Asus Digimatrix",
2089 .audio_clock = 0x00200000,
f3629be8 2090 .tuner_type = TUNER_LG_TALN,
2f180710
MCC
2091 .radio_type = UNSET,
2092 .tuner_addr = ADDR_UNSET,
2093 .radio_addr = ADDR_UNSET,
2094 .inputs = {{
2095 .name = name_tv,
2096 .vmux = 1,
2097 .amux = TV,
2098 .tv = 1,
2099 },{
2100 .name = name_tv_mono,
2101 .vmux = 1,
2102 .amux = LINE2,
2103 .tv = 1,
2104 },{
2105 .name = name_comp1,
2106 .vmux = 0,
2107 .amux = LINE2,
2108 },{
2109 .name = name_comp2,
2110 .vmux = 3,
2111 .amux = LINE2,
2112 },{
2113 .name = name_svideo,
2114 .vmux = 8,
2115 .amux = LINE2,
2116 }},
2117 .radio = {
2118 .name = name_radio, /* radio unconfirmed */
2119 .amux = LINE2,
2120 },
2121 },
260784dc
MCC
2122 [SAA7134_BOARD_KWORLD_TERMINATOR] = {
2123 /* Kworld V-Stream Studio TV Terminator */
2124 /* "James Webb <jrwebb@qwest.net> */
2125 .name = "V-Stream Studio TV Terminator",
2126 .audio_clock = 0x00187de7,
2127 .tuner_type = TUNER_PHILIPS_TDA8290,
2128 .radio_type = UNSET,
2129 .tuner_addr = ADDR_UNSET,
2130 .radio_addr = ADDR_UNSET,
2131 .gpiomask = 1 << 21,
2132 .inputs = {{
2133 .name = name_tv,
2134 .vmux = 1,
2135 .amux = TV,
2136 .gpio = 0x0000000,
2137 .tv = 1,
2138 },{
2139 .name = name_comp1, /* Composite input */
2140 .vmux = 3,
2141 .amux = LINE2,
2142 .gpio = 0x0000000,
2143 },{
2144 .name = name_svideo, /* S-Video input */
2145 .vmux = 8,
2146 .amux = LINE2,
2147 .gpio = 0x0000000,
2148 }},
2149 .radio = {
2150 .name = name_radio,
2151 .amux = TV,
2152 .gpio = 0x0200000,
2153 },
2154 },
4279f024
MCC
2155 [SAA7134_BOARD_YUAN_TUN900] = {
2156 /* FIXME:
2157 * S-Video and composite sources untested.
2158 * Radio not working.
2159 * Remote control not yet implemented.
2160 * From : codemaster@webgeeks.be */
2161 .name = "Yuan TUN-900 (saa7135)",
2162 .audio_clock = 0x00187de7,
2163 .tuner_type = TUNER_PHILIPS_TDA8290,
2164 .radio_type = UNSET,
2165 .tuner_addr= ADDR_UNSET,
2166 .radio_addr= ADDR_UNSET,
2167 .gpiomask = 0x00010003,
2168 .inputs = {{
2169 .name = name_tv,
2170 .vmux = 1,
2171 .amux = TV,
2172 .tv = 1,
2173 .gpio = 0x01,
2174 },{
2175 .name = name_comp1,
2176 .vmux = 0,
2177 .amux = LINE2,
2178 .gpio = 0x02,
2179 },{
2180 .name = name_svideo,
2181 .vmux = 6,
2182 .amux = LINE2,
2183 .gpio = 0x02,
2184 }},
2185 .radio = {
2186 .name = name_radio,
2187 .amux = LINE1,
2188 .gpio = 0x00010003,
2189 },
2190 .mute = {
2191 .name = name_mute,
2192 .amux = TV,
2193 .gpio = 0x01,
2194 },
2195 },
a8ff417e 2196 [SAA7134_BOARD_BEHOLD_409FM] = {
4ac97914
MCC
2197 /* <http://tuner.beholder.ru>, Sergey <skiv@orel.ru> */
2198 .name = "Beholder BeholdTV 409 FM",
2199 .audio_clock = 0x00187de7,
2200 .tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
2201 .radio_type = UNSET,
2202 .tuner_addr = ADDR_UNSET,
2203 .radio_addr = ADDR_UNSET,
2204 .tda9887_conf = TDA9887_PRESENT,
2205 .inputs = {{
2206 .name = name_tv,
a8ff417e
NS
2207 .vmux = 3,
2208 .amux = TV,
2209 .tv = 1,
2210 },{
2211 .name = name_comp1,
2212 .vmux = 1,
2213 .amux = LINE1,
4ac97914
MCC
2214 },{
2215 .name = name_svideo,
a8ff417e
NS
2216 .vmux = 8,
2217 .amux = LINE1,
4ac97914
MCC
2218 }},
2219 .radio = {
2220 .name = name_radio,
a8ff417e 2221 .amux = LINE2,
657de3cd 2222 },
4ac97914
MCC
2223 },
2224 [SAA7134_BOARD_GOTVIEW_7135] = {
dcd555ec 2225 /* Mike Baikov <mike@baikov.com> */
6b961440 2226 /* Andrey Cvetcov <ays14@yandex.ru> */
4ac97914
MCC
2227 .name = "GoTView 7135 PCI",
2228 .audio_clock = 0x00187de7,
2229 .tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
2230 .radio_type = UNSET,
2231 .tuner_addr = ADDR_UNSET,
2232 .radio_addr = ADDR_UNSET,
2233 .tda9887_conf = TDA9887_PRESENT,
2234 .gpiomask = 0x00200003,
2235 .inputs = {{
2236 .name = name_tv,
2237 .vmux = 1,
2238 .amux = TV,
2239 .tv = 1,
2240 .gpio = 0x00200003,
2241 },{
2242 .name = name_tv_mono,
2243 .vmux = 1,
2244 .amux = LINE2,
2245 .gpio = 0x00200003,
2246 },{
2247 .name = name_comp1,
2248 .vmux = 3,
2249 .amux = LINE1,
2250 .gpio = 0x00200003,
2251 },{
2252 .name = name_svideo,
2253 .vmux = 8,
2254 .amux = LINE1,
2255 .gpio = 0x00200003,
2256 }},
2257 .radio = {
2258 .name = name_radio,
2259 .amux = LINE2,
2260 .gpio = 0x00200003,
2261 },
2262 .mute = {
2263 .name = name_mute,
2264 .amux = TV,
2265 .gpio = 0x00200003,
2266 },
2267 },
2cf36ac4
HH
2268 [SAA7134_BOARD_PHILIPS_EUROPA] = {
2269 .name = "Philips EUROPA V3 reference design",
2270 .audio_clock = 0x00187de7,
2271 .tuner_type = TUNER_PHILIPS_TD1316,
2272 .radio_type = UNSET,
2273 .tuner_addr = 0x61,
2274 .radio_addr = ADDR_UNSET,
44fd06fa 2275 .tda9887_conf = TDA9887_PRESENT | TDA9887_PORT1_ACTIVE,
2cf36ac4
HH
2276 .mpeg = SAA7134_MPEG_DVB,
2277 .inputs = {{
2278 .name = name_tv,
2279 .vmux = 3,
2280 .amux = TV,
2281 .tv = 1,
2282 },{
2283 .name = name_comp1,
2284 .vmux = 0,
2285 .amux = LINE2,
2286 },{
2287 .name = name_svideo,
2288 .vmux = 8,
2289 .amux = LINE2,
2290 }},
2291 },
2292 [SAA7134_BOARD_VIDEOMATE_DVBT_300] = {
2293 .name = "Compro Videomate DVB-T300",
2294 .audio_clock = 0x00187de7,
2295 .tuner_type = TUNER_PHILIPS_TD1316,
2296 .radio_type = UNSET,
2297 .tuner_addr = 0x61,
2298 .radio_addr = ADDR_UNSET,
44fd06fa 2299 .tda9887_conf = TDA9887_PRESENT | TDA9887_PORT1_ACTIVE,
2cf36ac4
HH
2300 .mpeg = SAA7134_MPEG_DVB,
2301 .inputs = {{
2302 .name = name_tv,
2303 .vmux = 3,
2304 .amux = TV,
2305 .tv = 1,
2306 },{
2307 .name = name_comp1,
2308 .vmux = 1,
2309 .amux = LINE2,
2310 },{
2311 .name = name_svideo,
2312 .vmux = 8,
2313 .amux = LINE2,
2314 }},
2315 },
2316 [SAA7134_BOARD_VIDEOMATE_DVBT_200] = {
2317 .name = "Compro Videomate DVB-T200",
2318 .tuner_type = TUNER_ABSENT,
2319 .audio_clock = 0x00187de7,
2320 .radio_type = UNSET,
2321 .tuner_addr = ADDR_UNSET,
2322 .radio_addr = ADDR_UNSET,
2323 .mpeg = SAA7134_MPEG_DVB,
2324 .inputs = {{
2325 .name = name_comp1,
2326 .vmux = 0,
2327 .amux = LINE1,
2328 },{
2329 .name = name_svideo,
2330 .vmux = 8,
2331 .amux = LINE1,
2332 }},
2333 },
4ac97914
MCC
2334 [SAA7134_BOARD_RTD_VFG7350] = {
2335 .name = "RTD Embedded Technologies VFG7350",
2336 .audio_clock = 0x00200000,
2337 .tuner_type = TUNER_ABSENT,
2338 .radio_type = UNSET,
2339 .tuner_addr = ADDR_UNSET,
2340 .radio_addr = ADDR_UNSET,
2341 .inputs = {{
2342 .name = "Composite 0",
2343 .vmux = 0,
2344 .amux = LINE1,
2345 },{
2346 .name = "Composite 1",
2347 .vmux = 1,
2348 .amux = LINE2,
2349 },{
2350 .name = "Composite 2",
2351 .vmux = 2,
2352 .amux = LINE1,
2353 },{
2354 .name = "Composite 3",
2355 .vmux = 3,
2356 .amux = LINE2,
2357 },{
2358 .name = "S-Video 0",
2359 .vmux = 8,
2360 .amux = LINE1,
2361 },{
2362 .name = "S-Video 1",
2363 .vmux = 9,
2364 .amux = LINE2,
2365 }},
2366 .mpeg = SAA7134_MPEG_EMPRESS,
2367 .video_out = CCIR656,
2f8d4f51
RB
2368 .vid_port_opts = ( SET_T_CODE_POLARITY_NON_INVERTED |
2369 SET_CLOCK_NOT_DELAYED |
2370 SET_CLOCK_INVERTED |
2371 SET_VSYNC_OFF ),
4ac97914
MCC
2372 },
2373 [SAA7134_BOARD_RTD_VFG7330] = {
2374 .name = "RTD Embedded Technologies VFG7330",
2375 .audio_clock = 0x00200000,
2376 .tuner_type = TUNER_ABSENT,
2377 .radio_type = UNSET,
2378 .tuner_addr = ADDR_UNSET,
2379 .radio_addr = ADDR_UNSET,
2380 .inputs = {{
2381 .name = "Composite 0",
2382 .vmux = 0,
2383 .amux = LINE1,
2384 },{
2385 .name = "Composite 1",
2386 .vmux = 1,
2387 .amux = LINE2,
2388 },{
2389 .name = "Composite 2",
2390 .vmux = 2,
2391 .amux = LINE1,
2392 },{
2393 .name = "Composite 3",
2394 .vmux = 3,
2395 .amux = LINE2,
2396 },{
2397 .name = "S-Video 0",
2398 .vmux = 8,
2399 .amux = LINE1,
2400 },{
2401 .name = "S-Video 1",
2402 .vmux = 9,
2403 .amux = LINE2,
2404 }},
2405 },
058afaf8
MCC
2406 [SAA7134_BOARD_FLYTVPLATINUM_MINI2] = {
2407 .name = "LifeView FlyTV Platinum Mini2",
2408 .audio_clock = 0x00200000,
2409 .tuner_type = TUNER_PHILIPS_TDA8290,
2410 .radio_type = UNSET,
2411 .tuner_addr = ADDR_UNSET,
2412 .radio_addr = ADDR_UNSET,
2413
2414 .inputs = {{
2415 .name = name_tv,
2416 .vmux = 1,
2417 .amux = TV,
2418 .tv = 1,
2419 },{
2420 .name = name_comp1, /* Composite signal on S-Video input */
2421 .vmux = 0,
2422 .amux = LINE2,
2423 },{
2424 .name = name_comp2, /* Composite input */
2425 .vmux = 3,
2426 .amux = LINE2,
2427 },{
2428 .name = name_svideo,
2429 .vmux = 8,
2430 .amux = LINE2,
2431 }},
2432 },
76bc3a39 2433 [SAA7134_BOARD_AVERMEDIA_AVERTVHD_A180] = {
ac113d15
MK
2434 /* Michael Krufky <mkrufky@m1k.net>
2435 * Uses Alps Electric TDHU2, containing NXT2004 ATSC Decoder
2436 * AFAIK, there is no analog demod, thus,
2437 * no support for analog television.
2438 */
76bc3a39
MK
2439 .name = "AVerMedia AVerTVHD MCE A180",
2440 .audio_clock = 0x00187de7,
2441 .tuner_type = TUNER_ABSENT,
2442 .radio_type = UNSET,
2443 .tuner_addr = ADDR_UNSET,
2444 .radio_addr = ADDR_UNSET,
3b64e8e2 2445 .mpeg = SAA7134_MPEG_DVB,
76bc3a39
MK
2446 .inputs = {{
2447 .name = name_comp1,
2448 .vmux = 3,
2449 .amux = LINE2,
2450 },{
2451 .name = name_svideo,
2452 .vmux = 8,
2453 .amux = LINE2,
2454 }},
2455 },
cf1c5d1d
PP
2456 [SAA7134_BOARD_MONSTERTV_MOBILE] = {
2457 .name = "SKNet MonsterTV Mobile",
2458 .audio_clock = 0x00187de7,
2459 .tuner_type = TUNER_PHILIPS_TDA8290,
2460 .radio_type = UNSET,
2461 .tuner_addr = ADDR_UNSET,
2462 .radio_addr = ADDR_UNSET,
2463
2464 .inputs = {{
2465 .name = name_tv,
2466 .vmux = 1,
2467 .amux = TV,
2468 .tv = 1,
2469 },{
2470 .name = name_comp1,
2471 .vmux = 3,
2472 .amux = LINE1,
2473 },{
2474 .name = name_svideo,
2475 .vmux = 6,
2476 .amux = LINE1,
2477 }},
2478 },
c2f6f9d8 2479 [SAA7134_BOARD_PINNACLE_PCTV_110i] = {
cb46e3c2 2480 .name = "Pinnacle PCTV 40i/50i/110i (saa7133)",
c2f6f9d8
RC
2481 .audio_clock = 0x00187de7,
2482 .tuner_type = TUNER_PHILIPS_TDA8290,
2483 .radio_type = UNSET,
2484 .tuner_addr = ADDR_UNSET,
2485 .radio_addr = ADDR_UNSET,
2486 .gpiomask = 0x080200000,
2487 .inputs = {{
2488 .name = name_tv,
2489 .vmux = 4,
2490 .amux = TV,
2491 .tv = 1,
2492 },{
2493 .name = name_comp1,
2494 .vmux = 1,
cb46e3c2
KS
2495 .amux = LINE2,
2496 },{
2497 .name = name_comp2,
2498 .vmux = 0,
c2f6f9d8
RC
2499 .amux = LINE2,
2500 },{
2501 .name = name_svideo,
2502 .vmux = 8,
2503 .amux = LINE2,
2504 }},
2505 .radio = {
2506 .name = name_radio,
2507 .amux = LINE1,
2508 },
2509 },
28f02241
HP
2510 [SAA7134_BOARD_ASUSTeK_P7131_DUAL] = {
2511 .name = "ASUSTeK P7131 Dual",
2512 .audio_clock = 0x00187de7,
2513 .tuner_type = TUNER_PHILIPS_TDA8290,
2514 .radio_type = UNSET,
2515 .tuner_addr = ADDR_UNSET,
2516 .radio_addr = ADDR_UNSET,
2517 .gpiomask = 1 << 21,
d4b0aba4 2518 .mpeg = SAA7134_MPEG_DVB,
28f02241
HP
2519 .inputs = {{
2520 .name = name_tv,
2521 .vmux = 1,
2522 .amux = TV,
2523 .tv = 1,
83646817 2524 .gpio = 0x0000000,
28f02241
HP
2525 },{
2526 .name = name_comp1,
2527 .vmux = 3,
2528 .amux = LINE2,
83646817 2529 .gpio = 0x0200000,
8387c66c
HP
2530 },{
2531 .name = name_comp2,
2532 .vmux = 0,
2533 .amux = LINE2,
2534 .gpio = 0x0200000,
28f02241
HP
2535 },{
2536 .name = name_svideo,
2537 .vmux = 8,
2538 .amux = LINE2,
83646817 2539 .gpio = 0x0200000,
28f02241
HP
2540 }},
2541 .radio = {
2542 .name = name_radio,
2543 .amux = TV,
2544 .gpio = 0x0200000,
2545 },
2546 },
17ce1ff9 2547 [SAA7134_BOARD_SEDNA_PC_TV_CARDBUS] = {
fe2e36c8 2548 /* Paul Tom Zalac <pzalac@gmail.com> */
c3d93192 2549 /* Pavel Mihaylov <bin@bash.info> */
17ce1ff9
RC
2550 .name = "Sedna/MuchTV PC TV Cardbus TV/Radio (ITO25 Rev:2B)",
2551 /* Sedna/MuchTV (OEM) Cardbus TV Tuner */
fe2e36c8 2552 .audio_clock = 0x00187de7,
c3d93192 2553 .tuner_type = TUNER_PHILIPS_TDA8290,
fe2e36c8
PZ
2554 .radio_type = UNSET,
2555 .tuner_addr = ADDR_UNSET,
2556 .radio_addr = ADDR_UNSET,
c3d93192 2557 .gpiomask = 0xe880c0,
fe2e36c8 2558 .inputs = {{
c3d93192
PM
2559 .name = name_tv,
2560 .vmux = 3,
2561 .amux = TV,
2562 .tv = 1,
2563 },{
fe2e36c8
PZ
2564 .name = name_comp1,
2565 .vmux = 1,
c3d93192
PM
2566 .amux = LINE1,
2567 },{
2568 .name = name_svideo,
2569 .vmux = 6,
2570 .amux = LINE1,
fe2e36c8 2571 }},
c3d93192
PM
2572 .radio = {
2573 .name = name_radio,
2574 .amux = LINE2,
2575 },
fe2e36c8 2576 },
5d5c9904
MK
2577 [SAA7134_BOARD_ASUSTEK_DIGIMATRIX_TV] = {
2578 /* "Cyril Lacoux (Yack)" <clacoux@ifeelgood.org> */
2579 .name = "ASUS Digimatrix TV",
2580 .audio_clock = 0x00200000,
2581 .tuner_type = TUNER_PHILIPS_FQ1216ME,
2582 .tda9887_conf = TDA9887_PRESENT,
2583 .radio_type = UNSET,
2584 .tuner_addr = ADDR_UNSET,
2585 .radio_addr = ADDR_UNSET,
2586 .inputs = {{
2587 .name = name_tv,
2588 .vmux = 1,
2589 .amux = TV,
2590 .tv = 1,
2591 },{
2592 .name = name_comp1,
2593 .vmux = 3,
2594 .amux = LINE1,
2595 },{
2596 .name = name_svideo,
2597 .vmux = 8,
2598 .amux = LINE1,
2599 }},
2600 },
90e9df7f
HH
2601 [SAA7134_BOARD_PHILIPS_TIGER] = {
2602 .name = "Philips Tiger reference design",
2603 .audio_clock = 0x00187de7,
2604 .tuner_type = TUNER_PHILIPS_TDA8290,
2605 .radio_type = UNSET,
2606 .tuner_addr = ADDR_UNSET,
2607 .radio_addr = ADDR_UNSET,
58ef4f92 2608 .tuner_config = 0,
90e9df7f 2609 .mpeg = SAA7134_MPEG_DVB,
de956c1e 2610 .gpiomask = 0x0200000,
90e9df7f
HH
2611 .inputs = {{
2612 .name = name_tv,
2613 .vmux = 1,
2614 .amux = TV,
2615 .tv = 1,
2616 },{
2617 .name = name_comp1,
2618 .vmux = 3,
2619 .amux = LINE1,
2620 },{
2621 .name = name_svideo,
2622 .vmux = 8,
2623 .amux = LINE1,
2624 }},
0f79c363
HH
2625 .radio = {
2626 .name = name_radio,
2627 .amux = TV,
2628 .gpio = 0x0200000,
2629 },
90e9df7f 2630 },
80d2ad92
RC
2631 [SAA7134_BOARD_MSI_TVATANYWHERE_PLUS] = {
2632 .name = "MSI TV@Anywhere plus",
2633 .audio_clock = 0x00187de7,
2634 .tuner_type = TUNER_PHILIPS_TDA8290,
2635 .radio_type = UNSET,
2636 .tuner_addr = ADDR_UNSET,
2637 .radio_addr = ADDR_UNSET,
e382f62b 2638 .gpiomask = 1 << 21,
80d2ad92
RC
2639 .inputs = {{
2640 .name = name_tv,
2641 .vmux = 1,
2642 .amux = TV,
2643 .tv = 1,
2644 },{
2645 .name = name_comp1,
2646 .vmux = 3,
e382f62b 2647 .amux = LINE2, /* unconfirmed, taken from Philips driver */
2648 },{
2649 .name = name_comp2,
2650 .vmux = 0, /* untested, Composite over S-Video */
2651 .amux = LINE2,
80d2ad92
RC
2652 },{
2653 .name = name_svideo,
e382f62b 2654 .vmux = 8,
2655 .amux = LINE2,
80d2ad92
RC
2656 }},
2657 .radio = {
2658 .name = name_radio,
e382f62b 2659 .amux = TV,
2660 .gpio = 0x0200000,
80d2ad92
RC
2661 },
2662 },