cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

saa7134-cards.c (213928B)


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