blob: ce449c941171d984b3c15b073016dfaddbadf2f5 [file] [log] [blame]
// SPDX-License-Identifier: GPL-2.0-or-later
/*
*
* device driver for philips saa7134 based TV cards
* card-specific stuff.
*
* (c) 2001-04 Gerd Knorr <kraxel@bytesex.org> [SuSE Labs]
*/
#include "saa7134.h"
#include "saa7134-reg.h"
#include <linux/init.h>
#include <linux/module.h>
#include <linux/i2c.h>
#include <linux/i2c-algo-bit.h>
#include "tuner-xc2028.h"
#include <media/v4l2-common.h>
#include <media/tveeprom.h>
#include "tea5767.h"
#include "tda18271.h"
#include "xc5000.h"
#include "s5h1411.h"
/* Input names */
const char * const saa7134_input_name[] = {
[SAA7134_INPUT_MUTE] = "mute",
[SAA7134_INPUT_RADIO] = "Radio",
[SAA7134_INPUT_TV] = "Television",
[SAA7134_INPUT_TV_MONO] = "TV (mono only)",
[SAA7134_INPUT_COMPOSITE] = "Composite",
[SAA7134_INPUT_COMPOSITE0] = "Composite0",
[SAA7134_INPUT_COMPOSITE1] = "Composite1",
[SAA7134_INPUT_COMPOSITE2] = "Composite2",
[SAA7134_INPUT_COMPOSITE3] = "Composite3",
[SAA7134_INPUT_COMPOSITE4] = "Composite4",
[SAA7134_INPUT_SVIDEO] = "S-Video",
[SAA7134_INPUT_SVIDEO0] = "S-Video0",
[SAA7134_INPUT_SVIDEO1] = "S-Video1",
[SAA7134_INPUT_COMPOSITE_OVER_SVIDEO] = "Composite over S-Video",
};
/* ------------------------------------------------------------------ */
/* board config info */
static struct tda18271_std_map aver_a706_std_map = {
.fm_radio = { .if_freq = 5500, .fm_rfn = 0, .agc_mode = 3, .std = 0,
.if_lvl = 0, .rfagc_top = 0x2c, },
};
/* If radio_type !=UNSET, radio_addr should be specified
*/
struct saa7134_board saa7134_boards[] = {
[SAA7134_BOARD_UNKNOWN] = {
.name = "UNKNOWN/GENERIC",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_ABSENT,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_COMPOSITE,
.vmux = 0,
.amux = LINE1,
}},
},
[SAA7134_BOARD_PROTEUS_PRO] = {
/* /me */
.name = "Proteus Pro [philips reference design]",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_PAL,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 0,
.amux = LINE1,
},{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
},{
.type = SAA7134_INPUT_TV_MONO,
.vmux = 1,
.amux = LINE2,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
},
},
[SAA7134_BOARD_FLYVIDEO3000] = {
/* "Marco d'Itri" <md@Linux.IT> */
.name = "LifeView FlyVIDEO3000",
.audio_clock = 0x00200000,
.tuner_type = TUNER_PHILIPS_PAL,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask = 0xe000,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
.gpio = 0x8000,
},{
.type = SAA7134_INPUT_TV_MONO,
.vmux = 1,
.amux = LINE2,
.gpio = 0x0000,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 0,
.amux = LINE2,
.gpio = 0x4000,
},{
.type = SAA7134_INPUT_COMPOSITE2,
.vmux = 3,
.amux = LINE2,
.gpio = 0x4000,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE2,
.gpio = 0x4000,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
.gpio = 0x2000,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = TV,
.gpio = 0x8000,
},
},
[SAA7134_BOARD_FLYVIDEO2000] = {
/* "TC Wan" <tcwan@cs.usm.my> */
.name = "LifeView/Typhoon FlyVIDEO2000",
.audio_clock = 0x00200000,
.tuner_type = TUNER_LG_PAL_NEW_TAPC,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask = 0xe000,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = LINE2,
.gpio = 0x0000,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 0,
.amux = LINE2,
.gpio = 0x4000,
},{
.type = SAA7134_INPUT_COMPOSITE2,
.vmux = 3,
.amux = LINE2,
.gpio = 0x4000,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE2,
.gpio = 0x4000,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
.gpio = 0x2000,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = LINE2,
.gpio = 0x8000,
},
},
[SAA7134_BOARD_FLYTVPLATINUM_MINI] = {
/* "Arnaud Quette" <aquette@free.fr> */
.name = "LifeView FlyTV Platinum Mini",
.audio_clock = 0x00200000,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
},{
.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
.vmux = 0,
.amux = LINE2,
},{
.type = SAA7134_INPUT_COMPOSITE,
.vmux = 3,
.amux = LINE2,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE2,
}},
},
[SAA7134_BOARD_FLYTVPLATINUM_FM] = {
/* LifeView FlyTV Platinum FM (LR214WF) */
/* "Peter Missel <peter.missel@onlinehome.de> */
.name = "LifeView FlyTV Platinum FM / Gold",
.audio_clock = 0x00200000,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask = 0x1E000, /* Set GP16 and unused 15,14,13 to Output */
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
.gpio = 0x10000, /* GP16=1 selects TV input */
},{
/* .type = SAA7134_INPUT_TV_MONO,
.vmux = 1,
.amux = LINE2,
.gpio = 0x0000,
},{
*/ .type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
.vmux = 0,
.amux = LINE2,
/* .gpio = 0x4000, */
},{
.type = SAA7134_INPUT_COMPOSITE,
.vmux = 3,
.amux = LINE2,
/* .gpio = 0x4000, */
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE2,
/* .gpio = 0x4000, */
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
.gpio = 0x00000, /* GP16=0 selects FM radio antenna */
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = TV,
.gpio = 0x10000,
},
},
[SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM] = {
/* RoverMedia TV Link Pro FM (LR138 REV:I) */
/* Eugene Yudin <Eugene.Yudin@gmail.com> */
.name = "RoverMedia TV Link Pro FM",
.audio_clock = 0x00200000,
.tuner_type = TUNER_PHILIPS_FM1216ME_MK3, /* TCL MFPE05 2 */
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.gpiomask = 0xe000,
.inputs = { {
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
.gpio = 0x8000,
}, {
.type = SAA7134_INPUT_TV_MONO,
.vmux = 1,
.amux = LINE2,
.gpio = 0x0000,
}, {
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 0,
.amux = LINE2,
.gpio = 0x4000,
}, {
.type = SAA7134_INPUT_COMPOSITE2,
.vmux = 3,
.amux = LINE2,
.gpio = 0x4000,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE2,
.gpio = 0x4000,
} },
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
.gpio = 0x2000,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = TV,
.gpio = 0x8000,
},
},
[SAA7134_BOARD_EMPRESS] = {
/* "Gert Vervoort" <gert.vervoort@philips.com> */
.name = "EMPRESS",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_PAL,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.empress_addr = 0x20,
.inputs = {{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 0,
.amux = LINE1,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
},{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = LINE2,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
},
.mpeg = SAA7134_MPEG_EMPRESS,
.video_out = CCIR656,
},
[SAA7134_BOARD_MONSTERTV] = {
/* "K.Ohta" <alpha292@bremen.or.jp> */
.name = "SKNet Monster TV",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_NTSC_M,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 0,
.amux = LINE1,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
},
},
[SAA7134_BOARD_MD9717] = {
.name = "Tevion MD 9717",
.audio_clock = 0x00200000,
.tuner_type = TUNER_PHILIPS_PAL,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
},{
/* workaround for problems with normal TV sound */
.type = SAA7134_INPUT_TV_MONO,
.vmux = 1,
.amux = LINE2,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 0,
.amux = LINE1,
},{
.type = SAA7134_INPUT_COMPOSITE2,
.vmux = 3,
.amux = LINE1,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = TV,
},
},
[SAA7134_BOARD_TVSTATION_RDS] = {
/* Typhoon TV Tuner RDS: Art.Nr. 50694 */
.name = "KNC One TV-Station RDS / Typhoon TV Tuner RDS",
.audio_clock = 0x00200000,
.tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
},{
.type = SAA7134_INPUT_TV_MONO,
.vmux = 1,
.amux = LINE2,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3,
.amux = LINE1,
},{
.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
.vmux = 0,
.amux = LINE1,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
},
},
[SAA7134_BOARD_TVSTATION_DVR] = {
.name = "KNC One TV-Station DVR",
.audio_clock = 0x00200000,
.tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.empress_addr = 0x20,
.tda9887_conf = TDA9887_PRESENT,
.gpiomask = 0x820000,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
.gpio = 0x20000,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
.gpio = 0x20000,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3,
.amux = LINE1,
.gpio = 0x20000,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
.gpio = 0x20000,
},
.mpeg = SAA7134_MPEG_EMPRESS,
.video_out = CCIR656,
},
[SAA7134_BOARD_CINERGY400] = {
.name = "Terratec Cinergy 400 TV",
.audio_clock = 0x00200000,
.tuner_type = TUNER_PHILIPS_PAL,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
},{
.type = SAA7134_INPUT_COMPOSITE,
.vmux = 4,
.amux = LINE1,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
},{
.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
.vmux = 0,
.amux = LINE1,
}}
},
[SAA7134_BOARD_MD5044] = {
.name = "Medion 5044",
.audio_clock = 0x00187de7, /* was: 0x00200000, */
.tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
},{
/* workaround for problems with normal TV sound */
.type = SAA7134_INPUT_TV_MONO,
.vmux = 1,
.amux = LINE2,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 0,
.amux = LINE2,
},{
.type = SAA7134_INPUT_COMPOSITE2,
.vmux = 3,
.amux = LINE2,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE2,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
},
},
[SAA7134_BOARD_KWORLD] = {
.name = "Kworld/KuroutoShikou SAA7130-TVPCI",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_NTSC_M,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3,
.amux = LINE1,
},{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = LINE2,
}},
},
[SAA7134_BOARD_CINERGY600] = {
.name = "Terratec Cinergy 600 TV",
.audio_clock = 0x00200000,
.tuner_type = TUNER_PHILIPS_PAL,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 4,
.amux = LINE1,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
},{
.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
.vmux = 0,
.amux = LINE1,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
},
},
[SAA7134_BOARD_MD7134] = {
.name = "Medion 7134",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_FMD1216ME_MK3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.mpeg = SAA7134_MPEG_DVB,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 0,
.amux = LINE1,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = TV,
},
},
[SAA7134_BOARD_TYPHOON_90031] = {
/* aka Typhoon "TV+Radio", Art.Nr 90031 */
/* Tom Zoerner <tomzo at users sourceforge net> */
.name = "Typhoon TV+Radio 90031",
.audio_clock = 0x00200000,
.tuner_type = TUNER_PHILIPS_PAL,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3,
.amux = LINE1,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
},
},
[SAA7134_BOARD_ELSA] = {
.name = "ELSA EX-VISION 300TV",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_HITACHI_NTSC,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 0,
.amux = LINE1,
},{
.type = SAA7134_INPUT_TV,
.vmux = 4,
.amux = LINE2,
}},
},
[SAA7134_BOARD_ELSA_500TV] = {
.name = "ELSA EX-VISION 500TV",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_HITACHI_NTSC,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 7,
.amux = LINE1,
},{
.type = SAA7134_INPUT_TV,
.vmux = 8,
.amux = TV,
},{
.type = SAA7134_INPUT_TV_MONO,
.vmux = 8,
.amux = LINE2,
}},
},
[SAA7134_BOARD_ELSA_700TV] = {
.name = "ELSA EX-VISION 700TV",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_HITACHI_NTSC,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 4,
.amux = LINE2,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 6,
.amux = LINE1,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 7,
.amux = LINE1,
}},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = TV,
},
},
[SAA7134_BOARD_ASUSTeK_TVFM7134] = {
.name = "ASUS TV-FM 7134",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 4,
.amux = LINE2,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 6,
.amux = LINE2,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE1,
},
},
[SAA7134_BOARD_ASUSTeK_TVFM7135] = {
.name = "ASUS TV-FM 7135",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask = 0x200000,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
.gpio = 0x0000,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 4,
.amux = LINE2,
.gpio = 0x0000,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 6,
.amux = LINE2,
.gpio = 0x0000,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
.gpio = 0x200000,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.gpio = 0x0000,
},
},
[SAA7134_BOARD_VA1000POWER] = {
.name = "AOPEN VA1000 POWER",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_NTSC,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3,
.amux = LINE1,
},{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = LINE2,
}},
},
[SAA7134_BOARD_10MOONSTVMASTER] = {
/* "lilicheng" <llc@linuxfans.org> */
.name = "10MOONS PCI TV CAPTURE CARD",
.audio_clock = 0x00200000,
.tuner_type = TUNER_LG_PAL_NEW_TAPC,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask = 0xe000,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = LINE2,
.gpio = 0x0000,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 0,
.amux = LINE2,
.gpio = 0x4000,
},{
.type = SAA7134_INPUT_COMPOSITE2,
.vmux = 3,
.amux = LINE2,
.gpio = 0x4000,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE2,
.gpio = 0x4000,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
.gpio = 0x2000,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = LINE2,
.gpio = 0x8000,
},
},
[SAA7134_BOARD_BMK_MPEX_NOTUNER] = {
/* "Andrew de Quincey" <adq@lidskialf.net> */
.name = "BMK MPEX No Tuner",
.audio_clock = 0x200000,
.tuner_type = TUNER_ABSENT,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.empress_addr = 0x20,
.inputs = {{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 4,
.amux = LINE1,
},{
.type = SAA7134_INPUT_COMPOSITE2,
.vmux = 3,
.amux = LINE1,
},{
.type = SAA7134_INPUT_COMPOSITE3,
.vmux = 0,
.amux = LINE1,
},{
.type = SAA7134_INPUT_COMPOSITE4,
.vmux = 1,
.amux = LINE1,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
}},
.mpeg = SAA7134_MPEG_EMPRESS,
.video_out = CCIR656,
},
[SAA7134_BOARD_VIDEOMATE_TV] = {
.name = "Compro VideoMate TV",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_NTSC_M,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3,
.amux = LINE1,
},{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = LINE2,
}},
},
[SAA7134_BOARD_VIDEOMATE_TV_GOLD_PLUS] = {
.name = "Compro VideoMate TV Gold+",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_NTSC_M,
.gpiomask = 0x800c0000,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
.gpio = 0x06c00012,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3,
.amux = LINE1,
.gpio = 0x0ac20012,
},{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = LINE2,
.gpio = 0x08c20012,
}}, /* radio and probably mute is missing */
},
[SAA7134_BOARD_CRONOS_PLUS] = {
/*
gpio pins:
0 .. 3 BASE_ID
4 .. 7 PROTECT_ID
8 .. 11 USER_OUT
12 .. 13 USER_IN
14 .. 15 VIDIN_SEL
*/
.name = "Matrox CronosPlus",
.tuner_type = TUNER_ABSENT,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask = 0xcf00,
.inputs = {{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 0,
.gpio = 2 << 14,
},{
.type = SAA7134_INPUT_COMPOSITE2,
.vmux = 0,
.gpio = 1 << 14,
},{
.type = SAA7134_INPUT_COMPOSITE3,
.vmux = 0,
.gpio = 0 << 14,
},{
.type = SAA7134_INPUT_COMPOSITE4,
.vmux = 0,
.gpio = 3 << 14,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.gpio = 2 << 14,
}},
},
[SAA7134_BOARD_MD2819] = {
.name = "AverMedia M156 / Medion 2819",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.gpiomask = 0x03,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
.gpio = 0x00,
}, {
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3,
.amux = LINE1,
.gpio = 0x02,
}, {
.type = SAA7134_INPUT_COMPOSITE2,
.vmux = 0,
.amux = LINE1,
.gpio = 0x02,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
.gpio = 0x02,
} },
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE1,
.gpio = 0x01,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = TV,
.gpio = 0x00,
},
},
[SAA7134_BOARD_BMK_MPEX_TUNER] = {
/* "Greg Wickham <greg.wickham@grangenet.net> */
.name = "BMK MPEX Tuner",
.audio_clock = 0x200000,
.tuner_type = TUNER_PHILIPS_PAL,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.empress_addr = 0x20,
.inputs = {{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 1,
.amux = LINE1,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
},{
.type = SAA7134_INPUT_TV,
.vmux = 3,
.amux = TV,
}},
.mpeg = SAA7134_MPEG_EMPRESS,
.video_out = CCIR656,
},
[SAA7134_BOARD_ASUSTEK_TVFM7133] = {
.name = "ASUS TV-FM 7133",
.audio_clock = 0x00187de7,
/* probably wrong, the 7133 one is the NTSC version ...
* .tuner_type = TUNER_PHILIPS_FM1236_MK3 */
.tuner_type = TUNER_LG_NTSC_NEW_TAPC,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 4,
.amux = LINE2,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 6,
.amux = LINE2,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE1,
},
},
[SAA7134_BOARD_PINNACLE_PCTV_STEREO] = {
.name = "Pinnacle PCTV Stereo (saa7134)",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_MT2032,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT | TDA9887_INTERCARRIER | TDA9887_PORT2_INACTIVE,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 3,
.amux = TV,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 0,
.amux = LINE2,
},{
.type = SAA7134_INPUT_COMPOSITE2,
.vmux = 1,
.amux = LINE2,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE2,
}},
},
[SAA7134_BOARD_MANLI_MTV002] = {
/* Ognjen Nastic <ognjen@logosoft.ba> */
.name = "Manli MuchTV M-TV002",
.audio_clock = 0x00200000,
.tuner_type = TUNER_PHILIPS_PAL,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 1,
.amux = LINE1,
},{
.type = SAA7134_INPUT_TV,
.vmux = 3,
.amux = LINE2,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
},
},
[SAA7134_BOARD_MANLI_MTV001] = {
/* Ognjen Nastic <ognjen@logosoft.ba> UNTESTED */
.name = "Manli MuchTV M-TV001",
.audio_clock = 0x00200000,
.tuner_type = TUNER_PHILIPS_PAL,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 1,
.amux = LINE1,
},{
.type = SAA7134_INPUT_TV,
.vmux = 3,
.amux = LINE2,
}},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = LINE1,
},
},
[SAA7134_BOARD_TG3000TV] = {
/* TransGear 3000TV */
.name = "Nagase Sangyo TransGear 3000TV",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_NTSC_M,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = LINE2,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3,
.amux = LINE2,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE2,
}},
},
[SAA7134_BOARD_ECS_TVP3XP] = {
.name = "Elitegroup ECS TVP3XP FM1216 Tuner Card(PAL-BG,FM) ",
.audio_clock = 0x187de7, /* xtal 32.1 MHz */
.tuner_type = TUNER_PHILIPS_PAL,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
},{
.type = SAA7134_INPUT_TV_MONO,
.vmux = 1,
.amux = LINE2,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3,
.amux = LINE1,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
},{
.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
.vmux = 0,
.amux = LINE1,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
},
},
[SAA7134_BOARD_ECS_TVP3XP_4CB5] = {
.name = "Elitegroup ECS TVP3XP FM1236 Tuner Card (NTSC,FM)",
.audio_clock = 0x187de7,
.tuner_type = TUNER_PHILIPS_NTSC,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
},{
.type = SAA7134_INPUT_TV_MONO,
.vmux = 1,
.amux = LINE2,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3,
.amux = LINE1,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
},{
.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
.vmux = 0,
.amux = LINE1,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
},
},
[SAA7134_BOARD_ECS_TVP3XP_4CB6] = {
/* Barry Scott <barry.scott@onelan.co.uk> */
.name = "Elitegroup ECS TVP3XP FM1246 Tuner Card (PAL,FM)",
.audio_clock = 0x187de7,
.tuner_type = TUNER_PHILIPS_PAL_I,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
},{
.type = SAA7134_INPUT_TV_MONO,
.vmux = 1,
.amux = LINE2,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3,
.amux = LINE1,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
},{
.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
.vmux = 0,
.amux = LINE1,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
},
},
[SAA7134_BOARD_AVACSSMARTTV] = {
/* Roman Pszonczenko <romka@kolos.math.uni.lodz.pl> */
.name = "AVACS SmartTV",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_PAL,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
},{
.type = SAA7134_INPUT_TV_MONO,
.vmux = 1,
.amux = LINE2,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 0,
.amux = LINE2,
},{
.type = SAA7134_INPUT_COMPOSITE2,
.vmux = 3,
.amux = LINE2,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE2,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
.gpio = 0x200000,
},
},
[SAA7134_BOARD_AVERMEDIA_DVD_EZMAKER] = {
/* Michael Smith <msmith@cbnco.com> */
.name = "AVerMedia DVD EZMaker",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_ABSENT,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
}},
},
[SAA7134_BOARD_AVERMEDIA_M103] = {
/* Massimo Piccioni <dafastidio@libero.it> */
.name = "AVerMedia MiniPCI DVB-T Hybrid M103",
.audio_clock = 0x187de7,
.tuner_type = TUNER_XC2028,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.mpeg = SAA7134_MPEG_DVB,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
} },
},
[SAA7134_BOARD_NOVAC_PRIMETV7133] = {
/* toshii@netbsd.org */
.name = "Noval Prime TV 7133",
.audio_clock = 0x00200000,
.tuner_type = TUNER_ALPS_TSBH1_NTSC,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3,
},{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
}},
},
[SAA7134_BOARD_AVERMEDIA_STUDIO_305] = {
.name = "AverMedia AverTV Studio 305",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_FM1256_IH3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = LINE2,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 0,
.amux = LINE2,
},{
.type = SAA7134_INPUT_COMPOSITE2,
.vmux = 3,
.amux = LINE2,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE2,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = LINE1,
},
},
[SAA7134_BOARD_AVERMEDIA_STUDIO_505] = {
/* Vasiliy Temnikov <vaka@newmail.ru> */
.name = "AverMedia AverTV Studio 505",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.inputs = { {
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = LINE2,
}, {
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 0,
.amux = LINE2,
}, {
.type = SAA7134_INPUT_COMPOSITE2,
.vmux = 3,
.amux = LINE2,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE2,
} },
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = LINE1,
},
},
[SAA7134_BOARD_UPMOST_PURPLE_TV] = {
.name = "UPMOST PURPLE TV",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_FM1236_MK3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 7,
.amux = TV,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 7,
.amux = LINE1,
}},
},
[SAA7134_BOARD_ITEMS_MTV005] = {
/* Norman Jonas <normanjonas@arcor.de> */
.name = "Items MuchTV Plus / IT-005",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_PAL,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 3,
.amux = TV,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 1,
.amux = LINE1,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
},
},
[SAA7134_BOARD_CINERGY200] = {
.name = "Terratec Cinergy 200 TV",
.audio_clock = 0x00200000,
.tuner_type = TUNER_PHILIPS_PAL,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = LINE2,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 4,
.amux = LINE1,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
},{
.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
.vmux = 0,
.amux = LINE1,
}},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = LINE2,
},
},
[SAA7134_BOARD_VIDEOMATE_TV_PVR] = {
/* Alain St-Denis <alain@topaze.homeip.net> */
.name = "Compro VideoMate TV PVR/FM",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_NTSC_M,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask = 0x808c0080,
.inputs = {{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
.gpio = 0x00080,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3,
.amux = LINE1,
.gpio = 0x00080,
},{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = LINE2_LEFT,
.gpio = 0x00080,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
.gpio = 0x80000,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = LINE2,
.gpio = 0x40000,
},
},
[SAA7134_BOARD_SABRENT_SBTTVFM] = {
/* Michael Rodriguez-Torrent <mrtorrent@asu.edu> */
.name = "Sabrent SBT-TVFM (saa7130)",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_NTSC_M,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 1,
.amux = LINE1,
},{
.type = SAA7134_INPUT_TV,
.vmux = 3,
.amux = LINE2,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
},
},
[SAA7134_BOARD_ZOLID_XPERT_TV7134] = {
/* Helge Jensen <helge.jensen@slog.dk> */
.name = ":Zolid Xpert TV7134",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_NTSC,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3,
.amux = LINE1,
},{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = LINE2,
}},
},
[SAA7134_BOARD_EMPIRE_PCI_TV_RADIO_LE] = {
/* "Matteo Az" <matte.az@nospam.libero.it> ;-) */
.name = "Empire PCI TV-Radio LE",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_PAL,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask = 0x4000,
.inputs = {{
.type = SAA7134_INPUT_TV_MONO,
.vmux = 1,
.amux = LINE2,
.gpio = 0x8000,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3,
.amux = LINE1,
.gpio = 0x8000,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 6,
.amux = LINE1,
.gpio = 0x8000,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE1,
.gpio = 0x8000,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = TV,
.gpio =0x8000,
}
},
[SAA7134_BOARD_AVERMEDIA_STUDIO_307] = {
/*
Nickolay V. Shmyrev <nshmyrev@yandex.ru>
Lots of thanks to Andrey Zolotarev <zolotarev_andrey@mail.ru>
*/
.name = "Avermedia AVerTV Studio 307",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_FM1256_IH3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.gpiomask = 0x03,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
.gpio = 0x00,
},{
.type = SAA7134_INPUT_COMPOSITE,
.vmux = 3,
.amux = LINE1,
.gpio = 0x02,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
.gpio = 0x02,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE1,
.gpio = 0x01,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = LINE1,
.gpio = 0x00,
},
},
[SAA7134_BOARD_AVERMEDIA_GO_007_FM] = {
.name = "Avermedia AVerTV GO 007 FM",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask = 0x00300003,
/* .gpiomask = 0x8c240003, */
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
.gpio = 0x01,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 0,
.amux = LINE1,
.gpio = 0x02,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 6,
.amux = LINE1,
.gpio = 0x02,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
.gpio = 0x00300001,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = TV,
.gpio = 0x01,
},
},
[SAA7134_BOARD_AVERMEDIA_CARDBUS] = {
/* Kees.Blom@cwi.nl */
.name = "AVerMedia Cardbus TV/Radio (E500)",
.audio_clock = 0x187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3,
.amux = LINE2,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE1,
},
},
[SAA7134_BOARD_AVERMEDIA_CARDBUS_501] = {
/* Oldrich Jedlicka <oldium.pro@seznam.cz> */
.name = "AVerMedia Cardbus TV/Radio (E501R)",
.audio_clock = 0x187de7,
.tuner_type = TUNER_ALPS_TSBE5_PAL,
.radio_type = TUNER_TEA5767,
.tuner_addr = 0x61,
.radio_addr = 0x60,
.tda9887_conf = TDA9887_PRESENT,
.gpiomask = 0x08000000,
.inputs = { {
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
.gpio = 0x08000000,
}, {
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3,
.amux = LINE1,
.gpio = 0x08000000,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
.gpio = 0x08000000,
} },
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
.gpio = 0x00000000,
},
},
[SAA7134_BOARD_CINERGY400_CARDBUS] = {
.name = "Terratec Cinergy 400 mobile",
.audio_clock = 0x187de7,
.tuner_type = TUNER_ALPS_TSBE5_PAL,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
},{
.type = SAA7134_INPUT_TV_MONO,
.vmux = 1,
.amux = LINE2,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3,
.amux = LINE1,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
}},
},
[SAA7134_BOARD_CINERGY600_MK3] = {
.name = "Terratec Cinergy 600 TV MK3",
.audio_clock = 0x00200000,
.tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.rds_addr = 0x10,
.tda9887_conf = TDA9887_PRESENT,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 4,
.amux = LINE1,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
},{
.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
.vmux = 0,
.amux = LINE1,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
},
},
[SAA7134_BOARD_VIDEOMATE_GOLD_PLUS] = {
/* Dylan Walkden <dylan_walkden@hotmail.com> */
.name = "Compro VideoMate Gold+ Pal",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_PAL,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask = 0x1ce780,
.inputs = {{
.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
.vmux = 0,
.amux = LINE1,
.gpio = 0x008080,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3,
.amux = LINE1,
.gpio = 0x008080,
},{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
.gpio = 0x008080,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
.gpio = 0x80000,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = LINE2,
.gpio = 0x0c8000,
},
},
[SAA7134_BOARD_PINNACLE_300I_DVBT_PAL] = {
.name = "Pinnacle PCTV 300i DVB-T + PAL",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_MT2032,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT | TDA9887_INTERCARRIER | TDA9887_PORT2_INACTIVE,
.mpeg = SAA7134_MPEG_DVB,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 3,
.amux = TV,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 0,
.amux = LINE2,
},{
.type = SAA7134_INPUT_COMPOSITE2,
.vmux = 1,
.amux = LINE2,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE2,
}},
},
[SAA7134_BOARD_PROVIDEO_PV952] = {
/* andreas.kretschmer@web.de */
.name = "ProVideo PV952",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.inputs = {{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 0,
.amux = LINE1,
},{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
},{
.type = SAA7134_INPUT_TV_MONO,
.vmux = 1,
.amux = LINE2,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
},
},
[SAA7134_BOARD_AVERMEDIA_305] = {
/* much like the "studio" version but without radio
* and another tuner (sirspiritus@yandex.ru) */
.name = "AverMedia AverTV/305",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_FQ1216ME,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = LINE2,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 0,
.amux = LINE2,
},{
.type = SAA7134_INPUT_COMPOSITE2,
.vmux = 3,
.amux = LINE2,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE2,
}},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = LINE1,
},
},
[SAA7134_BOARD_FLYDVBTDUO] = {
/* LifeView FlyDVB-T DUO */
/* "Nico Sabbi <nsabbi@tiscali.it> Hartmut Hackmann hartmut.hackmann@t-online.de*/
.name = "LifeView FlyDVB-T DUO / MSI TV@nywhere Duo",
.audio_clock = 0x00200000,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask = 0x00200000,
.mpeg = SAA7134_MPEG_DVB,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
.gpio = 0x200000, /* GPIO21=High for TV input */
},{
.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
.vmux = 0,
.amux = LINE2,
},{
.type = SAA7134_INPUT_COMPOSITE,
.vmux = 3,
.amux = LINE2,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE2,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
.gpio = 0x000000, /* GPIO21=Low for FM radio antenna */
},
},
[SAA7134_BOARD_PHILIPS_TOUGH] = {
.name = "Philips TOUGH DVB-T reference design",
.tuner_type = TUNER_ABSENT,
.audio_clock = 0x00187de7,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.mpeg = SAA7134_MPEG_DVB,
.inputs = {{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 0,
.amux = LINE1,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
}},
},
[SAA7134_BOARD_AVERMEDIA_307] = {
/*
Davydov Vladimir <vladimir@iqmedia.com>
*/
.name = "Avermedia AVerTV 307",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_FQ1216ME,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 0,
.amux = LINE1,
},{
.type = SAA7134_INPUT_COMPOSITE2,
.vmux = 3,
.amux = LINE1,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
}},
},
[SAA7134_BOARD_ADS_INSTANT_TV] = {
.name = "ADS Tech Instant TV (saa7135)",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3,
.amux = LINE2,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE2,
}},
},
[SAA7134_BOARD_KWORLD_VSTREAM_XPERT] = {
.name = "Kworld/Tevion V-Stream Xpert TV PVR7134",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_PAL_I,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask = 0x0700,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
.gpio = 0x000,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3,
.amux = LINE1,
.gpio = 0x200, /* gpio by DScaler */
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 0,
.amux = LINE1,
.gpio = 0x200,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE1,
.gpio = 0x100,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = TV,
.gpio = 0x000,
},
},
[SAA7134_BOARD_FLYDVBT_DUO_CARDBUS] = {
.name = "LifeView/Typhoon/Genius FlyDVB-T Duo Cardbus",
.audio_clock = 0x00200000,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.mpeg = SAA7134_MPEG_DVB,
.gpiomask = 0x00200000,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
.gpio = 0x200000, /* GPIO21=High for TV input */
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE2,
},{
.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
.vmux = 0,
.amux = LINE2,
},{
.type = SAA7134_INPUT_COMPOSITE2,
.vmux = 3,
.amux = LINE2,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
.gpio = 0x000000, /* GPIO21=Low for FM radio antenna */
},
},
[SAA7134_BOARD_VIDEOMATE_TV_GOLD_PLUSII] = {
.name = "Compro VideoMate TV Gold+II",
.audio_clock = 0x002187de7,
.tuner_type = TUNER_LG_PAL_NEW_TAPC,
.radio_type = TUNER_TEA5767,
.tuner_addr = 0x63,
.radio_addr = 0x60,
.gpiomask = 0x8c1880,
.inputs = {{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 0,
.amux = LINE1,
.gpio = 0x800800,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3,
.amux = LINE1,
.gpio = 0x801000,
},{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
.gpio = 0x800000,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
.gpio = 0x880000,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = LINE2,
.gpio = 0x840000,
},
},
[SAA7134_BOARD_KWORLD_XPERT] = {
/*
FIXME:
- Remote control doesn't initialize properly.
- Audio volume starts muted,
then gradually increases after channel change.
- Overlay scaling problems (application error?)
- Composite S-Video untested.
From: Konrad Rzepecki <hannibal@megapolis.pl>
*/
.name = "Kworld Xpert TV PVR7134",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_TENA_9533_DI,
.radio_type = TUNER_TEA5767,
.tuner_addr = 0x61,
.radio_addr = 0x60,
.gpiomask = 0x0700,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
.gpio = 0x000,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3,
.amux = LINE1,
.gpio = 0x200, /* gpio by DScaler */
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 0,
.amux = LINE1,
.gpio = 0x200,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE1,
.gpio = 0x100,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = TV,
.gpio = 0x000,
},
},
[SAA7134_BOARD_FLYTV_DIGIMATRIX] = {
.name = "FlyTV mini Asus Digimatrix",
.audio_clock = 0x00200000,
.tuner_type = TUNER_LG_TALN,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
},{
.type = SAA7134_INPUT_TV_MONO,
.vmux = 1,
.amux = LINE2,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 0,
.amux = LINE2,
},{
.type = SAA7134_INPUT_COMPOSITE2,
.vmux = 3,
.amux = LINE2,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE2,
}},
.radio = {
.type = SAA7134_INPUT_RADIO, /* radio unconfirmed */
.amux = LINE2,
},
},
[SAA7134_BOARD_KWORLD_TERMINATOR] = {
/* Kworld V-Stream Studio TV Terminator */
/* "James Webb <jrwebb@qwest.net> */
.name = "V-Stream Studio TV Terminator",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask = 1 << 21,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
.gpio = 0x0000000,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3,
.amux = LINE2,
.gpio = 0x0000000,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE2,
.gpio = 0x0000000,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
.gpio = 0x0200000,
},
},
[SAA7134_BOARD_YUAN_TUN900] = {
/* FIXME:
* S-Video and composite sources untested.
* Radio not working.
* Remote control not yet implemented.
* From : codemaster@webgeeks.be */
.name = "Yuan TUN-900 (saa7135)",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr= ADDR_UNSET,
.radio_addr= ADDR_UNSET,
.gpiomask = 0x00010003,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
.gpio = 0x01,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 0,
.amux = LINE2,
.gpio = 0x02,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 6,
.amux = LINE2,
.gpio = 0x02,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE1,
.gpio = 0x00010003,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = TV,
.gpio = 0x01,
},
},
[SAA7134_BOARD_BEHOLD_409FM] = {
/* <http://tuner.beholder.ru>, Sergey <skiv@orel.ru> */
/* Beholder Intl. Ltd. 2008 */
/*Dmitry Belimov <d.belimov@gmail.com> */
.name = "Beholder BeholdTV 409 FM",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.gpiomask = 0x00008000,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 3,
.amux = TV,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 1,
.amux = LINE1,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
},
},
[SAA7134_BOARD_GOTVIEW_7135] = {
/* Mike Baikov <mike@baikov.com> */
/* Andrey Cvetcov <ays14@yandex.ru> */
.name = "GoTView 7135 PCI",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.gpiomask = 0x00200003,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
.gpio = 0x00200003,
},{
.type = SAA7134_INPUT_TV_MONO,
.vmux = 1,
.amux = LINE2,
.gpio = 0x00200003,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3,
.amux = LINE1,
.gpio = 0x00200003,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
.gpio = 0x00200003,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
.gpio = 0x00200003,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = TV,
.gpio = 0x00200003,
},
},
[SAA7134_BOARD_PHILIPS_EUROPA] = {
.name = "Philips EUROPA V3 reference design",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_TD1316,
.radio_type = UNSET,
.tuner_addr = 0x61,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT | TDA9887_PORT1_ACTIVE,
.mpeg = SAA7134_MPEG_DVB,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 3,
.amux = TV,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 0,
.amux = LINE2,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE2,
}},
},
[SAA7134_BOARD_VIDEOMATE_DVBT_300] = {
.name = "Compro Videomate DVB-T300",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_TD1316,
.radio_type = UNSET,
.tuner_addr = 0x61,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT | TDA9887_PORT1_ACTIVE,
.mpeg = SAA7134_MPEG_DVB,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 3,
.amux = TV,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 1,
.amux = LINE2,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE2,
}},
},
[SAA7134_BOARD_VIDEOMATE_DVBT_200] = {
.name = "Compro Videomate DVB-T200",
.tuner_type = TUNER_ABSENT,
.audio_clock = 0x00187de7,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.mpeg = SAA7134_MPEG_DVB,
.inputs = {{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 0,
.amux = LINE1,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
}},
},
[SAA7134_BOARD_RTD_VFG7350] = {
.name = "RTD Embedded Technologies VFG7350",
.audio_clock = 0x00200000,
.tuner_type = TUNER_ABSENT,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.empress_addr = 0x21,
.inputs = {{
.type = SAA7134_INPUT_COMPOSITE0,
.vmux = 0,
.amux = LINE1,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 1,
.amux = LINE2,
},{
.type = SAA7134_INPUT_COMPOSITE2,
.vmux = 2,
.amux = LINE1,
},{
.type = SAA7134_INPUT_COMPOSITE3,
.vmux = 3,
.amux = LINE2,
},{
.type = SAA7134_INPUT_SVIDEO0,
.vmux = 8,
.amux = LINE1,
},{
.type = SAA7134_INPUT_SVIDEO1,
.vmux = 9,
.amux = LINE2,
}},
.mpeg = SAA7134_MPEG_EMPRESS,
.video_out = CCIR656,
.vid_port_opts = ( SET_T_CODE_POLARITY_NON_INVERTED |
SET_CLOCK_NOT_DELAYED |
SET_CLOCK_INVERTED |
SET_VSYNC_OFF ),
},
[SAA7134_BOARD_RTD_VFG7330] = {
.name = "RTD Embedded Technologies VFG7330",
.audio_clock = 0x00200000,
.tuner_type = TUNER_ABSENT,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_COMPOSITE0,
.vmux = 0,
.amux = LINE1,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 1,
.amux = LINE2,
},{
.type = SAA7134_INPUT_COMPOSITE2,
.vmux = 2,
.amux = LINE1,
},{
.type = SAA7134_INPUT_COMPOSITE3,
.vmux = 3,
.amux = LINE2,
},{
.type = SAA7134_INPUT_SVIDEO0,
.vmux = 8,
.amux = LINE1,
},{
.type = SAA7134_INPUT_SVIDEO1,
.vmux = 9,
.amux = LINE2,
}},
},
[SAA7134_BOARD_FLYTVPLATINUM_MINI2] = {
.name = "LifeView FlyTV Platinum Mini2",
.audio_clock = 0x00200000,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
},{
.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
.vmux = 0,
.amux = LINE2,
},{
.type = SAA7134_INPUT_COMPOSITE,
.vmux = 3,
.amux = LINE2,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE2,
}},
},
[SAA7134_BOARD_AVERMEDIA_AVERTVHD_A180] = {
/* Michael Krufky <mkrufky@linuxtv.org>
* Uses Alps Electric TDHU2, containing NXT2004 ATSC Decoder
* AFAIK, there is no analog demod, thus,
* no support for analog television.
*/
.name = "AVerMedia AVerTVHD MCE A180",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_ABSENT,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.mpeg = SAA7134_MPEG_DVB,
.inputs = {{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3,
.amux = LINE2,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE2,
}},
},
[SAA7134_BOARD_MONSTERTV_MOBILE] = {
.name = "SKNet MonsterTV Mobile",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3,
.amux = LINE1,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 6,
.amux = LINE1,
}},
},
[SAA7134_BOARD_PINNACLE_PCTV_110i] = {
.name = "Pinnacle PCTV 40i/50i/110i (saa7133)",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask = 0x080200000,
.inputs = { {
.type = SAA7134_INPUT_TV,
.vmux = 4,
.amux = TV,
}, {
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 1,
.amux = LINE2,
}, {
.type = SAA7134_INPUT_COMPOSITE2,
.vmux = 0,
.amux = LINE2,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE2,
} },
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
.gpio = 0x0200000,
},
},
[SAA7134_BOARD_ASUSTeK_P7131_DUAL] = {
.name = "ASUSTeK P7131 Dual",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask = 1 << 21,
.mpeg = SAA7134_MPEG_DVB,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
.gpio = 0x0000000,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3,
.amux = LINE2,
.gpio = 0x0200000,
},{
.type = SAA7134_INPUT_COMPOSITE2,
.vmux = 0,
.amux = LINE2,
.gpio = 0x0200000,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE2,
.gpio = 0x0200000,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
.gpio = 0x0200000,
},
},
[SAA7134_BOARD_SEDNA_PC_TV_CARDBUS] = {
/* Paul Tom Zalac <pzalac@gmail.com> */
/* Pavel Mihaylov <bin@bash.info> */
.name = "Sedna/MuchTV PC TV Cardbus TV/Radio (ITO25 Rev:2B)",
/* Sedna/MuchTV (OEM) Cardbus TV Tuner */
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask = 0xe880c0,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 3,
.amux = TV,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 1,
.amux = LINE1,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 6,
.amux = LINE1,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
},
},
[SAA7134_BOARD_ASUSTEK_DIGIMATRIX_TV] = {
/* "Cyril Lacoux (Yack)" <clacoux@ifeelgood.org> */
.name = "ASUS Digimatrix TV",
.audio_clock = 0x00200000,
.tuner_type = TUNER_PHILIPS_FQ1216ME,
.tda9887_conf = TDA9887_PRESENT,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3,
.amux = LINE1,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
}},
},
[SAA7134_BOARD_PHILIPS_TIGER] = {
.name = "Philips Tiger reference design",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda829x_conf = { .lna_cfg = TDA8290_LNA_OFF },
.mpeg = SAA7134_MPEG_DVB,
.gpiomask = 0x0200000,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3,
.amux = LINE1,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
.gpio = 0x0200000,
},
},
[SAA7134_BOARD_MSI_TVATANYWHERE_PLUS] = {
.name = "MSI TV@Anywhere plus",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask = 1 << 21,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
},{
.type = SAA7134_INPUT_COMPOSITE,
.vmux = 3,
.amux = LINE2, /* unconfirmed, taken from Philips driver */
},{
.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
.vmux = 0, /* untested */
.amux = LINE2,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE2,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
.gpio = 0x0200000,
},
},
[SAA7134_BOARD_CINERGY250PCI] = {
/* remote-control does not work. The signal about a
key press comes in via gpio, but the key code
doesn't. Neither does it have an i2c remote control
interface. */
.name = "Terratec Cinergy 250 PCI TV",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask = 0x80200000,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
},{
.type = SAA7134_INPUT_SVIDEO, /* NOT tested */
.vmux = 8,
.amux = LINE1,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
.gpio = 0x0200000,
},
},
[SAA7134_BOARD_FLYDVB_TRIO] = {
/* LifeView LR319 FlyDVB Trio */
/* Peter Missel <peter.missel@onlinehome.de> */
.name = "LifeView FlyDVB Trio",
.audio_clock = 0x00200000,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask = 0x00200000,
.mpeg = SAA7134_MPEG_DVB,
.inputs = {{
.type = SAA7134_INPUT_TV, /* Analog broadcast/cable TV */
.vmux = 1,
.amux = TV,
.gpio = 0x200000, /* GPIO21=High for TV input */
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE2,
},{
.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
.vmux = 0,
.amux = LINE2,
},{
.type = SAA7134_INPUT_COMPOSITE2,
.vmux = 3,
.amux = LINE2,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
.gpio = 0x000000, /* GPIO21=Low for FM radio antenna */
},
},
[SAA7134_BOARD_AVERMEDIA_777] = {
.name = "AverTV DVB-T 777",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_ABSENT,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.mpeg = SAA7134_MPEG_DVB,
.inputs = {{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 1,
.amux = LINE1,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
}},
},
[SAA7134_BOARD_FLYDVBT_LR301] = {
/* LifeView FlyDVB-T */
/* Giampiero Giancipoli <gianci@libero.it> */
.name = "LifeView FlyDVB-T / Genius VideoWonder DVB-T",
.audio_clock = 0x00200000,
.tuner_type = TUNER_ABSENT,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.mpeg = SAA7134_MPEG_DVB,
.inputs = {{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3,
.amux = LINE2,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE2,
}},
},
[SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331] = {
.name = "ADS Instant TV Duo Cardbus PTV331",
.audio_clock = 0x00200000,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.mpeg = SAA7134_MPEG_DVB,
.gpiomask = 0x00600000, /* Bit 21 0=Radio, Bit 22 0=TV */
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
.gpio = 0x00200000,
}},
},
[SAA7134_BOARD_TEVION_DVBT_220RF] = {
.name = "Tevion/KWorld DVB-T 220RF",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.mpeg = SAA7134_MPEG_DVB,
.gpiomask = 1 << 21,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3,
.amux = LINE1,
},{
.type = SAA7134_INPUT_COMPOSITE2,
.vmux = 0,
.amux = LINE1,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
.gpio = 0x0200000,
},
},
[SAA7134_BOARD_KWORLD_DVBT_210] = {
.name = "KWorld DVB-T 210",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.mpeg = SAA7134_MPEG_DVB,
.gpiomask = 1 << 21,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3,
.amux = LINE1,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE1,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
.gpio = 0x0200000,
},
},
[SAA7134_BOARD_KWORLD_ATSC110] = {
.name = "Kworld ATSC110/115",
.audio_clock = 0x00187de7,
.tuner_type = TUNER_PHILIPS_TUV1236D,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.mpeg = SAA7134_MPEG_DVB,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3,
.amux = LINE2,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE2,
}},
},
[SAA7134_BOARD_AVERMEDIA_A169_B] = {
/* AVerMedia A169 */
/* Rickard Osser <ricky@osser.se> */
/* This card has two saa7134 chips on it,
but only one of them is currently working. */
.name = "AVerMedia A169 B",
.audio_clock = 0x02187de7,
.tuner_type = TUNER_LG_TALN,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.gpiomask = 0x0a60000,
},
[SAA7134_BOARD_AVERMEDIA_A169_B1] = {
/* AVerMedia A169 */
/* Rickard Osser <ricky@osser.se> */
.name = "AVerMedia A169 B1",
.audio_clock = 0x02187de7,
.tuner_type = TUNER_LG_TALN,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.gpiomask = 0xca60000,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 4,
.amux = TV,
.gpio = 0x04a61000,
},{
.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
.vmux = 1,
.amux = LINE2,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 9, /* 9 is correct as S-VIDEO1 according to a169.inf! */
.amux = LINE1,
}},
},
[SAA7134_BOARD_MD7134_BRIDGE_2] = {
/* The second saa7134 on this card only serves as DVB-S host bridge */
.name = "Medion 7134 Bridge #2",
.audio_clock = 0x00187de7,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.mpeg = SAA7134_MPEG_DVB,
},
[SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS] = {
.name = "LifeView FlyDVB-T Hybrid Cardbus/MSI TV @nywhere A/D NB",
.audio_clock = 0x00200000,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.mpeg = SAA7134_MPEG_DVB,
.gpiomask = 0x00600000, /* Bit 21 0=Radio, Bit 22 0=TV */
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1,
.amux = TV,
.gpio = 0x200000, /* GPIO21=High for TV input */
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8,
.amux = LINE2,
},{
.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
.vmux = 0,
.amux = LINE2,
},{
.type = SAA7134_INPUT_COMPOSITE,
.vmux = 3,
.amux = LINE2,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
.gpio = 0x000000, /* GPIO21=Low for FM radio antenna */
},
},
[SAA7134_BOARD_FLYVIDEO3000_NTSC] = {
/* "Zac Bowling" <zac@zacbowling.com> */
.name = "LifeView FlyVIDEO3000 (NTSC)",
.audio_clock = 0x00200000,
.tuner_type = TUNER_PHILIPS_NTSC,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.