// 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 "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 =
0 x2c, },
};
/* If radio_type !=UNSET, radio_addr should be specified
*/
struct saa7134_board saa7134_boards[] = {
[SAA7134_BOARD_UNKNOWN] = {
.name =
"UNKNOWN/GENERIC" ,
.audio_clock =
0 x00187de7,
.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 =
0 x00187de7,
.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 =
0 x00200000,
.tuner_type = TUNER_PHILIPS_PAL,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask =
0 xe000,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux =
1 ,
.amux = TV,
.gpio =
0 x8000,
},{
.type = SAA7134_INPUT_TV_MONO,
.vmux =
1 ,
.amux = LINE2,
.gpio =
0 x0000,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
0 ,
.amux = LINE2,
.gpio =
0 x4000,
},{
.type = SAA7134_INPUT_COMPOSITE2,
.vmux =
3 ,
.amux = LINE2,
.gpio =
0 x4000,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux =
8 ,
.amux = LINE2,
.gpio =
0 x4000,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
.gpio =
0 x2000,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = TV,
.gpio =
0 x8000,
},
},
[SAA7134_BOARD_FLYVIDEO2000] = {
/* "TC Wan" <tcwan@cs.usm.my> */
.name =
"LifeView/Typhoon FlyVIDEO2000" ,
.audio_clock =
0 x00200000,
.tuner_type = TUNER_LG_PAL_NEW_TAPC,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask =
0 xe000,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux =
1 ,
.amux = LINE2,
.gpio =
0 x0000,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
0 ,
.amux = LINE2,
.gpio =
0 x4000,
},{
.type = SAA7134_INPUT_COMPOSITE2,
.vmux =
3 ,
.amux = LINE2,
.gpio =
0 x4000,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux =
8 ,
.amux = LINE2,
.gpio =
0 x4000,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
.gpio =
0 x2000,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = LINE2,
.gpio =
0 x8000,
},
},
[SAA7134_BOARD_FLYTVPLATINUM_MINI] = {
/* "Arnaud Quette" <aquette@free.fr> */
.name =
"LifeView FlyTV Platinum Mini" ,
.audio_clock =
0 x00200000,
.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 =
0 x00200000,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask =
0 x1E000,
/* Set GP16 and unused 15,14,13 to Output */
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux =
1 ,
.amux = TV,
.gpio =
0 x10000,
/* GP16=1 selects TV input */
},{
/* .type = SAA7134_INPUT_TV_MONO,
. vmux = 1 ,
. amux = LINE2 ,
. gpio = 0 x0000 ,
} , {
*/ .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 =
0 x00000,
/* GP16=0 selects FM radio antenna */
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = TV,
.gpio =
0 x10000,
},
},
[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 =
0 x00200000,
.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 =
0 xe000,
.inputs = { {
.type = SAA7134_INPUT_TV,
.vmux =
1 ,
.amux = TV,
.gpio =
0 x8000,
}, {
.type = SAA7134_INPUT_TV_MONO,
.vmux =
1 ,
.amux = LINE2,
.gpio =
0 x0000,
}, {
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
0 ,
.amux = LINE2,
.gpio =
0 x4000,
}, {
.type = SAA7134_INPUT_COMPOSITE2,
.vmux =
3 ,
.amux = LINE2,
.gpio =
0 x4000,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux =
8 ,
.amux = LINE2,
.gpio =
0 x4000,
} },
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
.gpio =
0 x2000,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = TV,
.gpio =
0 x8000,
},
},
[SAA7134_BOARD_EMPRESS] = {
/* "Gert Vervoort" <gert.vervoort@philips.com> */
.name =
"EMPRESS" ,
.audio_clock =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_PAL,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.empress_addr =
0 x20,
.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 =
0 x00187de7,
.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 =
0 x00200000,
.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 =
0 x00200000,
.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 =
0 x00200000,
.tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.empress_addr =
0 x20,
.tda9887_conf = TDA9887_PRESENT,
.gpiomask =
0 x820000,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux =
1 ,
.amux = TV,
.gpio =
0 x20000,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux =
8 ,
.amux = LINE1,
.gpio =
0 x20000,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
3 ,
.amux = LINE1,
.gpio =
0 x20000,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
.gpio =
0 x20000,
},
.mpeg = SAA7134_MPEG_EMPRESS,
.video_out = CCIR656,
},
[SAA7134_BOARD_CINERGY400] = {
.name =
"Terratec Cinergy 400 TV" ,
.audio_clock =
0 x00200000,
.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 =
0 x00187de7,
/* 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 =
0 x00187de7,
.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 =
0 x00200000,
.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 =
0 x00187de7,
.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 =
0 x00200000,
.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 =
0 x00187de7,
.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 =
0 x00187de7,
.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 =
0 x00187de7,
.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 =
0 x00187de7,
.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 =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask =
0 x200000,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux =
1 ,
.amux = TV,
.gpio =
0 x0000,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
4 ,
.amux = LINE2,
.gpio =
0 x0000,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux =
6 ,
.amux = LINE2,
.gpio =
0 x0000,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
.gpio =
0 x200000,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.gpio =
0 x0000,
},
},
[SAA7134_BOARD_VA1000POWER] = {
.name =
"AOPEN VA1000 POWER" ,
.audio_clock =
0 x00187de7,
.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 =
0 x00200000,
.tuner_type = TUNER_LG_PAL_NEW_TAPC,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask =
0 xe000,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux =
1 ,
.amux = LINE2,
.gpio =
0 x0000,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
0 ,
.amux = LINE2,
.gpio =
0 x4000,
},{
.type = SAA7134_INPUT_COMPOSITE2,
.vmux =
3 ,
.amux = LINE2,
.gpio =
0 x4000,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux =
8 ,
.amux = LINE2,
.gpio =
0 x4000,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
.gpio =
0 x2000,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = LINE2,
.gpio =
0 x8000,
},
},
[SAA7134_BOARD_BMK_MPEX_NOTUNER] = {
/* "Andrew de Quincey" <adq@lidskialf.net> */
.name =
"BMK MPEX No Tuner" ,
.audio_clock =
0 x200000,
.tuner_type = TUNER_ABSENT,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.empress_addr =
0 x20,
.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 =
0 x00187de7,
.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 =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_NTSC_M,
.gpiomask =
0 x800c0000,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_SVIDEO,
.vmux =
8 ,
.amux = LINE1,
.gpio =
0 x06c00012,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
3 ,
.amux = LINE1,
.gpio =
0 x0ac20012,
},{
.type = SAA7134_INPUT_TV,
.vmux =
1 ,
.amux = LINE2,
.gpio =
0 x08c20012,
}},
/* 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 =
0 xcf00,
.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 =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.gpiomask =
0 x03,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux =
1 ,
.amux = TV,
.gpio =
0 x00,
}, {
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
3 ,
.amux = LINE1,
.gpio =
0 x02,
}, {
.type = SAA7134_INPUT_COMPOSITE2,
.vmux =
0 ,
.amux = LINE1,
.gpio =
0 x02,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux =
8 ,
.amux = LINE1,
.gpio =
0 x02,
} },
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE1,
.gpio =
0 x01,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = TV,
.gpio =
0 x00,
},
},
[SAA7134_BOARD_BMK_MPEX_TUNER] = {
/* "Greg Wickham <greg.wickham@grangenet.net> */
.name =
"BMK MPEX Tuner" ,
.audio_clock =
0 x200000,
.tuner_type = TUNER_PHILIPS_PAL,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.empress_addr =
0 x20,
.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 =
0 x00187de7,
/* 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 =
0 x00187de7,
.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 =
0 x00200000,
.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 =
0 x00200000,
.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 =
0 x00187de7,
.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 =
0 x187de7,
/* 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 =
0 x187de7,
.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 =
0 x187de7,
.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 =
0 x00187de7,
.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 =
0 x200000,
},
},
[SAA7134_BOARD_AVERMEDIA_DVD_EZMAKER] = {
/* Michael Smith <msmith@cbnco.com> */
.name =
"AVerMedia DVD EZMaker" ,
.audio_clock =
0 x00187de7,
.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 =
0 x187de7,
.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 =
0 x00200000,
.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 =
0 x00187de7,
.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 =
0 x00187de7,
.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 =
0 x00187de7,
.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 =
0 x00187de7,
.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 =
0 x00200000,
.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 =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_NTSC_M,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask =
0 x808c0080,
.inputs = {{
.type = SAA7134_INPUT_SVIDEO,
.vmux =
8 ,
.amux = LINE1,
.gpio =
0 x00080,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
3 ,
.amux = LINE1,
.gpio =
0 x00080,
},{
.type = SAA7134_INPUT_TV,
.vmux =
1 ,
.amux = LINE2_LEFT,
.gpio =
0 x00080,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
.gpio =
0 x80000,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = LINE2,
.gpio =
0 x40000,
},
},
[SAA7134_BOARD_SABRENT_SBTTVFM] = {
/* Michael Rodriguez-Torrent <mrtorrent@asu.edu> */
.name =
"Sabrent SBT-TVFM (saa7130)" ,
.audio_clock =
0 x00187de7,
.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 =
0 x00187de7,
.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 =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_PAL,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask =
0 x4000,
.inputs = {{
.type = SAA7134_INPUT_TV_MONO,
.vmux =
1 ,
.amux = LINE2,
.gpio =
0 x8000,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
3 ,
.amux = LINE1,
.gpio =
0 x8000,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux =
6 ,
.amux = LINE1,
.gpio =
0 x8000,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE1,
.gpio =
0 x8000,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = TV,
.gpio =
0 x8000,
}
},
[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 =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_FM1256_IH3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.gpiomask =
0 x03,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux =
1 ,
.amux = TV,
.gpio =
0 x00,
},{
.type = SAA7134_INPUT_COMPOSITE,
.vmux =
3 ,
.amux = LINE1,
.gpio =
0 x02,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux =
8 ,
.amux = LINE1,
.gpio =
0 x02,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE1,
.gpio =
0 x01,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = LINE1,
.gpio =
0 x00,
},
},
[SAA7134_BOARD_AVERMEDIA_GO_007_FM] = {
.name =
"Avermedia AVerTV GO 007 FM" ,
.audio_clock =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask =
0 x00300003,
/* .gpiomask = 0x8c240003, */
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux =
1 ,
.amux = TV,
.gpio =
0 x01,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
0 ,
.amux = LINE1,
.gpio =
0 x02,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux =
6 ,
.amux = LINE1,
.gpio =
0 x02,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
.gpio =
0 x00300001,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = TV,
.gpio =
0 x01,
},
},
[SAA7134_BOARD_AVERMEDIA_CARDBUS] = {
/* Kees.Blom@cwi.nl */
.name =
"AVerMedia Cardbus TV/Radio (E500)" ,
.audio_clock =
0 x187de7,
.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 =
0 x187de7,
.tuner_type = TUNER_ALPS_TSBE5_PAL,
.radio_type = TUNER_TEA5767,
.tuner_addr =
0 x61,
.radio_addr =
0 x60,
.tda9887_conf = TDA9887_PRESENT,
.gpiomask =
0 x08000000,
.inputs = { {
.type = SAA7134_INPUT_TV,
.vmux =
1 ,
.amux = TV,
.gpio =
0 x08000000,
}, {
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
3 ,
.amux = LINE1,
.gpio =
0 x08000000,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux =
8 ,
.amux = LINE1,
.gpio =
0 x08000000,
} },
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
.gpio =
0 x00000000,
},
},
[SAA7134_BOARD_CINERGY400_CARDBUS] = {
.name =
"Terratec Cinergy 400 mobile" ,
.audio_clock =
0 x187de7,
.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 =
0 x00200000,
.tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.rds_addr =
0 x10,
.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 =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_PAL,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask =
0 x1ce780,
.inputs = {{
.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,
.vmux =
0 ,
.amux = LINE1,
.gpio =
0 x008080,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
3 ,
.amux = LINE1,
.gpio =
0 x008080,
},{
.type = SAA7134_INPUT_TV,
.vmux =
1 ,
.amux = TV,
.gpio =
0 x008080,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
.gpio =
0 x80000,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = LINE2,
.gpio =
0 x0c8000,
},
},
[SAA7134_BOARD_PINNACLE_300I_DVBT_PAL] = {
.name =
"Pinnacle PCTV 300i DVB-T + PAL" ,
.audio_clock =
0 x00187de7,
.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 =
0 x00187de7,
.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 =
0 x00187de7,
.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 =
0 x00200000,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask =
0 x00200000,
.mpeg = SAA7134_MPEG_DVB,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux =
1 ,
.amux = TV,
.gpio =
0 x200000,
/* 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 =
0 x000000,
/* GPIO21=Low for FM radio antenna */
},
},
[SAA7134_BOARD_PHILIPS_TOUGH] = {
.name =
"Philips TOUGH DVB-T reference design" ,
.tuner_type = TUNER_ABSENT,
.audio_clock =
0 x00187de7,
.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 =
0 x00187de7,
.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 =
0 x00187de7,
.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 =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_PAL_I,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask =
0 x0700,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux =
1 ,
.amux = TV,
.gpio =
0 x000,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
3 ,
.amux = LINE1,
.gpio =
0 x200,
/* gpio by DScaler */
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux =
0 ,
.amux = LINE1,
.gpio =
0 x200,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE1,
.gpio =
0 x100,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = TV,
.gpio =
0 x000,
},
},
[SAA7134_BOARD_FLYDVBT_DUO_CARDBUS] = {
.name =
"LifeView/Typhoon/Genius FlyDVB-T Duo Cardbus" ,
.audio_clock =
0 x00200000,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.mpeg = SAA7134_MPEG_DVB,
.gpiomask =
0 x00200000,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux =
1 ,
.amux = TV,
.gpio =
0 x200000,
/* 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 =
0 x000000,
/* GPIO21=Low for FM radio antenna */
},
},
[SAA7134_BOARD_VIDEOMATE_TV_GOLD_PLUSII] = {
.name =
"Compro VideoMate TV Gold+II" ,
.audio_clock =
0 x002187de7,
.tuner_type = TUNER_LG_PAL_NEW_TAPC,
.radio_type = TUNER_TEA5767,
.tuner_addr =
0 x63,
.radio_addr =
0 x60,
.gpiomask =
0 x8c1880,
.inputs = {{
.type = SAA7134_INPUT_SVIDEO,
.vmux =
0 ,
.amux = LINE1,
.gpio =
0 x800800,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
3 ,
.amux = LINE1,
.gpio =
0 x801000,
},{
.type = SAA7134_INPUT_TV,
.vmux =
1 ,
.amux = TV,
.gpio =
0 x800000,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
.gpio =
0 x880000,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = LINE2,
.gpio =
0 x840000,
},
},
[SAA7134_BOARD_KWORLD_XPERT] = {
/*
FIXME :
- Remote control doesn ' t initialize properly .
- Audio volume starts muted ,
then gradually increases after channel change .
- Composite S - Video untested .
From : Konrad Rzepecki < hannibal @ megapolis . pl >
*/
.name =
"Kworld Xpert TV PVR7134" ,
.audio_clock =
0 x00187de7,
.tuner_type = TUNER_TENA_9533_DI,
.radio_type = TUNER_TEA5767,
.tuner_addr =
0 x61,
.radio_addr =
0 x60,
.gpiomask =
0 x0700,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux =
1 ,
.amux = TV,
.gpio =
0 x000,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
3 ,
.amux = LINE1,
.gpio =
0 x200,
/* gpio by DScaler */
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux =
0 ,
.amux = LINE1,
.gpio =
0 x200,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE1,
.gpio =
0 x100,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = TV,
.gpio =
0 x000,
},
},
[SAA7134_BOARD_FLYTV_DIGIMATRIX] = {
.name =
"FlyTV mini Asus Digimatrix" ,
.audio_clock =
0 x00200000,
.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 =
0 x00187de7,
.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 =
0 x0000000,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
3 ,
.amux = LINE2,
.gpio =
0 x0000000,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux =
8 ,
.amux = LINE2,
.gpio =
0 x0000000,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
.gpio =
0 x0200000,
},
},
[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 =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr= ADDR_UNSET,
.radio_addr= ADDR_UNSET,
.gpiomask =
0 x00010003,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux =
1 ,
.amux = TV,
.gpio =
0 x01,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
0 ,
.amux = LINE2,
.gpio =
0 x02,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux =
6 ,
.amux = LINE2,
.gpio =
0 x02,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE1,
.gpio =
0 x00010003,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = TV,
.gpio =
0 x01,
},
},
[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 =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.gpiomask =
0 x00008000,
.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 =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.gpiomask =
0 x00200003,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux =
1 ,
.amux = TV,
.gpio =
0 x00200003,
},{
.type = SAA7134_INPUT_TV_MONO,
.vmux =
1 ,
.amux = LINE2,
.gpio =
0 x00200003,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
3 ,
.amux = LINE1,
.gpio =
0 x00200003,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux =
8 ,
.amux = LINE1,
.gpio =
0 x00200003,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
.gpio =
0 x00200003,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = TV,
.gpio =
0 x00200003,
},
},
[SAA7134_BOARD_PHILIPS_EUROPA] = {
.name =
"Philips EUROPA V3 reference design" ,
.audio_clock =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_TD1316,
.radio_type = UNSET,
.tuner_addr =
0 x61,
.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 =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_TD1316,
.radio_type = UNSET,
.tuner_addr =
0 x61,
.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 =
0 x00187de7,
.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 =
0 x00200000,
.tuner_type = TUNER_ABSENT,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.empress_addr =
0 x21,
.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 =
0 x00200000,
.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 =
0 x00200000,
.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 =
0 x00187de7,
.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 =
0 x00187de7,
.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 =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask =
0 x080200000,
.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 =
0 x0200000,
},
},
[SAA7134_BOARD_ASUSTeK_P7131_DUAL] = {
.name =
"ASUSTeK P7131 Dual" ,
.audio_clock =
0 x00187de7,
.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 =
0 x0000000,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
3 ,
.amux = LINE2,
.gpio =
0 x0200000,
},{
.type = SAA7134_INPUT_COMPOSITE2,
.vmux =
0 ,
.amux = LINE2,
.gpio =
0 x0200000,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux =
8 ,
.amux = LINE2,
.gpio =
0 x0200000,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
.gpio =
0 x0200000,
},
},
[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 =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask =
0 xe880c0,
.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 =
0 x00200000,
.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 =
0 x00187de7,
.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 =
0 x0200000,
.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 =
0 x0200000,
},
},
[SAA7134_BOARD_MSI_TVATANYWHERE_PLUS] = {
.name =
"MSI TV@Anywhere plus" ,
.audio_clock =
0 x00187de7,
.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 =
0 x0200000,
},
},
[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 =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask =
0 x80200000,
.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 =
0 x0200000,
},
},
[SAA7134_BOARD_FLYDVB_TRIO] = {
/* LifeView LR319 FlyDVB Trio */
/* Peter Missel <peter.missel@onlinehome.de> */
.name =
"LifeView FlyDVB Trio" ,
.audio_clock =
0 x00200000,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask =
0 x00200000,
.mpeg = SAA7134_MPEG_DVB,
.inputs = {{
.type = SAA7134_INPUT_TV,
/* Analog broadcast/cable TV */
.vmux =
1 ,
.amux = TV,
.gpio =
0 x200000,
/* 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 =
0 x000000,
/* GPIO21=Low for FM radio antenna */
},
},
[SAA7134_BOARD_AVERMEDIA_777] = {
.name =
"AverTV DVB-T 777" ,
.audio_clock =
0 x00187de7,
.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 =
0 x00200000,
.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 =
0 x00200000,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.mpeg = SAA7134_MPEG_DVB,
.gpiomask =
0 x00600000,
/* Bit 21 0=Radio, Bit 22 0=TV */
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux =
1 ,
.amux = TV,
.gpio =
0 x00200000,
}},
},
[SAA7134_BOARD_TEVION_DVBT_220RF] = {
.name =
"Tevion/KWorld DVB-T 220RF" ,
.audio_clock =
0 x00187de7,
.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 =
0 x0200000,
},
},
[SAA7134_BOARD_KWORLD_DVBT_210] = {
.name =
"KWorld DVB-T 210" ,
.audio_clock =
0 x00187de7,
.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 =
0 x0200000,
},
},
[SAA7134_BOARD_KWORLD_ATSC110] = {
.name =
"Kworld ATSC110/115" ,
.audio_clock =
0 x00187de7,
.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 =
0 x02187de7,
.tuner_type = TUNER_LG_TALN,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.gpiomask =
0 x0a60000,
},
[SAA7134_BOARD_AVERMEDIA_A169_B1] = {
/* AVerMedia A169 */
/* Rickard Osser <ricky@osser.se> */
.name =
"AVerMedia A169 B1" ,
.audio_clock =
0 x02187de7,
.tuner_type = TUNER_LG_TALN,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.gpiomask =
0 xca60000,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux =
4 ,
.amux = TV,
.gpio =
0 x04a61000,
},{
.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 =
0 x00187de7,
.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 =
0 x00200000,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.mpeg = SAA7134_MPEG_DVB,
.gpiomask =
0 x00600000, /* Bit
21 0 =Radio, Bit
22 0 =TV */
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux =
1 ,
.amux = TV,
.gpio =
0 x200000, /* 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 =
0 x000000, /* GPIO21=Low for FM radio antenna */
},
},
[SAA7134_BOARD_FLYVIDEO3000_NTSC] = {
/* "Zac Bowling" <zac@zacbowling.com> */
.name = "LifeView FlyVIDEO3000 (NTSC)",
.audio_clock =
0 x00200000,
.tuner_type = TUNER_PHILIPS_NTSC,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask =
0 xe000,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux =
1 ,
.amux = TV,
.gpio =
0 x8000,
},{
.type = SAA7134_INPUT_TV_MONO,
.vmux =
1 ,
.amux = LINE2,
.gpio =
0 x0000,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
0 ,
.amux = LINE2,
.gpio =
0 x4000,
},{
.type = SAA7134_INPUT_COMPOSITE2,
.vmux =
3 ,
.amux = LINE2,
.gpio =
0 x4000,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux =
8 ,
.amux = LINE2,
.gpio =
0 x4000,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
.gpio =
0 x2000,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = TV,
.gpio =
0 x8000,
},
},
[SAA7134_BOARD_MEDION_MD8800_QUADRO] = {
.name = "Medion Md8800 Quadro",
.audio_clock =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.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,
}},
},
[SAA7134_BOARD_FLYDVBS_LR300] = {
/* LifeView FlyDVB-s */
/* Igor M. Liplianin <liplianin@tut.by> */
.name = "LifeView FlyDVB-S /Acorp TV134DS",
.audio_clock =
0 x00200000,
.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 = LINE1,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux =
8 ,
.amux = LINE1,
}},
},
[SAA7134_BOARD_PROTEUS_2309] = {
.name = "Proteus Pro
2309 ",
.audio_clock =
0 x00187de7,
.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,
}},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = LINE1,
},
},
[SAA7134_BOARD_AVERMEDIA_A16AR] = {
/* Petr Baudis <pasky@ucw.cz> */
.name = "AVerMedia TV Hybrid A16AR",
.audio_clock =
0 x187de7,
.tuner_type = TUNER_PHILIPS_TD1316, /* untested */
.radio_type = TUNER_TEA5767, /* untested */
.tuner_addr = ADDR_UNSET,
.radio_addr =
0 x60,
.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 = LINE1,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE1,
},
},
[SAA7134_BOARD_ASUS_EUROPA2_HYBRID] = {
.name = "Asus Europa2 OEM",
.audio_clock =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_FMD1216ME_MK3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT| TDA9887_PORT1_ACTIVE | TDA9887_PORT2_ACTIVE,
.mpeg = SAA7134_MPEG_DVB,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux =
3 ,
.amux = TV,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
4 ,
.amux = LINE2,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux =
8 ,
.amux = LINE2,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE1,
},
},
[SAA7134_BOARD_PINNACLE_PCTV_310i] = {
.name = "Pinnacle PCTV
310 i",
.audio_clock =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda829x_conf = { .lna_cfg = TDA8290_LNA_GP0_HIGH_ON },
.mpeg = SAA7134_MPEG_DVB,
.gpiomask =
0 x000200000,
.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 =
0 x0200000,
},
},
[SAA7134_BOARD_AVERMEDIA_STUDIO_507] = {
/* Mikhail Fedotov <mo_fedotov@mail.ru> */
.name = "Avermedia AVerTV Studio
507 ",
.audio_clock =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_FM1256_IH3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.gpiomask =
0 x03,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux =
1 ,
.amux = TV,
.gpio =
0 x00,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
0 ,
.amux = LINE2,
.gpio =
0 x00,
},{
.type = SAA7134_INPUT_COMPOSITE2,
.vmux =
3 ,
.amux = LINE2,
.gpio =
0 x00,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux =
8 ,
.amux = LINE2,
.gpio =
0 x00,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
.gpio =
0 x01,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = LINE1,
.gpio =
0 x00,
},
},
[SAA7134_BOARD_VIDEOMATE_DVBT_200A] = {
/* Francis Barber <fedora@barber-family.id.au> */
.name = "Compro Videomate DVB-T200A",
.audio_clock =
0 x00187de7,
.tuner_type = TUNER_ABSENT,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.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_HAUPPAUGE_HVR1110] = {
/* Thomas Genty <tomlohave@gmail.com> */
/* David Bentham <db260179@hotmail.com> */
.name = "Hauppauge WinTV-HVR1110 DVB-T/Hybrid",
.audio_clock =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda829x_conf = { .lna_cfg = TDA8290_LNA_GP0_HIGH_ON },
.mpeg = SAA7134_MPEG_DVB,
.gpiomask =
0 x0200100,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux =
1 ,
.amux = TV,
.gpio =
0 x0000100,
}, {
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
3 ,
.amux = LINE1,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux =
8 ,
.amux = LINE1,
} },
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
.gpio =
0 x0200100,
},
},
[SAA7134_BOARD_HAUPPAUGE_HVR1150] = {
.name = "Hauppauge WinTV-HVR1150 ATSC/QAM-Hybrid",
.audio_clock =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda829x_conf = { .lna_cfg = TDA8290_LNA_ON_BRIDGE },
.mpeg = SAA7134_MPEG_DVB,
.ts_type = SAA7134_MPEG_TS_SERIAL,
.ts_force_val =
1 ,
.gpiomask =
0 x0800100, /* GPIO
21 is an INPUT */
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux =
1 ,
.amux = TV,
.gpio =
0 x0000100,
}, {
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
3 ,
.amux = LINE1,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux =
8 ,
.amux = LINE1,
} },
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
.gpio =
0 x0800100, /* GPIO
23 HI for FM */
},
},
[SAA7134_BOARD_HAUPPAUGE_HVR1120] = {
.name = "Hauppauge WinTV-HVR1120 DVB-T/Hybrid",
.audio_clock =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda829x_conf = { .lna_cfg = TDA8290_LNA_ON_BRIDGE },
.mpeg = SAA7134_MPEG_DVB,
.ts_type = SAA7134_MPEG_TS_SERIAL,
.gpiomask =
0 x0800100, /* GPIO
21 is an INPUT */
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux =
1 ,
.amux = TV,
.gpio =
0 x0000100,
}, {
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
3 ,
.amux = LINE1,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux =
8 ,
.amux = LINE1,
} },
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
.gpio =
0 x0800100, /* GPIO
23 HI for FM */
},
},
[SAA7134_BOARD_CINERGY_HT_PCMCIA] = {
.name = "Terratec Cinergy HT PCMCIA",
.audio_clock =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.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 =
6 ,
.amux = LINE1,
}},
},
[SAA7134_BOARD_ENCORE_ENLTV] = {
/* Steven Walter <stevenrwalter@gmail.com>
Juan Pablo Sormani <sorman@gmail.com> */
.name = "Encore ENLTV",
.audio_clock =
0 x00200000,
.tuner_type = TUNER_TNF_5335MF,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux =
1 ,
.amux =
3 ,
},{
.type = SAA7134_INPUT_TV_MONO,
.vmux =
7 ,
.amux =
4 ,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
3 ,
.amux =
2 ,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux =
0 ,
.amux =
2 ,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
/* .gpio =
0 x00300001,*/
.gpio =
0 x20000,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux =
0 ,
},
},
[SAA7134_BOARD_ENCORE_ENLTV_FM] = {
/* Juan Pablo Sormani <sorman@gmail.com> */
.name = "Encore ENLTV-FM",
.audio_clock =
0 x00200000,
.tuner_type = TUNER_PHILIPS_FCV1236D,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux =
1 ,
.amux =
3 ,
},{
.type = SAA7134_INPUT_TV_MONO,
.vmux =
7 ,
.amux =
4 ,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
3 ,
.amux =
2 ,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux =
0 ,
.amux =
2 ,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
.gpio =
0 x20000,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux =
0 ,
},
},
[SAA7134_BOARD_ENCORE_ENLTV_FM53] = {
.name = "Encore ENLTV-FM v5.
3 ",
.audio_clock =
0 x00200000,
.tuner_type = TUNER_TNF_5335MF,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask =
0 x7000,
.inputs = { {
.type = SAA7134_INPUT_TV,
.vmux =
1 ,
.amux =
1 ,
.gpio =
0 x50000,
}, {
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
3 ,
.amux =
2 ,
.gpio =
0 x2000,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux =
8 ,
.amux =
2 ,
.gpio =
0 x2000,
} },
.radio = {
.type = SAA7134_INPUT_RADIO,
.vmux =
1 ,
.amux =
1 ,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.gpio =
0 xf000,
.amux =
0 ,
},
},
[SAA7134_BOARD_ENCORE_ENLTV_FM3] = {
.name = "Encore ENLTV-FM
3 ",
.audio_clock =
0 x02187de7,
.tuner_type = TUNER_TENA_TNF_5337,
.radio_type = TUNER_TEA5767,
.tuner_addr =
0 x61,
.radio_addr =
0 x60,
.inputs = { {
.type = SAA7134_INPUT_TV,
.vmux =
1 ,
.amux = LINE2,
}, {
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
3 ,
.amux = LINE1,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux =
8 ,
.amux = LINE1,
} },
.radio = {
.type = SAA7134_INPUT_RADIO,
.vmux =
1 ,
.amux = LINE1,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = LINE1,
.gpio =
0 x43000,
},
},
[SAA7134_BOARD_CINERGY_HT_PCI] = {
.name = "Terratec Cinergy HT PCI",
.audio_clock =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.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 =
6 ,
.amux = LINE1,
}},
},
[SAA7134_BOARD_PHILIPS_TIGER_S] = {
.name = "Philips Tiger - S Reference design",
.audio_clock =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda829x_conf = { .lna_cfg = TDA8290_LNA_GP0_HIGH_OFF },
.mpeg = SAA7134_MPEG_DVB,
.gpiomask =
0 x0200000,
.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 =
0 x0200000,
},
},
[SAA7134_BOARD_AVERMEDIA_M102] = {
.name = "Avermedia M102",
.audio_clock =
0 x00187de7,
.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_COMPOSITE1,
.vmux =
0 ,
.amux = LINE2,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux =
6 ,
.amux = LINE2,
}},
},
[SAA7134_BOARD_ASUS_P7131_4871] = {
.name = "ASUS P7131
4871 ",
.audio_clock =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda829x_conf = { .lna_cfg = TDA8290_LNA_GP0_HIGH_OFF },
.mpeg = SAA7134_MPEG_DVB,
.gpiomask =
0 x0200000,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux =
1 ,
.amux = TV,
.gpio =
0 x0200000,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
3 ,
.amux = LINE2,
.gpio =
0 x0200000,
},{
.type = SAA7134_INPUT_COMPOSITE2,
.vmux =
0 ,
.amux = LINE2,
.gpio =
0 x0200000,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux =
8 ,
.amux = LINE2,
.gpio =
0 x0200000,
}},
},
[SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA] = {
.name = "ASUSTeK P7131 Hybrid",
.audio_clock =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda829x_conf = { .lna_cfg = TDA8290_LNA_GP0_HIGH_OFF },
.gpiomask =
1 <<
21 ,
.mpeg = SAA7134_MPEG_DVB,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux =
1 ,
.amux = TV,
.gpio =
0 x0000000,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
3 ,
.amux = LINE2,
.gpio =
0 x0200000,
},{
.type = SAA7134_INPUT_COMPOSITE2,
.vmux =
0 ,
.amux = LINE2,
.gpio =
0 x0200000,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux =
8 ,
.amux = LINE2,
.gpio =
0 x0200000,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
.gpio =
0 x0200000,
},
},
[SAA7134_BOARD_ASUSTeK_P7131_ANALOG] = {
.name = "ASUSTeK P7131 Analog",
.audio_clock =
0 x00187de7,
.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 =
0 x0000000,
}, {
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
3 ,
.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 =
0 x0200000,
},
},
[SAA7134_BOARD_SABRENT_TV_PCB05] = {
.name = "Sabrent PCMCIA TV-PCB05",
.audio_clock =
0 x00187de7,
.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_COMPOSITE2,
.vmux =
0 ,
.amux = LINE1,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux =
8 ,
.amux = LINE1,
}},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = TV,
},
},
[SAA7134_BOARD_10MOONSTVMASTER3] = {
/* Tony Wan <aloha_cn@hotmail.com> */
.name = "
10 MOONS TM300 TV Card",
.audio_clock =
0 x00200000,
.tuner_type = TUNER_LG_PAL_NEW_TAPC,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask =
0 x7000,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux =
1 ,
.amux = LINE2,
.gpio =
0 x0000,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
3 ,
.amux = LINE1,
.gpio =
0 x2000,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux =
8 ,
.amux = LINE1,
.gpio =
0 x2000,
}},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = LINE2,
.gpio =
0 x3000,
},
},
[SAA7134_BOARD_AVERMEDIA_SUPER_007] = {
.name = "Avermedia Super
007 ",
.audio_clock =
0 x00187de7,
.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,
.inputs = {{
.type = SAA7134_INPUT_TV, /* FIXME: analog tv untested */
.vmux =
1 ,
.amux = TV,
}},
},
[SAA7134_BOARD_AVERMEDIA_M135A] = {
.name = "Avermedia PCI pure analog (M135A)",
.audio_clock =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda829x_conf = { .lna_cfg = TDA8290_LNA_GP0_HIGH_OFF },
.gpiomask =
0 x020200000,
.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 =
0 x00200000,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = TV,
.gpio =
0 x01,
},
},
[SAA7134_BOARD_AVERMEDIA_M733A] = {
.name =
"Avermedia PCI M733A" ,
.audio_clock =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda829x_conf = { .lna_cfg = TDA8290_LNA_OFF },
.gpiomask =
0 x020200000,
.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 =
0 x00200000,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = TV,
.gpio =
0 x01,
},
},
[SAA7134_BOARD_BEHOLD_401] = {
/* Beholder Intl. Ltd. 2008 */
/*Dmitry Belimov <d.belimov@gmail.com> */
.name =
"Beholder BeholdTV 401" ,
.audio_clock =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_FQ1216ME,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask =
0 x00008000,
.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_BEHOLD_403] = {
/* Beholder Intl. Ltd. 2008 */
/*Dmitry Belimov <d.belimov@gmail.com> */
.name =
"Beholder BeholdTV 403" ,
.audio_clock =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_FQ1216ME,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask =
0 x00008000,
.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,
}},
},
[SAA7134_BOARD_BEHOLD_403FM] = {
/* Beholder Intl. Ltd. 2008 */
/*Dmitry Belimov <d.belimov@gmail.com> */
.name =
"Beholder BeholdTV 403 FM" ,
.audio_clock =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_FQ1216ME,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask =
0 x00008000,
.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_BEHOLD_405] = {
/* Beholder Intl. Ltd. 2008 */
/*Dmitry Belimov <d.belimov@gmail.com> */
.name =
"Beholder BeholdTV 405" ,
.audio_clock =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.gpiomask =
0 x00008000,
.inputs = {{
.type = SAA7134_INPUT_SVIDEO,
.vmux =
8 ,
.amux = LINE1,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
3 ,
.amux = LINE1,
},{
.type = SAA7134_INPUT_TV,
.vmux =
3 ,
.amux = LINE2,
}},
},
[SAA7134_BOARD_BEHOLD_405FM] = {
/* Sergey <skiv@orel.ru> */
/* Beholder Intl. Ltd. 2008 */
/*Dmitry Belimov <d.belimov@gmail.com> */
.name =
"Beholder BeholdTV 405 FM" ,
.audio_clock =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.gpiomask =
0 x00008000,
.inputs = {{
.type = SAA7134_INPUT_SVIDEO,
.vmux =
8 ,
.amux = LINE1,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
3 ,
.amux = LINE1,
},{
.type = SAA7134_INPUT_TV,
.vmux =
3 ,
.amux = LINE2,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
},
},
[SAA7134_BOARD_BEHOLD_407] = {
/* Beholder Intl. Ltd. 2008 */
/*Dmitry Belimov <d.belimov@gmail.com> */
.name =
"Beholder BeholdTV 407" ,
.audio_clock =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.gpiomask =
0 x00008000,
.inputs = {{
.type = SAA7134_INPUT_SVIDEO,
.vmux =
8 ,
.amux = LINE1,
.gpio =
0 xc0c000,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
1 ,
.amux = LINE1,
.gpio =
0 xc0c000,
},{
.type = SAA7134_INPUT_TV,
.vmux =
3 ,
.amux = TV,
.gpio =
0 xc0c000,
}},
},
[SAA7134_BOARD_BEHOLD_407FM] = {
/* Beholder Intl. Ltd. 2008 */
/*Dmitry Belimov <d.belimov@gmail.com> */
.name =
"Beholder BeholdTV 407 FM" ,
.audio_clock =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.gpiomask =
0 x00008000,
.inputs = {{
.type = SAA7134_INPUT_SVIDEO,
.vmux =
8 ,
.amux = LINE1,
.gpio =
0 xc0c000,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
1 ,
.amux = LINE1,
.gpio =
0 xc0c000,
},{
.type = SAA7134_INPUT_TV,
.vmux =
3 ,
.amux = TV,
.gpio =
0 xc0c000,
}},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
.gpio =
0 xc0c000,
},
},
[SAA7134_BOARD_BEHOLD_409] = {
/* Beholder Intl. Ltd. 2008 */
/*Dmitry Belimov <d.belimov@gmail.com> */
.name =
"Beholder BeholdTV 409" ,
.audio_clock =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.gpiomask =
0 x00008000,
.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,
}},
},
[SAA7134_BOARD_BEHOLD_505FM] = {
/* Beholder Intl. Ltd. 2008 */
/*Dmitry Belimov <d.belimov@gmail.com> */
.name =
"Beholder BeholdTV 505 FM" ,
.audio_clock =
0 x00200000,
.tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.gpiomask =
0 x00008000,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux =
3 ,
.amux = LINE2,
}, {
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
1 ,
.amux = LINE1,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux =
8 ,
.amux = LINE1,
} },
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = LINE1,
},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
},
},
[SAA7134_BOARD_BEHOLD_505RDS_MK5] = {
/* Beholder Intl. Ltd. 2008 */
/*Dmitry Belimov <d.belimov@gmail.com> */
.name =
"Beholder BeholdTV 505 RDS" ,
.audio_clock =
0 x00200000,
.tuner_type = TUNER_PHILIPS_FM1216MK5,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.rds_addr =
0 x10,
.tda9887_conf = TDA9887_PRESENT,
.gpiomask =
0 x00008000,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux =
3 ,
.amux = LINE2,
},{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux =
1 ,
.amux = LINE1,
},{
.type = SAA7134_INPUT_SVIDEO,
.vmux =
8 ,
.amux = LINE1,
}},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = LINE1,
},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
},
},
[SAA7134_BOARD_BEHOLD_507_9FM] = {
/* Beholder Intl. Ltd. 2008 */
/*Dmitry Belimov <d.belimov@gmail.com> */
.name =
"Beholder BeholdTV 507 FM / BeholdTV 509 FM" ,
.audio_clock =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.gpiomask =
0 x00008000,
.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_BEHOLD_507RDS_MK5] = {
/* Beholder Intl. Ltd. 2008 */
/*Dmitry Belimov <d.belimov@gmail.com> */
.name =
"Beholder BeholdTV 507 RDS" ,
.audio_clock =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_FM1216MK5,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.rds_addr =
0 x10,
.tda9887_conf = TDA9887_PRESENT,
.gpiomask =
0 x00008000,
.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_BEHOLD_507RDS_MK3] = {
/* Beholder Intl. Ltd. 2008 */
/*Dmitry Belimov <d.belimov@gmail.com> */
.name =
"Beholder BeholdTV 507 RDS" ,
.audio_clock =
0 x00187de7,
.tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.rds_addr =
0 x10,
.tda9887_conf = TDA9887_PRESENT,
.gpiomask =
0 x00008000,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux =
3 ,
.amux = TV,
}, {
134 _
.vmux =
1 ,
.amux = LINE1,
}{
.type =SAA7134_INPUT_SVIDEO,
.vmux =
8 ,
.mux =LINE1,
} },
.int32_tsensitivity
.,
amux =LINE2,
},
}
[SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM] *
1 uT .
01 and is inmicron (e6java.lang.StringIndex
OutOfBoundsException: Index 46 out of bounds for length 46
/* Beholder Intl. Ltd. 2008 */
/* Dmitry Belimov <d.belimov@gmail.com> */ /* sensor sensitivity in 16 bits mode: 0.15 uT */
.name = "Beholder BeholdTV Columbus TV/FM" ,
.audio_clock = H 128 )
.
.radio_type []=((asa]+) ;
.inv_mpu_magn_probe) and magnetometerjava.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
.radio_addr = 0 xc0 >> 1 ,
.tda9887_conf = TDA9887_PRESENT,
.gpiomask = 0 x000A8004,
.inputs = {{
;
.vmux = 3 ;
.amux = TV,
.gpio = 0 x000A8004,
}, {
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 1 ,
. LINE1
.gpio = |
} r)
;
=8
.amux = java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 1
.gpio = 0 x000A8000,
Limit to maximumvalue supportedbythe
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
.gpio = 0 x000A8000,
},
}
[SAA7134_BOARD_BEHOLD_607FM_MK3] = {
/* Andrey Melnikoff <temnota@kmv.ru> */
.name
.audio_clock = 0 x00187de7,
.*
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSETjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
.tda9887_conf
={
.type = SAA7134_INPUT_TV /* z <- -z */
.vmux = 3 ,
.amux = TV,
}, {
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 1 ,
.amux = LINE1,
. java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 19
=
.amux = LINE1,
} },
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
},
,
[:
/* Andrey Melnikoff <temnota@kmv.ru> */
.name = java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
,
.java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.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_BEHOLD_607FM_MK5] = {
/* Andrey Melnikoff <temnota@kmv.ru> */
.name = "Beholder BeholdTV 607 FM" ,
.audio_clock = 0 x00187de7,
.tuner_type = TUNER_PHILIPS_FM1216MK5,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.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_BEHOLD_609FM_MK5] = {
/* Andrey Melnikoff <temnota@kmv.ru> */
.name = "Beholder BeholdTV 609 FM" ,
.audio_clock = 0 x00187de7,
.tuner_type = TUNER_PHILIPS_FM1216MK5,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.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_BEHOLD_607RDS_MK3] = {
/* Andrey Melnikoff <temnota@kmv.ru> */
.name = "Beholder BeholdTV 607 RDS" ,
.audio_clock = 0 x00187de7,
.tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.rds_addr = 0 x10,
.tda9887_conf = TDA9887_PRESENT,
.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_BEHOLD_609RDS_MK3] = {
/* Andrey Melnikoff <temnota@kmv.ru> */
.name = "Beholder BeholdTV 609 RDS" ,
.audio_clock = 0 x00187de7,
.tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.rds_addr = 0 x10,
.tda9887_conf = TDA9887_PRESENT,
.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_BEHOLD_607RDS_MK5] = {
/* Andrey Melnikoff <temnota@kmv.ru> */
.name = "Beholder BeholdTV 607 RDS" ,
.audio_clock = 0 x00187de7,
.tuner_type = TUNER_PHILIPS_FM1216MK5,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.rds_addr = 0 x10,
.tda9887_conf = TDA9887_PRESENT,
.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_BEHOLD_609RDS_MK5] = {
/* Andrey Melnikoff <temnota@kmv.ru> */
.name = "Beholder BeholdTV 609 RDS" ,
.audio_clock = 0 x00187de7,
.tuner_type = TUNER_PHILIPS_FM1216MK5,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.rds_addr = 0 x10,
.tda9887_conf = TDA9887_PRESENT,
.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_BEHOLD_M6] = {
/* Igor Kuznetsov <igk@igk.ru> */
/* Andrey Melnikoff <temnota@kmv.ru> */
/* Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com> */
/* Alexey Osipov <lion-simba@pridelands.ru> */
.name = "Beholder BeholdTV M6" ,
.audio_clock = 0 x00187de7,
.tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.empress_addr = 0 x20,
.tda9887_conf = TDA9887_PRESENT,
.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,
},
.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_BEHOLD_M63] = {
/* Igor Kuznetsov <igk@igk.ru> */
/* Andrey Melnikoff <temnota@kmv.ru> */
/* Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com> */
.name = "Beholder BeholdTV M63" ,
.audio_clock = 0 x00187de7,
.tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.empress_addr = 0 x20,
.tda9887_conf = TDA9887_PRESENT,
.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,
},
.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_BEHOLD_M6_EXTRA] = {
/* Igor Kuznetsov <igk@igk.ru> */
/* Andrey Melnikoff <temnota@kmv.ru> */
/* Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com> */
/* Alexey Osipov <lion-simba@pridelands.ru> */
.name = "Beholder BeholdTV M6 Extra" ,
.audio_clock = 0 x00187de7,
.tuner_type = TUNER_PHILIPS_FM1216MK5,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.rds_addr = 0 x10,
.empress_addr = 0 x20,
.tda9887_conf = TDA9887_PRESENT,
.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,
},
.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_TWINHAN_DTV_DVB_3056] = {
.name = "Twinhan Hybrid DTV-DVB 3056 PCI" ,
.audio_clock = 0 x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda829x_conf = { .lna_cfg = TDA8290_LNA_GP0_HIGH_OFF },
.mpeg = SAA7134_MPEG_DVB,
.gpiomask = 0 x0200000,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1 ,
.amux = TV,
}, {
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3 ,
.amux = LINE1,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8 , /* untested */
.amux = LINE1,
} },
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
.gpio = 0 x0200000,
},
},
[SAA7134_BOARD_GENIUS_TVGO_A11MCE] = {
/* Adrian Pardini <pardo.bsso@gmail.com> */
.name = "Genius TVGO AM11MCE" ,
.audio_clock = 0 x00200000,
.tuner_type = TUNER_TNF_5335MF,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask = 0 xf000,
.inputs = {{
.type = SAA7134_INPUT_TV_MONO,
.vmux = 1 ,
.amux = LINE2,
.gpio = 0 x0000,
}, {
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3 ,
.amux = LINE1,
.gpio = 0 x2000,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8 ,
.amux = LINE1,
.gpio = 0 x2000,
} },
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
.gpio = 0 x1000,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = LINE2,
.gpio = 0 x6000,
},
},
[SAA7134_BOARD_PHILIPS_SNAKE] = {
.name = "NXP Snake DVB-S reference design" ,
.audio_clock = 0 x00200000,
.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 = LINE1,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8 ,
.amux = LINE1,
} },
},
[SAA7134_BOARD_CREATIX_CTX953] = {
.name = "Medion/Creatix CTX953 Hybrid" ,
.audio_clock = 0 x00187de7,
.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,
.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,
} },
},
[SAA7134_BOARD_MSI_TVANYWHERE_AD11] = {
.name = "MSI TV@nywhere A/D v1.1" ,
.audio_clock = 0 x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda829x_conf = { .lna_cfg = TDA8290_LNA_GP0_HIGH_OFF },
.mpeg = SAA7134_MPEG_DVB,
.gpiomask = 0 x0200000,
.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 = 0 x0200000,
},
},
[SAA7134_BOARD_AVERMEDIA_CARDBUS_506] = {
.name = "AVerMedia Cardbus TV/Radio (E506R)" ,
.audio_clock = 0 x187de7,
.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,
}, {
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3 ,
.amux = LINE1,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8 ,
.amux = LINE2,
} },
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
},
},
[SAA7134_BOARD_AVERMEDIA_A16D] = {
.name = "AVerMedia Hybrid TV/Radio (A16D)" ,
.audio_clock = 0 x187de7,
.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,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8 ,
.amux = LINE1,
}, {
.type = SAA7134_INPUT_COMPOSITE,
.vmux = 0 ,
.amux = LINE1,
} },
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
},
},
[SAA7134_BOARD_AVERMEDIA_M115] = {
.name = "Avermedia M115" ,
.audio_clock = 0 x187de7,
.tuner_type = TUNER_XC2028,
.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 = LINE2,
} },
},
[SAA7134_BOARD_VIDEOMATE_T750] = {
/* John Newbigin <jn@it.swin.edu.au> */
.name = "Compro VideoMate T750" ,
.audio_clock = 0 x00187de7,
.tuner_type = TUNER_XC2028,
.radio_type = UNSET,
.tuner_addr = 0 x61,
.radio_addr = ADDR_UNSET,
.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,
} },
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
}
},
[SAA7134_BOARD_AVERMEDIA_A700_PRO] = {
/* Matthias Schwarzott <zzam@gentoo.org> */
.name = "Avermedia DVB-S Pro A700" ,
.audio_clock = 0 x00187de7,
.tuner_type = TUNER_ABSENT,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.mpeg = SAA7134_MPEG_DVB,
.inputs = { {
.type = SAA7134_INPUT_COMPOSITE,
.vmux = 1 ,
.amux = LINE1,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux = 6 ,
.amux = LINE1,
} },
},
[SAA7134_BOARD_AVERMEDIA_A700_HYBRID] = {
/* Matthias Schwarzott <zzam@gentoo.org> */
.name = "Avermedia DVB-S Hybrid+FM A700" ,
.audio_clock = 0 x00187de7,
.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 = 4 ,
.amux = TV,
}, {
.type = SAA7134_INPUT_COMPOSITE,
.vmux = 1 ,
.amux = LINE1,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux = 6 ,
.amux = LINE1,
} },
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
},
},
[SAA7134_BOARD_BEHOLD_H6] = {
/* Igor Kuznetsov <igk@igk.ru> */
.name = "Beholder BeholdTV H6" ,
.audio_clock = 0 x00187de7,
.tuner_type = TUNER_PHILIPS_FMD1216MEX_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 = 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_ASUSTeK_TIGER_3IN1] = {
.name = "Asus Tiger 3in1" ,
.audio_clock = 0 x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda829x_conf = { .lna_cfg = TDA8290_LNA_GP0_HIGH_OFF },
.gpiomask = 1 << 21 ,
.mpeg = SAA7134_MPEG_DVB,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1 ,
.amux = TV,
}, {
.type = SAA7134_INPUT_COMPOSITE,
.vmux = 0 ,
.amux = LINE2,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8 ,
.amux = LINE2,
} },
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
.gpio = 0 x0200000,
},
},
[SAA7134_BOARD_ASUSTeK_PS3_100] = {
.name = "Asus My Cinema PS3-100" ,
.audio_clock = 0 x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda829x_conf = { .lna_cfg = TDA8290_LNA_GP0_HIGH_OFF },
.gpiomask = 1 << 21 ,
.mpeg = SAA7134_MPEG_DVB,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1 ,
.amux = TV,
}, {
.type = SAA7134_INPUT_COMPOSITE,
.vmux = 0 ,
.amux = LINE2,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8 ,
.amux = LINE2,
} },
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
.gpio = 0 x0200000,
},
},
[SAA7134_BOARD_REAL_ANGEL_220] = {
.name = "Zogis Real Angel 220" ,
.audio_clock = 0 x00187de7,
.tuner_type = TUNER_TNF_5335MF,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask = 0 x801a8087,
.inputs = { {
.type = SAA7134_INPUT_TV,
.vmux = 3 ,
.amux = LINE2,
.gpio = 0 x624000,
}, {
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 1 ,
.amux = LINE1,
.gpio = 0 x624000,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux = 1 ,
.amux = LINE1,
.gpio = 0 x624000,
} },
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
.gpio = 0 x624001,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = TV,
},
},
[SAA7134_BOARD_ADS_INSTANT_HDTV_PCI] = {
.name = "ADS Tech Instant HDTV" ,
.audio_clock = 0 x00187de7,
.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_COMPOSITE,
.vmux = 4 ,
.amux = LINE1,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8 ,
.amux = LINE1,
} },
},
[SAA7134_BOARD_ASUSTeK_TIGER] = {
.name = "Asus Tiger Rev:1.00" ,
.audio_clock = 0 x00187de7,
.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 = 0 x0200000,
.inputs = { {
.type = SAA7134_INPUT_TV,
.vmux = 1 ,
.amux = TV,
}, {
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3 ,
.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 = 0 x0200000,
},
},
[SAA7134_BOARD_KWORLD_PLUS_TV_ANALOG] = {
.name = "Kworld Plus TV Analog Lite PCI" ,
.audio_clock = 0 x00187de7,
.tuner_type = TUNER_YMEC_TVF_5533MF,
.radio_type = TUNER_TEA5767,
.tuner_addr = ADDR_UNSET,
.radio_addr = 0 x60,
.gpiomask = 0 x80000700,
.inputs = { {
.type = SAA7134_INPUT_TV,
.vmux = 1 ,
.amux = LINE2,
.gpio = 0 x100,
}, {
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3 ,
.amux = LINE1,
.gpio = 0 x200,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8 ,
.amux = LINE1,
.gpio = 0 x200,
} },
.radio = {
.type = SAA7134_INPUT_RADIO,
.vmux = 1 ,
.amux = LINE1,
.gpio = 0 x100,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.vmux = 8 ,
.amux = 2 ,
},
},
[SAA7134_BOARD_KWORLD_PCI_SBTVD_FULLSEG] = {
.name = "Kworld PCI SBTVD/ISDB-T Full-Seg Hybrid" ,
.audio_clock = 0 x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.tuner_addr = ADDR_UNSET,
.radio_type = UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask = 0 x8e054000,
.mpeg = SAA7134_MPEG_DVB,
.ts_type = SAA7134_MPEG_TS_PARALLEL,
.inputs = { {
.type = SAA7134_INPUT_TV,
.vmux = 1 ,
.amux = TV,
#if 0 /* FIXME */
}, {
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3 ,
.amux = LINE1,
.gpio = 0 x200,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8 ,
.amux = LINE1,
.gpio = 0 x200,
#endif
} },
#if 0
.radio = {
.type = SAA7134_INPUT_RADIO,
.vmux = 1 ,
.amux = LINE1,
.gpio = 0 x100,
},
#endif
.mute = {
.type = SAA7134_INPUT_MUTE,
.vmux = 0 ,
.amux = TV,
},
},
[SAA7134_BOARD_AVERMEDIA_GO_007_FM_PLUS] = {
.name = "Avermedia AVerTV GO 007 FM Plus" ,
.audio_clock = 0 x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask = 0 x00300003,
/* .gpiomask = 0x8c240003, */
.inputs = { {
.type = SAA7134_INPUT_TV,
.vmux = 1 ,
.amux = TV,
.gpio = 0 x01,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux = 6 ,
.amux = LINE1,
.gpio = 0 x02,
} },
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
.gpio = 0 x00300001,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = TV,
.gpio = 0 x01,
},
},
[SAA7134_BOARD_AVERMEDIA_STUDIO_507UA] = {
/* Andy Shevchenko <andy@kernel.org> */
.name = "Avermedia AVerTV Studio 507UA" ,
.audio_clock = 0 x00187de7,
.tuner_type = TUNER_PHILIPS_FM1216ME_MK3, /* Should be MK5 */
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda9887_conf = TDA9887_PRESENT,
.gpiomask = 0 x03,
.inputs = { {
.type = SAA7134_INPUT_TV,
.vmux = 1 ,
.amux = TV,
.gpio = 0 x00,
}, {
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3 ,
.amux = LINE1,
.gpio = 0 x00,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8 ,
.amux = LINE1,
.gpio = 0 x00,
} },
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
.gpio = 0 x01,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = LINE1,
.gpio = 0 x00,
},
},
[SAA7134_BOARD_VIDEOMATE_S350] = {
/* Jan D. Louw <jd.louw@mweb.co.za */
.name = "Compro VideoMate S350/S300" ,
.audio_clock = 0 x00187de7,
.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 = 0 ,
.amux = LINE1,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8 , /* Not tested */
.amux = LINE1
} },
},
[SAA7134_BOARD_BEHOLD_X7] = {
/* Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com> */
.name = "Beholder BeholdTV X7" ,
.audio_clock = 0 x00187de7,
.tuner_type = TUNER_XC5000,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.mpeg = SAA7134_MPEG_DVB,
.inputs = { {
.type = SAA7134_INPUT_TV,
.vmux = 2 ,
.amux = TV,
}, {
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 0 ,
.amux = LINE1,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux = 9 ,
.amux = LINE1,
} },
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
},
},
[SAA7134_BOARD_ZOLID_HYBRID_PCI] = {
.name = "Zolid Hybrid TV Tuner PCI" ,
.audio_clock = 0 x00187de7,
.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,
.ts_type = SAA7134_MPEG_TS_PARALLEL,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 1 ,
.amux = TV,
} },
.radio = { /* untested */
.type = SAA7134_INPUT_RADIO,
.amux = TV,
},
},
[SAA7134_BOARD_ASUS_EUROPA_HYBRID] = {
.name = "Asus Europa Hybrid OEM" ,
.audio_clock = 0 x00187de7,
.tuner_type = TUNER_PHILIPS_TD1316,
.radio_type = UNSET,
.tuner_addr = 0 x61,
.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 = 4 ,
.amux = LINE2,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8 ,
.amux = LINE2,
} },
},
[SAA7134_BOARD_LEADTEK_WINFAST_DTV1000S] = {
.name = "Leadtek Winfast DTV1000S" ,
.audio_clock = 0 x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.mpeg = SAA7134_MPEG_DVB,
.inputs = { {
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3 ,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8 ,
} },
},
[SAA7134_BOARD_BEHOLD_505RDS_MK3] = {
/* Beholder Intl. Ltd. 2008 */
/*Dmitry Belimov <d.belimov@gmail.com> */
.name = "Beholder BeholdTV 505 RDS" ,
.audio_clock = 0 x00200000,
.tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.rds_addr = 0 x10,
.tda9887_conf = TDA9887_PRESENT,
.gpiomask = 0 x00008000,
.inputs = {{
.type = SAA7134_INPUT_TV,
.vmux = 3 ,
.amux = LINE2,
}, {
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 1 ,
.amux = LINE1,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8 ,
.amux = LINE1,
} },
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = LINE1,
},
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE2,
},
},
[SAA7134_BOARD_HAWELL_HW_404M7] = {
/* Hawell HW-404 M7 & Hawell HW-808 M7 */
/* Bogoslovskiy Viktor <bogovic@bk.ru> */
.name = "Hawell HW-404 M7",
.audio_clock = 0 x00200000,
.tuner_type = UNSET,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask = 0 x389c00,
.inputs = {{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3 ,
.amux = LINE1,
.gpio = 0 x01fc00,
} },
},
[SAA7134_BOARD_BEHOLD_H7] = {
/* Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com> */
.name = "Beholder BeholdTV H7",
.audio_clock = 0 x00187de7,
.tuner_type = TUNER_XC5000,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.mpeg = SAA7134_MPEG_DVB,
.ts_type = SAA7134_MPEG_TS_PARALLEL,
.inputs = { {
.type = SAA7134_INPUT_TV,
.vmux = 2 ,
.amux = TV,
}, {
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 0 ,
.amux = LINE1,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux = 9 ,
.amux = LINE1,
} },
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
},
},
[SAA7134_BOARD_BEHOLD_A7] = {
/* Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com> */
.name = "Beholder BeholdTV A7",
.audio_clock = 0 x00187de7,
.tuner_type = TUNER_XC5000,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = { {
.type = SAA7134_INPUT_TV,
.vmux = 2 ,
.amux = TV,
}, {
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 0 ,
.amux = LINE1,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux = 9 ,
.amux = LINE1,
} },
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
},
},
[SAA7134_BOARD_TECHNOTREND_BUDGET_T3000] = {
.name = "TechoTrend TT-budget T-3000 ",
.tuner_type = TUNER_PHILIPS_TD1316,
.audio_clock = 0 x00187de7,
.radio_type = UNSET,
.tuner_addr = 0 x63,
.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_M1F] = {
/* Pavel Osnova <pvosnova@gmail.com> */
.name = "Compro VideoMate Vista M1F",
.audio_clock = 0 x00187de7,
.tuner_type = TUNER_LG_PAL_NEW_TAPC,
.radio_type = TUNER_TEA5767,
.tuner_addr = ADDR_UNSET,
.radio_addr = 0 x60,
.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,
} },
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE1,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = TV,
},
},
[SAA7134_BOARD_MAGICPRO_PROHDTV_PRO2] = {
/* Timothy Lee <timothy.lee@siriushk.com> */
.name = "MagicPro ProHDTV Pro2 DMB-TH/Hybrid",
.audio_clock = 0 x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tda829x_conf = { .lna_cfg = TDA8290_LNA_ON_BRIDGE },
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask = 0 x02050000,
.mpeg = SAA7134_MPEG_DVB,
.ts_type = SAA7134_MPEG_TS_PARALLEL,
.inputs = { {
.type = SAA7134_INPUT_TV,
.vmux = 1 ,
.amux = TV,
.gpio = 0 x00050000,
}, {
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3 ,
.amux = LINE1,
.gpio = 0 x00050000,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8 ,
.amux = LINE1,
.gpio = 0 x00050000,
} },
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
.gpio = 0 x00050000,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.vmux = 0 ,
.amux = TV,
.gpio = 0 x00050000,
},
},
[SAA7134_BOARD_BEHOLD_501] = {
/* Beholder Intl. Ltd. 2010 */
/* Dmitry Belimov <d.belimov@gmail.com> */
.name = "Beholder BeholdTV 501 ",
.audio_clock = 0 x00200000,
.tuner_type = TUNER_ABSENT,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask = 0 x00008000,
.inputs = { {
.type = SAA7134_INPUT_TV,
.vmux = 3 ,
.amux = LINE2,
}, {
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 1 ,
.amux = LINE1,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8 ,
.amux = LINE1,
} },
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = LINE1,
},
},
[SAA7134_BOARD_BEHOLD_503FM] = {
/* Beholder Intl. Ltd. 2010 */
/* Dmitry Belimov <d.belimov@gmail.com> */
.name = "Beholder BeholdTV 503 FM",
.audio_clock = 0 x00200000,
.tuner_type = TUNER_ABSENT,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask = 0 x00008000,
.inputs = { {
.type = SAA7134_INPUT_TV,
.vmux = 3 ,
.amux = LINE2,
}, {
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 1 ,
.amux = LINE1,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8 ,
.amux = LINE1,
} },
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = LINE1,
},
},
[SAA7134_BOARD_SENSORAY811_911] = {
.name = "Sensoray 811 /911 ",
.audio_clock = 0 x00200000,
.tuner_type = TUNER_ABSENT,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.inputs = {{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 0 ,
.amux = LINE1,
}, {
.type = SAA7134_INPUT_COMPOSITE3,
.vmux = 2 ,
.amux = LINE1,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8 ,
.amux = LINE1,
} },
},
[SAA7134_BOARD_KWORLD_PC150U] = {
.name = "Kworld PC150-U",
.audio_clock = 0 x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.mpeg = SAA7134_MPEG_DVB,
.gpiomask = 1 << 21 ,
.ts_type = SAA7134_MPEG_TS_PARALLEL,
.inputs = { {
.type = SAA7134_INPUT_TV,
.vmux = 1 ,
.amux = TV,
}, {
.type = SAA7134_INPUT_COMPOSITE,
.vmux = 3 ,
.amux = LINE1,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8 ,
.amux = LINE2,
} },
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
.gpio = 0 x0000000,
},
},
[SAA7134_BOARD_HAWELL_HW_9004V1] = {
/* Hawell HW-9004 V1 */
/* Vadim Frolov <fralik@gmail.com> */
.name = "Hawell HW-9004 V1",
.audio_clock = 0 x00200000,
.tuner_type = UNSET,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask = 0 x618E700,
.inputs = {{
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3 ,
.amux = LINE1,
.gpio = 0 x6010000,
} },
},
[SAA7134_BOARD_AVERMEDIA_A706] = {
.name = "AverMedia AverTV Satellite Hybrid+FM A706",
.audio_clock = 0 x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.tda829x_conf = { .lna_cfg = TDA8290_LNA_OFF,
.no_i2c_gate = 1 ,
.tda18271_std_map = &aver_a706_std_map },
.gpiomask = 1 << 11 ,
.mpeg = SAA7134_MPEG_DVB,
.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,
} },
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
.gpio = 0 x0000800,
},
},
[SAA7134_BOARD_WIS_VOYAGER] = {
.name = "WIS Voyager or compatible",
.audio_clock = 0 x00200000,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.mpeg = SAA7134_MPEG_GO7007,
.inputs = { {
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 0 ,
.amux = LINE2,
}, {
.type = SAA7134_INPUT_TV,
.vmux = 3 ,
.amux = TV,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux = 6 ,
.amux = LINE1,
} },
},
[SAA7134_BOARD_AVERMEDIA_505] = {
/* much like the "studio" version but without radio
* and another tuner (dbaryshkov@gmail.com) */
.name = "AverMedia AverTV/505 ",
.audio_clock = 0 x00187de7,
.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_LEADTEK_WINFAST_TV2100_FM] = {
.name = "Leadtek Winfast TV2100 FM",
.audio_clock = 0 x00187de7,
.tuner_type = TUNER_TNF_5335MF,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.gpiomask = 0 x0d,
.inputs = {{
.type = SAA7134_INPUT_TV_MONO,
.vmux = 1 ,
.amux = LINE1,
.gpio = 0 x00,
}, {
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3 ,
.amux = LINE2,
.gpio = 0 x08,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8 ,
.amux = LINE2,
.gpio = 0 x08,
} },
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = LINE1,
.gpio = 0 x04,
},
.mute = {
.type = SAA7134_INPUT_MUTE,
.amux = LINE1,
.gpio = 0 x08,
},
},
[SAA7134_BOARD_SNAZIO_TVPVR_PRO] = {
.name = "SnaZio* TVPVR PRO",
.audio_clock = 0 x00187de7,
.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 = 0 x0000000,
}, {
.type = SAA7134_INPUT_COMPOSITE1,
.vmux = 3 ,
.amux = LINE2,
.gpio = 0 x0000000,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8 ,
.amux = LINE2,
.gpio = 0 x0000000,
} },
.radio = {
.type = SAA7134_INPUT_RADIO,
.amux = TV,
.gpio = 0 x0200000,
},
},
[SAA7134_BOARD_LEADTEK_WINFAST_HDTV200_H] = {
.name = "Leadtek Winfast HDTV200 H",
.audio_clock = 0 x00187de7,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.mpeg = SAA7134_MPEG_DVB,
.ts_type = SAA7134_MPEG_TS_PARALLEL,
.gpiomask = 0 x00200700,
.inputs = { {
.type = SAA7134_INPUT_TV,
.vmux = 1 ,
.amux = TV,
.gpio = 0 x00000300,
}, {
.type = SAA7134_INPUT_COMPOSITE,
.vmux = 3 ,
.amux = LINE1,
.gpio = 0 x00200300,
}, {
.type = SAA7134_INPUT_SVIDEO,
.vmux = 8 ,
.amux = LINE1,
.gpio = 0 x00200300,
} },
},
};
const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);
/* ------------------------------------------------------------------ */
/* PCI ids + subsystem IDs */
struct pci_device_id saa7134_pci_tbl[] = {
{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = PCI_VENDOR_ID_PHILIPS,
.subdevice = 0 x2001,
.driver_data = SAA7134_BOARD_PROTEUS_PRO,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = PCI_VENDOR_ID_PHILIPS,
.subdevice = 0 x2001,
.driver_data = SAA7134_BOARD_PROTEUS_PRO,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = PCI_VENDOR_ID_PHILIPS,
.subdevice = 0 x6752,
.driver_data = SAA7134_BOARD_EMPRESS,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x1131,
.subdevice = 0 x4e85,
.driver_data = SAA7134_BOARD_MONSTERTV,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x153b,
.subdevice = 0 x1142,
.driver_data = SAA7134_BOARD_CINERGY400,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x153b,
.subdevice = 0 x1143,
.driver_data = SAA7134_BOARD_CINERGY600,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x153b,
.subdevice = 0 x1158,
.driver_data = SAA7134_BOARD_CINERGY600_MK3,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x153b,
.subdevice = 0 x1162,
.driver_data = SAA7134_BOARD_CINERGY400_CARDBUS,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x5169,
.subdevice = 0 x0138,
.driver_data = SAA7134_BOARD_FLYVIDEO3000_NTSC,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x5168,
.subdevice = 0 x0138,
.driver_data = SAA7134_BOARD_FLYVIDEO3000,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x4e42, /* "Typhoon PCI Capture TV Card" Art.No. 50673 */
.subdevice = 0 x0138,
.driver_data = SAA7134_BOARD_FLYVIDEO3000,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = 0 x5168,
.subdevice = 0 x0138,
.driver_data = SAA7134_BOARD_FLYVIDEO2000,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = 0 x4e42, /* Typhoon */
.subdevice = 0 x0138, /* LifeView FlyTV Prime30 OEM */
.driver_data = SAA7134_BOARD_FLYVIDEO2000,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x5168,
.subdevice = 0 x0212, /* minipci, LR212 */
.driver_data = SAA7134_BOARD_FLYTVPLATINUM_MINI,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x14c0,
.subdevice = 0 x1212, /* minipci, LR1212 */
.driver_data = SAA7134_BOARD_FLYTVPLATINUM_MINI2,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x4e42,
.subdevice = 0 x0212, /* OEM minipci, LR212 */
.driver_data = SAA7134_BOARD_FLYTVPLATINUM_MINI,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x5168, /* Animation Technologies (LifeView) */
.subdevice = 0 x0214, /* Standard PCI, LR214 Rev E and earlier (SAA7135) */
.driver_data = SAA7134_BOARD_FLYTVPLATINUM_FM,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x5168, /* Animation Technologies (LifeView) */
.subdevice = 0 x5214, /* Standard PCI, LR214 Rev F onwards (SAA7131) */
.driver_data = SAA7134_BOARD_FLYTVPLATINUM_FM,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1489, /* KYE */
.subdevice = 0 x0214, /* Genius VideoWonder ProTV */
.driver_data = SAA7134_BOARD_FLYTVPLATINUM_FM, /* is an LR214WF actually */
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x16be,
.subdevice = 0 x0003,
.driver_data = SAA7134_BOARD_MD7134,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x16be, /* CTX946 analog TV, HW mpeg, DVB-T */
.subdevice = 0 x5000, /* only analog TV and DVB-T for now */
.driver_data = SAA7134_BOARD_MD7134,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = 0 x1048,
.subdevice = 0 x226b,
.driver_data = SAA7134_BOARD_ELSA,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = 0 x1048,
.subdevice = 0 x226a,
.driver_data = SAA7134_BOARD_ELSA_500TV,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = 0 x1048,
.subdevice = 0 x226c,
.driver_data = SAA7134_BOARD_ELSA_700TV,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = PCI_VENDOR_ID_ASUSTEK,
.subdevice = 0 x4842,
.driver_data = SAA7134_BOARD_ASUSTeK_TVFM7134,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = PCI_VENDOR_ID_ASUSTEK,
.subdevice = 0 x4845,
.driver_data = SAA7134_BOARD_ASUSTeK_TVFM7135,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = PCI_VENDOR_ID_ASUSTEK,
.subdevice = 0 x4830,
.driver_data = SAA7134_BOARD_ASUSTeK_TVFM7134,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = PCI_VENDOR_ID_ASUSTEK,
.subdevice = 0 x4843,
.driver_data = SAA7134_BOARD_ASUSTEK_TVFM7133,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = PCI_VENDOR_ID_ASUSTEK,
.subdevice = 0 x4840,
.driver_data = SAA7134_BOARD_ASUSTeK_TVFM7134,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = PCI_VENDOR_ID_PHILIPS,
.subdevice = 0 xfe01,
.driver_data = SAA7134_BOARD_TVSTATION_RDS,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x1894,
.subdevice = 0 xfe01,
.driver_data = SAA7134_BOARD_TVSTATION_RDS,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x1894,
.subdevice = 0 xa006,
.driver_data = SAA7134_BOARD_TVSTATION_DVR,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x1131,
.subdevice = 0 x7133,
.driver_data = SAA7134_BOARD_VA1000POWER,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = PCI_VENDOR_ID_PHILIPS,
.subdevice = 0 x2001,
.driver_data = SAA7134_BOARD_10MOONSTVMASTER,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x185b,
.subdevice = 0 xc100,
.driver_data = SAA7134_BOARD_VIDEOMATE_TV,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x185b,
.subdevice = 0 xc100,
.driver_data = SAA7134_BOARD_VIDEOMATE_TV_GOLD_PLUS,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = PCI_VENDOR_ID_MATROX,
.subdevice = 0 x48d0,
.driver_data = SAA7134_BOARD_CRONOS_PLUS,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x1461, /* Avermedia Technologies Inc */
.subdevice = 0 xa70b,
.driver_data = SAA7134_BOARD_MD2819,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1461, /* Avermedia Technologies Inc */
.subdevice = 0 xa7a1,
.driver_data = SAA7134_BOARD_AVERMEDIA_A700_PRO,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1461, /* Avermedia Technologies Inc */
.subdevice = 0 xa7a2,
.driver_data = SAA7134_BOARD_AVERMEDIA_A700_HYBRID,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = 0 x1461, /* Avermedia Technologies Inc */
.subdevice = 0 x2115,
.driver_data = SAA7134_BOARD_AVERMEDIA_STUDIO_305,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = 0 x1461, /* Avermedia Technologies Inc */
.subdevice = 0 xa115,
.driver_data = SAA7134_BOARD_AVERMEDIA_STUDIO_505,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = 0 x1461, /* Avermedia Technologies Inc */
.subdevice = 0 x2108,
.driver_data = SAA7134_BOARD_AVERMEDIA_305,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = 0 x1461, /* Avermedia Technologies Inc */
.subdevice = 0 x10ff,
.driver_data = SAA7134_BOARD_AVERMEDIA_DVD_EZMAKER,
},{
/* AVerMedia CardBus */
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x1461, /* Avermedia Technologies Inc */
.subdevice = 0 xd6ee,
.driver_data = SAA7134_BOARD_AVERMEDIA_CARDBUS,
},{
/* AVerMedia CardBus */
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x1461, /* Avermedia Technologies Inc */
.subdevice = 0 xb7e9,
.driver_data = SAA7134_BOARD_AVERMEDIA_CARDBUS_501,
}, {
/* TransGear 3000 TV */
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = 0 x1461, /* Avermedia Technologies Inc */
.subdevice = 0 x050c,
.driver_data = SAA7134_BOARD_TG3000TV,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x11bd,
.subdevice = 0 x002b,
.driver_data = SAA7134_BOARD_PINNACLE_PCTV_STEREO,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x11bd,
.subdevice = 0 x002d,
.driver_data = SAA7134_BOARD_PINNACLE_300I_DVBT_PAL,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x1019,
.subdevice = 0 x4cb4,
.driver_data = SAA7134_BOARD_ECS_TVP3XP,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1019,
.subdevice = 0 x4cb5,
.driver_data = SAA7134_BOARD_ECS_TVP3XP_4CB5,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x1019,
.subdevice = 0 x4cb6,
.driver_data = SAA7134_BOARD_ECS_TVP3XP_4CB6,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x12ab,
.subdevice = 0 x0800,
.driver_data = SAA7134_BOARD_UPMOST_PURPLE_TV,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = 0 x153b,
.subdevice = 0 x1152,
.driver_data = SAA7134_BOARD_CINERGY200,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = 0 x185b,
.subdevice = 0 xc100,
.driver_data = SAA7134_BOARD_VIDEOMATE_TV_PVR,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x1461, /* Avermedia Technologies Inc */
.subdevice = 0 x9715,
.driver_data = SAA7134_BOARD_AVERMEDIA_STUDIO_307,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x1461, /* Avermedia Technologies Inc */
.subdevice = 0 xa70a,
.driver_data = SAA7134_BOARD_AVERMEDIA_307,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x185b,
.subdevice = 0 xc200,
.driver_data = SAA7134_BOARD_VIDEOMATE_GOLD_PLUS,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x1540,
.subdevice = 0 x9524,
.driver_data = SAA7134_BOARD_PROVIDEO_PV952,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x5168,
.subdevice = 0 x0502, /* Cardbus version */
.driver_data = SAA7134_BOARD_FLYDVBT_DUO_CARDBUS,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x5168,
.subdevice = 0 x0306, /* PCI version */
.driver_data = SAA7134_BOARD_FLYDVBTDUO,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1461, /* Avermedia Technologies Inc */
.subdevice = 0 xf31f,
.driver_data = SAA7134_BOARD_AVERMEDIA_GO_007_FM,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1461, /* Avermedia Technologies Inc */
.subdevice = 0 xf11d,
.driver_data = SAA7134_BOARD_AVERMEDIA_M135A,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1461, /* Avermedia Technologies Inc */
.subdevice = 0 x4155,
.driver_data = SAA7134_BOARD_AVERMEDIA_M733A,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1461, /* Avermedia Technologies Inc */
.subdevice = 0 x4255,
.driver_data = SAA7134_BOARD_AVERMEDIA_M733A,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = PCI_VENDOR_ID_PHILIPS,
.subdevice = 0 x2004,
.driver_data = SAA7134_BOARD_PHILIPS_TOUGH,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1421,
.subdevice = 0 x0350, /* PCI version */
.driver_data = SAA7134_BOARD_ADS_INSTANT_TV,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1421,
.subdevice = 0 x0351, /* PCI version, new revision */
.driver_data = SAA7134_BOARD_ADS_INSTANT_TV,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1421,
.subdevice = 0 x0370, /* cardbus version */
.driver_data = SAA7134_BOARD_ADS_INSTANT_TV,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1421,
.subdevice = 0 x1370, /* cardbus version */
.driver_data = SAA7134_BOARD_ADS_INSTANT_TV,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x4e42, /* Typhoon */
.subdevice = 0 x0502, /* LifeView LR502 OEM */
.driver_data = SAA7134_BOARD_FLYDVBT_DUO_CARDBUS,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1043,
.subdevice = 0 x0210, /* mini pci NTSC version */
.driver_data = SAA7134_BOARD_FLYTV_DIGIMATRIX,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x1043,
.subdevice = 0 x0210, /* mini pci PAL/SECAM version */
.driver_data = SAA7134_BOARD_ASUSTEK_DIGIMATRIX_TV,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x0000, /* It shouldn't break anything, since subdevice id seems unique */
.subdevice = 0 x4091,
.driver_data = SAA7134_BOARD_BEHOLD_409FM,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x5456, /* GoTView */
.subdevice = 0 x7135,
.driver_data = SAA7134_BOARD_GOTVIEW_7135,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = PCI_VENDOR_ID_PHILIPS,
.subdevice = 0 x2004,
.driver_data = SAA7134_BOARD_PHILIPS_EUROPA,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x185b,
.subdevice = 0 xc900,
.driver_data = SAA7134_BOARD_VIDEOMATE_DVBT_300,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = 0 x185b,
.subdevice = 0 xc901,
.driver_data = SAA7134_BOARD_VIDEOMATE_DVBT_200,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1435,
.subdevice = 0 x7350,
.driver_data = SAA7134_BOARD_RTD_VFG7350,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1435,
.subdevice = 0 x7330,
.driver_data = SAA7134_BOARD_RTD_VFG7330,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1461,
.subdevice = 0 x1044,
.driver_data = SAA7134_BOARD_AVERMEDIA_AVERTVHD_A180,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1131,
.subdevice = 0 x4ee9,
.driver_data = SAA7134_BOARD_MONSTERTV_MOBILE,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x11bd,
.subdevice = 0 x002e,
.driver_data = SAA7134_BOARD_PINNACLE_PCTV_110i,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1043,
.subdevice = 0 x4862,
.driver_data = SAA7134_BOARD_ASUSTeK_P7131_DUAL,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = PCI_VENDOR_ID_PHILIPS,
.subdevice = 0 x2018,
.driver_data = SAA7134_BOARD_PHILIPS_TIGER,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1462,
.subdevice = 0 x6231, /* tda8275a, ks003 IR */
.driver_data = SAA7134_BOARD_MSI_TVATANYWHERE_PLUS,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1462,
.subdevice = 0 x8624, /* tda8275, ks003 IR */
.driver_data = SAA7134_BOARD_MSI_TVATANYWHERE_PLUS,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x153b,
.subdevice = 0 x1160,
.driver_data = SAA7134_BOARD_CINERGY250PCI,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133, /* SAA 7131 E */
.subvendor = 0 x5168,
.subdevice = 0 x0319,
.driver_data = SAA7134_BOARD_FLYDVB_TRIO,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x1461,
.subdevice = 0 x2c05,
.driver_data = SAA7134_BOARD_AVERMEDIA_777,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x5168,
.subdevice = 0 x0301,
.driver_data = SAA7134_BOARD_FLYDVBT_LR301,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x0331,
.subdevice = 0 x1421,
.driver_data = SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x17de,
.subdevice = 0 x7201,
.driver_data = SAA7134_BOARD_TEVION_DVBT_220RF,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x17de,
.subdevice = 0 x7250,
.driver_data = SAA7134_BOARD_KWORLD_DVBT_210,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133, /* SAA7135HL */
.subvendor = 0 x17de,
.subdevice = 0 x7350,
.driver_data = SAA7134_BOARD_KWORLD_ATSC110,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133, /* SAA7135HL */
.subvendor = 0 x17de,
.subdevice = 0 x7352,
.driver_data = SAA7134_BOARD_KWORLD_ATSC110, /* ATSC 115 */
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133, /* SAA7135HL */
.subvendor = 0 x17de,
.subdevice = 0 xa134,
.driver_data = SAA7134_BOARD_KWORLD_PC150U,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x1461,
.subdevice = 0 x7360,
.driver_data = SAA7134_BOARD_AVERMEDIA_A169_B,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x1461,
.subdevice = 0 x6360,
.driver_data = SAA7134_BOARD_AVERMEDIA_A169_B1,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x16be,
.subdevice = 0 x0005,
.driver_data = SAA7134_BOARD_MD7134_BRIDGE_2,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x5168,
.subdevice = 0 x0300,
.driver_data = SAA7134_BOARD_FLYDVBS_LR300,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x4e42,
.subdevice = 0 x0300,/* LR300 */
.driver_data = SAA7134_BOARD_FLYDVBS_LR300,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x1489,
.subdevice = 0 x0301,
.driver_data = SAA7134_BOARD_FLYDVBT_LR301,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x5168, /* Animation Technologies (LifeView) */
.subdevice = 0 x0304,
.driver_data = SAA7134_BOARD_FLYTVPLATINUM_FM,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x5168,
.subdevice = 0 x3306,
.driver_data = SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x5168,
.subdevice = 0 x3502, /* what's the difference to 0 x3306 ?*/
.driver_data = SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x5168,
.subdevice = 0 x3307, /* FlyDVB-T Hybrid Mini PCI */
.driver_data = SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x16be,
.subdevice = 0 x0007,
.driver_data = SAA7134_BOARD_MEDION_MD8800_QUADRO,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x16be,
.subdevice = 0 x0008,
.driver_data = SAA7134_BOARD_MEDION_MD8800_QUADRO,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x16be,
.subdevice = 0 x000d, /* triple CTX948_V1.1 .1 */
.driver_data = SAA7134_BOARD_MEDION_MD8800_QUADRO,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1461,
.subdevice = 0 x2c05,
.driver_data = SAA7134_BOARD_AVERMEDIA_777,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1489,
.subdevice = 0 x0502, /* Cardbus version */
.driver_data = SAA7134_BOARD_FLYDVBT_DUO_CARDBUS,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = 0 x0919, /* Philips Proteus PRO 2309 */
.subdevice = 0 x2003,
.driver_data = SAA7134_BOARD_PROTEUS_2309,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x1461,
.subdevice = 0 x2c00,
.driver_data = SAA7134_BOARD_AVERMEDIA_A16AR,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x1043,
.subdevice = 0 x4860,
.driver_data = SAA7134_BOARD_ASUS_EUROPA2_HYBRID,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x11bd,
.subdevice = 0 x002f,
.driver_data = SAA7134_BOARD_PINNACLE_PCTV_310i,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1461, /* Avermedia Technologies Inc */
.subdevice = 0 x9715,
.driver_data = SAA7134_BOARD_AVERMEDIA_STUDIO_507,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x1461, /* Avermedia Technologies Inc */
.subdevice = 0 xa11b,
.driver_data = SAA7134_BOARD_AVERMEDIA_STUDIO_507UA,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1043,
.subdevice = 0 x4876,
.driver_data = SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x0070,
.subdevice = 0 x6700,
.driver_data = SAA7134_BOARD_HAUPPAUGE_HVR1110,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x0070,
.subdevice = 0 x6701,
.driver_data = SAA7134_BOARD_HAUPPAUGE_HVR1110,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x0070,
.subdevice = 0 x6702,
.driver_data = SAA7134_BOARD_HAUPPAUGE_HVR1110,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x0070,
.subdevice = 0 x6703,
.driver_data = SAA7134_BOARD_HAUPPAUGE_HVR1110,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x0070,
.subdevice = 0 x6704,
.driver_data = SAA7134_BOARD_HAUPPAUGE_HVR1110,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x0070,
.subdevice = 0 x6705,
.driver_data = SAA7134_BOARD_HAUPPAUGE_HVR1110,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x0070,
.subdevice = 0 x6706,
.driver_data = SAA7134_BOARD_HAUPPAUGE_HVR1150,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x0070,
.subdevice = 0 x6707,
.driver_data = SAA7134_BOARD_HAUPPAUGE_HVR1120,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x0070,
.subdevice = 0 x6708,
.driver_data = SAA7134_BOARD_HAUPPAUGE_HVR1150,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x0070,
.subdevice = 0 x6709,
.driver_data = SAA7134_BOARD_HAUPPAUGE_HVR1120,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x0070,
.subdevice = 0 x670a,
.driver_data = SAA7134_BOARD_HAUPPAUGE_HVR1120,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x153b,
.subdevice = 0 x1172,
.driver_data = SAA7134_BOARD_CINERGY_HT_PCMCIA,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = PCI_VENDOR_ID_PHILIPS,
.subdevice = 0 x2342,
.driver_data = SAA7134_BOARD_ENCORE_ENLTV,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = 0 x1131,
.subdevice = 0 x2341,
.driver_data = SAA7134_BOARD_ENCORE_ENLTV,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = 0 x3016,
.subdevice = 0 x2344,
.driver_data = SAA7134_BOARD_ENCORE_ENLTV,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = 0 x1131,
.subdevice = 0 x230f,
.driver_data = SAA7134_BOARD_ENCORE_ENLTV_FM,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = 0 x1a7f,
.subdevice = 0 x2008,
.driver_data = SAA7134_BOARD_ENCORE_ENLTV_FM53,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x1a7f,
.subdevice = 0 x2108,
.driver_data = SAA7134_BOARD_ENCORE_ENLTV_FM3,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x153b,
.subdevice = 0 x1175,
.driver_data = SAA7134_BOARD_CINERGY_HT_PCI,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1461, /* Avermedia Technologies Inc */
.subdevice = 0 xf31e,
.driver_data = SAA7134_BOARD_AVERMEDIA_M102,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x4E42, /* MSI */
.subdevice = 0 x0306, /* TV@nywhere DUO */
.driver_data = SAA7134_BOARD_FLYDVBTDUO,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1043,
.subdevice = 0 x4871,
.driver_data = SAA7134_BOARD_ASUS_P7131_4871,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1043,
.subdevice = 0 x4857, /* REV:1 .00 */
.driver_data = SAA7134_BOARD_ASUSTeK_TIGER,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x0919, /* SinoVideo PCI 2309 Proteus (7134 ) */
.subdevice = 0 x2003, /* OEM cardbus */
.driver_data = SAA7134_BOARD_SABRENT_TV_PCB05,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = PCI_VENDOR_ID_PHILIPS,
.subdevice = 0 x2304,
.driver_data = SAA7134_BOARD_10MOONSTVMASTER3,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1461, /* Avermedia Technologies Inc */
.subdevice = 0 xf01d, /* AVerTV DVB-T Super 007 */
.driver_data = SAA7134_BOARD_AVERMEDIA_SUPER_007,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = 0 x0000,
.subdevice = 0 x4016,
.driver_data = SAA7134_BOARD_BEHOLD_401,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x0000,
.subdevice = 0 x4036,
.driver_data = SAA7134_BOARD_BEHOLD_403,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x0000,
.subdevice = 0 x4037,
.driver_data = SAA7134_BOARD_BEHOLD_403FM,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = 0 x0000,
.subdevice = 0 x4050,
.driver_data = SAA7134_BOARD_BEHOLD_405,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = 0 x0000,
.subdevice = 0 x4051,
.driver_data = SAA7134_BOARD_BEHOLD_405FM,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x0000,
.subdevice = 0 x4070,
.driver_data = SAA7134_BOARD_BEHOLD_407,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x0000,
.subdevice = 0 x4071,
.driver_data = SAA7134_BOARD_BEHOLD_407FM,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x0000,
.subdevice = 0 x4090,
.driver_data = SAA7134_BOARD_BEHOLD_409,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = 0 x0000,
.subdevice = 0 x505B,
.driver_data = SAA7134_BOARD_BEHOLD_505RDS_MK5,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = 0 x0000,
.subdevice = 0 x5051,
.driver_data = SAA7134_BOARD_BEHOLD_505RDS_MK3,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = 0 x5ace,
.subdevice = 0 x5050,
.driver_data = SAA7134_BOARD_BEHOLD_505FM,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x0000,
.subdevice = 0 x5071,
.driver_data = SAA7134_BOARD_BEHOLD_507RDS_MK3,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x0000,
.subdevice = 0 x507B,
.driver_data = SAA7134_BOARD_BEHOLD_507RDS_MK5,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x5ace,
.subdevice = 0 x5070,
.driver_data = SAA7134_BOARD_BEHOLD_507_9FM,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x5ace,
.subdevice = 0 x5090,
.driver_data = SAA7134_BOARD_BEHOLD_507_9FM,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x0000,
.subdevice = 0 x5201,
.driver_data = SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x5ace,
.subdevice = 0 x6070,
.driver_data = SAA7134_BOARD_BEHOLD_607FM_MK3,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x5ace,
.subdevice = 0 x6071,
.driver_data = SAA7134_BOARD_BEHOLD_607FM_MK5,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x5ace,
.subdevice = 0 x6072,
.driver_data = SAA7134_BOARD_BEHOLD_607RDS_MK3,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x5ace,
.subdevice = 0 x6073,
.driver_data = SAA7134_BOARD_BEHOLD_607RDS_MK5,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x5ace,
.subdevice = 0 x6090,
.driver_data = SAA7134_BOARD_BEHOLD_609FM_MK3,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x5ace,
.subdevice = 0 x6091,
.driver_data = SAA7134_BOARD_BEHOLD_609FM_MK5,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x5ace,
.subdevice = 0 x6092,
.driver_data = SAA7134_BOARD_BEHOLD_609RDS_MK3,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x5ace,
.subdevice = 0 x6093,
.driver_data = SAA7134_BOARD_BEHOLD_609RDS_MK5,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x5ace,
.subdevice = 0 x6190,
.driver_data = SAA7134_BOARD_BEHOLD_M6,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x5ace,
.subdevice = 0 x6193,
.driver_data = SAA7134_BOARD_BEHOLD_M6_EXTRA,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x5ace,
.subdevice = 0 x6191,
.driver_data = SAA7134_BOARD_BEHOLD_M63,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x4e42,
.subdevice = 0 x3502,
.driver_data = SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1822, /*Twinhan Technology Co. Ltd*/
.subdevice = 0 x0022,
.driver_data = SAA7134_BOARD_TWINHAN_DTV_DVB_3056,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x16be,
.subdevice = 0 x0010, /* Medion version CTX953_V.1 .4 .3 */
.driver_data = SAA7134_BOARD_CREATIX_CTX953,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1462, /* MSI */
.subdevice = 0 x8625, /* TV@nywhere A/D v1.1 */
.driver_data = SAA7134_BOARD_MSI_TVANYWHERE_AD11,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1461, /* Avermedia Technologies Inc */
.subdevice = 0 xf436,
.driver_data = SAA7134_BOARD_AVERMEDIA_CARDBUS_506,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1461, /* Avermedia Technologies Inc */
.subdevice = 0 xf936,
.driver_data = SAA7134_BOARD_AVERMEDIA_A16D,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1461, /* Avermedia Technologies Inc */
.subdevice = 0 xa836,
.driver_data = SAA7134_BOARD_AVERMEDIA_M115,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x185b,
.subdevice = 0 xc900,
.driver_data = SAA7134_BOARD_VIDEOMATE_T750,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133, /* SAA7135HL */
.subvendor = 0 x1421,
.subdevice = 0 x0380,
.driver_data = SAA7134_BOARD_ADS_INSTANT_HDTV_PCI,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x5169,
.subdevice = 0 x1502,
.driver_data = SAA7134_BOARD_FLYTVPLATINUM_MINI,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x5ace,
.subdevice = 0 x6290,
.driver_data = SAA7134_BOARD_BEHOLD_H6,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1461, /* Avermedia Technologies Inc */
.subdevice = 0 xf636,
.driver_data = SAA7134_BOARD_AVERMEDIA_M103,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1461, /* Avermedia Technologies Inc */
.subdevice = 0 xf736,
.driver_data = SAA7134_BOARD_AVERMEDIA_M103,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1043,
.subdevice = 0 x4878, /* REV:1 .02 G */
.driver_data = SAA7134_BOARD_ASUSTeK_TIGER_3IN1,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1043,
.subdevice = 0 x48cd,
.driver_data = SAA7134_BOARD_ASUSTeK_PS3_100,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x17de,
.subdevice = 0 x7128,
.driver_data = SAA7134_BOARD_KWORLD_PLUS_TV_ANALOG,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x17de,
.subdevice = 0 xb136,
.driver_data = SAA7134_BOARD_KWORLD_PCI_SBTVD_FULLSEG,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1461, /* Avermedia Technologies Inc */
.subdevice = 0 xf31d,
.driver_data = SAA7134_BOARD_AVERMEDIA_GO_007_FM_PLUS,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = 0 x185b,
.subdevice = 0 xc900,
.driver_data = SAA7134_BOARD_VIDEOMATE_S350,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x5ace, /* Beholder Intl. Ltd. */
.subdevice = 0 x7595,
.driver_data = SAA7134_BOARD_BEHOLD_X7,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x19d1, /* RoverMedia */
.subdevice = 0 x0138, /* LifeView FlyTV Prime30 OEM */
.driver_data = SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = PCI_VENDOR_ID_PHILIPS,
.subdevice = 0 x2004,
.driver_data = SAA7134_BOARD_ZOLID_HYBRID_PCI,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x1043,
.subdevice = 0 x4847,
.driver_data = SAA7134_BOARD_ASUS_EUROPA_HYBRID,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = 0 x107d,
.subdevice = 0 x6655,
.driver_data = SAA7134_BOARD_LEADTEK_WINFAST_DTV1000S,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x13c2,
.subdevice = 0 x2804,
.driver_data = SAA7134_BOARD_TECHNOTREND_BUDGET_T3000,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x5ace, /* Beholder Intl. Ltd. */
.subdevice = 0 x7190,
.driver_data = SAA7134_BOARD_BEHOLD_H7,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x5ace, /* Beholder Intl. Ltd. */
.subdevice = 0 x7090,
.driver_data = SAA7134_BOARD_BEHOLD_A7,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7135,
.subvendor = 0 x185b,
.subdevice = 0 xc900,
.driver_data = SAA7134_BOARD_VIDEOMATE_M1F,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x5ace,
.subdevice = 0 x5030,
.driver_data = SAA7134_BOARD_BEHOLD_503FM,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = 0 x5ace,
.subdevice = 0 x5010,
.driver_data = SAA7134_BOARD_BEHOLD_501,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = 0 x17de,
.subdevice = 0 xd136,
.driver_data = SAA7134_BOARD_MAGICPRO_PROHDTV_PRO2,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x6000,
.subdevice = 0 x0811,
.driver_data = SAA7134_BOARD_SENSORAY811_911,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x6000,
.subdevice = 0 x0911,
.driver_data = SAA7134_BOARD_SENSORAY811_911,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1461, /* Avermedia Technologies Inc */
.subdevice = 0 x2055, /* AverTV Satellite Hybrid+FM A706 */
.driver_data = SAA7134_BOARD_AVERMEDIA_A706,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1905, /* WIS */
.subdevice = 0 x7007,
.driver_data = SAA7134_BOARD_WIS_VOYAGER,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = 0 x1461, /* Avermedia Technologies Inc */
.subdevice = 0 xa10a,
.driver_data = SAA7134_BOARD_AVERMEDIA_505,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = 0 x107d,
.subdevice = 0 x6f3a,
.driver_data = SAA7134_BOARD_LEADTEK_WINFAST_TV2100_FM,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x1779, /* V One Multimedia PTE Ltd */
.subdevice = 0 x13cf,
.driver_data = SAA7134_BOARD_SNAZIO_TVPVR_PRO,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0 x107d,
.subdevice = 0 x6f2e,
.driver_data = SAA7134_BOARD_LEADTEK_WINFAST_HDTV200_H,
}, {
/* --- boards without eeprom + subsystem ID --- */
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = PCI_VENDOR_ID_PHILIPS,
.subdevice = 0 ,
.driver_data = SAA7134_BOARD_NOAUTO,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = PCI_VENDOR_ID_PHILIPS,
.subdevice = 0 ,
.driver_data = SAA7134_BOARD_NOAUTO,
},{
/* --- default catch --- */
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7130,
.subvendor = PCI_ANY_ID,
.subdevice = PCI_ANY_ID,
.driver_data = SAA7134_BOARD_UNKNOWN,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = PCI_ANY_ID,
.subdevice = PCI_ANY_ID,
.driver_data = SAA7134_BOARD_UNKNOWN,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7134,
.subvendor = PCI_ANY_ID,
.subdevice = PCI_ANY_ID,
.driver_data = SAA7134_BOARD_UNKNOWN,
},{
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7135,
.subvendor = PCI_ANY_ID,
.subdevice = PCI_ANY_ID,
.driver_data = SAA7134_BOARD_UNKNOWN,
},{
/* --- end of list --- */
}
};
MODULE_DEVICE_TABLE(pci, saa7134_pci_tbl);
/* ----------------------------------------------------------- */
/* flyvideo tweaks */
static void board_flyvideo(struct saa7134_dev *dev)
{
pr_warn("%s: there are different flyvideo cards with different tuners\n"
"%s: out there, you might have to use the tuner=<nr> insmod\n"
"%s: option to override the default value.\n",
dev->name, dev->name, dev->name);
}
static int saa7134_xc2028_callback(struct saa7134_dev *dev,
int command, int arg)
{
switch (command) {
case XC2028_TUNER_RESET:
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2 , 0 x00008000, 0 x00000000);
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2 , 0 x00008000, 0 x00008000);
switch (dev->board) {
case SAA7134_BOARD_AVERMEDIA_CARDBUS_506:
case SAA7134_BOARD_AVERMEDIA_M103:
saa7134_set_gpio(dev, 23 , 0 );
msleep(10 );
saa7134_set_gpio(dev, 23 , 1 );
break;
case SAA7134_BOARD_AVERMEDIA_A16D:
saa7134_set_gpio(dev, 21 , 0 );
msleep(10 );
saa7134_set_gpio(dev, 21 , 1 );
break;
case SAA7134_BOARD_AVERMEDIA_A700_HYBRID:
saa7134_set_gpio(dev, 18 , 0 );
msleep(10 );
saa7134_set_gpio(dev, 18 , 1 );
break;
case SAA7134_BOARD_VIDEOMATE_T750:
saa7134_set_gpio(dev, 20 , 0 );
msleep(10 );
saa7134_set_gpio(dev, 20 , 1 );
break;
}
return 0 ;
}
return -EINVAL;
}
static int saa7134_xc5000_callback(struct saa7134_dev *dev,
int command, int arg)
{
switch (dev->board) {
case SAA7134_BOARD_BEHOLD_X7:
case SAA7134_BOARD_BEHOLD_H7:
case SAA7134_BOARD_BEHOLD_A7:
if (command == XC5000_TUNER_RESET) {
/* Down and UP pheripherial RESET pin for reset all chips */
saa_writeb(SAA7134_SPECIAL_MODE, 0 x00);
msleep(10 );
saa_writeb(SAA7134_SPECIAL_MODE, 0 x01);
msleep(10 );
}
break;
default:
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2 , 0 x06e20000, 0 x06e20000);
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2 , 0 x06a20000, 0 x06a20000);
saa_andorl(SAA7133_ANALOG_IO_SELECT >> 2 , 0 x02, 0 x02);
saa_andorl(SAA7134_ANALOG_IN_CTRL1 >> 2 , 0 x81, 0 x81);
saa_andorl(SAA7134_AUDIO_CLOCK0 >> 2 , 0 x03187de7, 0 x03187de7);
saa_andorl(SAA7134_AUDIO_PLL_CTRL >> 2 , 0 x03, 0 x03);
saa_andorl(SAA7134_AUDIO_CLOCKS_PER_FIELD0 >> 2 ,
0 x0001e000, 0 x0001e000);
break;
}
return 0 ;
}
static int saa7134_tda8290_827x_callback(struct saa7134_dev *dev,
int command, int arg)
{
u8 sync_control;
switch (command) {
case 0 : /* switch LNA gain through GPIO 22 */
saa7134_set_gpio(dev, 22 , arg) ;
break;
case 1 : /* vsync output at GPIO22. 50 / 60 Hz */
saa_andorb(SAA7134_VIDEO_PORT_CTRL3, 0 x80, 0 x80);
saa_andorb(SAA7134_VIDEO_PORT_CTRL6, 0 x0f, 0 x03);
if (arg == 1 )
sync_control = 11 ;
else
sync_control = 17 ;
saa_writeb(SAA7134_VGATE_START, sync_control);
saa_writeb(SAA7134_VGATE_STOP, sync_control + 1 );
saa_andorb(SAA7134_MISC_VGATE_MSB, 0 x03, 0 x00);
break;
default:
return -EINVAL;
}
return 0 ;
}
static inline int saa7134_tda18271_hvr11x0_toggle_agc(struct saa7134_dev *dev,
enum tda18271_mode mode)
{
/* toggle AGC switch through GPIO 26 */
switch (mode) {
case TDA18271_ANALOG:
saa7134_set_gpio(dev, 26 , 0 );
break;
case TDA18271_DIGITAL:
saa7134_set_gpio(dev, 26 , 1 );
break;
default:
return -EINVAL;
}
return 0 ;
}
static inline int saa7134_kworld_sbtvd_toggle_agc(struct saa7134_dev *dev,
enum tda18271_mode mode)
{
/* toggle AGC switch through GPIO 27 */
switch (mode) {
case TDA18271_ANALOG:
saa_writel(SAA7134_GPIO_GPMODE0 >> 2 , 0 x4000);
saa_writel(SAA7134_GPIO_GPSTATUS0 >> 2 , 0 x4000);
msleep(20 );
break;
case TDA18271_DIGITAL:
saa_writel(SAA7134_GPIO_GPMODE0 >> 2 , 0 x14000);
saa_writel(SAA7134_GPIO_GPSTATUS0 >> 2 , 0 x14000);
msleep(20 );
saa_writel(SAA7134_GPIO_GPMODE0 >> 2 , 0 x54000);
saa_writel(SAA7134_GPIO_GPSTATUS0 >> 2 , 0 x54000);
msleep(30 );
break;
default:
return -EINVAL;
}
return 0 ;
}
static int saa7134_kworld_pc150u_toggle_agc(struct saa7134_dev *dev,
enum tda18271_mode mode)
{
switch (mode) {
case TDA18271_ANALOG:
saa7134_set_gpio(dev, 18 , 0 );
break;
case TDA18271_DIGITAL:
saa7134_set_gpio(dev, 18 , 1 );
msleep(30 );
break;
default:
return -EINVAL;
}
return 0 ;
}
static int saa7134_leadtek_hdtv200h_toggle_agc(struct saa7134_dev *dev,
enum tda18271_mode mode)
{
switch (mode) {
case TDA18271_ANALOG:
saa7134_set_gpio(dev, 10 , 0 );
break;
case TDA18271_DIGITAL:
saa7134_set_gpio(dev, 10 , 1 );
break;
default:
return -EINVAL;
}
return 0 ;
}
static int saa7134_tda8290_18271_callback(struct saa7134_dev *dev,
int command, int arg)
{
int ret = 0 ;
switch (command) {
case TDA18271_CALLBACK_CMD_AGC_ENABLE: /* 0 */
switch (dev->board) {
case SAA7134_BOARD_HAUPPAUGE_HVR1150:
case SAA7134_BOARD_HAUPPAUGE_HVR1120:
case SAA7134_BOARD_MAGICPRO_PROHDTV_PRO2:
ret = saa7134_tda18271_hvr11x0_toggle_agc(dev, arg);
break;
case SAA7134_BOARD_KWORLD_PCI_SBTVD_FULLSEG:
ret = saa7134_kworld_sbtvd_toggle_agc(dev, arg);
break;
case SAA7134_BOARD_KWORLD_PC150U:
ret = saa7134_kworld_pc150u_toggle_agc(dev, arg);
break;
case SAA7134_BOARD_LEADTEK_WINFAST_HDTV200_H:
ret = saa7134_leadtek_hdtv200h_toggle_agc(dev, arg);
break;
default:
break;
}
break;
default:
ret = -EINVAL;
break;
}
return ret;
}
static int saa7134_tda8290_callback(struct saa7134_dev *dev,
int command, int arg)
{
int ret;
switch (dev->board) {
case SAA7134_BOARD_HAUPPAUGE_HVR1150:
case SAA7134_BOARD_HAUPPAUGE_HVR1120:
case SAA7134_BOARD_AVERMEDIA_M733A:
case SAA7134_BOARD_KWORLD_PCI_SBTVD_FULLSEG:
case SAA7134_BOARD_KWORLD_PC150U:
case SAA7134_BOARD_MAGICPRO_PROHDTV_PRO2:
case SAA7134_BOARD_LEADTEK_WINFAST_HDTV200_H:
/* tda8290 + tda18271 */
ret = saa7134_tda8290_18271_callback(dev, command, arg);
break;
default:
/* tda8290 + tda827x */
ret = saa7134_tda8290_827x_callback(dev, command, arg);
break;
}
return ret;
}
int saa7134_tuner_callback(void *priv, int component, int command, int arg)
{
struct saa7134_dev *dev = priv;
if (dev != NULL) {
switch (dev->tuner_type) {
case TUNER_PHILIPS_TDA8290:
return saa7134_tda8290_callback(dev, command, arg);
case TUNER_XC2028:
return saa7134_xc2028_callback(dev, command, arg);
case TUNER_XC5000:
return saa7134_xc5000_callback(dev, command, arg);
}
} else {
pr_err("saa7134: Error - device struct undefined.\n");
return -EINVAL;
}
return -EINVAL;
}
EXPORT_SYMBOL(saa7134_tuner_callback);
/* ----------------------------------------------------------- */
static void hauppauge_eeprom(struct saa7134_dev *dev, u8 *eeprom_data)
{
struct tveeprom tv;
tveeprom_hauppauge_analog(&tv, eeprom_data);
/* Make sure we support the board model */
switch (tv.model) {
case 67019 : /* WinTV-HVR1110 (Retail, IR Blaster, hybrid, FM, SVid/Comp, 3 .5 mm audio in) */
case 67109 : /* WinTV-HVR1000 (Retail, IR Receive, analog, no FM, SVid/Comp, 3 .5 mm audio in) */
case 67201 : /* WinTV-HVR1150 (Retail, IR Receive, hybrid, FM, SVid/Comp, 3 .5 mm audio in) */
case 67301 : /* WinTV-HVR1000 (Retail, IR Receive, analog, no FM, SVid/Comp, 3 .5 mm audio in) */
case 67209 : /* WinTV-HVR1110 (Retail, IR Receive, hybrid, FM, SVid/Comp, 3 .5 mm audio in) */
case 67559 : /* WinTV-HVR1110 (OEM, no IR, hybrid, FM, SVid/Comp, RCA aud) */
case 67569 : /* WinTV-HVR1110 (OEM, no IR, hybrid, FM) */
case 67579 : /* WinTV-HVR1110 (OEM, no IR, hybrid, no FM) */
case 67589 : /* WinTV-HVR1110 (OEM, no IR, hybrid, no FM, SVid/Comp, RCA aud) */
case 67599 : /* WinTV-HVR1110 (OEM, no IR, hybrid, no FM, SVid/Comp, RCA aud) */
case 67651 : /* WinTV-HVR1150 (OEM, no IR, hybrid, FM, SVid/Comp, RCA aud) */
case 67659 : /* WinTV-HVR1110 (OEM, no IR, hybrid, FM, SVid/Comp, RCA aud) */
break;
default:
pr_warn("%s: warning: unknown hauppauge model #%d\n",
dev->name, tv.model);
break;
}
pr_info("%s: hauppauge eeprom: model=%d\n",
dev->name, tv.model);
}
/* ----------------------------------------------------------- */
int saa7134_board_init1(struct saa7134_dev *dev)
{
/* Always print gpio, often manufacturers encode tuner type and other info. */
saa_writel(SAA7134_GPIO_GPMODE0 >> 2 , 0 );
dev->gpio_value = saa_readl(SAA7134_GPIO_GPSTATUS0 >> 2 );
pr_info("%s: board init: gpio is %x\n", dev->name, dev->gpio_value);
switch (dev->board) {
case SAA7134_BOARD_FLYVIDEO2000:
case SAA7134_BOARD_FLYVIDEO3000:
case SAA7134_BOARD_FLYVIDEO3000_NTSC:
dev->has_remote = SAA7134_REMOTE_GPIO;
board_flyvideo(dev);
break;
case SAA7134_BOARD_FLYTVPLATINUM_MINI2:
case SAA7134_BOARD_FLYTVPLATINUM_FM:
case SAA7134_BOARD_CINERGY400:
case SAA7134_BOARD_CINERGY600:
case SAA7134_BOARD_CINERGY600_MK3:
case SAA7134_BOARD_ECS_TVP3XP:
case SAA7134_BOARD_ECS_TVP3XP_4CB5:
case SAA7134_BOARD_ECS_TVP3XP_4CB6:
case SAA7134_BOARD_MD2819:
case SAA7134_BOARD_KWORLD_VSTREAM_XPERT:
case SAA7134_BOARD_KWORLD_XPERT:
case SAA7134_BOARD_AVERMEDIA_STUDIO_305:
case SAA7134_BOARD_AVERMEDIA_305:
case SAA7134_BOARD_AVERMEDIA_STUDIO_505:
case SAA7134_BOARD_AVERMEDIA_505:
case SAA7134_BOARD_AVERMEDIA_STUDIO_307:
case SAA7134_BOARD_AVERMEDIA_307:
case SAA7134_BOARD_AVERMEDIA_STUDIO_507:
case SAA7134_BOARD_AVERMEDIA_GO_007_FM:
case SAA7134_BOARD_AVERMEDIA_777:
case SAA7134_BOARD_AVERMEDIA_M135A:
/* case SAA7134_BOARD_SABRENT_SBTTVFM: */ /* not finished yet */
case SAA7134_BOARD_VIDEOMATE_TV_PVR:
case SAA7134_BOARD_VIDEOMATE_GOLD_PLUS:
case SAA7134_BOARD_VIDEOMATE_TV_GOLD_PLUSII:
case SAA7134_BOARD_VIDEOMATE_M1F:
case SAA7134_BOARD_VIDEOMATE_DVBT_300:
case SAA7134_BOARD_VIDEOMATE_DVBT_200:
case SAA7134_BOARD_VIDEOMATE_DVBT_200A:
case SAA7134_BOARD_MANLI_MTV001:
case SAA7134_BOARD_MANLI_MTV002:
case SAA7134_BOARD_BEHOLD_409FM:
case SAA7134_BOARD_AVACSSMARTTV:
case SAA7134_BOARD_GOTVIEW_7135:
case SAA7134_BOARD_KWORLD_TERMINATOR:
case SAA7134_BOARD_SEDNA_PC_TV_CARDBUS:
case SAA7134_BOARD_FLYDVBT_LR301:
case SAA7134_BOARD_ASUSTeK_PS3_100:
case SAA7134_BOARD_ASUSTeK_P7131_DUAL:
case SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA:
case SAA7134_BOARD_ASUSTeK_P7131_ANALOG:
case SAA7134_BOARD_FLYDVBTDUO:
case SAA7134_BOARD_PROTEUS_2309:
case SAA7134_BOARD_AVERMEDIA_A16AR:
case SAA7134_BOARD_ENCORE_ENLTV:
case SAA7134_BOARD_ENCORE_ENLTV_FM:
case SAA7134_BOARD_ENCORE_ENLTV_FM53:
case SAA7134_BOARD_ENCORE_ENLTV_FM3:
case SAA7134_BOARD_10MOONSTVMASTER3:
case SAA7134_BOARD_BEHOLD_401:
case SAA7134_BOARD_BEHOLD_403:
case SAA7134_BOARD_BEHOLD_403FM:
case SAA7134_BOARD_BEHOLD_405:
case SAA7134_BOARD_BEHOLD_405FM:
case SAA7134_BOARD_BEHOLD_407:
case SAA7134_BOARD_BEHOLD_407FM:
case SAA7134_BOARD_BEHOLD_409:
case SAA7134_BOARD_BEHOLD_505FM:
case SAA7134_BOARD_BEHOLD_505RDS_MK5:
case SAA7134_BOARD_BEHOLD_505RDS_MK3:
case SAA7134_BOARD_BEHOLD_507_9FM:
case SAA7134_BOARD_BEHOLD_507RDS_MK3:
case SAA7134_BOARD_BEHOLD_507RDS_MK5:
case SAA7134_BOARD_GENIUS_TVGO_A11MCE:
case SAA7134_BOARD_REAL_ANGEL_220:
case SAA7134_BOARD_KWORLD_PLUS_TV_ANALOG:
case SAA7134_BOARD_AVERMEDIA_GO_007_FM_PLUS:
case SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM:
case SAA7134_BOARD_LEADTEK_WINFAST_DTV1000S:
case SAA7134_BOARD_LEADTEK_WINFAST_TV2100_FM:
dev->has_remote = SAA7134_REMOTE_GPIO;
break;
case SAA7134_BOARD_FLYDVBS_LR300:
saa_writeb(SAA7134_GPIO_GPMODE3, 0 x80);
saa_writeb(SAA7134_GPIO_GPSTATUS2, 0 x40);
dev->has_remote = SAA7134_REMOTE_GPIO;
break;
case SAA7134_BOARD_MD5044:
pr_warn("%s: seems there are two different versions of the MD5044\n"
"%s: (with the same ID) out there. If sound doesn't work for\n"
"%s: you try the audio_clock_override=0 x200000 insmod option.\n",
dev->name, dev->name, dev->name);
break;
case SAA7134_BOARD_CINERGY400_CARDBUS:
/* power-up tuner chip */
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2 , 0 x00040000, 0 x00040000);
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2 , 0 x00040000, 0 x00000000);
break;
case SAA7134_BOARD_PINNACLE_300I_DVBT_PAL:
/* this turns the remote control chip off to work around a bug in it */
saa_writeb(SAA7134_GPIO_GPMODE1, 0 x80);
saa_writeb(SAA7134_GPIO_GPSTATUS1, 0 x80);
break;
case SAA7134_BOARD_MONSTERTV_MOBILE:
/* power-up tuner chip */
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2 , 0 x00040000, 0 x00040000);
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2 , 0 x00040000, 0 x00000004);
break;
case SAA7134_BOARD_FLYDVBT_DUO_CARDBUS:
/* turn the fan on */
saa_writeb(SAA7134_GPIO_GPMODE3, 0 x08);
saa_writeb(SAA7134_GPIO_GPSTATUS3, 0 x06);
break;
case SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331:
case SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS:
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2 , 0 x08000000, 0 x08000000);
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2 , 0 x08000000, 0 x00000000);
break;
case SAA7134_BOARD_AVERMEDIA_CARDBUS:
case SAA7134_BOARD_AVERMEDIA_M115:
/* power-down tuner chip */
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2 , 0 xffffffff, 0 );
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2 , 0 xffffffff, 0 );
msleep(10 );
/* power-up tuner chip */
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2 , 0 xffffffff, 0 xffffffff);
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2 , 0 xffffffff, 0 xffffffff);
msleep(10 );
break;
case SAA7134_BOARD_AVERMEDIA_CARDBUS_501:
/* power-down tuner chip */
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2 , 0 x08400000, 0 x08400000);
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2 , 0 x08400000, 0 );
msleep(10 );
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2 , 0 x08400000, 0 x08400000);
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2 , 0 x08400000, 0 x08400000);
msleep(10 );
dev->has_remote = SAA7134_REMOTE_I2C;
break;
case SAA7134_BOARD_AVERMEDIA_CARDBUS_506:
saa7134_set_gpio(dev, 23 , 0 );
msleep(10 );
saa7134_set_gpio(dev, 23 , 1 );
dev->has_remote = SAA7134_REMOTE_I2C;
break;
case SAA7134_BOARD_AVERMEDIA_M103:
saa7134_set_gpio(dev, 23 , 0 );
msleep(10 );
saa7134_set_gpio(dev, 23 , 1 );
break;
case SAA7134_BOARD_AVERMEDIA_A16D:
saa7134_set_gpio(dev, 21 , 0 );
msleep(10 );
saa7134_set_gpio(dev, 21 , 1 );
msleep(1 );
dev->has_remote = SAA7134_REMOTE_GPIO;
break;
case SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM:
/* power-down tuner chip */
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2 , 0 x000A8004, 0 x000A8004);
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2 , 0 x000A8004, 0 );
msleep(10 );
/* power-up tuner chip */
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2 , 0 x000A8004, 0 x000A8004);
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2 , 0 x000A8004, 0 x000A8004);
msleep(10 );
/* remote via GPIO */
dev->has_remote = SAA7134_REMOTE_GPIO;
break;
case SAA7134_BOARD_RTD_VFG7350:
/*
* Make sure Production Test Register at offset 0 x1D1 is cleared
* to take chip out of test mode. Clearing bit 4 (TST_EN_AOUT)
* prevents pin 105 from remaining low; keeping pin 105 low
* continually resets the SAA6752 chip.
*/
saa_writeb (SAA7134_PRODUCTION_TEST_MODE, 0 x00);
break;
case SAA7134_BOARD_HAUPPAUGE_HVR1150:
case SAA7134_BOARD_HAUPPAUGE_HVR1120:
dev->has_remote = SAA7134_REMOTE_GPIO;
/* GPIO 26 high for digital, low for analog */
saa7134_set_gpio(dev, 26 , 0 );
msleep(1 );
saa7134_set_gpio(dev, 22 , 0 );
msleep(10 );
saa7134_set_gpio(dev, 22 , 1 );
break;
/* i2c remotes */
case SAA7134_BOARD_PINNACLE_PCTV_110i:
case SAA7134_BOARD_PINNACLE_PCTV_310i:
case SAA7134_BOARD_UPMOST_PURPLE_TV:
case SAA7134_BOARD_MSI_TVATANYWHERE_PLUS:
case SAA7134_BOARD_HAUPPAUGE_HVR1110:
case SAA7134_BOARD_BEHOLD_607FM_MK3:
case SAA7134_BOARD_BEHOLD_607FM_MK5:
case SAA7134_BOARD_BEHOLD_609FM_MK3:
case SAA7134_BOARD_BEHOLD_609FM_MK5:
case SAA7134_BOARD_BEHOLD_607RDS_MK3:
case SAA7134_BOARD_BEHOLD_607RDS_MK5:
case SAA7134_BOARD_BEHOLD_609RDS_MK3:
case SAA7134_BOARD_BEHOLD_609RDS_MK5:
case SAA7134_BOARD_BEHOLD_M6:
case SAA7134_BOARD_BEHOLD_M63:
case SAA7134_BOARD_BEHOLD_M6_EXTRA:
case SAA7134_BOARD_BEHOLD_H6:
case SAA7134_BOARD_BEHOLD_X7:
case SAA7134_BOARD_BEHOLD_H7:
case SAA7134_BOARD_BEHOLD_A7:
case SAA7134_BOARD_KWORLD_PC150U:
case SAA7134_BOARD_SNAZIO_TVPVR_PRO:
dev->has_remote = SAA7134_REMOTE_I2C;
break;
case SAA7134_BOARD_AVERMEDIA_A169_B:
pr_warn("%s: %s: dual saa713x broadcast decoders\n"
"%s: Sorry, none of the inputs to this chip are supported yet.\n"
"%s: Dual decoder functionality is disabled for now, use the other chip.\n",
dev->name, card(dev).name, dev->name, dev->name);
break;
case SAA7134_BOARD_AVERMEDIA_M102:
/* enable tuner */
dev->has_remote = SAA7134_REMOTE_GPIO;
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2 , 0 x8c040007, 0 x8c040007);
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2 , 0 x0c0007cd, 0 x0c0007cd);
break;
case SAA7134_BOARD_AVERMEDIA_A700_HYBRID:
case SAA7134_BOARD_AVERMEDIA_A700_PRO:
/* write windows gpio values */
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2 , 0 x80040100, 0 x80040100);
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2 , 0 x80040100, 0 x00040100);
break;
case SAA7134_BOARD_AVERMEDIA_A706:
/* radio antenna select: tristate both as in Windows driver */
saa7134_set_gpio(dev, 12 , 3 ); /* TV antenna */
saa7134_set_gpio(dev, 13 , 3 ); /* FM antenna */
dev->has_remote = SAA7134_REMOTE_I2C;
/*
* Disable CE5039 DVB-S tuner now (SLEEP pin high) to prevent
* it from interfering with analog tuner detection
*/
saa7134_set_gpio(dev, 23 , 1 );
break;
case SAA7134_BOARD_VIDEOMATE_S350:
dev->has_remote = SAA7134_REMOTE_GPIO;
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2 , 0 x0000C000, 0 x0000C000);
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2 , 0 x0000C000, 0 x0000C000);
break;
case SAA7134_BOARD_AVERMEDIA_M733A:
saa7134_set_gpio(dev, 1 , 1 );
msleep(10 );
saa7134_set_gpio(dev, 1 , 0 );
msleep(10 );
saa7134_set_gpio(dev, 1 , 1 );
dev->has_remote = SAA7134_REMOTE_GPIO;
break;
case SAA7134_BOARD_MAGICPRO_PROHDTV_PRO2:
/* enable LGS-8 G75 */
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2 , 0 x0e050000, 0 x0c050000);
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2 , 0 x0e050000, 0 x0c050000);
break;
case SAA7134_BOARD_VIDEOMATE_T750:
/* enable the analog tuner */
saa_andorl(SAA7134_GPIO_GPMODE0 >> 2 , 0 x00008000, 0 x00008000);
saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2 , 0 x00008000, 0 x00008000);
break;
}
return 0 ;
}
static void saa7134_tuner_setup(struct saa7134_dev *dev)
{
struct tuner_setup tun_setup;
unsigned int mode_mask = T_RADIO | T_ANALOG_TV;
memset(&tun_setup, 0 , sizeof(tun_setup));
tun_setup.tuner_callback = saa7134_tuner_callback;
if (saa7134_boards[dev->board].radio_type != UNSET) {
tun_setup.type = saa7134_boards[dev->board].radio_type;
tun_setup.addr = saa7134_boards[dev->board].radio_addr;
tun_setup.mode_mask = T_RADIO;
saa_call_all(dev, tuner, s_type_addr, &tun_setup);
mode_mask &= ~T_RADIO;
}
if ((dev->tuner_type != TUNER_ABSENT) && (dev->tuner_type != UNSET)) {
tun_setup.type = dev->tuner_type;
tun_setup.addr = dev->tuner_addr;
tun_setup.config = &saa7134_boards[dev->board].tda829x_conf;
tun_setup.tuner_callback = saa7134_tuner_callback;
tun_setup.mode_mask = mode_mask;
saa_call_all(dev, tuner, s_type_addr, &tun_setup);
}
if (dev->tda9887_conf) {
struct v4l2_priv_tun_config tda9887_cfg;
tda9887_cfg.tuner = TUNER_TDA9887;
tda9887_cfg.priv = &dev->tda9887_conf;
saa_call_all(dev, tuner, s_config, &tda9887_cfg);
}
if (dev->tuner_type == TUNER_XC2028) {
struct v4l2_priv_tun_config xc2028_cfg;
struct xc2028_ctrl ctl;
memset(&xc2028_cfg, 0 , sizeof(xc2028_cfg));
memset(&ctl, 0 , sizeof(ctl));
ctl.fname = XC2028_DEFAULT_FIRMWARE;
ctl.max_len = 64 ;
switch (dev->board) {
case SAA7134_BOARD_AVERMEDIA_A16D:
case SAA7134_BOARD_AVERMEDIA_CARDBUS_506:
case SAA7134_BOARD_AVERMEDIA_M103:
case SAA7134_BOARD_AVERMEDIA_A700_HYBRID:
ctl.demod = XC3028_FE_ZARLINK456;
break;
default:
ctl.demod = XC3028_FE_OREN538;
ctl.mts = 1 ;
}
xc2028_cfg.tuner = TUNER_XC2028;
xc2028_cfg.priv = &ctl;
saa_call_all(dev, tuner, s_config, &xc2028_cfg);
}
}
/* stuff which needs working i2c */
int saa7134_board_init2(struct saa7134_dev *dev)
{
unsigned char buf;
int board;
/* Put here the code that enables the chips that are needed
for analog mode and doesn't depend on the tuner attachment.
It is also a good idea to get tuner type from eeprom, etc before
initializing tuner, since we can avoid loading tuner driver
on devices that has TUNER_ABSENT
*/
switch (dev->board) {
case SAA7134_BOARD_BMK_MPEX_NOTUNER:
case SAA7134_BOARD_BMK_MPEX_TUNER:
/* Checks if the device has a tuner at 0 x60 addr
If the device doesn't have a tuner, TUNER_ABSENT
will be used at tuner_type, avoiding loading tuner
without needing it
*/
dev->i2c_client.addr = 0 x60;
board = (i2c_master_recv(&dev->i2c_client, &buf, 0 ) < 0 )
? SAA7134_BOARD_BMK_MPEX_NOTUNER
: SAA7134_BOARD_BMK_MPEX_TUNER;
if (board == dev->board)
break;
dev->board = board;
pr_warn("%s: board type fixup: %s\n", dev->name,
saa7134_boards[dev->board].name);
dev->tuner_type = saa7134_boards[dev->board].tuner_type;
break;
case SAA7134_BOARD_MD7134:
{
u8 subaddr;
u8 data[3 ], data1[] = { 0 x09, 0 x9f, 0 x86, 0 x11};
int ret, tuner_t;
struct i2c_msg msg[] = {{.addr = 0 x50, .flags = 0 , .buf = &subaddr, .len = 1 },
{.addr = 0 x50, .flags = I2C_M_RD, .buf = data, .len = 3 }},
msg1 = {.addr = 0 x61, .flags = 0 , .buf = data1, .len = sizeof(data1)};
subaddr= 0 x14;
tuner_t = 0 ;
/* Retrieve device data from eeprom, checking for the
proper tuner_type.
*/
ret = i2c_transfer(&dev->i2c_adap, msg, 2 );
if (ret != 2 ) {
pr_err("EEPROM read failure\n");
} else if ((data[0 ] != 0 ) && (data[0 ] != 0 xff)) {
/* old config structure */
subaddr = data[0 ] + 2 ;
msg[1 ].len = 2 ;
i2c_transfer(&dev->i2c_adap, msg, 2 );
tuner_t = (data[0 ] << 8 ) + data[1 ];
switch (tuner_t){
case 0 x0103:
dev->tuner_type = TUNER_PHILIPS_PAL;
break;
case 0 x010C:
dev->tuner_type = TUNER_PHILIPS_FM1216ME_MK3;
break;
default:
pr_err("%s Can't determine tuner type %x from EEPROM\n",
dev->name, tuner_t);
}
} else if ((data[1 ] != 0 ) && (data[1 ] != 0 xff)) {
/* new config structure */
subaddr = data[1 ] + 1 ;
msg[1 ].len = 1 ;
i2c_transfer(&dev->i2c_adap, msg, 2 );
subaddr = data[0 ] + 1 ;
msg[1 ].len = 2 ;
i2c_transfer(&dev->i2c_adap, msg, 2 );
tuner_t = (data[1 ] << 8 ) + data[0 ];
switch (tuner_t) {
case 0 x0005:
dev->tuner_type = TUNER_PHILIPS_FM1216ME_MK3;
break;
case 0 x001d:
dev->tuner_type = TUNER_PHILIPS_FMD1216ME_MK3;
pr_info("%s Board has DVB-T\n",
dev->name);
break;
default:
pr_err("%s Can't determine tuner type %x from EEPROM\n",
dev->name, tuner_t);
}
} else {
pr_err("%s unexpected config structure\n", dev->name);
}
pr_info("%s Tuner type is %d\n", dev->name, dev->tuner_type);
/* The tuner TUNER_PHILIPS_FMD1216ME_MK3 after hardware */
/* start has disabled IF and enabled DVB-T. When saa7134 */
/* scan I2C devices it will not detect IF tda9887 and can`t*/
/* watch TV without software reboot. To solve this problem */
/* switch the tuner to analog TV mode manually. */
if (dev->tuner_type == TUNER_PHILIPS_FMD1216ME_MK3) {
if (i2c_transfer(&dev->i2c_adap, &msg1, 1 ) != 1 )
printk(KERN_WARNING "%s: Unable to enable IF of the tuner.\n", dev->name);
}
break;
}
case SAA7134_BOARD_PHILIPS_EUROPA:
if (dev->autodetected && (dev->eedata[0 x41] == 0 x1c)) {
/* Reconfigure board as Snake reference design */
dev->board = SAA7134_BOARD_PHILIPS_SNAKE;
dev->tuner_type = saa7134_boards[dev->board].tuner_type;
pr_info("%s: Reconfigured board as %s\n",
dev->name, saa7134_boards[dev->board].name);
break;
}
fallthrough;
case SAA7134_BOARD_VIDEOMATE_DVBT_300:
case SAA7134_BOARD_ASUS_EUROPA2_HYBRID:
case SAA7134_BOARD_ASUS_EUROPA_HYBRID:
case SAA7134_BOARD_TECHNOTREND_BUDGET_T3000:
{
/* The Philips EUROPA based hybrid boards have the tuner
connected through the channel decoder. We have to make it
transparent to find it
*/
u8 data[] = { 0 x07, 0 x02};
struct i2c_msg msg = {.addr=0 x08, .flags=0 , .buf=data, .len = sizeof(data)};
i2c_transfer(&dev->i2c_adap, &msg, 1 );
break;
}
case SAA7134_BOARD_PHILIPS_TIGER:
case SAA7134_BOARD_PHILIPS_TIGER_S:
{
u8 data[] = { 0 x3c, 0 x33, 0 x60};
struct i2c_msg msg = {.addr=0 x08, .flags=0 , .buf=data, .len = sizeof(data)};
if (dev->autodetected && (dev->eedata[0 x49] == 0 x50)) {
dev->board = SAA7134_BOARD_PHILIPS_TIGER_S;
pr_info("%s: Reconfigured board as %s\n",
dev->name, saa7134_boards[dev->board].name);
}
if (dev->board == SAA7134_BOARD_PHILIPS_TIGER_S) {
dev->tuner_type = TUNER_PHILIPS_TDA8290;
data[2 ] = 0 x68;
i2c_transfer(&dev->i2c_adap, &msg, 1 );
break;
}
i2c_transfer(&dev->i2c_adap, &msg, 1 );
break;
}
case SAA7134_BOARD_ASUSTeK_TVFM7135:
/* The card below is detected as card=53 , but is different */
if (dev->autodetected && (dev->eedata[0 x27] == 0 x03)) {
dev->board = SAA7134_BOARD_ASUSTeK_P7131_ANALOG;
pr_info("%s: P7131 analog only, using entry of %s\n",
dev->name, saa7134_boards[dev->board].name);
/*
* IR init has already happened for other cards, so
* we have to catch up.
*/
dev->has_remote = SAA7134_REMOTE_GPIO;
saa7134_input_init1(dev);
}
break;
case SAA7134_BOARD_HAUPPAUGE_HVR1150:
case SAA7134_BOARD_HAUPPAUGE_HVR1120:
hauppauge_eeprom(dev, dev->eedata+0 x80);
break;
case SAA7134_BOARD_HAUPPAUGE_HVR1110:
hauppauge_eeprom(dev, dev->eedata+0 x80);
fallthrough;
case SAA7134_BOARD_PINNACLE_PCTV_310i:
case SAA7134_BOARD_KWORLD_DVBT_210:
case SAA7134_BOARD_TEVION_DVBT_220RF:
case SAA7134_BOARD_ASUSTeK_TIGER:
case SAA7134_BOARD_ASUSTeK_P7131_DUAL:
case SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA:
case SAA7134_BOARD_MEDION_MD8800_QUADRO:
case SAA7134_BOARD_AVERMEDIA_SUPER_007:
case SAA7134_BOARD_TWINHAN_DTV_DVB_3056:
case SAA7134_BOARD_CREATIX_CTX953:
{
/* this is a hybrid board, initialize to analog mode
* and configure firmware eeprom address
*/
u8 data[] = { 0 x3c, 0 x33, 0 x60};
struct i2c_msg msg = {.addr=0 x08, .flags=0 , .buf=data, .len = sizeof(data)};
i2c_transfer(&dev->i2c_adap, &msg, 1 );
break;
}
case SAA7134_BOARD_ASUSTeK_TIGER_3IN1:
{
u8 data[] = { 0 x3c, 0 x33, 0 x60};
struct i2c_msg msg = {.addr = 0 x0b, .flags = 0 , .buf = data,
.len = sizeof(data)};
i2c_transfer(&dev->i2c_adap, &msg, 1 );
break;
}
case SAA7134_BOARD_ASUSTeK_PS3_100:
{
u8 data[] = { 0 x3c, 0 x33, 0 x60};
struct i2c_msg msg = {.addr = 0 x0b, .flags = 0 , .buf = data,
.len = sizeof(data)};
i2c_transfer(&dev->i2c_adap, &msg, 1 );
break;
}
case SAA7134_BOARD_FLYDVB_TRIO:
{
u8 temp = 0 ;
int rc;
u8 data[] = { 0 x3c, 0 x33, 0 x62};
struct i2c_msg msg = {.addr=0 x09, .flags=0 , .buf=data, .len = sizeof(data)};
i2c_transfer(&dev->i2c_adap, &msg, 1 );
/*
* send weak up message to pic16C505 chip
* @ LifeView FlyDVB Trio
*/
msg.buf = &temp;
msg.addr = 0 x0b;
msg.len = 1 ;
if (1 != i2c_transfer(&dev->i2c_adap, &msg, 1 )) {
pr_warn("%s: send wake up byte to pic16C505(IR chip) failed\n",
dev->name);
} else {
msg.flags = I2C_M_RD;
rc = i2c_transfer(&dev->i2c_adap, &msg, 1 );
pr_info("%s: probe IR chip @ i2c 0 x%02 x: %s\n",
dev->name, msg.addr,
(1 == rc) ? "yes" : "no");
if (rc == 1 )
dev->has_remote = SAA7134_REMOTE_I2C;
}
break;
}
case SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331:
case SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS:
{
/* initialize analog mode */
u8 data[] = { 0 x3c, 0 x33, 0 x6a};
struct i2c_msg msg = {.addr=0 x08, .flags=0 , .buf=data, .len = sizeof(data)};
i2c_transfer(&dev->i2c_adap, &msg, 1 );
break;
}
case SAA7134_BOARD_CINERGY_HT_PCMCIA:
case SAA7134_BOARD_CINERGY_HT_PCI:
{
/* initialize analog mode */
u8 data[] = { 0 x3c, 0 x33, 0 x68};
struct i2c_msg msg = {.addr=0 x08, .flags=0 , .buf=data, .len = sizeof(data)};
i2c_transfer(&dev->i2c_adap, &msg, 1 );
break;
}
case SAA7134_BOARD_VIDEOMATE_DVBT_200:
case SAA7134_BOARD_VIDEOMATE_DVBT_200A:
/* The T200 and the T200A share the same pci id. Consequently,
* we are going to query eeprom to try to find out which one we
* are actually looking at. */
/* Don't do this if the board was specifically selected with an
* insmod option or if we have the default configuration T200*/
if (!dev->autodetected || (dev->eedata[0 x41] == 0 xd0))
break;
if (dev->eedata[0 x41] == 0 x02) {
/* Reconfigure board as T200A */
dev->board = SAA7134_BOARD_VIDEOMATE_DVBT_200A;
dev->tuner_type = saa7134_boards[dev->board].tuner_type;
dev->tda9887_conf = saa7134_boards[dev->board].tda9887_conf;
pr_info("%s: Reconfigured board as %s\n",
dev->name, saa7134_boards[dev->board].name);
} else {
pr_warn("%s: Unexpected tuner type info: %x in eeprom\n",
dev->name, dev->eedata[0 x41]);
break;
}
break;
case SAA7134_BOARD_ADS_INSTANT_HDTV_PCI:
case SAA7134_BOARD_KWORLD_ATSC110:
{
struct i2c_msg msg = { .addr = 0 x0a, .flags = 0 };
int i;
static u8 buffer[][2 ] = {
{ 0 x10, 0 x12 },
{ 0 x13, 0 x04 },
{ 0 x16, 0 x00 },
{ 0 x14, 0 x04 },
{ 0 x17, 0 x00 },
};
for (i = 0 ; i < ARRAY_SIZE(buffer); i++) {
msg.buf = &buffer[i][0 ];
msg.len = ARRAY_SIZE(buffer[0 ]);
if (i2c_transfer(&dev->i2c_adap, &msg, 1 ) != 1 )
pr_warn("%s: Unable to enable tuner(%i).\n",
dev->name, i);
}
break;
}
case SAA7134_BOARD_BEHOLD_H6:
{
u8 data[] = { 0 x09, 0 x9f, 0 x86, 0 x11};
struct i2c_msg msg = {.addr = 0 x61, .flags = 0 , .buf = data,
.len = sizeof(data)};
/* The tuner TUNER_PHILIPS_FMD1216MEX_MK3 after hardware */
/* start has disabled IF and enabled DVB-T. When saa7134 */
/* scan I2C devices it not detect IF tda9887 and can`t */
/* watch TV without software reboot. For solve this problem */
/* switch the tuner to analog TV mode manually. */
if (i2c_transfer(&dev->i2c_adap, &msg, 1 ) != 1 )
pr_warn("%s: Unable to enable IF of the tuner.\n",
dev->name);
break;
}
case SAA7134_BOARD_KWORLD_PCI_SBTVD_FULLSEG:
saa_writel(SAA7134_GPIO_GPMODE0 >> 2 , 0 x4000);
saa_writel(SAA7134_GPIO_GPSTATUS0 >> 2 , 0 x4000);
saa7134_set_gpio(dev, 27 , 0 );
break;
} /* switch() */
/* initialize tuner (don't do this when resuming) */
if (!dev->insuspend && TUNER_ABSENT != dev->tuner_type) {
int has_demod = (dev->tda9887_conf & TDA9887_PRESENT);
/* Note: radio tuner address is always filled in,
so we do not need to probe for a radio tuner device. */
if (dev->radio_type != UNSET)
v4l2_i2c_new_subdev(&dev->v4l2_dev,
&dev->i2c_adap, "tuner",
dev->radio_addr, NULL);
if (has_demod)
v4l2_i2c_new_subdev(&dev->v4l2_dev,
&dev->i2c_adap, "tuner",
0 , v4l2_i2c_tuner_addrs(ADDRS_DEMOD));
if (dev->tuner_addr == ADDR_UNSET) {
enum v4l2_i2c_tuner_type type =
has_demod ? ADDRS_TV_WITH_DEMOD : ADDRS_TV;
v4l2_i2c_new_subdev(&dev->v4l2_dev,
&dev->i2c_adap, "tuner",
0 , v4l2_i2c_tuner_addrs(type));
} else {
v4l2_i2c_new_subdev(&dev->v4l2_dev,
&dev->i2c_adap, "tuner",
dev->tuner_addr, NULL);
}
}
saa7134_tuner_setup(dev);
switch (dev->board) {
case SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM:
case SAA7134_BOARD_AVERMEDIA_CARDBUS_501:
{
struct v4l2_priv_tun_config tea5767_cfg;
struct tea5767_ctrl ctl;
dev->i2c_client.addr = 0 xC0;
/* set TEA5767(analog FM) defines */
memset(&ctl, 0 , sizeof(ctl));
ctl.xtal_freq = TEA5767_HIGH_LO_13MHz;
tea5767_cfg.tuner = TUNER_TEA5767;
tea5767_cfg.priv = &ctl;
saa_call_all(dev, tuner, s_config, &tea5767_cfg);
break;
}
} /* switch() */
return 0 ;
}
Messung V0.5 in Prozent C=95 H=94 G=94
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.223Bemerkung:
(vorverarbeitet am 2026-10-11)
¤
*Bot Zugriff