brintos

brintos / linux-shallow public Read only

0
0
Text · 208.9 KiB · e80fb4e Raw
8127 lines · c
1// SPDX-License-Identifier: GPL-2.0-or-later2/*3 *4 * device driver for philips saa7134 based TV cards5 * 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 specified53 */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_ID918			4  .. 7   PROTECT_ID919			8  .. 11  USER_OUT920			12 .. 13  USER_IN921			14 .. 15  VIDIN_SEL922		*/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 radio1877		* 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		- Composite S-Video untested.2120		From: Konrad Rzepecki <hannibal@megapolis.pl>2121		*/2122		.name           = "Kworld Xpert TV PVR7134",2123		.audio_clock    = 0x00187de7,2124		.tuner_type     = TUNER_TENA_9533_DI,2125		.radio_type     = TUNER_TEA5767,2126		.tuner_addr	= 0x61,2127		.radio_addr	= 0x60,2128		.gpiomask	= 0x0700,2129		.inputs = {{2130			.type = SAA7134_INPUT_TV,2131			.vmux   = 1,2132			.amux   = TV,2133			.gpio   = 0x000,2134		},{2135			.type = SAA7134_INPUT_COMPOSITE1,2136			.vmux   = 3,2137			.amux   = LINE1,2138			.gpio   = 0x200,		/* gpio by DScaler */2139		},{2140			.type = SAA7134_INPUT_SVIDEO,2141			.vmux   = 0,2142			.amux   = LINE1,2143			.gpio   = 0x200,2144		}},2145		.radio = {2146			.type = SAA7134_INPUT_RADIO,2147			.amux   = LINE1,2148			.gpio   = 0x100,2149		},2150		.mute = {2151			.type = SAA7134_INPUT_MUTE,2152			.amux = TV,2153			.gpio = 0x000,2154		},2155	},2156	[SAA7134_BOARD_FLYTV_DIGIMATRIX] = {2157		.name		= "FlyTV mini Asus Digimatrix",2158		.audio_clock	= 0x00200000,2159		.tuner_type	= TUNER_LG_TALN,2160		.radio_type     = UNSET,2161		.tuner_addr	= ADDR_UNSET,2162		.radio_addr	= ADDR_UNSET,2163		.inputs         = {{2164			.type = SAA7134_INPUT_TV,2165			.vmux = 1,2166			.amux = TV,2167		},{2168			.type = SAA7134_INPUT_TV_MONO,2169			.vmux = 1,2170			.amux = LINE2,2171		},{2172			.type = SAA7134_INPUT_COMPOSITE1,2173			.vmux = 0,2174			.amux = LINE2,2175		},{2176			.type = SAA7134_INPUT_COMPOSITE2,2177			.vmux = 3,2178			.amux = LINE2,2179		},{2180			.type = SAA7134_INPUT_SVIDEO,2181			.vmux = 8,2182			.amux = LINE2,2183		}},2184		.radio = {2185			.type = SAA7134_INPUT_RADIO,		/* radio unconfirmed */2186			.amux = LINE2,2187		},2188	},2189	[SAA7134_BOARD_KWORLD_TERMINATOR] = {2190		/* Kworld V-Stream Studio TV Terminator */2191		/* "James Webb <jrwebb@qwest.net> */2192		.name           = "V-Stream Studio TV Terminator",2193		.audio_clock    = 0x00187de7,2194		.tuner_type     = TUNER_PHILIPS_TDA8290,2195		.radio_type     = UNSET,2196		.tuner_addr     = ADDR_UNSET,2197		.radio_addr     = ADDR_UNSET,2198		.gpiomask       = 1 << 21,2199		.inputs         = {{2200			.type = SAA7134_INPUT_TV,2201			.vmux = 1,2202			.amux = TV,2203			.gpio = 0x0000000,2204		},{2205			.type = SAA7134_INPUT_COMPOSITE1,2206			.vmux = 3,2207			.amux = LINE2,2208			.gpio = 0x0000000,2209		},{2210			.type = SAA7134_INPUT_SVIDEO,2211			.vmux = 8,2212			.amux = LINE2,2213			.gpio = 0x0000000,2214		}},2215		.radio = {2216			.type = SAA7134_INPUT_RADIO,2217			.amux = TV,2218			.gpio = 0x0200000,2219		},2220	},2221	[SAA7134_BOARD_YUAN_TUN900] = {2222		/* FIXME:2223		 * S-Video and composite sources untested.2224		 * Radio not working.2225		 * Remote control not yet implemented.2226		 * From : codemaster@webgeeks.be */2227		.name           = "Yuan TUN-900 (saa7135)",2228		.audio_clock    = 0x00187de7,2229		.tuner_type     = TUNER_PHILIPS_TDA8290,2230		.radio_type     = UNSET,2231		.tuner_addr= ADDR_UNSET,2232		.radio_addr= ADDR_UNSET,2233		.gpiomask       = 0x00010003,2234		.inputs         = {{2235			.type = SAA7134_INPUT_TV,2236			.vmux = 1,2237			.amux = TV,2238			.gpio = 0x01,2239		},{2240			.type = SAA7134_INPUT_COMPOSITE1,2241			.vmux = 0,2242			.amux = LINE2,2243			.gpio = 0x02,2244		},{2245			.type = SAA7134_INPUT_SVIDEO,2246			.vmux = 6,2247			.amux = LINE2,2248			.gpio = 0x02,2249		}},2250		.radio = {2251			.type = SAA7134_INPUT_RADIO,2252			.amux = LINE1,2253			.gpio = 0x00010003,2254		},2255		.mute = {2256			.type = SAA7134_INPUT_MUTE,2257			.amux = TV,2258			.gpio = 0x01,2259		},2260	},2261	[SAA7134_BOARD_BEHOLD_409FM] = {2262		/* <http://tuner.beholder.ru>, Sergey <skiv@orel.ru> */2263		/*       Beholder Intl. Ltd. 2008      */2264		/*Dmitry Belimov <d.belimov@gmail.com> */2265		.name           = "Beholder BeholdTV 409 FM",2266		.audio_clock    = 0x00187de7,2267		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,2268		.radio_type     = UNSET,2269		.tuner_addr     = ADDR_UNSET,2270		.radio_addr     = ADDR_UNSET,2271		.tda9887_conf   = TDA9887_PRESENT,2272		.gpiomask       = 0x00008000,2273		.inputs         = {{2274			  .type = SAA7134_INPUT_TV,2275			  .vmux = 3,2276			  .amux = TV,2277		},{2278			  .type = SAA7134_INPUT_COMPOSITE1,2279			  .vmux = 1,2280			  .amux = LINE1,2281		},{2282			  .type = SAA7134_INPUT_SVIDEO,2283			  .vmux = 8,2284			  .amux = LINE1,2285		}},2286		.radio = {2287			  .type = SAA7134_INPUT_RADIO,2288			  .amux = LINE2,2289		},2290	},2291	[SAA7134_BOARD_GOTVIEW_7135] = {2292		/* Mike Baikov <mike@baikov.com> */2293		/* Andrey Cvetcov <ays14@yandex.ru> */2294		.name            = "GoTView 7135 PCI",2295		.audio_clock     = 0x00187de7,2296		.tuner_type      = TUNER_PHILIPS_FM1216ME_MK3,2297		.radio_type      = UNSET,2298		.tuner_addr      = ADDR_UNSET,2299		.radio_addr      = ADDR_UNSET,2300		.tda9887_conf    = TDA9887_PRESENT,2301		.gpiomask        = 0x00200003,2302		.inputs          = {{2303			.type = SAA7134_INPUT_TV,2304			.vmux = 1,2305			.amux = TV,2306			.gpio = 0x00200003,2307		},{2308			.type = SAA7134_INPUT_TV_MONO,2309			.vmux = 1,2310			.amux = LINE2,2311			.gpio = 0x00200003,2312		},{2313			.type = SAA7134_INPUT_COMPOSITE1,2314			.vmux = 3,2315			.amux = LINE1,2316			.gpio = 0x00200003,2317		},{2318			.type = SAA7134_INPUT_SVIDEO,2319			.vmux = 8,2320			.amux = LINE1,2321			.gpio = 0x00200003,2322		}},2323		.radio = {2324			.type = SAA7134_INPUT_RADIO,2325			.amux = LINE2,2326			.gpio = 0x00200003,2327		},2328		.mute = {2329			.type = SAA7134_INPUT_MUTE,2330			.amux = TV,2331			.gpio = 0x00200003,2332		},2333	},2334	[SAA7134_BOARD_PHILIPS_EUROPA] = {2335		.name           = "Philips EUROPA V3 reference design",2336		.audio_clock    = 0x00187de7,2337		.tuner_type     = TUNER_PHILIPS_TD1316,2338		.radio_type     = UNSET,2339		.tuner_addr	= 0x61,2340		.radio_addr	= ADDR_UNSET,2341		.tda9887_conf   = TDA9887_PRESENT | TDA9887_PORT1_ACTIVE,2342		.mpeg           = SAA7134_MPEG_DVB,2343		.inputs = {{2344			.type = SAA7134_INPUT_TV,2345			.vmux   = 3,2346			.amux   = TV,2347		},{2348			.type = SAA7134_INPUT_COMPOSITE1,2349			.vmux   = 0,2350			.amux   = LINE2,2351		},{2352			.type = SAA7134_INPUT_SVIDEO,2353			.vmux   = 8,2354			.amux   = LINE2,2355		}},2356	},2357	[SAA7134_BOARD_VIDEOMATE_DVBT_300] = {2358		.name           = "Compro Videomate DVB-T300",2359		.audio_clock    = 0x00187de7,2360		.tuner_type     = TUNER_PHILIPS_TD1316,2361		.radio_type     = UNSET,2362		.tuner_addr	= 0x61,2363		.radio_addr	= ADDR_UNSET,2364		.tda9887_conf   = TDA9887_PRESENT | TDA9887_PORT1_ACTIVE,2365		.mpeg           = SAA7134_MPEG_DVB,2366		.inputs = {{2367			.type = SAA7134_INPUT_TV,2368			.vmux   = 3,2369			.amux   = TV,2370		},{2371			.type = SAA7134_INPUT_COMPOSITE1,2372			.vmux   = 1,2373			.amux   = LINE2,2374		},{2375			.type = SAA7134_INPUT_SVIDEO,2376			.vmux   = 8,2377			.amux   = LINE2,2378		}},2379	},2380	[SAA7134_BOARD_VIDEOMATE_DVBT_200] = {2381		.name           = "Compro Videomate DVB-T200",2382		.tuner_type	= TUNER_ABSENT,2383		.audio_clock    = 0x00187de7,2384		.radio_type     = UNSET,2385		.tuner_addr	= ADDR_UNSET,2386		.radio_addr	= ADDR_UNSET,2387		.mpeg           = SAA7134_MPEG_DVB,2388		.inputs = {{2389			.type = SAA7134_INPUT_COMPOSITE1,2390			.vmux   = 0,2391			.amux   = LINE1,2392		},{2393			.type = SAA7134_INPUT_SVIDEO,2394			.vmux   = 8,2395			.amux   = LINE1,2396		}},2397	},2398	[SAA7134_BOARD_RTD_VFG7350] = {2399		.name		= "RTD Embedded Technologies VFG7350",2400		.audio_clock	= 0x00200000,2401		.tuner_type	= TUNER_ABSENT,2402		.radio_type	= UNSET,2403		.tuner_addr	= ADDR_UNSET,2404		.radio_addr	= ADDR_UNSET,2405		.empress_addr	= 0x21,2406		.inputs		= {{2407			.type = SAA7134_INPUT_COMPOSITE0,2408			.vmux   = 0,2409			.amux   = LINE1,2410		},{2411			.type = SAA7134_INPUT_COMPOSITE1,2412			.vmux   = 1,2413			.amux   = LINE2,2414		},{2415			.type = SAA7134_INPUT_COMPOSITE2,2416			.vmux   = 2,2417			.amux   = LINE1,2418		},{2419			.type = SAA7134_INPUT_COMPOSITE3,2420			.vmux   = 3,2421			.amux   = LINE2,2422		},{2423			.type = SAA7134_INPUT_SVIDEO0,2424 2425			.vmux   = 8,2426			.amux   = LINE1,2427		},{2428			.type = SAA7134_INPUT_SVIDEO1,2429			.vmux   = 9,2430			.amux   = LINE2,2431		}},2432		.mpeg           = SAA7134_MPEG_EMPRESS,2433		.video_out      = CCIR656,2434		.vid_port_opts  = ( SET_T_CODE_POLARITY_NON_INVERTED |2435				    SET_CLOCK_NOT_DELAYED |2436				    SET_CLOCK_INVERTED |2437				    SET_VSYNC_OFF ),2438	},2439	[SAA7134_BOARD_RTD_VFG7330] = {2440		.name		= "RTD Embedded Technologies VFG7330",2441		.audio_clock	= 0x00200000,2442		.tuner_type	= TUNER_ABSENT,2443		.radio_type	= UNSET,2444		.tuner_addr	= ADDR_UNSET,2445		.radio_addr	= ADDR_UNSET,2446		.inputs		= {{2447			.type = SAA7134_INPUT_COMPOSITE0,2448			.vmux   = 0,2449			.amux   = LINE1,2450		},{2451			.type = SAA7134_INPUT_COMPOSITE1,2452			.vmux   = 1,2453			.amux   = LINE2,2454		},{2455			.type = SAA7134_INPUT_COMPOSITE2,2456			.vmux   = 2,2457			.amux   = LINE1,2458		},{2459			.type = SAA7134_INPUT_COMPOSITE3,2460			.vmux   = 3,2461			.amux   = LINE2,2462		},{2463			.type = SAA7134_INPUT_SVIDEO0,2464			.vmux   = 8,2465			.amux   = LINE1,2466		},{2467			.type = SAA7134_INPUT_SVIDEO1,2468			.vmux   = 9,2469			.amux   = LINE2,2470		}},2471	},2472	[SAA7134_BOARD_FLYTVPLATINUM_MINI2] = {2473		.name           = "LifeView FlyTV Platinum Mini2",2474		.audio_clock    = 0x00200000,2475		.tuner_type     = TUNER_PHILIPS_TDA8290,2476		.radio_type     = UNSET,2477		.tuner_addr	= ADDR_UNSET,2478		.radio_addr	= ADDR_UNSET,2479 2480		.inputs         = {{2481			.type = SAA7134_INPUT_TV,2482			.vmux = 1,2483			.amux = TV,2484		},{2485			.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,2486			.vmux = 0,2487			.amux = LINE2,2488		},{2489			.type = SAA7134_INPUT_COMPOSITE,2490			.vmux = 3,2491			.amux = LINE2,2492		},{2493			.type = SAA7134_INPUT_SVIDEO,2494			.vmux = 8,2495			.amux = LINE2,2496		}},2497	},2498	[SAA7134_BOARD_AVERMEDIA_AVERTVHD_A180] = {2499		/* Michael Krufky <mkrufky@linuxtv.org>2500		 * Uses Alps Electric TDHU2, containing NXT2004 ATSC Decoder2501		 * AFAIK, there is no analog demod, thus,2502		 * no support for analog television.2503		 */2504		.name           = "AVerMedia AVerTVHD MCE A180",2505		.audio_clock    = 0x00187de7,2506		.tuner_type     = TUNER_ABSENT,2507		.radio_type     = UNSET,2508		.tuner_addr     = ADDR_UNSET,2509		.radio_addr     = ADDR_UNSET,2510		.mpeg           = SAA7134_MPEG_DVB,2511		.inputs         = {{2512			.type = SAA7134_INPUT_COMPOSITE1,2513			.vmux = 3,2514			.amux = LINE2,2515		},{2516			.type = SAA7134_INPUT_SVIDEO,2517			.vmux = 8,2518			.amux = LINE2,2519		}},2520	},2521	[SAA7134_BOARD_MONSTERTV_MOBILE] = {2522		.name           = "SKNet MonsterTV Mobile",2523		.audio_clock    = 0x00187de7,2524		.tuner_type     = TUNER_PHILIPS_TDA8290,2525		.radio_type     = UNSET,2526		.tuner_addr	= ADDR_UNSET,2527		.radio_addr	= ADDR_UNSET,2528 2529		.inputs         = {{2530			  .type = SAA7134_INPUT_TV,2531			  .vmux = 1,2532			  .amux = TV,2533		},{2534			  .type = SAA7134_INPUT_COMPOSITE1,2535			  .vmux = 3,2536			  .amux = LINE1,2537		},{2538			  .type = SAA7134_INPUT_SVIDEO,2539			  .vmux = 6,2540			  .amux = LINE1,2541		}},2542	},2543	[SAA7134_BOARD_PINNACLE_PCTV_110i] = {2544	       .name           = "Pinnacle PCTV 40i/50i/110i (saa7133)",2545		.audio_clock    = 0x00187de7,2546		.tuner_type     = TUNER_PHILIPS_TDA8290,2547		.radio_type     = UNSET,2548		.tuner_addr     = ADDR_UNSET,2549		.radio_addr     = ADDR_UNSET,2550		.gpiomask       = 0x080200000,2551		.inputs         = { {2552			.type = SAA7134_INPUT_TV,2553			.vmux = 4,2554			.amux = TV,2555		}, {2556			.type = SAA7134_INPUT_COMPOSITE1,2557			.vmux = 1,2558			.amux = LINE2,2559		}, {2560			.type = SAA7134_INPUT_COMPOSITE2,2561			.vmux = 0,2562			.amux = LINE2,2563		}, {2564			.type = SAA7134_INPUT_SVIDEO,2565			.vmux = 8,2566			.amux = LINE2,2567		} },2568		.radio = {2569			.type = SAA7134_INPUT_RADIO,2570			.amux = TV,2571			.gpio = 0x0200000,2572		},2573	},2574	[SAA7134_BOARD_ASUSTeK_P7131_DUAL] = {2575		.name           = "ASUSTeK P7131 Dual",2576		.audio_clock    = 0x00187de7,2577		.tuner_type     = TUNER_PHILIPS_TDA8290,2578		.radio_type     = UNSET,2579		.tuner_addr	= ADDR_UNSET,2580		.radio_addr	= ADDR_UNSET,2581		.gpiomask	= 1 << 21,2582		.mpeg           = SAA7134_MPEG_DVB,2583		.inputs         = {{2584			.type = SAA7134_INPUT_TV,2585			.vmux = 1,2586			.amux = TV,2587			.gpio = 0x0000000,2588		},{2589			.type = SAA7134_INPUT_COMPOSITE1,2590			.vmux = 3,2591			.amux = LINE2,2592			.gpio = 0x0200000,2593		},{2594			.type = SAA7134_INPUT_COMPOSITE2,2595			.vmux = 0,2596			.amux = LINE2,2597			.gpio = 0x0200000,2598		},{2599			.type = SAA7134_INPUT_SVIDEO,2600			.vmux = 8,2601			.amux = LINE2,2602			.gpio = 0x0200000,2603		}},2604		.radio = {2605			.type = SAA7134_INPUT_RADIO,2606			.amux = TV,2607			.gpio = 0x0200000,2608		},2609	},2610	[SAA7134_BOARD_SEDNA_PC_TV_CARDBUS] = {2611		/* Paul Tom Zalac <pzalac@gmail.com> */2612		/* Pavel Mihaylov <bin@bash.info> */2613		.name           = "Sedna/MuchTV PC TV Cardbus TV/Radio (ITO25 Rev:2B)",2614				/* Sedna/MuchTV (OEM) Cardbus TV Tuner */2615		.audio_clock    = 0x00187de7,2616		.tuner_type     = TUNER_PHILIPS_TDA8290,2617		.radio_type     = UNSET,2618		.tuner_addr     = ADDR_UNSET,2619		.radio_addr     = ADDR_UNSET,2620		.gpiomask       = 0xe880c0,2621		.inputs         = {{2622			.type = SAA7134_INPUT_TV,2623			.vmux = 3,2624			.amux = TV,2625		},{2626			.type = SAA7134_INPUT_COMPOSITE1,2627			.vmux = 1,2628			.amux = LINE1,2629		},{2630			.type = SAA7134_INPUT_SVIDEO,2631			.vmux = 6,2632			.amux = LINE1,2633		}},2634		.radio = {2635			.type = SAA7134_INPUT_RADIO,2636			.amux = LINE2,2637		},2638	},2639	[SAA7134_BOARD_ASUSTEK_DIGIMATRIX_TV] = {2640		/* "Cyril Lacoux (Yack)" <clacoux@ifeelgood.org> */2641		.name           = "ASUS Digimatrix TV",2642		.audio_clock    = 0x00200000,2643		.tuner_type     = TUNER_PHILIPS_FQ1216ME,2644		.tda9887_conf   = TDA9887_PRESENT,2645		.radio_type     = UNSET,2646		.tuner_addr     = ADDR_UNSET,2647		.radio_addr     = ADDR_UNSET,2648		.inputs         = {{2649			.type = SAA7134_INPUT_TV,2650			.vmux = 1,2651			.amux = TV,2652		},{2653			.type = SAA7134_INPUT_COMPOSITE1,2654			.vmux = 3,2655			.amux = LINE1,2656		},{2657			.type = SAA7134_INPUT_SVIDEO,2658			.vmux = 8,2659			.amux = LINE1,2660		}},2661	},2662	[SAA7134_BOARD_PHILIPS_TIGER] = {2663		.name           = "Philips Tiger reference design",2664		.audio_clock    = 0x00187de7,2665		.tuner_type     = TUNER_PHILIPS_TDA8290,2666		.radio_type     = UNSET,2667		.tuner_addr	= ADDR_UNSET,2668		.radio_addr	= ADDR_UNSET,2669		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_OFF },2670		.mpeg           = SAA7134_MPEG_DVB,2671		.gpiomask       = 0x0200000,2672		.inputs = {{2673			.type = SAA7134_INPUT_TV,2674			.vmux   = 1,2675			.amux   = TV,2676		},{2677			.type = SAA7134_INPUT_COMPOSITE1,2678			.vmux   = 3,2679			.amux   = LINE1,2680		},{2681			.type = SAA7134_INPUT_SVIDEO,2682			.vmux   = 8,2683			.amux   = LINE1,2684		}},2685		.radio = {2686			.type = SAA7134_INPUT_RADIO,2687			.amux   = TV,2688			.gpio   = 0x0200000,2689		},2690	},2691	[SAA7134_BOARD_MSI_TVATANYWHERE_PLUS] = {2692		.name           = "MSI TV@Anywhere plus",2693		.audio_clock    = 0x00187de7,2694		.tuner_type     = TUNER_PHILIPS_TDA8290,2695		.radio_type     = UNSET,2696		.tuner_addr	= ADDR_UNSET,2697		.radio_addr	= ADDR_UNSET,2698		.gpiomask       = 1 << 21,2699		.inputs = {{2700			.type = SAA7134_INPUT_TV,2701			.vmux   = 1,2702			.amux   = TV,2703		},{2704			.type = SAA7134_INPUT_COMPOSITE,2705			.vmux   = 3,2706			.amux   = LINE2,	/* unconfirmed, taken from Philips driver */2707		},{2708			.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,2709			.vmux   = 0,		/* untested */2710			.amux   = LINE2,2711		},{2712			.type = SAA7134_INPUT_SVIDEO,2713			.vmux   = 8,2714			.amux   = LINE2,2715		}},2716		.radio = {2717			.type = SAA7134_INPUT_RADIO,2718			.amux   = TV,2719			.gpio   = 0x0200000,2720		},2721	},2722	[SAA7134_BOARD_CINERGY250PCI] = {2723		/* remote-control does not work. The signal about a2724		   key press comes in via gpio, but the key code2725		   doesn't. Neither does it have an i2c remote control2726		   interface. */2727		.name           = "Terratec Cinergy 250 PCI TV",2728		.audio_clock    = 0x00187de7,2729		.tuner_type     = TUNER_PHILIPS_TDA8290,2730		.radio_type     = UNSET,2731		.tuner_addr	= ADDR_UNSET,2732		.radio_addr	= ADDR_UNSET,2733		.gpiomask       = 0x80200000,2734		.inputs         = {{2735			.type = SAA7134_INPUT_TV,2736			.vmux = 1,2737			.amux = TV,2738		},{2739			.type = SAA7134_INPUT_SVIDEO,  /* NOT tested */2740			.vmux = 8,2741			.amux = LINE1,2742		}},2743		.radio = {2744			.type = SAA7134_INPUT_RADIO,2745			.amux   = TV,2746			.gpio   = 0x0200000,2747		},2748	},2749	[SAA7134_BOARD_FLYDVB_TRIO] = {2750		/* LifeView LR319 FlyDVB Trio */2751		/* Peter Missel <peter.missel@onlinehome.de> */2752		.name           = "LifeView FlyDVB Trio",2753		.audio_clock    = 0x00200000,2754		.tuner_type     = TUNER_PHILIPS_TDA8290,2755		.radio_type     = UNSET,2756		.tuner_addr	= ADDR_UNSET,2757		.radio_addr	= ADDR_UNSET,2758		.gpiomask	= 0x00200000,2759		.mpeg           = SAA7134_MPEG_DVB,2760		.inputs         = {{2761			.type = SAA7134_INPUT_TV,	/* Analog broadcast/cable TV */2762			.vmux = 1,2763			.amux = TV,2764			.gpio = 0x200000,	/* GPIO21=High for TV input */2765		},{2766			.type = SAA7134_INPUT_SVIDEO,2767			.vmux = 8,2768			.amux = LINE2,2769		},{2770			.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,2771			.vmux = 0,2772			.amux = LINE2,2773		},{2774			.type = SAA7134_INPUT_COMPOSITE2,2775			.vmux = 3,2776			.amux = LINE2,2777		}},2778		.radio = {2779			.type = SAA7134_INPUT_RADIO,2780			.amux = TV,2781			.gpio = 0x000000,	/* GPIO21=Low for FM radio antenna */2782		},2783	},2784	[SAA7134_BOARD_AVERMEDIA_777] = {2785		.name           = "AverTV DVB-T 777",2786		.audio_clock    = 0x00187de7,2787		.tuner_type     = TUNER_ABSENT,2788		.radio_type     = UNSET,2789		.tuner_addr	= ADDR_UNSET,2790		.radio_addr	= ADDR_UNSET,2791		.mpeg           = SAA7134_MPEG_DVB,2792		.inputs = {{2793			.type = SAA7134_INPUT_COMPOSITE1,2794			.vmux   = 1,2795			.amux   = LINE1,2796		},{2797			.type = SAA7134_INPUT_SVIDEO,2798			.vmux   = 8,2799			.amux   = LINE1,2800		}},2801	},2802	[SAA7134_BOARD_FLYDVBT_LR301] = {2803		/* LifeView FlyDVB-T */2804		/* Giampiero Giancipoli <gianci@libero.it> */2805		.name           = "LifeView FlyDVB-T / Genius VideoWonder DVB-T",2806		.audio_clock    = 0x00200000,2807		.tuner_type     = TUNER_ABSENT,2808		.radio_type     = UNSET,2809		.tuner_addr	= ADDR_UNSET,2810		.radio_addr	= ADDR_UNSET,2811		.mpeg           = SAA7134_MPEG_DVB,2812		.inputs         = {{2813			.type = SAA7134_INPUT_COMPOSITE1,2814			.vmux = 3,2815			.amux = LINE2,2816		},{2817			.type = SAA7134_INPUT_SVIDEO,2818			.vmux = 8,2819			.amux = LINE2,2820		}},2821	},2822	[SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331] = {2823		.name           = "ADS Instant TV Duo Cardbus PTV331",2824		.audio_clock    = 0x00200000,2825		.tuner_type     = TUNER_PHILIPS_TDA8290,2826		.radio_type     = UNSET,2827		.tuner_addr	= ADDR_UNSET,2828		.radio_addr	= ADDR_UNSET,2829		.mpeg           = SAA7134_MPEG_DVB,2830		.gpiomask       = 0x00600000, /* Bit 21 0=Radio, Bit 22 0=TV */2831		.inputs = {{2832			.type = SAA7134_INPUT_TV,2833			.vmux   = 1,2834			.amux   = TV,2835			.gpio   = 0x00200000,2836		}},2837	},2838	[SAA7134_BOARD_TEVION_DVBT_220RF] = {2839		.name           = "Tevion/KWorld DVB-T 220RF",2840		.audio_clock    = 0x00187de7,2841		.tuner_type     = TUNER_PHILIPS_TDA8290,2842		.radio_type     = UNSET,2843		.tuner_addr     = ADDR_UNSET,2844		.radio_addr     = ADDR_UNSET,2845		.mpeg           = SAA7134_MPEG_DVB,2846		.gpiomask       = 1 << 21,2847		.inputs = {{2848			.type = SAA7134_INPUT_TV,2849			.vmux   = 1,2850			.amux   = TV,2851		},{2852			.type = SAA7134_INPUT_COMPOSITE1,2853			.vmux   = 3,2854			.amux   = LINE1,2855		},{2856			.type = SAA7134_INPUT_COMPOSITE2,2857			.vmux   = 0,2858			.amux   = LINE1,2859		},{2860			.type = SAA7134_INPUT_SVIDEO,2861			.vmux   = 8,2862			.amux   = LINE1,2863		}},2864		.radio = {2865			.type = SAA7134_INPUT_RADIO,2866			.amux   = TV,2867			.gpio   = 0x0200000,2868		},2869	},2870	[SAA7134_BOARD_KWORLD_DVBT_210] = {2871		.name           = "KWorld DVB-T 210",2872		.audio_clock    = 0x00187de7,2873		.tuner_type     = TUNER_PHILIPS_TDA8290,2874		.radio_type     = UNSET,2875		.tuner_addr	= ADDR_UNSET,2876		.radio_addr	= ADDR_UNSET,2877		.mpeg           = SAA7134_MPEG_DVB,2878		.gpiomask       = 1 << 21,2879		.inputs = {{2880			.type = SAA7134_INPUT_TV,2881			.vmux   = 1,2882			.amux   = TV,2883		},{2884			.type = SAA7134_INPUT_COMPOSITE1,2885			.vmux   = 3,2886			.amux   = LINE1,2887		},{2888			.type = SAA7134_INPUT_SVIDEO,2889			.vmux   = 8,2890			.amux   = LINE1,2891		}},2892		.radio = {2893			.type = SAA7134_INPUT_RADIO,2894			.amux   = TV,2895			.gpio   = 0x0200000,2896		},2897	},2898	[SAA7134_BOARD_KWORLD_ATSC110] = {2899		.name           = "Kworld ATSC110/115",2900		.audio_clock    = 0x00187de7,2901		.tuner_type     = TUNER_PHILIPS_TUV1236D,2902		.radio_type     = UNSET,2903		.tuner_addr     = ADDR_UNSET,2904		.radio_addr     = ADDR_UNSET,2905		.tda9887_conf   = TDA9887_PRESENT,2906		.mpeg           = SAA7134_MPEG_DVB,2907		.inputs         = {{2908			.type = SAA7134_INPUT_TV,2909			.vmux = 1,2910			.amux = TV,2911		},{2912			.type = SAA7134_INPUT_COMPOSITE1,2913			.vmux = 3,2914			.amux = LINE2,2915		},{2916			.type = SAA7134_INPUT_SVIDEO,2917			.vmux = 8,2918			.amux = LINE2,2919		}},2920	},2921	[SAA7134_BOARD_AVERMEDIA_A169_B] = {2922		/* AVerMedia A169  */2923		/* Rickard Osser <ricky@osser.se>  */2924		/* This card has two saa7134 chips on it,2925		   but only one of them is currently working. */2926		.name		= "AVerMedia A169 B",2927		.audio_clock    = 0x02187de7,2928		.tuner_type	= TUNER_LG_TALN,2929		.radio_type     = UNSET,2930		.tuner_addr	= ADDR_UNSET,2931		.radio_addr	= ADDR_UNSET,2932		.tda9887_conf   = TDA9887_PRESENT,2933		.gpiomask       = 0x0a60000,2934	},2935	[SAA7134_BOARD_AVERMEDIA_A169_B1] = {2936		/* AVerMedia A169 */2937		/* Rickard Osser <ricky@osser.se> */2938		.name		= "AVerMedia A169 B1",2939		.audio_clock    = 0x02187de7,2940		.tuner_type	= TUNER_LG_TALN,2941		.radio_type     = UNSET,2942		.tuner_addr	= ADDR_UNSET,2943		.radio_addr	= ADDR_UNSET,2944		.tda9887_conf   = TDA9887_PRESENT,2945		.gpiomask       = 0xca60000,2946		.inputs         = {{2947			.type = SAA7134_INPUT_TV,2948			.vmux = 4,2949			.amux = TV,2950			.gpio = 0x04a61000,2951		},{2952			.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,2953			.vmux = 1,2954			.amux = LINE2,2955		},{2956			.type = SAA7134_INPUT_SVIDEO,2957			.vmux = 9,           /* 9 is correct as S-VIDEO1 according to a169.inf! */2958			.amux = LINE1,2959		}},2960	},2961	[SAA7134_BOARD_MD7134_BRIDGE_2] = {2962		/* The second saa7134 on this card only serves as DVB-S host bridge */2963		.name           = "Medion 7134 Bridge #2",2964		.audio_clock    = 0x00187de7,2965		.radio_type     = UNSET,2966		.tuner_addr	= ADDR_UNSET,2967		.radio_addr	= ADDR_UNSET,2968		.mpeg           = SAA7134_MPEG_DVB,2969	},2970	[SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS] = {2971		.name		= "LifeView FlyDVB-T Hybrid Cardbus/MSI TV @nywhere A/D NB",2972		.audio_clock    = 0x00200000,2973		.tuner_type     = TUNER_PHILIPS_TDA8290,2974		.radio_type     = UNSET,2975		.tuner_addr	= ADDR_UNSET,2976		.radio_addr	= ADDR_UNSET,2977		.mpeg           = SAA7134_MPEG_DVB,2978		.gpiomask       = 0x00600000, /* Bit 21 0=Radio, Bit 22 0=TV */2979		.inputs         = {{2980			.type = SAA7134_INPUT_TV,2981			.vmux = 1,2982			.amux = TV,2983			.gpio = 0x200000,	/* GPIO21=High for TV input */2984		},{2985			.type = SAA7134_INPUT_SVIDEO,2986			.vmux = 8,2987			.amux = LINE2,2988		},{2989			.type = SAA7134_INPUT_COMPOSITE_OVER_SVIDEO,2990			.vmux = 0,2991			.amux = LINE2,2992		},{2993			.type = SAA7134_INPUT_COMPOSITE,2994			.vmux = 3,2995			.amux = LINE2,2996		}},2997		.radio = {2998			.type = SAA7134_INPUT_RADIO,2999			.amux = TV,3000			.gpio = 0x000000,	/* GPIO21=Low for FM radio antenna */3001		},3002	},3003	[SAA7134_BOARD_FLYVIDEO3000_NTSC] = {3004		/* "Zac Bowling" <zac@zacbowling.com> */3005		.name           = "LifeView FlyVIDEO3000 (NTSC)",3006		.audio_clock    = 0x00200000,3007		.tuner_type     = TUNER_PHILIPS_NTSC,3008		.radio_type     = UNSET,3009		.tuner_addr     = ADDR_UNSET,3010		.radio_addr     = ADDR_UNSET,3011 3012		.gpiomask       = 0xe000,3013		.inputs         = {{3014			.type = SAA7134_INPUT_TV,3015			.vmux = 1,3016			.amux = TV,3017			.gpio = 0x8000,3018		},{3019			.type = SAA7134_INPUT_TV_MONO,3020			.vmux = 1,3021			.amux = LINE2,3022			.gpio = 0x0000,3023		},{3024			.type = SAA7134_INPUT_COMPOSITE1,3025			.vmux = 0,3026			.amux = LINE2,3027			.gpio = 0x4000,3028		},{3029			.type = SAA7134_INPUT_COMPOSITE2,3030			.vmux = 3,3031			.amux = LINE2,3032			.gpio = 0x4000,3033		},{3034			.type = SAA7134_INPUT_SVIDEO,3035			.vmux = 8,3036			.amux = LINE2,3037			.gpio = 0x4000,3038		}},3039		.radio = {3040			.type = SAA7134_INPUT_RADIO,3041			.amux = LINE2,3042			.gpio = 0x2000,3043		},3044			.mute = {3045			.type = SAA7134_INPUT_MUTE,3046			.amux = TV,3047			.gpio = 0x8000,3048		},3049	},3050	[SAA7134_BOARD_MEDION_MD8800_QUADRO] = {3051		.name           = "Medion Md8800 Quadro",3052		.audio_clock    = 0x00187de7,3053		.tuner_type     = TUNER_PHILIPS_TDA8290,3054		.radio_type     = UNSET,3055		.tuner_addr     = ADDR_UNSET,3056		.radio_addr     = ADDR_UNSET,3057		.mpeg           = SAA7134_MPEG_DVB,3058		.inputs = {{3059			.type = SAA7134_INPUT_TV,3060			.vmux   = 1,3061			.amux   = TV,3062		},{3063			.type = SAA7134_INPUT_COMPOSITE1,3064			.vmux   = 0,3065			.amux   = LINE1,3066		},{3067			.type = SAA7134_INPUT_SVIDEO,3068			.vmux   = 8,3069			.amux   = LINE1,3070		}},3071	},3072	[SAA7134_BOARD_FLYDVBS_LR300] = {3073		/* LifeView FlyDVB-s */3074		/* Igor M. Liplianin <liplianin@tut.by> */3075		.name           = "LifeView FlyDVB-S /Acorp TV134DS",3076		.audio_clock    = 0x00200000,3077		.tuner_type     = TUNER_ABSENT,3078		.radio_type     = UNSET,3079		.tuner_addr	= ADDR_UNSET,3080		.radio_addr	= ADDR_UNSET,3081		.mpeg           = SAA7134_MPEG_DVB,3082		.inputs         = {{3083			.type = SAA7134_INPUT_COMPOSITE1,3084			.vmux = 3,3085			.amux = LINE1,3086		},{3087			.type = SAA7134_INPUT_SVIDEO,3088			.vmux = 8,3089			.amux = LINE1,3090		}},3091	},3092	[SAA7134_BOARD_PROTEUS_2309] = {3093		.name           = "Proteus Pro 2309",3094		.audio_clock    = 0x00187de7,3095		.tuner_type	= TUNER_PHILIPS_FM1216ME_MK3,3096		.radio_type     = UNSET,3097		.tuner_addr	= ADDR_UNSET,3098		.radio_addr	= ADDR_UNSET,3099		.tda9887_conf   = TDA9887_PRESENT,3100		.inputs         = {{3101			.type = SAA7134_INPUT_TV,3102			.vmux = 1,3103			.amux = LINE2,3104		},{3105			.type = SAA7134_INPUT_COMPOSITE1,3106			.vmux = 0,3107			.amux = LINE2,3108		},{3109			.type = SAA7134_INPUT_COMPOSITE2,3110			.vmux = 3,3111			.amux = LINE2,3112		},{3113			.type = SAA7134_INPUT_SVIDEO,3114			.vmux = 8,3115			.amux = LINE2,3116		}},3117		.mute = {3118			.type = SAA7134_INPUT_MUTE,3119			.amux = LINE1,3120		},3121	},3122	[SAA7134_BOARD_AVERMEDIA_A16AR] = {3123		/* Petr Baudis <pasky@ucw.cz> */3124		.name           = "AVerMedia TV Hybrid A16AR",3125		.audio_clock    = 0x187de7,3126		.tuner_type     = TUNER_PHILIPS_TD1316, /* untested */3127		.radio_type     = TUNER_TEA5767, /* untested */3128		.tuner_addr     = ADDR_UNSET,3129		.radio_addr     = 0x60,3130		.tda9887_conf   = TDA9887_PRESENT,3131		.mpeg           = SAA7134_MPEG_DVB,3132		.inputs         = {{3133			.type = SAA7134_INPUT_TV,3134			.vmux = 1,3135			.amux = TV,3136		},{3137			.type = SAA7134_INPUT_COMPOSITE1,3138			.vmux = 3,3139			.amux = LINE2,3140		},{3141			.type = SAA7134_INPUT_SVIDEO,3142			.vmux = 8,3143			.amux = LINE1,3144		}},3145		.radio = {3146			.type = SAA7134_INPUT_RADIO,3147			.amux = LINE1,3148		},3149	},3150	[SAA7134_BOARD_ASUS_EUROPA2_HYBRID] = {3151		.name           = "Asus Europa2 OEM",3152		.audio_clock    = 0x00187de7,3153		.tuner_type     = TUNER_PHILIPS_FMD1216ME_MK3,3154		.radio_type     = UNSET,3155		.tuner_addr	= ADDR_UNSET,3156		.radio_addr	= ADDR_UNSET,3157		.tda9887_conf   = TDA9887_PRESENT| TDA9887_PORT1_ACTIVE | TDA9887_PORT2_ACTIVE,3158		.mpeg           = SAA7134_MPEG_DVB,3159		.inputs = {{3160			.type = SAA7134_INPUT_TV,3161			.vmux   = 3,3162			.amux   = TV,3163		},{3164			.type = SAA7134_INPUT_COMPOSITE1,3165			.vmux   = 4,3166			.amux   = LINE2,3167		},{3168			.type = SAA7134_INPUT_SVIDEO,3169			.vmux   = 8,3170			.amux   = LINE2,3171		}},3172		.radio = {3173			.type = SAA7134_INPUT_RADIO,3174			.amux   = LINE1,3175		},3176	},3177	[SAA7134_BOARD_PINNACLE_PCTV_310i] = {3178		.name           = "Pinnacle PCTV 310i",3179		.audio_clock    = 0x00187de7,3180		.tuner_type     = TUNER_PHILIPS_TDA8290,3181		.radio_type     = UNSET,3182		.tuner_addr     = ADDR_UNSET,3183		.radio_addr     = ADDR_UNSET,3184		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_GP0_HIGH_ON },3185		.mpeg           = SAA7134_MPEG_DVB,3186		.gpiomask       = 0x000200000,3187		.inputs         = {{3188			.type = SAA7134_INPUT_TV,3189			.vmux = 4,3190			.amux = TV,3191		},{3192			.type = SAA7134_INPUT_COMPOSITE1,3193			.vmux = 1,3194			.amux = LINE2,3195		},{3196			.type = SAA7134_INPUT_COMPOSITE2,3197			.vmux = 0,3198			.amux = LINE2,3199		},{3200			.type = SAA7134_INPUT_SVIDEO,3201			.vmux = 8,3202			.amux = LINE2,3203		}},3204		.radio = {3205			.type = SAA7134_INPUT_RADIO,3206			.amux   = TV,3207			.gpio   = 0x0200000,3208		},3209	},3210	[SAA7134_BOARD_AVERMEDIA_STUDIO_507] = {3211		/* Mikhail Fedotov <mo_fedotov@mail.ru> */3212		.name           = "Avermedia AVerTV Studio 507",3213		.audio_clock    = 0x00187de7,3214		.tuner_type     = TUNER_PHILIPS_FM1256_IH3,3215		.radio_type     = UNSET,3216		.tuner_addr	= ADDR_UNSET,3217		.radio_addr	= ADDR_UNSET,3218		.tda9887_conf   = TDA9887_PRESENT,3219		.gpiomask       = 0x03,3220		.inputs         = {{3221			.type = SAA7134_INPUT_TV,3222			.vmux = 1,3223			.amux = TV,3224			.gpio = 0x00,3225		},{3226			.type = SAA7134_INPUT_COMPOSITE1,3227			.vmux = 0,3228			.amux = LINE2,3229			.gpio = 0x00,3230		},{3231			.type = SAA7134_INPUT_COMPOSITE2,3232			.vmux = 3,3233			.amux = LINE2,3234			.gpio = 0x00,3235		},{3236			.type = SAA7134_INPUT_SVIDEO,3237			.vmux = 8,3238			.amux = LINE2,3239			.gpio = 0x00,3240		}},3241		.radio = {3242			.type = SAA7134_INPUT_RADIO,3243			.amux = LINE2,3244			.gpio = 0x01,3245		},3246		.mute  = {3247			.type = SAA7134_INPUT_MUTE,3248			.amux = LINE1,3249			.gpio = 0x00,3250		},3251	},3252	[SAA7134_BOARD_VIDEOMATE_DVBT_200A] = {3253		/* Francis Barber <fedora@barber-family.id.au> */3254		.name           = "Compro Videomate DVB-T200A",3255		.audio_clock    = 0x00187de7,3256		.tuner_type     = TUNER_ABSENT,3257		.radio_type     = UNSET,3258		.tuner_addr	= ADDR_UNSET,3259		.radio_addr	= ADDR_UNSET,3260		.tda9887_conf   = TDA9887_PRESENT | TDA9887_PORT1_ACTIVE,3261		.mpeg           = SAA7134_MPEG_DVB,3262		.inputs = {{3263			.type = SAA7134_INPUT_TV,3264			.vmux   = 3,3265			.amux   = TV,3266		},{3267			.type = SAA7134_INPUT_COMPOSITE1,3268			.vmux   = 1,3269			.amux   = LINE2,3270		},{3271			.type = SAA7134_INPUT_SVIDEO,3272			.vmux   = 8,3273			.amux   = LINE2,3274		}},3275	},3276	[SAA7134_BOARD_HAUPPAUGE_HVR1110] = {3277		/* Thomas Genty <tomlohave@gmail.com> */3278		/* David Bentham <db260179@hotmail.com> */3279		.name           = "Hauppauge WinTV-HVR1110 DVB-T/Hybrid",3280		.audio_clock    = 0x00187de7,3281		.tuner_type     = TUNER_PHILIPS_TDA8290,3282		.radio_type     = UNSET,3283		.tuner_addr     = ADDR_UNSET,3284		.radio_addr     = ADDR_UNSET,3285		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_GP0_HIGH_ON },3286		.mpeg           = SAA7134_MPEG_DVB,3287		.gpiomask       = 0x0200100,3288		.inputs         = {{3289			.type = SAA7134_INPUT_TV,3290			.vmux = 1,3291			.amux = TV,3292			.gpio = 0x0000100,3293		}, {3294			.type = SAA7134_INPUT_COMPOSITE1,3295			.vmux = 3,3296			.amux = LINE1,3297		}, {3298			.type = SAA7134_INPUT_SVIDEO,3299			.vmux = 8,3300			.amux = LINE1,3301		} },3302		.radio = {3303			.type = SAA7134_INPUT_RADIO,3304			.amux = TV,3305			.gpio = 0x0200100,3306		},3307	},3308	[SAA7134_BOARD_HAUPPAUGE_HVR1150] = {3309		.name           = "Hauppauge WinTV-HVR1150 ATSC/QAM-Hybrid",3310		.audio_clock    = 0x00187de7,3311		.tuner_type     = TUNER_PHILIPS_TDA8290,3312		.radio_type     = UNSET,3313		.tuner_addr     = ADDR_UNSET,3314		.radio_addr     = ADDR_UNSET,3315		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_ON_BRIDGE },3316		.mpeg           = SAA7134_MPEG_DVB,3317		.ts_type	= SAA7134_MPEG_TS_SERIAL,3318		.ts_force_val   = 1,3319		.gpiomask       = 0x0800100, /* GPIO 21 is an INPUT */3320		.inputs         = {{3321			.type = SAA7134_INPUT_TV,3322			.vmux = 1,3323			.amux = TV,3324			.gpio = 0x0000100,3325		}, {3326			.type = SAA7134_INPUT_COMPOSITE1,3327			.vmux = 3,3328			.amux = LINE1,3329		}, {3330			.type = SAA7134_INPUT_SVIDEO,3331			.vmux = 8,3332			.amux = LINE1,3333		} },3334		.radio = {3335			.type = SAA7134_INPUT_RADIO,3336			.amux = TV,3337			.gpio = 0x0800100, /* GPIO 23 HI for FM */3338		},3339	},3340	[SAA7134_BOARD_HAUPPAUGE_HVR1120] = {3341		.name           = "Hauppauge WinTV-HVR1120 DVB-T/Hybrid",3342		.audio_clock    = 0x00187de7,3343		.tuner_type     = TUNER_PHILIPS_TDA8290,3344		.radio_type     = UNSET,3345		.tuner_addr     = ADDR_UNSET,3346		.radio_addr     = ADDR_UNSET,3347		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_ON_BRIDGE },3348		.mpeg           = SAA7134_MPEG_DVB,3349		.ts_type	= SAA7134_MPEG_TS_SERIAL,3350		.gpiomask       = 0x0800100, /* GPIO 21 is an INPUT */3351		.inputs         = {{3352			.type = SAA7134_INPUT_TV,3353			.vmux = 1,3354			.amux = TV,3355			.gpio = 0x0000100,3356		}, {3357			.type = SAA7134_INPUT_COMPOSITE1,3358			.vmux = 3,3359			.amux = LINE1,3360		}, {3361			.type = SAA7134_INPUT_SVIDEO,3362			.vmux = 8,3363			.amux = LINE1,3364		} },3365		.radio = {3366			.type = SAA7134_INPUT_RADIO,3367			.amux = TV,3368			.gpio = 0x0800100, /* GPIO 23 HI for FM */3369		},3370	},3371	[SAA7134_BOARD_CINERGY_HT_PCMCIA] = {3372		.name           = "Terratec Cinergy HT PCMCIA",3373		.audio_clock    = 0x00187de7,3374		.tuner_type     = TUNER_PHILIPS_TDA8290,3375		.radio_type     = UNSET,3376		.tuner_addr	= ADDR_UNSET,3377		.radio_addr	= ADDR_UNSET,3378		.mpeg           = SAA7134_MPEG_DVB,3379		.inputs = {{3380			.type = SAA7134_INPUT_TV,3381			.vmux   = 1,3382			.amux   = TV,3383		},{3384			.type = SAA7134_INPUT_COMPOSITE1,3385			.vmux   = 0,3386			.amux   = LINE1,3387		},{3388			.type = SAA7134_INPUT_SVIDEO,3389			.vmux   = 6,3390			.amux   = LINE1,3391		}},3392	},3393	[SAA7134_BOARD_ENCORE_ENLTV] = {3394	/* Steven Walter <stevenrwalter@gmail.com>3395	   Juan Pablo Sormani <sorman@gmail.com> */3396		.name           = "Encore ENLTV",3397		.audio_clock    = 0x00200000,3398		.tuner_type     = TUNER_TNF_5335MF,3399		.radio_type     = UNSET,3400		.tuner_addr	= ADDR_UNSET,3401		.radio_addr	= ADDR_UNSET,3402		.inputs         = {{3403			.type = SAA7134_INPUT_TV,3404			.vmux = 1,3405			.amux = 3,3406		},{3407			.type = SAA7134_INPUT_TV_MONO,3408			.vmux = 7,3409			.amux = 4,3410		},{3411			.type = SAA7134_INPUT_COMPOSITE1,3412			.vmux = 3,3413			.amux = 2,3414		},{3415			.type = SAA7134_INPUT_SVIDEO,3416			.vmux = 0,3417			.amux = 2,3418		}},3419		.radio = {3420			.type = SAA7134_INPUT_RADIO,3421			.amux = LINE2,3422/*			.gpio = 0x00300001,*/3423			.gpio = 0x20000,3424 3425		},3426		.mute = {3427			.type = SAA7134_INPUT_MUTE,3428			.amux = 0,3429		},3430	},3431	[SAA7134_BOARD_ENCORE_ENLTV_FM] = {3432  /*	Juan Pablo Sormani <sorman@gmail.com> */3433		.name           = "Encore ENLTV-FM",3434		.audio_clock    = 0x00200000,3435		.tuner_type     = TUNER_PHILIPS_FCV1236D,3436		.radio_type     = UNSET,3437		.tuner_addr	= ADDR_UNSET,3438		.radio_addr	= ADDR_UNSET,3439		.inputs         = {{3440			.type = SAA7134_INPUT_TV,3441			.vmux = 1,3442			.amux = 3,3443		},{3444			.type = SAA7134_INPUT_TV_MONO,3445			.vmux = 7,3446			.amux = 4,3447		},{3448			.type = SAA7134_INPUT_COMPOSITE1,3449			.vmux = 3,3450			.amux = 2,3451		},{3452			.type = SAA7134_INPUT_SVIDEO,3453			.vmux = 0,3454			.amux = 2,3455		}},3456		.radio = {3457			.type = SAA7134_INPUT_RADIO,3458			.amux = LINE2,3459			.gpio = 0x20000,3460 3461		},3462		.mute = {3463			.type = SAA7134_INPUT_MUTE,3464			.amux = 0,3465		},3466	},3467	[SAA7134_BOARD_ENCORE_ENLTV_FM53] = {3468		.name           = "Encore ENLTV-FM v5.3",3469		.audio_clock    = 0x00200000,3470		.tuner_type     = TUNER_TNF_5335MF,3471		.radio_type     = UNSET,3472		.tuner_addr	= ADDR_UNSET,3473		.radio_addr	= ADDR_UNSET,3474		.gpiomask	= 0x7000,3475		.inputs         = { {3476			.type = SAA7134_INPUT_TV,3477			.vmux = 1,3478			.amux = 1,3479			.gpio = 0x50000,3480		}, {3481			.type = SAA7134_INPUT_COMPOSITE1,3482			.vmux = 3,3483			.amux = 2,3484			.gpio = 0x2000,3485		}, {3486			.type = SAA7134_INPUT_SVIDEO,3487			.vmux = 8,3488			.amux = 2,3489			.gpio = 0x2000,3490		} },3491		.radio = {3492			.type = SAA7134_INPUT_RADIO,3493			.vmux = 1,3494			.amux = 1,3495		},3496		.mute = {3497			.type = SAA7134_INPUT_MUTE,3498			.gpio = 0xf000,3499			.amux = 0,3500		},3501	},3502	[SAA7134_BOARD_ENCORE_ENLTV_FM3] = {3503		.name           = "Encore ENLTV-FM 3",3504		.audio_clock    = 0x02187de7,3505		.tuner_type     = TUNER_TENA_TNF_5337,3506		.radio_type     = TUNER_TEA5767,3507		.tuner_addr	= 0x61,3508		.radio_addr	= 0x60,3509		.inputs         = { {3510			.type = SAA7134_INPUT_TV,3511			.vmux = 1,3512			.amux = LINE2,3513		}, {3514			.type = SAA7134_INPUT_COMPOSITE1,3515			.vmux = 3,3516			.amux = LINE1,3517		}, {3518			.type = SAA7134_INPUT_SVIDEO,3519			.vmux = 8,3520			.amux = LINE1,3521		} },3522		.radio = {3523			.type = SAA7134_INPUT_RADIO,3524			.vmux = 1,3525			.amux = LINE1,3526		},3527		.mute = {3528			.type = SAA7134_INPUT_MUTE,3529			.amux = LINE1,3530			.gpio = 0x43000,3531		},3532	},3533	[SAA7134_BOARD_CINERGY_HT_PCI] = {3534		.name           = "Terratec Cinergy HT PCI",3535		.audio_clock    = 0x00187de7,3536		.tuner_type     = TUNER_PHILIPS_TDA8290,3537		.radio_type     = UNSET,3538		.tuner_addr	= ADDR_UNSET,3539		.radio_addr	= ADDR_UNSET,3540		.mpeg           = SAA7134_MPEG_DVB,3541		.inputs = {{3542			.type = SAA7134_INPUT_TV,3543			.vmux   = 1,3544			.amux   = TV,3545		},{3546			.type = SAA7134_INPUT_COMPOSITE1,3547			.vmux   = 0,3548			.amux   = LINE1,3549		},{3550			.type = SAA7134_INPUT_SVIDEO,3551			.vmux   = 6,3552			.amux   = LINE1,3553		}},3554	},3555	[SAA7134_BOARD_PHILIPS_TIGER_S] = {3556		.name           = "Philips Tiger - S Reference design",3557		.audio_clock    = 0x00187de7,3558		.tuner_type     = TUNER_PHILIPS_TDA8290,3559		.radio_type     = UNSET,3560		.tuner_addr	= ADDR_UNSET,3561		.radio_addr	= ADDR_UNSET,3562		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_GP0_HIGH_OFF },3563		.mpeg           = SAA7134_MPEG_DVB,3564		.gpiomask       = 0x0200000,3565		.inputs = {{3566			.type = SAA7134_INPUT_TV,3567			.vmux   = 1,3568			.amux   = TV,3569		},{3570			.type = SAA7134_INPUT_COMPOSITE1,3571			.vmux   = 3,3572			.amux   = LINE1,3573		},{3574			.type = SAA7134_INPUT_SVIDEO,3575			.vmux   = 8,3576			.amux   = LINE1,3577		}},3578		.radio = {3579			.type = SAA7134_INPUT_RADIO,3580			.amux   = TV,3581			.gpio   = 0x0200000,3582		},3583	},3584	[SAA7134_BOARD_AVERMEDIA_M102] = {3585		.name           = "Avermedia M102",3586		.audio_clock    = 0x00187de7,3587		.tuner_type     = TUNER_PHILIPS_TDA8290,3588		.radio_type     = UNSET,3589		.tuner_addr	= ADDR_UNSET,3590		.radio_addr	= ADDR_UNSET,3591		.gpiomask       = 1<<21,3592		.inputs         = {{3593			.type = SAA7134_INPUT_TV,3594			.vmux = 1,3595			.amux = TV,3596		},{3597			.type = SAA7134_INPUT_COMPOSITE1,3598			.vmux = 0,3599			.amux = LINE2,3600		},{3601			.type = SAA7134_INPUT_SVIDEO,3602			.vmux = 6,3603			.amux = LINE2,3604		}},3605	},3606	[SAA7134_BOARD_ASUS_P7131_4871] = {3607		.name           = "ASUS P7131 4871",3608		.audio_clock    = 0x00187de7,3609		.tuner_type     = TUNER_PHILIPS_TDA8290,3610		.radio_type     = UNSET,3611		.tuner_addr	= ADDR_UNSET,3612		.radio_addr	= ADDR_UNSET,3613		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_GP0_HIGH_OFF },3614		.mpeg           = SAA7134_MPEG_DVB,3615		.gpiomask       = 0x0200000,3616		.inputs = {{3617			.type = SAA7134_INPUT_TV,3618			.vmux   = 1,3619			.amux   = TV,3620			.gpio   = 0x0200000,3621		},{3622			.type = SAA7134_INPUT_COMPOSITE1,3623			.vmux = 3,3624			.amux = LINE2,3625			.gpio = 0x0200000,3626		},{3627			.type = SAA7134_INPUT_COMPOSITE2,3628			.vmux = 0,3629			.amux = LINE2,3630			.gpio = 0x0200000,3631		},{3632			.type = SAA7134_INPUT_SVIDEO,3633			.vmux = 8,3634			.amux = LINE2,3635			.gpio = 0x0200000,3636		}},3637	},3638	[SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA] = {3639		.name           = "ASUSTeK P7131 Hybrid",3640		.audio_clock    = 0x00187de7,3641		.tuner_type     = TUNER_PHILIPS_TDA8290,3642		.radio_type     = UNSET,3643		.tuner_addr	= ADDR_UNSET,3644		.radio_addr	= ADDR_UNSET,3645		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_GP0_HIGH_OFF },3646		.gpiomask	= 1 << 21,3647		.mpeg           = SAA7134_MPEG_DVB,3648		.inputs         = {{3649			.type = SAA7134_INPUT_TV,3650			.vmux = 1,3651			.amux = TV,3652			.gpio = 0x0000000,3653		},{3654			.type = SAA7134_INPUT_COMPOSITE1,3655			.vmux = 3,3656			.amux = LINE2,3657			.gpio = 0x0200000,3658		},{3659			.type = SAA7134_INPUT_COMPOSITE2,3660			.vmux = 0,3661			.amux = LINE2,3662			.gpio = 0x0200000,3663		},{3664			.type = SAA7134_INPUT_SVIDEO,3665			.vmux = 8,3666			.amux = LINE2,3667			.gpio = 0x0200000,3668		}},3669		.radio = {3670			.type = SAA7134_INPUT_RADIO,3671			.amux = TV,3672			.gpio = 0x0200000,3673		},3674	},3675	[SAA7134_BOARD_ASUSTeK_P7131_ANALOG] = {3676	       .name           = "ASUSTeK P7131 Analog",3677	       .audio_clock    = 0x00187de7,3678	       .tuner_type     = TUNER_PHILIPS_TDA8290,3679	       .radio_type     = UNSET,3680	       .tuner_addr     = ADDR_UNSET,3681	       .radio_addr     = ADDR_UNSET,3682	       .gpiomask       = 1 << 21,3683	       .inputs         = {{3684		       .type = SAA7134_INPUT_TV,3685		       .vmux = 1,3686		       .amux = TV,3687		       .gpio = 0x0000000,3688	       }, {3689		       .type = SAA7134_INPUT_COMPOSITE1,3690		       .vmux = 3,3691		       .amux = LINE2,3692	       }, {3693		       .type = SAA7134_INPUT_COMPOSITE2,3694		       .vmux = 0,3695		       .amux = LINE2,3696	       }, {3697		       .type = SAA7134_INPUT_SVIDEO,3698		       .vmux = 8,3699		       .amux = LINE2,3700	       } },3701	       .radio = {3702		       .type = SAA7134_INPUT_RADIO,3703		       .amux = TV,3704		       .gpio = 0x0200000,3705	       },3706	},3707	[SAA7134_BOARD_SABRENT_TV_PCB05] = {3708		.name           = "Sabrent PCMCIA TV-PCB05",3709		.audio_clock    = 0x00187de7,3710		.tuner_type     = TUNER_PHILIPS_TDA8290,3711		.radio_type     = UNSET,3712		.tuner_addr     = ADDR_UNSET,3713		.radio_addr     = ADDR_UNSET,3714		.inputs         = {{3715			.type = SAA7134_INPUT_TV,3716			.vmux = 1,3717			.amux = TV,3718		},{3719			.type = SAA7134_INPUT_COMPOSITE1,3720			.vmux = 3,3721			.amux = LINE1,3722		},{3723			.type = SAA7134_INPUT_COMPOSITE2,3724			.vmux = 0,3725			.amux = LINE1,3726		},{3727			.type = SAA7134_INPUT_SVIDEO,3728			.vmux = 8,3729			.amux = LINE1,3730		}},3731		.mute = {3732			.type = SAA7134_INPUT_MUTE,3733			.amux = TV,3734		},3735	},3736	[SAA7134_BOARD_10MOONSTVMASTER3] = {3737		/* Tony Wan <aloha_cn@hotmail.com> */3738		.name           = "10MOONS TM300 TV Card",3739		.audio_clock    = 0x00200000,3740		.tuner_type     = TUNER_LG_PAL_NEW_TAPC,3741		.radio_type     = UNSET,3742		.tuner_addr     = ADDR_UNSET,3743		.radio_addr     = ADDR_UNSET,3744		.gpiomask       = 0x7000,3745		.inputs         = {{3746			.type = SAA7134_INPUT_TV,3747			.vmux = 1,3748			.amux = LINE2,3749			.gpio = 0x0000,3750		},{3751			.type = SAA7134_INPUT_COMPOSITE1,3752			.vmux = 3,3753			.amux = LINE1,3754			.gpio = 0x2000,3755		},{3756			.type = SAA7134_INPUT_SVIDEO,3757			.vmux = 8,3758			.amux = LINE1,3759			.gpio = 0x2000,3760		}},3761		.mute = {3762			.type = SAA7134_INPUT_MUTE,3763			.amux = LINE2,3764			.gpio = 0x3000,3765		},3766	},3767	[SAA7134_BOARD_AVERMEDIA_SUPER_007] = {3768		.name           = "Avermedia Super 007",3769		.audio_clock    = 0x00187de7,3770		.tuner_type     = TUNER_PHILIPS_TDA8290,3771		.radio_type     = UNSET,3772		.tuner_addr     = ADDR_UNSET,3773		.radio_addr     = ADDR_UNSET,3774		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_OFF },3775		.mpeg           = SAA7134_MPEG_DVB,3776		.inputs = {{3777			.type = SAA7134_INPUT_TV, /* FIXME: analog tv untested */3778			.vmux   = 1,3779			.amux   = TV,3780		}},3781	},3782	[SAA7134_BOARD_AVERMEDIA_M135A] = {3783		.name           = "Avermedia PCI pure analog (M135A)",3784		.audio_clock    = 0x00187de7,3785		.tuner_type     = TUNER_PHILIPS_TDA8290,3786		.radio_type     = UNSET,3787		.tuner_addr     = ADDR_UNSET,3788		.radio_addr     = ADDR_UNSET,3789		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_GP0_HIGH_OFF },3790		.gpiomask       = 0x020200000,3791		.inputs         = {{3792			.type = SAA7134_INPUT_TV,3793			.vmux = 1,3794			.amux = TV,3795		}, {3796			.type = SAA7134_INPUT_COMPOSITE1,3797			.vmux = 3,3798			.amux = LINE1,3799		}, {3800			.type = SAA7134_INPUT_SVIDEO,3801			.vmux = 8,3802			.amux = LINE1,3803		} },3804		.radio = {3805			.type = SAA7134_INPUT_RADIO,3806			.amux = TV,3807			.gpio = 0x00200000,3808		},3809		.mute = {3810			.type = SAA7134_INPUT_MUTE,3811			.amux = TV,3812			.gpio = 0x01,3813		},3814	},3815	[SAA7134_BOARD_AVERMEDIA_M733A] = {3816		.name		= "Avermedia PCI M733A",3817		.audio_clock	= 0x00187de7,3818		.tuner_type	= TUNER_PHILIPS_TDA8290,3819		.radio_type	= UNSET,3820		.tuner_addr	= ADDR_UNSET,3821		.radio_addr	= ADDR_UNSET,3822		.tda829x_conf	= { .lna_cfg = TDA8290_LNA_OFF },3823		.gpiomask	= 0x020200000,3824		.inputs		= {{3825			.type = SAA7134_INPUT_TV,3826			.vmux = 1,3827			.amux = TV,3828		}, {3829			.type = SAA7134_INPUT_COMPOSITE1,3830			.vmux = 3,3831			.amux = LINE1,3832		}, {3833			.type = SAA7134_INPUT_SVIDEO,3834			.vmux = 8,3835			.amux = LINE1,3836		} },3837		.radio = {3838			.type = SAA7134_INPUT_RADIO,3839			.amux = TV,3840			.gpio = 0x00200000,3841		},3842		.mute = {3843			.type = SAA7134_INPUT_MUTE,3844			.amux = TV,3845			.gpio = 0x01,3846		},3847	},3848	[SAA7134_BOARD_BEHOLD_401] = {3849		/*       Beholder Intl. Ltd. 2008      */3850		/*Dmitry Belimov <d.belimov@gmail.com> */3851		.name           = "Beholder BeholdTV 401",3852		.audio_clock    = 0x00187de7,3853		.tuner_type     = TUNER_PHILIPS_FQ1216ME,3854		.radio_type     = UNSET,3855		.tuner_addr	= ADDR_UNSET,3856		.radio_addr	= ADDR_UNSET,3857		.gpiomask       = 0x00008000,3858		.inputs         = {{3859			.type = SAA7134_INPUT_SVIDEO,3860			.vmux = 8,3861			.amux = LINE1,3862		},{3863			.type = SAA7134_INPUT_COMPOSITE1,3864			.vmux = 1,3865			.amux = LINE1,3866		},{3867			.type = SAA7134_INPUT_TV,3868			.vmux = 3,3869			.amux = LINE2,3870		}},3871		.mute = {3872			.type = SAA7134_INPUT_MUTE,3873			.amux = LINE1,3874		},3875	},3876	[SAA7134_BOARD_BEHOLD_403] = {3877		/*       Beholder Intl. Ltd. 2008      */3878		/*Dmitry Belimov <d.belimov@gmail.com> */3879		.name           = "Beholder BeholdTV 403",3880		.audio_clock    = 0x00187de7,3881		.tuner_type     = TUNER_PHILIPS_FQ1216ME,3882		.radio_type     = UNSET,3883		.tuner_addr	= ADDR_UNSET,3884		.radio_addr	= ADDR_UNSET,3885		.gpiomask       = 0x00008000,3886		.inputs         = {{3887			.type = SAA7134_INPUT_SVIDEO,3888			.vmux = 8,3889			.amux = LINE1,3890		},{3891			.type = SAA7134_INPUT_COMPOSITE1,3892			.vmux   = 1,3893			.amux   = LINE1,3894		},{3895			.type = SAA7134_INPUT_TV,3896			.vmux = 3,3897			.amux = LINE2,3898		}},3899	},3900	[SAA7134_BOARD_BEHOLD_403FM] = {3901		/*       Beholder Intl. Ltd. 2008      */3902		/*Dmitry Belimov <d.belimov@gmail.com> */3903		.name           = "Beholder BeholdTV 403 FM",3904		.audio_clock    = 0x00187de7,3905		.tuner_type     = TUNER_PHILIPS_FQ1216ME,3906		.radio_type     = UNSET,3907		.tuner_addr	= ADDR_UNSET,3908		.radio_addr	= ADDR_UNSET,3909		.gpiomask       = 0x00008000,3910		.inputs         = {{3911			.type = SAA7134_INPUT_SVIDEO,3912			.vmux = 8,3913			.amux = LINE1,3914		},{3915			.type = SAA7134_INPUT_COMPOSITE1,3916			.vmux   = 1,3917			.amux   = LINE1,3918		},{3919			.type = SAA7134_INPUT_TV,3920			.vmux = 3,3921			.amux = LINE2,3922		}},3923		.radio = {3924			.type = SAA7134_INPUT_RADIO,3925			.amux = LINE2,3926		},3927	},3928	[SAA7134_BOARD_BEHOLD_405] = {3929		/*       Beholder Intl. Ltd. 2008      */3930		/*Dmitry Belimov <d.belimov@gmail.com> */3931		.name           = "Beholder BeholdTV 405",3932		.audio_clock    = 0x00187de7,3933		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,3934		.radio_type     = UNSET,3935		.tuner_addr     = ADDR_UNSET,3936		.radio_addr     = ADDR_UNSET,3937		.tda9887_conf   = TDA9887_PRESENT,3938		.gpiomask       = 0x00008000,3939		.inputs         = {{3940			.type = SAA7134_INPUT_SVIDEO,3941			.vmux = 8,3942			.amux = LINE1,3943		},{3944			.type = SAA7134_INPUT_COMPOSITE1,3945			.vmux = 3,3946			.amux = LINE1,3947		},{3948			.type = SAA7134_INPUT_TV,3949			.vmux = 3,3950			.amux = LINE2,3951		}},3952	},3953	[SAA7134_BOARD_BEHOLD_405FM] = {3954		/* Sergey <skiv@orel.ru> */3955		/*       Beholder Intl. Ltd. 2008      */3956		/*Dmitry Belimov <d.belimov@gmail.com> */3957		.name           = "Beholder BeholdTV 405 FM",3958		.audio_clock    = 0x00187de7,3959		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,3960		.radio_type     = UNSET,3961		.tuner_addr     = ADDR_UNSET,3962		.radio_addr     = ADDR_UNSET,3963		.tda9887_conf   = TDA9887_PRESENT,3964		.gpiomask       = 0x00008000,3965		.inputs         = {{3966			.type = SAA7134_INPUT_SVIDEO,3967			.vmux = 8,3968			.amux = LINE1,3969		},{3970			.type = SAA7134_INPUT_COMPOSITE1,3971			.vmux = 3,3972			.amux = LINE1,3973		},{3974			.type = SAA7134_INPUT_TV,3975			.vmux = 3,3976			.amux = LINE2,3977		}},3978		.radio = {3979			.type = SAA7134_INPUT_RADIO,3980			.amux = LINE2,3981		},3982	},3983	[SAA7134_BOARD_BEHOLD_407] = {3984		/*       Beholder Intl. Ltd. 2008      */3985		/*Dmitry Belimov <d.belimov@gmail.com> */3986		.name		= "Beholder BeholdTV 407",3987		.audio_clock	= 0x00187de7,3988		.tuner_type	= TUNER_PHILIPS_FM1216ME_MK3,3989		.radio_type	= UNSET,3990		.tuner_addr	= ADDR_UNSET,3991		.radio_addr	= ADDR_UNSET,3992		.tda9887_conf	= TDA9887_PRESENT,3993		.gpiomask       = 0x00008000,3994		.inputs = {{3995			.type = SAA7134_INPUT_SVIDEO,3996			.vmux = 8,3997			.amux = LINE1,3998			.gpio = 0xc0c000,3999		},{4000			.type = SAA7134_INPUT_COMPOSITE1,4001			.vmux = 1,4002			.amux = LINE1,4003			.gpio = 0xc0c000,4004		},{4005			.type = SAA7134_INPUT_TV,4006			.vmux = 3,4007			.amux = TV,4008			.gpio = 0xc0c000,4009		}},4010	},4011	[SAA7134_BOARD_BEHOLD_407FM] = {4012		/*       Beholder Intl. Ltd. 2008      */4013		/*Dmitry Belimov <d.belimov@gmail.com> */4014		.name		= "Beholder BeholdTV 407 FM",4015		.audio_clock	= 0x00187de7,4016		.tuner_type	= TUNER_PHILIPS_FM1216ME_MK3,4017		.radio_type	= UNSET,4018		.tuner_addr	= ADDR_UNSET,4019		.radio_addr	= ADDR_UNSET,4020		.tda9887_conf	= TDA9887_PRESENT,4021		.gpiomask       = 0x00008000,4022		.inputs = {{4023			.type = SAA7134_INPUT_SVIDEO,4024			.vmux = 8,4025			.amux = LINE1,4026			.gpio = 0xc0c000,4027		},{4028			.type = SAA7134_INPUT_COMPOSITE1,4029			.vmux = 1,4030			.amux = LINE1,4031			.gpio = 0xc0c000,4032		},{4033			.type = SAA7134_INPUT_TV,4034			.vmux = 3,4035			.amux = TV,4036			.gpio = 0xc0c000,4037		}},4038		.radio = {4039			.type = SAA7134_INPUT_RADIO,4040			.amux = LINE2,4041			.gpio = 0xc0c000,4042		},4043	},4044	[SAA7134_BOARD_BEHOLD_409] = {4045		/*       Beholder Intl. Ltd. 2008      */4046		/*Dmitry Belimov <d.belimov@gmail.com> */4047		.name           = "Beholder BeholdTV 409",4048		.audio_clock    = 0x00187de7,4049		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,4050		.radio_type     = UNSET,4051		.tuner_addr     = ADDR_UNSET,4052		.radio_addr     = ADDR_UNSET,4053		.tda9887_conf   = TDA9887_PRESENT,4054		.gpiomask       = 0x00008000,4055		.inputs         = {{4056			.type = SAA7134_INPUT_TV,4057			.vmux = 3,4058			.amux = TV,4059		},{4060			.type = SAA7134_INPUT_COMPOSITE1,4061			.vmux = 1,4062			.amux = LINE1,4063		},{4064			.type = SAA7134_INPUT_SVIDEO,4065			.vmux = 8,4066			.amux = LINE1,4067		}},4068	},4069	[SAA7134_BOARD_BEHOLD_505FM] = {4070		/*       Beholder Intl. Ltd. 2008      */4071		/*Dmitry Belimov <d.belimov@gmail.com> */4072		.name           = "Beholder BeholdTV 505 FM",4073		.audio_clock    = 0x00200000,4074		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,4075		.radio_type     = UNSET,4076		.tuner_addr     = ADDR_UNSET,4077		.radio_addr     = ADDR_UNSET,4078		.tda9887_conf   = TDA9887_PRESENT,4079		.gpiomask       = 0x00008000,4080		.inputs         = {{4081			.type = SAA7134_INPUT_TV,4082			.vmux = 3,4083			.amux = LINE2,4084		}, {4085			.type = SAA7134_INPUT_COMPOSITE1,4086			.vmux = 1,4087			.amux = LINE1,4088		}, {4089			.type = SAA7134_INPUT_SVIDEO,4090			.vmux = 8,4091			.amux = LINE1,4092		} },4093		.mute = {4094			.type = SAA7134_INPUT_MUTE,4095			.amux = LINE1,4096		},4097		.radio = {4098			.type = SAA7134_INPUT_RADIO,4099			.amux = LINE2,4100		},4101	},4102	[SAA7134_BOARD_BEHOLD_505RDS_MK5] = {4103		/*       Beholder Intl. Ltd. 2008      */4104		/*Dmitry Belimov <d.belimov@gmail.com> */4105		.name           = "Beholder BeholdTV 505 RDS",4106		.audio_clock    = 0x00200000,4107		.tuner_type     = TUNER_PHILIPS_FM1216MK5,4108		.radio_type     = UNSET,4109		.tuner_addr     = ADDR_UNSET,4110		.radio_addr     = ADDR_UNSET,4111		.rds_addr	= 0x10,4112		.tda9887_conf   = TDA9887_PRESENT,4113		.gpiomask       = 0x00008000,4114		.inputs         = {{4115			.type = SAA7134_INPUT_TV,4116			.vmux = 3,4117			.amux = LINE2,4118		},{4119			.type = SAA7134_INPUT_COMPOSITE1,4120			.vmux = 1,4121			.amux = LINE1,4122		},{4123			.type = SAA7134_INPUT_SVIDEO,4124			.vmux = 8,4125			.amux = LINE1,4126		}},4127		.mute = {4128			.type = SAA7134_INPUT_MUTE,4129			.amux = LINE1,4130		},4131		.radio = {4132			.type = SAA7134_INPUT_RADIO,4133			.amux = LINE2,4134		},4135	},4136	[SAA7134_BOARD_BEHOLD_507_9FM] = {4137		/*       Beholder Intl. Ltd. 2008      */4138		/*Dmitry Belimov <d.belimov@gmail.com> */4139		.name           = "Beholder BeholdTV 507 FM / BeholdTV 509 FM",4140		.audio_clock    = 0x00187de7,4141		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,4142		.radio_type     = UNSET,4143		.tuner_addr     = ADDR_UNSET,4144		.radio_addr     = ADDR_UNSET,4145		.tda9887_conf   = TDA9887_PRESENT,4146		.gpiomask       = 0x00008000,4147		.inputs         = {{4148			.type = SAA7134_INPUT_TV,4149			.vmux = 3,4150			.amux = TV,4151		},{4152			.type = SAA7134_INPUT_COMPOSITE1,4153			.vmux = 1,4154			.amux = LINE1,4155		},{4156			.type = SAA7134_INPUT_SVIDEO,4157			.vmux = 8,4158			.amux = LINE1,4159		}},4160			.radio = {4161			.type = SAA7134_INPUT_RADIO,4162			.amux = LINE2,4163		},4164	},4165	[SAA7134_BOARD_BEHOLD_507RDS_MK5] = {4166		/*       Beholder Intl. Ltd. 2008      */4167		/*Dmitry Belimov <d.belimov@gmail.com> */4168		.name           = "Beholder BeholdTV 507 RDS",4169		.audio_clock    = 0x00187de7,4170		.tuner_type     = TUNER_PHILIPS_FM1216MK5,4171		.radio_type     = UNSET,4172		.tuner_addr     = ADDR_UNSET,4173		.radio_addr     = ADDR_UNSET,4174		.rds_addr	= 0x10,4175		.tda9887_conf   = TDA9887_PRESENT,4176		.gpiomask       = 0x00008000,4177		.inputs         = {{4178			.type = SAA7134_INPUT_TV,4179			.vmux = 3,4180			.amux = TV,4181		}, {4182			.type = SAA7134_INPUT_COMPOSITE1,4183			.vmux = 1,4184			.amux = LINE1,4185		}, {4186			.type = SAA7134_INPUT_SVIDEO,4187			.vmux = 8,4188			.amux = LINE1,4189		} },4190			.radio = {4191			.type = SAA7134_INPUT_RADIO,4192			.amux = LINE2,4193		},4194	},4195	[SAA7134_BOARD_BEHOLD_507RDS_MK3] = {4196		/*       Beholder Intl. Ltd. 2008      */4197		/*Dmitry Belimov <d.belimov@gmail.com> */4198		.name           = "Beholder BeholdTV 507 RDS",4199		.audio_clock    = 0x00187de7,4200		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,4201		.radio_type     = UNSET,4202		.tuner_addr     = ADDR_UNSET,4203		.radio_addr     = ADDR_UNSET,4204		.rds_addr	= 0x10,4205		.tda9887_conf   = TDA9887_PRESENT,4206		.gpiomask       = 0x00008000,4207		.inputs         = {{4208			.type = SAA7134_INPUT_TV,4209			.vmux = 3,4210			.amux = TV,4211		}, {4212			.type = SAA7134_INPUT_COMPOSITE1,4213			.vmux = 1,4214			.amux = LINE1,4215		}, {4216			.type = SAA7134_INPUT_SVIDEO,4217			.vmux = 8,4218			.amux = LINE1,4219		} },4220			.radio = {4221			.type = SAA7134_INPUT_RADIO,4222			.amux = LINE2,4223		},4224	},4225	[SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM] = {4226		/*       Beholder Intl. Ltd. 2008      */4227		/* Dmitry Belimov <d.belimov@gmail.com> */4228		.name           = "Beholder BeholdTV Columbus TV/FM",4229		.audio_clock    = 0x00187de7,4230		.tuner_type     = TUNER_ALPS_TSBE5_PAL,4231		.radio_type     = TUNER_TEA5767,4232		.tuner_addr     = 0xc2 >> 1,4233		.radio_addr     = 0xc0 >> 1,4234		.tda9887_conf   = TDA9887_PRESENT,4235		.gpiomask       = 0x000A8004,4236		.inputs         = {{4237			.type = SAA7134_INPUT_TV,4238			.vmux = 3,4239			.amux = TV,4240			.gpio = 0x000A8004,4241		}, {4242			.type = SAA7134_INPUT_COMPOSITE1,4243			.vmux = 1,4244			.amux = LINE1,4245			.gpio = 0x000A8000,4246		}, {4247			.type = SAA7134_INPUT_SVIDEO,4248			.vmux = 8,4249			.amux = LINE1,4250			.gpio = 0x000A8000,4251		} },4252		.radio = {4253			.type = SAA7134_INPUT_RADIO,4254			.amux = LINE2,4255			.gpio = 0x000A8000,4256		},4257	},4258	[SAA7134_BOARD_BEHOLD_607FM_MK3] = {4259		/* Andrey Melnikoff <temnota@kmv.ru> */4260		.name           = "Beholder BeholdTV 607 FM",4261		.audio_clock    = 0x00187de7,4262		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,4263		.radio_type     = UNSET,4264		.tuner_addr     = ADDR_UNSET,4265		.radio_addr     = ADDR_UNSET,4266		.tda9887_conf   = TDA9887_PRESENT,4267		.inputs         = {{4268			.type = SAA7134_INPUT_TV,4269			.vmux = 3,4270			.amux = TV,4271		}, {4272			.type = SAA7134_INPUT_COMPOSITE1,4273			.vmux = 1,4274			.amux = LINE1,4275		}, {4276			.type = SAA7134_INPUT_SVIDEO,4277			.vmux = 8,4278			.amux = LINE1,4279		} },4280		.radio = {4281			.type = SAA7134_INPUT_RADIO,4282			.amux = LINE2,4283		},4284	},4285	[SAA7134_BOARD_BEHOLD_609FM_MK3] = {4286		/* Andrey Melnikoff <temnota@kmv.ru> */4287		.name           = "Beholder BeholdTV 609 FM",4288		.audio_clock    = 0x00187de7,4289		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,4290		.radio_type     = UNSET,4291		.tuner_addr     = ADDR_UNSET,4292		.radio_addr     = ADDR_UNSET,4293		.tda9887_conf   = TDA9887_PRESENT,4294		.inputs         = {{4295			.type = SAA7134_INPUT_TV,4296			.vmux = 3,4297			.amux = TV,4298		}, {4299			.type = SAA7134_INPUT_COMPOSITE1,4300			.vmux = 1,4301			.amux = LINE1,4302		}, {4303			.type = SAA7134_INPUT_SVIDEO,4304			.vmux = 8,4305			.amux = LINE1,4306		} },4307		.radio = {4308			.type = SAA7134_INPUT_RADIO,4309			.amux = LINE2,4310		},4311	},4312	[SAA7134_BOARD_BEHOLD_607FM_MK5] = {4313		/* Andrey Melnikoff <temnota@kmv.ru> */4314		.name           = "Beholder BeholdTV 607 FM",4315		.audio_clock    = 0x00187de7,4316		.tuner_type     = TUNER_PHILIPS_FM1216MK5,4317		.radio_type     = UNSET,4318		.tuner_addr     = ADDR_UNSET,4319		.radio_addr     = ADDR_UNSET,4320		.tda9887_conf   = TDA9887_PRESENT,4321		.inputs         = {{4322			.type = SAA7134_INPUT_TV,4323			.vmux = 3,4324			.amux = TV,4325		}, {4326			.type = SAA7134_INPUT_COMPOSITE1,4327			.vmux = 1,4328			.amux = LINE1,4329		}, {4330			.type = SAA7134_INPUT_SVIDEO,4331			.vmux = 8,4332			.amux = LINE1,4333		} },4334		.radio = {4335			.type = SAA7134_INPUT_RADIO,4336			.amux = LINE2,4337		},4338	},4339	[SAA7134_BOARD_BEHOLD_609FM_MK5] = {4340		/* Andrey Melnikoff <temnota@kmv.ru> */4341		.name           = "Beholder BeholdTV 609 FM",4342		.audio_clock    = 0x00187de7,4343		.tuner_type     = TUNER_PHILIPS_FM1216MK5,4344		.radio_type     = UNSET,4345		.tuner_addr     = ADDR_UNSET,4346		.radio_addr     = ADDR_UNSET,4347		.tda9887_conf   = TDA9887_PRESENT,4348		.inputs         = {{4349			.type = SAA7134_INPUT_TV,4350			.vmux = 3,4351			.amux = TV,4352		}, {4353			.type = SAA7134_INPUT_COMPOSITE1,4354			.vmux = 1,4355			.amux = LINE1,4356		}, {4357			.type = SAA7134_INPUT_SVIDEO,4358			.vmux = 8,4359			.amux = LINE1,4360		} },4361		.radio = {4362			.type = SAA7134_INPUT_RADIO,4363			.amux = LINE2,4364		},4365	},4366	[SAA7134_BOARD_BEHOLD_607RDS_MK3] = {4367		/* Andrey Melnikoff <temnota@kmv.ru> */4368		.name           = "Beholder BeholdTV 607 RDS",4369		.audio_clock    = 0x00187de7,4370		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,4371		.radio_type     = UNSET,4372		.tuner_addr     = ADDR_UNSET,4373		.radio_addr     = ADDR_UNSET,4374		.rds_addr	= 0x10,4375		.tda9887_conf   = TDA9887_PRESENT,4376		.inputs         = {{4377			.type = SAA7134_INPUT_TV,4378			.vmux = 3,4379			.amux = TV,4380		}, {4381			.type = SAA7134_INPUT_COMPOSITE1,4382			.vmux = 1,4383			.amux = LINE1,4384		}, {4385			.type = SAA7134_INPUT_SVIDEO,4386			.vmux = 8,4387			.amux = LINE1,4388		} },4389		.radio = {4390			.type = SAA7134_INPUT_RADIO,4391			.amux = LINE2,4392		},4393	},4394	[SAA7134_BOARD_BEHOLD_609RDS_MK3] = {4395		/* Andrey Melnikoff <temnota@kmv.ru> */4396		.name           = "Beholder BeholdTV 609 RDS",4397		.audio_clock    = 0x00187de7,4398		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,4399		.radio_type     = UNSET,4400		.tuner_addr     = ADDR_UNSET,4401		.radio_addr     = ADDR_UNSET,4402		.rds_addr	= 0x10,4403		.tda9887_conf   = TDA9887_PRESENT,4404		.inputs         = {{4405			.type = SAA7134_INPUT_TV,4406			.vmux = 3,4407			.amux = TV,4408		}, {4409			.type = SAA7134_INPUT_COMPOSITE1,4410			.vmux = 1,4411			.amux = LINE1,4412		}, {4413			.type = SAA7134_INPUT_SVIDEO,4414			.vmux = 8,4415			.amux = LINE1,4416		} },4417		.radio = {4418			.type = SAA7134_INPUT_RADIO,4419			.amux = LINE2,4420		},4421	},4422	[SAA7134_BOARD_BEHOLD_607RDS_MK5] = {4423		/* Andrey Melnikoff <temnota@kmv.ru> */4424		.name           = "Beholder BeholdTV 607 RDS",4425		.audio_clock    = 0x00187de7,4426		.tuner_type     = TUNER_PHILIPS_FM1216MK5,4427		.radio_type     = UNSET,4428		.tuner_addr     = ADDR_UNSET,4429		.radio_addr     = ADDR_UNSET,4430		.rds_addr	= 0x10,4431		.tda9887_conf   = TDA9887_PRESENT,4432		.inputs         = {{4433			.type = SAA7134_INPUT_TV,4434			.vmux = 3,4435			.amux = TV,4436		}, {4437			.type = SAA7134_INPUT_COMPOSITE1,4438			.vmux = 1,4439			.amux = LINE1,4440		}, {4441			.type = SAA7134_INPUT_SVIDEO,4442			.vmux = 8,4443			.amux = LINE1,4444		} },4445		.radio = {4446			.type = SAA7134_INPUT_RADIO,4447			.amux = LINE2,4448		},4449	},4450	[SAA7134_BOARD_BEHOLD_609RDS_MK5] = {4451		/* Andrey Melnikoff <temnota@kmv.ru> */4452		.name           = "Beholder BeholdTV 609 RDS",4453		.audio_clock    = 0x00187de7,4454		.tuner_type     = TUNER_PHILIPS_FM1216MK5,4455		.radio_type     = UNSET,4456		.tuner_addr     = ADDR_UNSET,4457		.radio_addr     = ADDR_UNSET,4458		.rds_addr	= 0x10,4459		.tda9887_conf   = TDA9887_PRESENT,4460		.inputs         = {{4461			.type = SAA7134_INPUT_TV,4462			.vmux = 3,4463			.amux = TV,4464		},{4465			.type = SAA7134_INPUT_COMPOSITE1,4466			.vmux = 1,4467			.amux = LINE1,4468		},{4469			.type = SAA7134_INPUT_SVIDEO,4470			.vmux = 8,4471			.amux = LINE1,4472		}},4473		.radio = {4474			.type = SAA7134_INPUT_RADIO,4475			.amux = LINE2,4476		},4477	},4478	[SAA7134_BOARD_BEHOLD_M6] = {4479		/* Igor Kuznetsov <igk@igk.ru> */4480		/* Andrey Melnikoff <temnota@kmv.ru> */4481		/* Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com> */4482		/* Alexey Osipov <lion-simba@pridelands.ru> */4483		.name           = "Beholder BeholdTV M6",4484		.audio_clock    = 0x00187de7,4485		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,4486		.radio_type     = UNSET,4487		.tuner_addr     = ADDR_UNSET,4488		.radio_addr     = ADDR_UNSET,4489		.empress_addr	= 0x20,4490		.tda9887_conf   = TDA9887_PRESENT,4491		.inputs         = { {4492			.type = SAA7134_INPUT_TV,4493			.vmux = 3,4494			.amux = TV,4495		}, {4496			.type = SAA7134_INPUT_COMPOSITE1,4497			.vmux = 1,4498			.amux = LINE1,4499		}, {4500			.type = SAA7134_INPUT_SVIDEO,4501			.vmux = 8,4502			.amux = LINE1,4503		} },4504		.radio = {4505			.type = SAA7134_INPUT_RADIO,4506			.amux = LINE2,4507		},4508		.mpeg  = SAA7134_MPEG_EMPRESS,4509		.video_out = CCIR656,4510		.vid_port_opts  = (SET_T_CODE_POLARITY_NON_INVERTED |4511					SET_CLOCK_NOT_DELAYED |4512					SET_CLOCK_INVERTED |4513					SET_VSYNC_OFF),4514	},4515	[SAA7134_BOARD_BEHOLD_M63] = {4516		/* Igor Kuznetsov <igk@igk.ru> */4517		/* Andrey Melnikoff <temnota@kmv.ru> */4518		/* Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com> */4519		.name           = "Beholder BeholdTV M63",4520		.audio_clock    = 0x00187de7,4521		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,4522		.radio_type     = UNSET,4523		.tuner_addr     = ADDR_UNSET,4524		.radio_addr     = ADDR_UNSET,4525		.empress_addr	= 0x20,4526		.tda9887_conf   = TDA9887_PRESENT,4527		.inputs         = { {4528			.type = SAA7134_INPUT_TV,4529			.vmux = 3,4530			.amux = TV,4531		}, {4532			.type = SAA7134_INPUT_COMPOSITE1,4533			.vmux = 1,4534			.amux = LINE1,4535		}, {4536			.type = SAA7134_INPUT_SVIDEO,4537			.vmux = 8,4538			.amux = LINE1,4539		} },4540		.radio = {4541			.type = SAA7134_INPUT_RADIO,4542			.amux = LINE2,4543		},4544		.mpeg  = SAA7134_MPEG_EMPRESS,4545		.video_out = CCIR656,4546		.vid_port_opts  = (SET_T_CODE_POLARITY_NON_INVERTED |4547					SET_CLOCK_NOT_DELAYED |4548					SET_CLOCK_INVERTED |4549					SET_VSYNC_OFF),4550	},4551	[SAA7134_BOARD_BEHOLD_M6_EXTRA] = {4552		/* Igor Kuznetsov <igk@igk.ru> */4553		/* Andrey Melnikoff <temnota@kmv.ru> */4554		/* Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com> */4555		/* Alexey Osipov <lion-simba@pridelands.ru> */4556		.name           = "Beholder BeholdTV M6 Extra",4557		.audio_clock    = 0x00187de7,4558		.tuner_type     = TUNER_PHILIPS_FM1216MK5,4559		.radio_type     = UNSET,4560		.tuner_addr     = ADDR_UNSET,4561		.radio_addr     = ADDR_UNSET,4562		.rds_addr	= 0x10,4563		.empress_addr	= 0x20,4564		.tda9887_conf   = TDA9887_PRESENT,4565		.inputs         = { {4566			.type = SAA7134_INPUT_TV,4567			.vmux = 3,4568			.amux = TV,4569		}, {4570			.type = SAA7134_INPUT_COMPOSITE1,4571			.vmux = 1,4572			.amux = LINE1,4573		}, {4574			.type = SAA7134_INPUT_SVIDEO,4575			.vmux = 8,4576			.amux = LINE1,4577		} },4578		.radio = {4579			.type = SAA7134_INPUT_RADIO,4580			.amux = LINE2,4581		},4582		.mpeg  = SAA7134_MPEG_EMPRESS,4583		.video_out = CCIR656,4584		.vid_port_opts  = (SET_T_CODE_POLARITY_NON_INVERTED |4585					SET_CLOCK_NOT_DELAYED |4586					SET_CLOCK_INVERTED |4587					SET_VSYNC_OFF),4588	},4589	[SAA7134_BOARD_TWINHAN_DTV_DVB_3056] = {4590		.name           = "Twinhan Hybrid DTV-DVB 3056 PCI",4591		.audio_clock    = 0x00187de7,4592		.tuner_type     = TUNER_PHILIPS_TDA8290,4593		.radio_type     = UNSET,4594		.tuner_addr	= ADDR_UNSET,4595		.radio_addr	= ADDR_UNSET,4596		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_GP0_HIGH_OFF },4597		.mpeg           = SAA7134_MPEG_DVB,4598		.gpiomask       = 0x0200000,4599		.inputs = {{4600			.type = SAA7134_INPUT_TV,4601			.vmux   = 1,4602			.amux   = TV,4603		}, {4604			.type = SAA7134_INPUT_COMPOSITE1,4605			.vmux   = 3,4606			.amux   = LINE1,4607		}, {4608			.type = SAA7134_INPUT_SVIDEO,4609			.vmux   = 8,		/* untested */4610			.amux   = LINE1,4611		} },4612		.radio = {4613			.type = SAA7134_INPUT_RADIO,4614			.amux   = TV,4615			.gpio   = 0x0200000,4616		},4617	},4618	[SAA7134_BOARD_GENIUS_TVGO_A11MCE] = {4619		/* Adrian Pardini <pardo.bsso@gmail.com> */4620		.name		= "Genius TVGO AM11MCE",4621		.audio_clock	= 0x00200000,4622		.tuner_type	= TUNER_TNF_5335MF,4623		.radio_type     = UNSET,4624		.tuner_addr	= ADDR_UNSET,4625		.radio_addr	= ADDR_UNSET,4626		.gpiomask       = 0xf000,4627		.inputs         = {{4628			.type = SAA7134_INPUT_TV_MONO,4629			.vmux = 1,4630			.amux = LINE2,4631			.gpio = 0x0000,4632		}, {4633			.type = SAA7134_INPUT_COMPOSITE1,4634			.vmux = 3,4635			.amux = LINE1,4636			.gpio = 0x2000,4637		}, {4638			.type = SAA7134_INPUT_SVIDEO,4639			.vmux = 8,4640			.amux = LINE1,4641			.gpio = 0x2000,4642	} },4643		.radio = {4644			.type = SAA7134_INPUT_RADIO,4645			.amux = LINE2,4646			.gpio = 0x1000,4647		},4648		.mute = {4649			.type = SAA7134_INPUT_MUTE,4650			.amux = LINE2,4651			.gpio = 0x6000,4652		},4653	},4654	[SAA7134_BOARD_PHILIPS_SNAKE] = {4655		.name           = "NXP Snake DVB-S reference design",4656		.audio_clock    = 0x00200000,4657		.tuner_type     = TUNER_ABSENT,4658		.radio_type     = UNSET,4659		.tuner_addr     = ADDR_UNSET,4660		.radio_addr     = ADDR_UNSET,4661		.mpeg           = SAA7134_MPEG_DVB,4662		.inputs = {{4663			.type = SAA7134_INPUT_COMPOSITE1,4664			.vmux   = 3,4665			.amux   = LINE1,4666		}, {4667			.type = SAA7134_INPUT_SVIDEO,4668			.vmux   = 8,4669			.amux   = LINE1,4670		} },4671	},4672	[SAA7134_BOARD_CREATIX_CTX953] = {4673		.name         = "Medion/Creatix CTX953 Hybrid",4674		.audio_clock  = 0x00187de7,4675		.tuner_type   = TUNER_PHILIPS_TDA8290,4676		.radio_type   = UNSET,4677		.tuner_addr   = ADDR_UNSET,4678		.radio_addr   = ADDR_UNSET,4679		.tda829x_conf = { .lna_cfg = TDA8290_LNA_OFF },4680		.mpeg         = SAA7134_MPEG_DVB,4681		.inputs       = {{4682			.type = SAA7134_INPUT_TV,4683			.vmux = 1,4684			.amux = TV,4685		}, {4686			.type = SAA7134_INPUT_COMPOSITE1,4687			.vmux = 0,4688			.amux = LINE1,4689		}, {4690			.type = SAA7134_INPUT_SVIDEO,4691			.vmux = 8,4692			.amux = LINE1,4693		} },4694	},4695	[SAA7134_BOARD_MSI_TVANYWHERE_AD11] = {4696		.name           = "MSI TV@nywhere A/D v1.1",4697		.audio_clock    = 0x00187de7,4698		.tuner_type     = TUNER_PHILIPS_TDA8290,4699		.radio_type     = UNSET,4700		.tuner_addr	= ADDR_UNSET,4701		.radio_addr	= ADDR_UNSET,4702		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_GP0_HIGH_OFF },4703		.mpeg           = SAA7134_MPEG_DVB,4704		.gpiomask       = 0x0200000,4705		.inputs = { {4706			.type = SAA7134_INPUT_TV,4707			.vmux   = 1,4708			.amux   = TV,4709		}, {4710			.type = SAA7134_INPUT_COMPOSITE1,4711			.vmux   = 3,4712			.amux   = LINE1,4713		}, {4714			.type = SAA7134_INPUT_SVIDEO,4715			.vmux   = 8,4716			.amux   = LINE1,4717		} },4718		.radio = {4719			.type = SAA7134_INPUT_RADIO,4720			.amux   = TV,4721			.gpio   = 0x0200000,4722		},4723	},4724	[SAA7134_BOARD_AVERMEDIA_CARDBUS_506] = {4725		.name           = "AVerMedia Cardbus TV/Radio (E506R)",4726		.audio_clock    = 0x187de7,4727		.tuner_type     = TUNER_XC2028,4728		.radio_type     = UNSET,4729		.tuner_addr	= ADDR_UNSET,4730		.radio_addr	= ADDR_UNSET,4731		 .mpeg           = SAA7134_MPEG_DVB,4732		 .inputs         = {{4733			 .type = SAA7134_INPUT_TV,4734			 .vmux = 1,4735			 .amux = TV,4736		 }, {4737			 .type = SAA7134_INPUT_COMPOSITE1,4738			 .vmux = 3,4739			 .amux = LINE1,4740		 }, {4741			 .type = SAA7134_INPUT_SVIDEO,4742			 .vmux = 8,4743			 .amux = LINE2,4744		 } },4745		 .radio = {4746			 .type = SAA7134_INPUT_RADIO,4747			 .amux = TV,4748		 },4749	},4750	[SAA7134_BOARD_AVERMEDIA_A16D] = {4751		.name           = "AVerMedia Hybrid TV/Radio (A16D)",4752		.audio_clock    = 0x187de7,4753		.tuner_type     = TUNER_XC2028,4754		.radio_type     = UNSET,4755		.tuner_addr	= ADDR_UNSET,4756		.radio_addr	= ADDR_UNSET,4757		.mpeg           = SAA7134_MPEG_DVB,4758		.inputs         = {{4759			.type = SAA7134_INPUT_TV,4760			.vmux = 1,4761			.amux = TV,4762		}, {4763			.type = SAA7134_INPUT_SVIDEO,4764			.vmux = 8,4765			.amux = LINE1,4766		}, {4767			.type = SAA7134_INPUT_COMPOSITE,4768			.vmux = 0,4769			.amux = LINE1,4770		} },4771		.radio = {4772			.type = SAA7134_INPUT_RADIO,4773			.amux = TV,4774		},4775	},4776	[SAA7134_BOARD_AVERMEDIA_M115] = {4777		.name           = "Avermedia M115",4778		.audio_clock    = 0x187de7,4779		.tuner_type     = TUNER_XC2028,4780		.radio_type     = UNSET,4781		.tuner_addr	= ADDR_UNSET,4782		.radio_addr	= ADDR_UNSET,4783		.inputs         = {{4784			.type = SAA7134_INPUT_TV,4785			.vmux = 1,4786			.amux = TV,4787		}, {4788			.type = SAA7134_INPUT_COMPOSITE1,4789			.vmux = 3,4790			.amux = LINE1,4791		}, {4792			.type = SAA7134_INPUT_SVIDEO,4793			.vmux = 8,4794			.amux = LINE2,4795		} },4796	},4797	[SAA7134_BOARD_VIDEOMATE_T750] = {4798		/* John Newbigin <jn@it.swin.edu.au> */4799		.name           = "Compro VideoMate T750",4800		.audio_clock    = 0x00187de7,4801		.tuner_type     = TUNER_XC2028,4802		.radio_type     = UNSET,4803		.tuner_addr	= 0x61,4804		.radio_addr	= ADDR_UNSET,4805		.mpeg           = SAA7134_MPEG_DVB,4806		.inputs = {{4807			.type = SAA7134_INPUT_TV,4808			.vmux   = 3,4809			.amux   = TV,4810		}, {4811			.type = SAA7134_INPUT_COMPOSITE1,4812			.vmux   = 1,4813			.amux   = LINE2,4814		}, {4815			.type = SAA7134_INPUT_SVIDEO,4816			.vmux   = 8,4817			.amux   = LINE2,4818		} },4819		.radio = {4820			.type = SAA7134_INPUT_RADIO,4821			.amux = TV,4822		}4823	},4824	[SAA7134_BOARD_AVERMEDIA_A700_PRO] = {4825		/* Matthias Schwarzott <zzam@gentoo.org> */4826		.name           = "Avermedia DVB-S Pro A700",4827		.audio_clock    = 0x00187de7,4828		.tuner_type     = TUNER_ABSENT,4829		.radio_type     = UNSET,4830		.tuner_addr     = ADDR_UNSET,4831		.radio_addr     = ADDR_UNSET,4832		.mpeg           = SAA7134_MPEG_DVB,4833		.inputs         = { {4834			.type = SAA7134_INPUT_COMPOSITE,4835			.vmux = 1,4836			.amux = LINE1,4837		}, {4838			.type = SAA7134_INPUT_SVIDEO,4839			.vmux = 6,4840			.amux = LINE1,4841		} },4842	},4843	[SAA7134_BOARD_AVERMEDIA_A700_HYBRID] = {4844		/* Matthias Schwarzott <zzam@gentoo.org> */4845		.name           = "Avermedia DVB-S Hybrid+FM A700",4846		.audio_clock    = 0x00187de7,4847		.tuner_type     = TUNER_XC2028,4848		.radio_type     = UNSET,4849		.tuner_addr     = ADDR_UNSET,4850		.radio_addr     = ADDR_UNSET,4851		.mpeg           = SAA7134_MPEG_DVB,4852		.inputs         = { {4853			.type = SAA7134_INPUT_TV,4854			.vmux   = 4,4855			.amux   = TV,4856		}, {4857			.type = SAA7134_INPUT_COMPOSITE,4858			.vmux = 1,4859			.amux = LINE1,4860		}, {4861			.type = SAA7134_INPUT_SVIDEO,4862			.vmux = 6,4863			.amux = LINE1,4864		} },4865		.radio = {4866			.type = SAA7134_INPUT_RADIO,4867			.amux = TV,4868		},4869	},4870	[SAA7134_BOARD_BEHOLD_H6] = {4871		/* Igor Kuznetsov <igk@igk.ru> */4872		.name           = "Beholder BeholdTV H6",4873		.audio_clock    = 0x00187de7,4874		.tuner_type     = TUNER_PHILIPS_FMD1216MEX_MK3,4875		.radio_type     = UNSET,4876		.tuner_addr     = ADDR_UNSET,4877		.radio_addr     = ADDR_UNSET,4878		.tda9887_conf   = TDA9887_PRESENT,4879		.mpeg           = SAA7134_MPEG_DVB,4880		.inputs         = {{4881			.type = SAA7134_INPUT_TV,4882			.vmux = 3,4883			.amux = TV,4884		}, {4885			.type = SAA7134_INPUT_COMPOSITE1,4886			.vmux = 1,4887			.amux = LINE1,4888		}, {4889			.type = SAA7134_INPUT_SVIDEO,4890			.vmux = 8,4891			.amux = LINE1,4892		} },4893		.radio = {4894			.type = SAA7134_INPUT_RADIO,4895			.amux = LINE2,4896		},4897	},4898	[SAA7134_BOARD_ASUSTeK_TIGER_3IN1] = {4899		.name           = "Asus Tiger 3in1",4900		.audio_clock    = 0x00187de7,4901		.tuner_type     = TUNER_PHILIPS_TDA8290,4902		.radio_type     = UNSET,4903		.tuner_addr     = ADDR_UNSET,4904		.radio_addr     = ADDR_UNSET,4905		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_GP0_HIGH_OFF },4906		.gpiomask       = 1 << 21,4907		.mpeg           = SAA7134_MPEG_DVB,4908		.inputs         = {{4909			.type = SAA7134_INPUT_TV,4910			.vmux = 1,4911			.amux = TV,4912		}, {4913			.type = SAA7134_INPUT_COMPOSITE,4914			.vmux = 0,4915			.amux = LINE2,4916		}, {4917			.type = SAA7134_INPUT_SVIDEO,4918			.vmux = 8,4919			.amux = LINE2,4920		} },4921		.radio = {4922			.type = SAA7134_INPUT_RADIO,4923			.amux = TV,4924			.gpio = 0x0200000,4925		},4926	},4927	[SAA7134_BOARD_ASUSTeK_PS3_100] = {4928		.name           = "Asus My Cinema PS3-100",4929		.audio_clock    = 0x00187de7,4930		.tuner_type     = TUNER_PHILIPS_TDA8290,4931		.radio_type     = UNSET,4932		.tuner_addr     = ADDR_UNSET,4933		.radio_addr     = ADDR_UNSET,4934		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_GP0_HIGH_OFF },4935		.gpiomask       = 1 << 21,4936		.mpeg           = SAA7134_MPEG_DVB,4937		.inputs         = {{4938			.type = SAA7134_INPUT_TV,4939			.vmux = 1,4940			.amux = TV,4941		}, {4942			.type = SAA7134_INPUT_COMPOSITE,4943			.vmux = 0,4944			.amux = LINE2,4945		}, {4946			.type = SAA7134_INPUT_SVIDEO,4947			.vmux = 8,4948			.amux = LINE2,4949		} },4950		.radio = {4951			.type = SAA7134_INPUT_RADIO,4952			.amux = TV,4953			.gpio = 0x0200000,4954		},4955	},4956	[SAA7134_BOARD_REAL_ANGEL_220] = {4957		.name           = "Zogis Real Angel 220",4958		.audio_clock    = 0x00187de7,4959		.tuner_type     = TUNER_TNF_5335MF,4960		.radio_type     = UNSET,4961		.tuner_addr     = ADDR_UNSET,4962		.radio_addr     = ADDR_UNSET,4963		.gpiomask       = 0x801a8087,4964		.inputs = { {4965			.type = SAA7134_INPUT_TV,4966			.vmux   = 3,4967			.amux   = LINE2,4968			.gpio   = 0x624000,4969		}, {4970			.type = SAA7134_INPUT_COMPOSITE1,4971			.vmux   = 1,4972			.amux   = LINE1,4973			.gpio   = 0x624000,4974		}, {4975			.type = SAA7134_INPUT_SVIDEO,4976			.vmux   = 1,4977			.amux   = LINE1,4978			.gpio   = 0x624000,4979		} },4980		.radio = {4981			.type = SAA7134_INPUT_RADIO,4982			.amux   = LINE2,4983			.gpio   = 0x624001,4984		},4985		.mute = {4986			.type = SAA7134_INPUT_MUTE,4987			.amux = TV,4988		},4989	},4990	[SAA7134_BOARD_ADS_INSTANT_HDTV_PCI] = {4991		.name           = "ADS Tech Instant HDTV",4992		.audio_clock    = 0x00187de7,4993		.tuner_type     = TUNER_PHILIPS_TUV1236D,4994		.radio_type     = UNSET,4995		.tuner_addr     = ADDR_UNSET,4996		.radio_addr     = ADDR_UNSET,4997		.tda9887_conf   = TDA9887_PRESENT,4998		.mpeg           = SAA7134_MPEG_DVB,4999		.inputs         = { {5000			.type = SAA7134_INPUT_TV,5001			.vmux = 1,5002			.amux = TV,5003		}, {5004			.type = SAA7134_INPUT_COMPOSITE,5005			.vmux = 4,5006			.amux = LINE1,5007		}, {5008			.type = SAA7134_INPUT_SVIDEO,5009			.vmux = 8,5010			.amux = LINE1,5011		} },5012	},5013	[SAA7134_BOARD_ASUSTeK_TIGER] = {5014		.name           = "Asus Tiger Rev:1.00",5015		.audio_clock    = 0x00187de7,5016		.tuner_type     = TUNER_PHILIPS_TDA8290,5017		.radio_type     = UNSET,5018		.tuner_addr	= ADDR_UNSET,5019		.radio_addr	= ADDR_UNSET,5020		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_OFF },5021		.mpeg           = SAA7134_MPEG_DVB,5022		.gpiomask       = 0x0200000,5023		.inputs = { {5024			.type = SAA7134_INPUT_TV,5025			.vmux   = 1,5026			.amux   = TV,5027		}, {5028			.type = SAA7134_INPUT_COMPOSITE1,5029			.vmux   = 3,5030			.amux   = LINE2,5031		}, {5032			.type = SAA7134_INPUT_COMPOSITE2,5033			.vmux   = 0,5034			.amux   = LINE2,5035		}, {5036			.type = SAA7134_INPUT_SVIDEO,5037			.vmux   = 8,5038			.amux   = LINE2,5039		} },5040		.radio = {5041			.type = SAA7134_INPUT_RADIO,5042			.amux   = TV,5043			.gpio   = 0x0200000,5044		},5045	},5046	[SAA7134_BOARD_KWORLD_PLUS_TV_ANALOG] = {5047		.name           = "Kworld Plus TV Analog Lite PCI",5048		.audio_clock    = 0x00187de7,5049		.tuner_type     = TUNER_YMEC_TVF_5533MF,5050		.radio_type     = TUNER_TEA5767,5051		.tuner_addr     = ADDR_UNSET,5052		.radio_addr     = 0x60,5053		.gpiomask       = 0x80000700,5054		.inputs = { {5055			.type = SAA7134_INPUT_TV,5056			.vmux   = 1,5057			.amux   = LINE2,5058			.gpio   = 0x100,5059		}, {5060			.type = SAA7134_INPUT_COMPOSITE1,5061			.vmux   = 3,5062			.amux   = LINE1,5063			.gpio   = 0x200,5064		}, {5065			.type = SAA7134_INPUT_SVIDEO,5066			.vmux   = 8,5067			.amux   = LINE1,5068			.gpio   = 0x200,5069		} },5070		.radio = {5071			.type = SAA7134_INPUT_RADIO,5072			.vmux   = 1,5073			.amux   = LINE1,5074			.gpio   = 0x100,5075		},5076		.mute = {5077			.type = SAA7134_INPUT_MUTE,5078			.vmux = 8,5079			.amux = 2,5080		},5081	},5082	[SAA7134_BOARD_KWORLD_PCI_SBTVD_FULLSEG] = {5083		.name           = "Kworld PCI SBTVD/ISDB-T Full-Seg Hybrid",5084		.audio_clock    = 0x00187de7,5085		.tuner_type     = TUNER_PHILIPS_TDA8290,5086		.tuner_addr     = ADDR_UNSET,5087		.radio_type     = UNSET,5088		.radio_addr	= ADDR_UNSET,5089		.gpiomask       = 0x8e054000,5090		.mpeg           = SAA7134_MPEG_DVB,5091		.ts_type	= SAA7134_MPEG_TS_PARALLEL,5092		.inputs = { {5093			.type = SAA7134_INPUT_TV,5094			.vmux   = 1,5095			.amux   = TV,5096#if 0	/* FIXME */5097		}, {5098			.type = SAA7134_INPUT_COMPOSITE1,5099			.vmux   = 3,5100			.amux   = LINE1,5101			.gpio   = 0x200,5102		}, {5103			.type = SAA7134_INPUT_SVIDEO,5104			.vmux   = 8,5105			.amux   = LINE1,5106			.gpio   = 0x200,5107#endif5108		} },5109#if 05110		.radio = {5111			.type = SAA7134_INPUT_RADIO,5112			.vmux   = 1,5113			.amux   = LINE1,5114			.gpio   = 0x100,5115		},5116#endif5117		.mute = {5118			.type = SAA7134_INPUT_MUTE,5119			.vmux = 0,5120			.amux = TV,5121		},5122	},5123	[SAA7134_BOARD_AVERMEDIA_GO_007_FM_PLUS] = {5124		.name           = "Avermedia AVerTV GO 007 FM Plus",5125		.audio_clock    = 0x00187de7,5126		.tuner_type     = TUNER_PHILIPS_TDA8290,5127		.radio_type     = UNSET,5128		.tuner_addr	= ADDR_UNSET,5129		.radio_addr	= ADDR_UNSET,5130		.gpiomask       = 0x00300003,5131		/* .gpiomask       = 0x8c240003, */5132		.inputs         = { {5133			.type = SAA7134_INPUT_TV,5134			.vmux = 1,5135			.amux = TV,5136			.gpio = 0x01,5137		}, {5138			.type = SAA7134_INPUT_SVIDEO,5139			.vmux = 6,5140			.amux = LINE1,5141			.gpio = 0x02,5142		} },5143		.radio = {5144			.type = SAA7134_INPUT_RADIO,5145			.amux = TV,5146			.gpio = 0x00300001,5147		},5148		.mute = {5149			.type = SAA7134_INPUT_MUTE,5150			.amux = TV,5151			.gpio = 0x01,5152		},5153	},5154	[SAA7134_BOARD_AVERMEDIA_STUDIO_507UA] = {5155		/* Andy Shevchenko <andy@kernel.org> */5156		.name           = "Avermedia AVerTV Studio 507UA",5157		.audio_clock    = 0x00187de7,5158		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3, /* Should be MK5 */5159		.radio_type     = UNSET,5160		.tuner_addr     = ADDR_UNSET,5161		.radio_addr     = ADDR_UNSET,5162		.tda9887_conf   = TDA9887_PRESENT,5163		.gpiomask       = 0x03,5164		.inputs         = { {5165			.type = SAA7134_INPUT_TV,5166			.vmux = 1,5167			.amux = TV,5168			.gpio = 0x00,5169		}, {5170			.type = SAA7134_INPUT_COMPOSITE1,5171			.vmux = 3,5172			.amux = LINE1,5173			.gpio = 0x00,5174		}, {5175			.type = SAA7134_INPUT_SVIDEO,5176			.vmux = 8,5177			.amux = LINE1,5178			.gpio = 0x00,5179		} },5180		.radio = {5181			.type = SAA7134_INPUT_RADIO,5182			.amux = LINE2,5183			.gpio = 0x01,5184		},5185		.mute  = {5186			.type = SAA7134_INPUT_MUTE,5187			.amux = LINE1,5188			.gpio = 0x00,5189		},5190	},5191	[SAA7134_BOARD_VIDEOMATE_S350] = {5192		/* Jan D. Louw <jd.louw@mweb.co.za */5193		.name		= "Compro VideoMate S350/S300",5194		.audio_clock	= 0x00187de7,5195		.tuner_type	= TUNER_ABSENT,5196		.radio_type	= UNSET,5197		.tuner_addr	= ADDR_UNSET,5198		.radio_addr	= ADDR_UNSET,5199		.mpeg		= SAA7134_MPEG_DVB,5200		.inputs = { {5201			.type = SAA7134_INPUT_COMPOSITE1,5202			.vmux	= 0,5203			.amux	= LINE1,5204		}, {5205			.type = SAA7134_INPUT_SVIDEO,5206			.vmux	= 8, /* Not tested */5207			.amux	= LINE15208		} },5209	},5210	[SAA7134_BOARD_BEHOLD_X7] = {5211		/* Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com> */5212		.name           = "Beholder BeholdTV X7",5213		.audio_clock    = 0x00187de7,5214		.tuner_type     = TUNER_XC5000,5215		.radio_type     = UNSET,5216		.tuner_addr     = ADDR_UNSET,5217		.radio_addr     = ADDR_UNSET,5218		.mpeg           = SAA7134_MPEG_DVB,5219		.inputs         = { {5220			.type = SAA7134_INPUT_TV,5221			.vmux = 2,5222			.amux = TV,5223		}, {5224			.type = SAA7134_INPUT_COMPOSITE1,5225			.vmux = 0,5226			.amux = LINE1,5227		}, {5228			.type = SAA7134_INPUT_SVIDEO,5229			.vmux = 9,5230			.amux = LINE1,5231		} },5232		.radio = {5233			.type = SAA7134_INPUT_RADIO,5234			.amux = TV,5235		},5236	},5237	[SAA7134_BOARD_ZOLID_HYBRID_PCI] = {5238		.name           = "Zolid Hybrid TV Tuner PCI",5239		.audio_clock    = 0x00187de7,5240		.tuner_type     = TUNER_PHILIPS_TDA8290,5241		.radio_type     = UNSET,5242		.tuner_addr     = ADDR_UNSET,5243		.radio_addr     = ADDR_UNSET,5244		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_OFF },5245		.mpeg           = SAA7134_MPEG_DVB,5246		.ts_type	= SAA7134_MPEG_TS_PARALLEL,5247		.inputs         = {{5248			.type = SAA7134_INPUT_TV,5249			.vmux = 1,5250			.amux = TV,5251		} },5252		.radio = {	/* untested */5253			.type = SAA7134_INPUT_RADIO,5254			.amux = TV,5255		},5256	},5257	[SAA7134_BOARD_ASUS_EUROPA_HYBRID] = {5258		.name           = "Asus Europa Hybrid OEM",5259		.audio_clock    = 0x00187de7,5260		.tuner_type     = TUNER_PHILIPS_TD1316,5261		.radio_type     = UNSET,5262		.tuner_addr	= 0x61,5263		.radio_addr	= ADDR_UNSET,5264		.tda9887_conf   = TDA9887_PRESENT | TDA9887_PORT1_ACTIVE,5265		.mpeg           = SAA7134_MPEG_DVB,5266		.inputs = { {5267			.type = SAA7134_INPUT_TV,5268			.vmux   = 3,5269			.amux   = TV,5270		}, {5271			.type = SAA7134_INPUT_COMPOSITE1,5272			.vmux   = 4,5273			.amux   = LINE2,5274		}, {5275			.type = SAA7134_INPUT_SVIDEO,5276			.vmux   = 8,5277			.amux   = LINE2,5278		} },5279	},5280	[SAA7134_BOARD_LEADTEK_WINFAST_DTV1000S] = {5281		.name           = "Leadtek Winfast DTV1000S",5282		.audio_clock    = 0x00187de7,5283		.tuner_type     = TUNER_PHILIPS_TDA8290,5284		.radio_type     = UNSET,5285		.tuner_addr     = ADDR_UNSET,5286		.radio_addr     = ADDR_UNSET,5287		.mpeg           = SAA7134_MPEG_DVB,5288		.inputs         = { {5289			.type = SAA7134_INPUT_COMPOSITE1,5290			.vmux = 3,5291		}, {5292			.type = SAA7134_INPUT_SVIDEO,5293			.vmux = 8,5294		} },5295	},5296	[SAA7134_BOARD_BEHOLD_505RDS_MK3] = {5297		/*       Beholder Intl. Ltd. 2008      */5298		/*Dmitry Belimov <d.belimov@gmail.com> */5299		.name           = "Beholder BeholdTV 505 RDS",5300		.audio_clock    = 0x00200000,5301		.tuner_type     = TUNER_PHILIPS_FM1216ME_MK3,5302		.radio_type     = UNSET,5303		.tuner_addr     = ADDR_UNSET,5304		.radio_addr     = ADDR_UNSET,5305		.rds_addr	= 0x10,5306		.tda9887_conf   = TDA9887_PRESENT,5307		.gpiomask       = 0x00008000,5308		.inputs         = {{5309			.type = SAA7134_INPUT_TV,5310			.vmux = 3,5311			.amux = LINE2,5312		}, {5313			.type = SAA7134_INPUT_COMPOSITE1,5314			.vmux = 1,5315			.amux = LINE1,5316		}, {5317			.type = SAA7134_INPUT_SVIDEO,5318			.vmux = 8,5319			.amux = LINE1,5320		} },5321		.mute = {5322			.type = SAA7134_INPUT_MUTE,5323			.amux = LINE1,5324		},5325		.radio = {5326			.type = SAA7134_INPUT_RADIO,5327			.amux = LINE2,5328		},5329	},5330	[SAA7134_BOARD_HAWELL_HW_404M7] = {5331		/* Hawell HW-404M7 & Hawell HW-808M7  */5332		/* Bogoslovskiy Viktor <bogovic@bk.ru> */5333		.name         = "Hawell HW-404M7",5334		.audio_clock   = 0x00200000,5335		.tuner_type    = UNSET,5336		.radio_type    = UNSET,5337		.tuner_addr   = ADDR_UNSET,5338		.radio_addr   = ADDR_UNSET,5339		.gpiomask      = 0x389c00,5340		.inputs       = {{5341			.type = SAA7134_INPUT_COMPOSITE1,5342			.vmux = 3,5343			.amux = LINE1,5344			.gpio = 0x01fc00,5345		} },5346	},5347	[SAA7134_BOARD_BEHOLD_H7] = {5348		/* Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com> */5349		.name           = "Beholder BeholdTV H7",5350		.audio_clock    = 0x00187de7,5351		.tuner_type     = TUNER_XC5000,5352		.radio_type     = UNSET,5353		.tuner_addr     = ADDR_UNSET,5354		.radio_addr     = ADDR_UNSET,5355		.mpeg           = SAA7134_MPEG_DVB,5356		.ts_type	= SAA7134_MPEG_TS_PARALLEL,5357		.inputs         = { {5358			.type = SAA7134_INPUT_TV,5359			.vmux = 2,5360			.amux = TV,5361		}, {5362			.type = SAA7134_INPUT_COMPOSITE1,5363			.vmux = 0,5364			.amux = LINE1,5365		}, {5366			.type = SAA7134_INPUT_SVIDEO,5367			.vmux = 9,5368			.amux = LINE1,5369		} },5370		.radio = {5371			.type = SAA7134_INPUT_RADIO,5372			.amux = TV,5373		},5374	},5375	[SAA7134_BOARD_BEHOLD_A7] = {5376		/* Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com> */5377		.name           = "Beholder BeholdTV A7",5378		.audio_clock    = 0x00187de7,5379		.tuner_type     = TUNER_XC5000,5380		.radio_type     = UNSET,5381		.tuner_addr     = ADDR_UNSET,5382		.radio_addr     = ADDR_UNSET,5383		.inputs         = { {5384			.type = SAA7134_INPUT_TV,5385			.vmux = 2,5386			.amux = TV,5387		}, {5388			.type = SAA7134_INPUT_COMPOSITE1,5389			.vmux = 0,5390			.amux = LINE1,5391		}, {5392			.type = SAA7134_INPUT_SVIDEO,5393			.vmux = 9,5394			.amux = LINE1,5395		} },5396		.radio = {5397			.type = SAA7134_INPUT_RADIO,5398			.amux = TV,5399		},5400	},5401	[SAA7134_BOARD_TECHNOTREND_BUDGET_T3000] = {5402		.name           = "TechoTrend TT-budget T-3000",5403		.tuner_type     = TUNER_PHILIPS_TD1316,5404		.audio_clock    = 0x00187de7,5405		.radio_type     = UNSET,5406		.tuner_addr     = 0x63,5407		.radio_addr     = ADDR_UNSET,5408		.tda9887_conf   = TDA9887_PRESENT | TDA9887_PORT1_ACTIVE,5409		.mpeg           = SAA7134_MPEG_DVB,5410		.inputs = {{5411			.type = SAA7134_INPUT_TV,5412			.vmux   = 3,5413			.amux   = TV,5414		}, {5415			.type = SAA7134_INPUT_COMPOSITE1,5416			.vmux   = 0,5417			.amux   = LINE2,5418		}, {5419			.type = SAA7134_INPUT_SVIDEO,5420			.vmux   = 8,5421			.amux   = LINE2,5422		} },5423	},5424	[SAA7134_BOARD_VIDEOMATE_M1F] = {5425		/* Pavel Osnova <pvosnova@gmail.com> */5426		.name           = "Compro VideoMate Vista M1F",5427		.audio_clock    = 0x00187de7,5428		.tuner_type     = TUNER_LG_PAL_NEW_TAPC,5429		.radio_type     = TUNER_TEA5767,5430		.tuner_addr     = ADDR_UNSET,5431		.radio_addr     = 0x60,5432		.inputs         = { {5433			.type = SAA7134_INPUT_TV,5434			.vmux = 1,5435			.amux = TV,5436		}, {5437			.type = SAA7134_INPUT_COMPOSITE1,5438			.vmux = 3,5439			.amux = LINE2,5440		}, {5441			.type = SAA7134_INPUT_SVIDEO,5442			.vmux = 8,5443			.amux = LINE2,5444		} },5445		.radio = {5446			.type = SAA7134_INPUT_RADIO,5447			.amux = LINE1,5448		},5449		.mute = {5450			.type = SAA7134_INPUT_MUTE,5451			.amux = TV,5452		},5453	},5454	[SAA7134_BOARD_MAGICPRO_PROHDTV_PRO2] = {5455		/* Timothy Lee <timothy.lee@siriushk.com> */5456		.name		= "MagicPro ProHDTV Pro2 DMB-TH/Hybrid",5457		.audio_clock	= 0x00187de7,5458		.tuner_type	= TUNER_PHILIPS_TDA8290,5459		.radio_type	= UNSET,5460		.tda829x_conf	= { .lna_cfg = TDA8290_LNA_ON_BRIDGE },5461		.tuner_addr	= ADDR_UNSET,5462		.radio_addr	= ADDR_UNSET,5463		.gpiomask	= 0x02050000,5464		.mpeg		= SAA7134_MPEG_DVB,5465		.ts_type	= SAA7134_MPEG_TS_PARALLEL,5466		.inputs		= { {5467			.type = SAA7134_INPUT_TV,5468			.vmux   = 1,5469			.amux   = TV,5470			.gpio   = 0x00050000,5471		}, {5472			.type = SAA7134_INPUT_COMPOSITE1,5473			.vmux   = 3,5474			.amux   = LINE1,5475			.gpio   = 0x00050000,5476		}, {5477			.type = SAA7134_INPUT_SVIDEO,5478			.vmux   = 8,5479			.amux   = LINE1,5480			.gpio   = 0x00050000,5481		} },5482		.radio = {5483			.type = SAA7134_INPUT_RADIO,5484			.amux   = TV,5485			.gpio   = 0x00050000,5486		},5487		.mute = {5488			.type = SAA7134_INPUT_MUTE,5489			.vmux   = 0,5490			.amux   = TV,5491			.gpio   = 0x00050000,5492		},5493	},5494	[SAA7134_BOARD_BEHOLD_501] = {5495		/*       Beholder Intl. Ltd. 2010       */5496		/* Dmitry Belimov <d.belimov@gmail.com> */5497		.name           = "Beholder BeholdTV 501",5498		.audio_clock    = 0x00200000,5499		.tuner_type     = TUNER_ABSENT,5500		.radio_type     = UNSET,5501		.tuner_addr     = ADDR_UNSET,5502		.radio_addr     = ADDR_UNSET,5503		.gpiomask       = 0x00008000,5504		.inputs         = { {5505			.type = SAA7134_INPUT_TV,5506			.vmux = 3,5507			.amux = LINE2,5508		}, {5509			.type = SAA7134_INPUT_COMPOSITE1,5510			.vmux = 1,5511			.amux = LINE1,5512		}, {5513			.type = SAA7134_INPUT_SVIDEO,5514			.vmux = 8,5515			.amux = LINE1,5516		} },5517		.mute = {5518			.type = SAA7134_INPUT_MUTE,5519			.amux = LINE1,5520		},5521	},5522	[SAA7134_BOARD_BEHOLD_503FM] = {5523		/*       Beholder Intl. Ltd. 2010       */5524		/* Dmitry Belimov <d.belimov@gmail.com> */5525		.name           = "Beholder BeholdTV 503 FM",5526		.audio_clock    = 0x00200000,5527		.tuner_type     = TUNER_ABSENT,5528		.radio_type     = UNSET,5529		.tuner_addr     = ADDR_UNSET,5530		.radio_addr     = ADDR_UNSET,5531		.gpiomask       = 0x00008000,5532		.inputs         = { {5533			.type = SAA7134_INPUT_TV,5534			.vmux = 3,5535			.amux = LINE2,5536		}, {5537			.type = SAA7134_INPUT_COMPOSITE1,5538			.vmux = 1,5539			.amux = LINE1,5540		}, {5541			.type = SAA7134_INPUT_SVIDEO,5542			.vmux = 8,5543			.amux = LINE1,5544		} },5545		.mute = {5546			.type = SAA7134_INPUT_MUTE,5547			.amux = LINE1,5548		},5549	},5550	[SAA7134_BOARD_SENSORAY811_911] = {5551		.name		= "Sensoray 811/911",5552		.audio_clock	= 0x00200000,5553		.tuner_type	= TUNER_ABSENT,5554		.radio_type	= UNSET,5555		.tuner_addr	= ADDR_UNSET,5556		.radio_addr	= ADDR_UNSET,5557		.inputs		= {{5558			.type = SAA7134_INPUT_COMPOSITE1,5559			.vmux   = 0,5560			.amux   = LINE1,5561		}, {5562			.type = SAA7134_INPUT_COMPOSITE3,5563			.vmux   = 2,5564			.amux   = LINE1,5565		}, {5566			.type = SAA7134_INPUT_SVIDEO,5567			.vmux   = 8,5568			.amux   = LINE1,5569		} },5570	},5571	[SAA7134_BOARD_KWORLD_PC150U] = {5572		.name           = "Kworld PC150-U",5573		.audio_clock    = 0x00187de7,5574		.tuner_type     = TUNER_PHILIPS_TDA8290,5575		.radio_type     = UNSET,5576		.tuner_addr	= ADDR_UNSET,5577		.radio_addr	= ADDR_UNSET,5578		.mpeg           = SAA7134_MPEG_DVB,5579		.gpiomask       = 1 << 21,5580		.ts_type	= SAA7134_MPEG_TS_PARALLEL,5581		.inputs = { {5582			.type = SAA7134_INPUT_TV,5583			.vmux   = 1,5584			.amux   = TV,5585		}, {5586			.type = SAA7134_INPUT_COMPOSITE,5587			.vmux   = 3,5588			.amux   = LINE1,5589		}, {5590			.type = SAA7134_INPUT_SVIDEO,5591			.vmux   = 8,5592			.amux   = LINE2,5593		} },5594		.radio = {5595			.type = SAA7134_INPUT_RADIO,5596			.amux   = TV,5597			.gpio	= 0x0000000,5598		},5599	},5600	[SAA7134_BOARD_HAWELL_HW_9004V1] = {5601		/* Hawell HW-9004V1 */5602		/* Vadim Frolov <fralik@gmail.com> */5603		.name         = "Hawell HW-9004V1",5604		.audio_clock   = 0x00200000,5605		.tuner_type    = UNSET,5606		.radio_type    = UNSET,5607		.tuner_addr   = ADDR_UNSET,5608		.radio_addr   = ADDR_UNSET,5609		.gpiomask      = 0x618E700,5610		.inputs       = {{5611			.type = SAA7134_INPUT_COMPOSITE1,5612			.vmux = 3,5613			.amux = LINE1,5614			.gpio = 0x6010000,5615		} },5616	},5617	[SAA7134_BOARD_AVERMEDIA_A706] = {5618		.name           = "AverMedia AverTV Satellite Hybrid+FM A706",5619		.audio_clock    = 0x00187de7,5620		.tuner_type     = TUNER_PHILIPS_TDA8290,5621		.radio_type     = UNSET,5622		.tuner_addr     = ADDR_UNSET,5623		.radio_addr     = ADDR_UNSET,5624		.tda829x_conf   = { .lna_cfg = TDA8290_LNA_OFF,5625				    .no_i2c_gate = 1,5626				    .tda18271_std_map = &aver_a706_std_map },5627		.gpiomask       = 1 << 11,5628		.mpeg           = SAA7134_MPEG_DVB,5629		.inputs         = {{5630			.type = SAA7134_INPUT_TV,5631			.vmux = 1,5632			.amux = TV,5633		}, {5634			.type = SAA7134_INPUT_COMPOSITE,5635			.vmux = 4,5636			.amux = LINE1,5637		}, {5638			.type = SAA7134_INPUT_SVIDEO,5639			.vmux = 8,5640			.amux = LINE1,5641		} },5642		.radio = {5643			.type = SAA7134_INPUT_RADIO,5644			.amux = TV,5645			.gpio = 0x0000800,5646		},5647	},5648	[SAA7134_BOARD_WIS_VOYAGER] = {5649		.name           = "WIS Voyager or compatible",5650		.audio_clock    = 0x00200000,5651		.tuner_type	= TUNER_PHILIPS_TDA8290,5652		.radio_type     = UNSET,5653		.tuner_addr     = ADDR_UNSET,5654		.radio_addr     = ADDR_UNSET,5655		.mpeg		= SAA7134_MPEG_GO7007,5656		.inputs		= { {5657			.type = SAA7134_INPUT_COMPOSITE1,5658			.vmux = 0,5659			.amux = LINE2,5660		}, {5661			.type = SAA7134_INPUT_TV,5662			.vmux = 3,5663			.amux = TV,5664		}, {5665			.type = SAA7134_INPUT_SVIDEO,5666			.vmux = 6,5667		.amux = LINE1,5668		} },5669	},5670	[SAA7134_BOARD_AVERMEDIA_505] = {5671		/* much like the "studio" version but without radio5672		* and another tuner (dbaryshkov@gmail.com) */5673		.name           = "AverMedia AverTV/505",5674		.audio_clock    = 0x00187de7,5675		.tuner_type     = TUNER_PHILIPS_FQ1216ME,5676		.radio_type     = UNSET,5677		.tuner_addr	= ADDR_UNSET,5678		.radio_addr	= ADDR_UNSET,5679		.tda9887_conf   = TDA9887_PRESENT,5680		.inputs         = {{5681			.type = SAA7134_INPUT_TV,5682			.vmux = 1,5683			.amux = LINE2,5684		}, {5685			.type = SAA7134_INPUT_COMPOSITE1,5686			.vmux = 0,5687			.amux = LINE2,5688		}, {5689			.type = SAA7134_INPUT_COMPOSITE2,5690			.vmux = 3,5691			.amux = LINE2,5692		}, {5693			.type = SAA7134_INPUT_SVIDEO,5694			.vmux = 8,5695			.amux = LINE2,5696		} },5697		.mute = {5698			.type = SAA7134_INPUT_MUTE,5699			.amux = LINE1,5700		},5701	},5702	[SAA7134_BOARD_LEADTEK_WINFAST_TV2100_FM] = {5703		.name           = "Leadtek Winfast TV2100 FM",5704		.audio_clock    = 0x00187de7,5705		.tuner_type     = TUNER_TNF_5335MF,5706		.radio_type     = UNSET,5707		.tuner_addr	= ADDR_UNSET,5708		.radio_addr	= ADDR_UNSET,5709		.gpiomask       = 0x0d,5710		.inputs         = {{5711			.type = SAA7134_INPUT_TV_MONO,5712			.vmux = 1,5713			.amux = LINE1,5714			.gpio = 0x00,5715		}, {5716			.type = SAA7134_INPUT_COMPOSITE1,5717			.vmux = 3,5718			.amux = LINE2,5719			.gpio = 0x08,5720		}, {5721			.type = SAA7134_INPUT_SVIDEO,5722			.vmux = 8,5723			.amux = LINE2,5724			.gpio = 0x08,5725		} },5726		.radio = {5727			.type = SAA7134_INPUT_RADIO,5728			.amux = LINE1,5729			.gpio = 0x04,5730		},5731		.mute = {5732			.type = SAA7134_INPUT_MUTE,5733			.amux = LINE1,5734			.gpio = 0x08,5735		},5736	},5737	[SAA7134_BOARD_SNAZIO_TVPVR_PRO] = {5738		.name           = "SnaZio* TVPVR PRO",5739		.audio_clock    = 0x00187de7,5740		.tuner_type     = TUNER_PHILIPS_TDA8290,5741		.radio_type     = UNSET,5742		.tuner_addr     = ADDR_UNSET,5743		.radio_addr     = ADDR_UNSET,5744		.gpiomask       = 1 << 21,5745		.inputs         = { {5746			.type = SAA7134_INPUT_TV,5747			.vmux = 1,5748			.amux = TV,5749			.gpio = 0x0000000,5750		}, {5751			.type = SAA7134_INPUT_COMPOSITE1,5752			.vmux = 3,5753			.amux = LINE2,5754			.gpio = 0x0000000,5755		}, {5756			.type = SAA7134_INPUT_SVIDEO,5757			.vmux = 8,5758			.amux = LINE2,5759			.gpio = 0x0000000,5760		} },5761		.radio = {5762			.type = SAA7134_INPUT_RADIO,5763			.amux = TV,5764			.gpio = 0x0200000,5765		},5766	},5767	[SAA7134_BOARD_LEADTEK_WINFAST_HDTV200_H] = {5768		.name           = "Leadtek Winfast HDTV200 H",5769		.audio_clock    = 0x00187de7,5770		.tuner_type     = TUNER_PHILIPS_TDA8290,5771		.radio_type     = UNSET,5772		.tuner_addr     = ADDR_UNSET,5773		.radio_addr     = ADDR_UNSET,5774		.mpeg           = SAA7134_MPEG_DVB,5775		.ts_type        = SAA7134_MPEG_TS_PARALLEL,5776		.gpiomask       = 0x00200700,5777		.inputs         = { {5778			.type = SAA7134_INPUT_TV,5779			.vmux = 1,5780			.amux = TV,5781			.gpio = 0x00000300,5782		}, {5783			.type = SAA7134_INPUT_COMPOSITE,5784			.vmux = 3,5785			.amux = LINE1,5786			.gpio = 0x00200300,5787		}, {5788			.type = SAA7134_INPUT_SVIDEO,5789			.vmux = 8,5790			.amux = LINE1,5791			.gpio = 0x00200300,5792		} },5793	},5794};5795 5796const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);5797 5798/* ------------------------------------------------------------------ */5799/* PCI ids + subsystem IDs                                            */5800 5801struct pci_device_id saa7134_pci_tbl[] = {5802	{5803		.vendor       = PCI_VENDOR_ID_PHILIPS,5804		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,5805		.subvendor    = PCI_VENDOR_ID_PHILIPS,5806		.subdevice    = 0x2001,5807		.driver_data  = SAA7134_BOARD_PROTEUS_PRO,5808	},{5809		.vendor       = PCI_VENDOR_ID_PHILIPS,5810		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,5811		.subvendor    = PCI_VENDOR_ID_PHILIPS,5812		.subdevice    = 0x2001,5813		.driver_data  = SAA7134_BOARD_PROTEUS_PRO,5814	},{5815		.vendor       = PCI_VENDOR_ID_PHILIPS,5816		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,5817		.subvendor    = PCI_VENDOR_ID_PHILIPS,5818		.subdevice    = 0x6752,5819		.driver_data  = SAA7134_BOARD_EMPRESS,5820	},{5821		.vendor       = PCI_VENDOR_ID_PHILIPS,5822		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,5823		.subvendor    = 0x1131,5824		.subdevice    = 0x4e85,5825		.driver_data  = SAA7134_BOARD_MONSTERTV,5826	},{5827		.vendor       = PCI_VENDOR_ID_PHILIPS,5828		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,5829		.subvendor    = 0x153b,5830		.subdevice    = 0x1142,5831		.driver_data  = SAA7134_BOARD_CINERGY400,5832	},{5833		.vendor       = PCI_VENDOR_ID_PHILIPS,5834		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,5835		.subvendor    = 0x153b,5836		.subdevice    = 0x1143,5837		.driver_data  = SAA7134_BOARD_CINERGY600,5838	},{5839		.vendor       = PCI_VENDOR_ID_PHILIPS,5840		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,5841		.subvendor    = 0x153b,5842		.subdevice    = 0x1158,5843		.driver_data  = SAA7134_BOARD_CINERGY600_MK3,5844	},{5845		.vendor       = PCI_VENDOR_ID_PHILIPS,5846		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,5847		.subvendor    = 0x153b,5848		.subdevice    = 0x1162,5849		.driver_data  = SAA7134_BOARD_CINERGY400_CARDBUS,5850	},{5851		.vendor       = PCI_VENDOR_ID_PHILIPS,5852		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,5853		.subvendor    = 0x5169,5854		.subdevice    = 0x0138,5855		.driver_data  = SAA7134_BOARD_FLYVIDEO3000_NTSC,5856	},{5857		.vendor       = PCI_VENDOR_ID_PHILIPS,5858		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,5859		.subvendor    = 0x5168,5860		.subdevice    = 0x0138,5861		.driver_data  = SAA7134_BOARD_FLYVIDEO3000,5862	},{5863		.vendor       = PCI_VENDOR_ID_PHILIPS,5864		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,5865		.subvendor    = 0x4e42,				/* "Typhoon PCI Capture TV Card" Art.No. 50673 */5866		.subdevice    = 0x0138,5867		.driver_data  = SAA7134_BOARD_FLYVIDEO3000,5868	},{5869		.vendor       = PCI_VENDOR_ID_PHILIPS,5870		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,5871		.subvendor    = 0x5168,5872		.subdevice    = 0x0138,5873		.driver_data  = SAA7134_BOARD_FLYVIDEO2000,5874	},{5875		.vendor       = PCI_VENDOR_ID_PHILIPS,5876		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,5877		.subvendor    = 0x4e42,		/* Typhoon */5878		.subdevice    = 0x0138,		/* LifeView FlyTV Prime30 OEM */5879		.driver_data  = SAA7134_BOARD_FLYVIDEO2000,5880	},{5881		.vendor       = PCI_VENDOR_ID_PHILIPS,5882		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,5883		.subvendor    = 0x5168,5884		.subdevice    = 0x0212, /* minipci, LR212 */5885		.driver_data  = SAA7134_BOARD_FLYTVPLATINUM_MINI,5886	},{5887		.vendor       = PCI_VENDOR_ID_PHILIPS,5888		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,5889		.subvendor    = 0x14c0,5890		.subdevice    = 0x1212, /* minipci, LR1212 */5891		.driver_data  = SAA7134_BOARD_FLYTVPLATINUM_MINI2,5892	},{5893		.vendor       = PCI_VENDOR_ID_PHILIPS,5894		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,5895		.subvendor    = 0x4e42,5896		.subdevice    = 0x0212, /* OEM minipci, LR212 */5897		.driver_data  = SAA7134_BOARD_FLYTVPLATINUM_MINI,5898	},{5899		.vendor       = PCI_VENDOR_ID_PHILIPS,5900		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,5901		.subvendor    = 0x5168,	/* Animation Technologies (LifeView) */5902		.subdevice    = 0x0214, /* Standard PCI, LR214 Rev E and earlier (SAA7135) */5903		.driver_data  = SAA7134_BOARD_FLYTVPLATINUM_FM,5904	},{5905		.vendor       = PCI_VENDOR_ID_PHILIPS,5906		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,5907		.subvendor    = 0x5168,	/* Animation Technologies (LifeView) */5908		.subdevice    = 0x5214, /* Standard PCI, LR214 Rev F onwards (SAA7131) */5909		.driver_data  = SAA7134_BOARD_FLYTVPLATINUM_FM,5910	},{5911		.vendor       = PCI_VENDOR_ID_PHILIPS,5912		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,5913		.subvendor    = 0x1489, /* KYE */5914		.subdevice    = 0x0214, /* Genius VideoWonder ProTV */5915		.driver_data  = SAA7134_BOARD_FLYTVPLATINUM_FM, /* is an LR214WF actually */5916	},{5917		.vendor       = PCI_VENDOR_ID_PHILIPS,5918		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,5919		.subvendor    = 0x16be,5920		.subdevice    = 0x0003,5921		.driver_data  = SAA7134_BOARD_MD7134,5922	},{5923		.vendor       = PCI_VENDOR_ID_PHILIPS,5924		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,5925		.subvendor    = 0x16be, /* CTX946 analog TV, HW mpeg, DVB-T */5926		.subdevice    = 0x5000, /* only analog TV and DVB-T for now */5927		.driver_data  = SAA7134_BOARD_MD7134,5928	}, {5929		.vendor       = PCI_VENDOR_ID_PHILIPS,5930		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,5931		.subvendor    = 0x1048,5932		.subdevice    = 0x226b,5933		.driver_data  = SAA7134_BOARD_ELSA,5934	},{5935		.vendor       = PCI_VENDOR_ID_PHILIPS,5936		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,5937		.subvendor    = 0x1048,5938		.subdevice    = 0x226a,5939		.driver_data  = SAA7134_BOARD_ELSA_500TV,5940	},{5941		.vendor       = PCI_VENDOR_ID_PHILIPS,5942		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,5943		.subvendor    = 0x1048,5944		.subdevice    = 0x226c,5945		.driver_data  = SAA7134_BOARD_ELSA_700TV,5946	},{5947		.vendor       = PCI_VENDOR_ID_PHILIPS,5948		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,5949		.subvendor    = PCI_VENDOR_ID_ASUSTEK,5950		.subdevice    = 0x4842,5951		.driver_data  = SAA7134_BOARD_ASUSTeK_TVFM7134,5952	},{5953		.vendor       = PCI_VENDOR_ID_PHILIPS,5954		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,5955		.subvendor    = PCI_VENDOR_ID_ASUSTEK,5956		.subdevice    = 0x4845,5957		.driver_data  = SAA7134_BOARD_ASUSTeK_TVFM7135,5958	},{5959		.vendor       = PCI_VENDOR_ID_PHILIPS,5960		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,5961		.subvendor    = PCI_VENDOR_ID_ASUSTEK,5962		.subdevice    = 0x4830,5963		.driver_data  = SAA7134_BOARD_ASUSTeK_TVFM7134,5964	},{5965		.vendor       = PCI_VENDOR_ID_PHILIPS,5966		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,5967		.subvendor    = PCI_VENDOR_ID_ASUSTEK,5968		.subdevice    = 0x4843,5969		.driver_data  = SAA7134_BOARD_ASUSTEK_TVFM7133,5970	},{5971		.vendor       = PCI_VENDOR_ID_PHILIPS,5972		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,5973		.subvendor    = PCI_VENDOR_ID_ASUSTEK,5974		.subdevice    = 0x4840,5975		.driver_data  = SAA7134_BOARD_ASUSTeK_TVFM7134,5976	},{5977		.vendor       = PCI_VENDOR_ID_PHILIPS,5978		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,5979		.subvendor    = PCI_VENDOR_ID_PHILIPS,5980		.subdevice    = 0xfe01,5981		.driver_data  = SAA7134_BOARD_TVSTATION_RDS,5982	},{5983		.vendor       = PCI_VENDOR_ID_PHILIPS,5984		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,5985		.subvendor    = 0x1894,5986		.subdevice    = 0xfe01,5987		.driver_data  = SAA7134_BOARD_TVSTATION_RDS,5988	},{5989		.vendor       = PCI_VENDOR_ID_PHILIPS,5990		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,5991		.subvendor    = 0x1894,5992		.subdevice    = 0xa006,5993		.driver_data  = SAA7134_BOARD_TVSTATION_DVR,5994	},{5995		.vendor       = PCI_VENDOR_ID_PHILIPS,5996		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,5997		.subvendor    = 0x1131,5998		.subdevice    = 0x7133,5999		.driver_data  = SAA7134_BOARD_VA1000POWER,6000	},{6001		.vendor       = PCI_VENDOR_ID_PHILIPS,6002		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,6003		.subvendor    = PCI_VENDOR_ID_PHILIPS,6004		.subdevice    = 0x2001,6005		.driver_data  = SAA7134_BOARD_10MOONSTVMASTER,6006	},{6007		.vendor       = PCI_VENDOR_ID_PHILIPS,6008		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6009		.subvendor    = 0x185b,6010		.subdevice    = 0xc100,6011		.driver_data  = SAA7134_BOARD_VIDEOMATE_TV,6012	},{6013		.vendor       = PCI_VENDOR_ID_PHILIPS,6014		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6015		.subvendor    = 0x185b,6016		.subdevice    = 0xc100,6017		.driver_data  = SAA7134_BOARD_VIDEOMATE_TV_GOLD_PLUS,6018	},{6019		.vendor       = PCI_VENDOR_ID_PHILIPS,6020		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,6021		.subvendor    = PCI_VENDOR_ID_MATROX,6022		.subdevice    = 0x48d0,6023		.driver_data  = SAA7134_BOARD_CRONOS_PLUS,6024	},{6025		.vendor       = PCI_VENDOR_ID_PHILIPS,6026		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6027		.subvendor    = 0x1461, /* Avermedia Technologies Inc */6028		.subdevice    = 0xa70b,6029		.driver_data  = SAA7134_BOARD_MD2819,6030	},{6031		.vendor       = PCI_VENDOR_ID_PHILIPS,6032		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6033		.subvendor    = 0x1461, /* Avermedia Technologies Inc */6034		.subdevice    = 0xa7a1,6035		.driver_data  = SAA7134_BOARD_AVERMEDIA_A700_PRO,6036	}, {6037		.vendor       = PCI_VENDOR_ID_PHILIPS,6038		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6039		.subvendor    = 0x1461, /* Avermedia Technologies Inc */6040		.subdevice    = 0xa7a2,6041		.driver_data  = SAA7134_BOARD_AVERMEDIA_A700_HYBRID,6042	}, {6043		.vendor       = PCI_VENDOR_ID_PHILIPS,6044		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,6045		.subvendor    = 0x1461, /* Avermedia Technologies Inc */6046		.subdevice    = 0x2115,6047		.driver_data  = SAA7134_BOARD_AVERMEDIA_STUDIO_305,6048	},{6049		.vendor       = PCI_VENDOR_ID_PHILIPS,6050		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,6051		.subvendor    = 0x1461, /* Avermedia Technologies Inc */6052		.subdevice    = 0xa115,6053		.driver_data  = SAA7134_BOARD_AVERMEDIA_STUDIO_505,6054	}, {6055		.vendor       = PCI_VENDOR_ID_PHILIPS,6056		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,6057		.subvendor    = 0x1461, /* Avermedia Technologies Inc */6058		.subdevice    = 0x2108,6059		.driver_data  = SAA7134_BOARD_AVERMEDIA_305,6060	},{6061		.vendor       = PCI_VENDOR_ID_PHILIPS,6062		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,6063		.subvendor    = 0x1461, /* Avermedia Technologies Inc */6064		.subdevice    = 0x10ff,6065		.driver_data  = SAA7134_BOARD_AVERMEDIA_DVD_EZMAKER,6066	},{6067		/* AVerMedia CardBus */6068		.vendor       = PCI_VENDOR_ID_PHILIPS,6069		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6070		.subvendor    = 0x1461, /* Avermedia Technologies Inc */6071		.subdevice    = 0xd6ee,6072		.driver_data  = SAA7134_BOARD_AVERMEDIA_CARDBUS,6073	},{6074		/* AVerMedia CardBus */6075		.vendor       = PCI_VENDOR_ID_PHILIPS,6076		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6077		.subvendor    = 0x1461, /* Avermedia Technologies Inc */6078		.subdevice    = 0xb7e9,6079		.driver_data  = SAA7134_BOARD_AVERMEDIA_CARDBUS_501,6080	}, {6081		/* TransGear 3000TV */6082		.vendor       = PCI_VENDOR_ID_PHILIPS,6083		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,6084		.subvendor    = 0x1461, /* Avermedia Technologies Inc */6085		.subdevice    = 0x050c,6086		.driver_data  = SAA7134_BOARD_TG3000TV,6087	},{6088		.vendor       = PCI_VENDOR_ID_PHILIPS,6089		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6090		.subvendor    = 0x11bd,6091		.subdevice    = 0x002b,6092		.driver_data  = SAA7134_BOARD_PINNACLE_PCTV_STEREO,6093	},{6094		.vendor       = PCI_VENDOR_ID_PHILIPS,6095		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6096		.subvendor    = 0x11bd,6097		.subdevice    = 0x002d,6098		.driver_data  = SAA7134_BOARD_PINNACLE_300I_DVBT_PAL,6099	},{6100		.vendor       = PCI_VENDOR_ID_PHILIPS,6101		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6102		.subvendor    = 0x1019,6103		.subdevice    = 0x4cb4,6104		.driver_data  = SAA7134_BOARD_ECS_TVP3XP,6105	},{6106		.vendor       = PCI_VENDOR_ID_PHILIPS,6107		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6108		.subvendor    = 0x1019,6109		.subdevice    = 0x4cb5,6110		.driver_data  = SAA7134_BOARD_ECS_TVP3XP_4CB5,6111	},{6112		.vendor       = PCI_VENDOR_ID_PHILIPS,6113		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6114		.subvendor    = 0x1019,6115		.subdevice    = 0x4cb6,6116		.driver_data  = SAA7134_BOARD_ECS_TVP3XP_4CB6,6117	},{6118		.vendor       = PCI_VENDOR_ID_PHILIPS,6119		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6120		.subvendor    = 0x12ab,6121		.subdevice    = 0x0800,6122		.driver_data  = SAA7134_BOARD_UPMOST_PURPLE_TV,6123	},{6124		.vendor       = PCI_VENDOR_ID_PHILIPS,6125		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,6126		.subvendor    = 0x153b,6127		.subdevice    = 0x1152,6128		.driver_data  = SAA7134_BOARD_CINERGY200,6129	},{6130		.vendor       = PCI_VENDOR_ID_PHILIPS,6131		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,6132		.subvendor    = 0x185b,6133		.subdevice    = 0xc100,6134		.driver_data  = SAA7134_BOARD_VIDEOMATE_TV_PVR,6135	},{6136		.vendor       = PCI_VENDOR_ID_PHILIPS,6137		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6138		.subvendor    = 0x1461, /* Avermedia Technologies Inc */6139		.subdevice    = 0x9715,6140		.driver_data  = SAA7134_BOARD_AVERMEDIA_STUDIO_307,6141	},{6142		.vendor       = PCI_VENDOR_ID_PHILIPS,6143		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6144		.subvendor    = 0x1461, /* Avermedia Technologies Inc */6145		.subdevice    = 0xa70a,6146		.driver_data  = SAA7134_BOARD_AVERMEDIA_307,6147	},{6148		.vendor       = PCI_VENDOR_ID_PHILIPS,6149		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6150		.subvendor    = 0x185b,6151		.subdevice    = 0xc200,6152		.driver_data  = SAA7134_BOARD_VIDEOMATE_GOLD_PLUS,6153	},{6154		.vendor       = PCI_VENDOR_ID_PHILIPS,6155		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6156		.subvendor    = 0x1540,6157		.subdevice    = 0x9524,6158		.driver_data  = SAA7134_BOARD_PROVIDEO_PV952,6159 6160	},{6161		.vendor       = PCI_VENDOR_ID_PHILIPS,6162		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6163		.subvendor    = 0x5168,6164		.subdevice    = 0x0502,                /* Cardbus version */6165		.driver_data  = SAA7134_BOARD_FLYDVBT_DUO_CARDBUS,6166	},{6167		.vendor       = PCI_VENDOR_ID_PHILIPS,6168		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6169		.subvendor    = 0x5168,6170		.subdevice    = 0x0306,                /* PCI version */6171		.driver_data  = SAA7134_BOARD_FLYDVBTDUO,6172	},{6173		.vendor       = PCI_VENDOR_ID_PHILIPS,6174		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6175		.subvendor    = 0x1461, /* Avermedia Technologies Inc */6176		.subdevice    = 0xf31f,6177		.driver_data  = SAA7134_BOARD_AVERMEDIA_GO_007_FM,6178 6179	},{6180		.vendor       = PCI_VENDOR_ID_PHILIPS,6181		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6182		.subvendor    = 0x1461, /* Avermedia Technologies Inc */6183		.subdevice    = 0xf11d,6184		.driver_data  = SAA7134_BOARD_AVERMEDIA_M135A,6185	}, {6186		.vendor       = PCI_VENDOR_ID_PHILIPS,6187		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6188		.subvendor    = 0x1461, /* Avermedia Technologies Inc */6189		.subdevice    = 0x4155,6190		.driver_data  = SAA7134_BOARD_AVERMEDIA_M733A,6191	}, {6192		.vendor       = PCI_VENDOR_ID_PHILIPS,6193		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6194		.subvendor    = 0x1461, /* Avermedia Technologies Inc */6195		.subdevice    = 0x4255,6196		.driver_data  = SAA7134_BOARD_AVERMEDIA_M733A,6197	}, {6198		.vendor       = PCI_VENDOR_ID_PHILIPS,6199		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,6200		.subvendor    = PCI_VENDOR_ID_PHILIPS,6201		.subdevice    = 0x2004,6202		.driver_data  = SAA7134_BOARD_PHILIPS_TOUGH,6203	},{6204		.vendor       = PCI_VENDOR_ID_PHILIPS,6205		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6206		.subvendor    = 0x1421,6207		.subdevice    = 0x0350,		/* PCI version */6208		.driver_data  = SAA7134_BOARD_ADS_INSTANT_TV,6209	},{6210		.vendor       = PCI_VENDOR_ID_PHILIPS,6211		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6212		.subvendor    = 0x1421,6213		.subdevice    = 0x0351,		/* PCI version, new revision */6214		.driver_data  = SAA7134_BOARD_ADS_INSTANT_TV,6215	},{6216		.vendor       = PCI_VENDOR_ID_PHILIPS,6217		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6218		.subvendor    = 0x1421,6219		.subdevice    = 0x0370,		/* cardbus version */6220		.driver_data  = SAA7134_BOARD_ADS_INSTANT_TV,6221	},{6222		.vendor       = PCI_VENDOR_ID_PHILIPS,6223		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6224		.subvendor    = 0x1421,6225		.subdevice    = 0x1370,        /* cardbus version */6226		.driver_data  = SAA7134_BOARD_ADS_INSTANT_TV,6227 6228	},{6229		.vendor       = PCI_VENDOR_ID_PHILIPS,6230		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6231		.subvendor    = 0x4e42,		/* Typhoon */6232		.subdevice    = 0x0502,		/* LifeView LR502 OEM */6233		.driver_data  = SAA7134_BOARD_FLYDVBT_DUO_CARDBUS,6234	},{6235		.vendor       = PCI_VENDOR_ID_PHILIPS,6236		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6237		.subvendor    = 0x1043,6238		.subdevice    = 0x0210,		/* mini pci NTSC version */6239		.driver_data  = SAA7134_BOARD_FLYTV_DIGIMATRIX,6240	},{6241		.vendor       = PCI_VENDOR_ID_PHILIPS,6242		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6243		.subvendor    = 0x1043,6244		.subdevice    = 0x0210,		/* mini pci PAL/SECAM version */6245		.driver_data  = SAA7134_BOARD_ASUSTEK_DIGIMATRIX_TV,6246 6247	},{6248		.vendor       = PCI_VENDOR_ID_PHILIPS,6249		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6250		.subvendor    = 0x0000, /* It shouldn't break anything, since subdevice id seems unique */6251		.subdevice    = 0x4091,6252		.driver_data  = SAA7134_BOARD_BEHOLD_409FM,6253	},{6254		.vendor       = PCI_VENDOR_ID_PHILIPS,6255		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6256		.subvendor    = 0x5456, /* GoTView */6257		.subdevice    = 0x7135,6258		.driver_data  = SAA7134_BOARD_GOTVIEW_7135,6259	},{6260		.vendor       = PCI_VENDOR_ID_PHILIPS,6261		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6262		.subvendor    = PCI_VENDOR_ID_PHILIPS,6263		.subdevice    = 0x2004,6264		.driver_data  = SAA7134_BOARD_PHILIPS_EUROPA,6265	},{6266		.vendor       = PCI_VENDOR_ID_PHILIPS,6267		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6268		.subvendor    = 0x185b,6269		.subdevice    = 0xc900,6270		.driver_data  = SAA7134_BOARD_VIDEOMATE_DVBT_300,6271	},{6272		.vendor       = PCI_VENDOR_ID_PHILIPS,6273		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,6274		.subvendor    = 0x185b,6275		.subdevice    = 0xc901,6276		.driver_data  = SAA7134_BOARD_VIDEOMATE_DVBT_200,6277	},{6278		.vendor       = PCI_VENDOR_ID_PHILIPS,6279		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6280		.subvendor    = 0x1435,6281		.subdevice    = 0x7350,6282		.driver_data  = SAA7134_BOARD_RTD_VFG7350,6283	},{6284		.vendor       = PCI_VENDOR_ID_PHILIPS,6285		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6286		.subvendor    = 0x1435,6287		.subdevice    = 0x7330,6288		.driver_data  = SAA7134_BOARD_RTD_VFG7330,6289	},{6290		.vendor       = PCI_VENDOR_ID_PHILIPS,6291		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6292		.subvendor    = 0x1461,6293		.subdevice    = 0x1044,6294		.driver_data  = SAA7134_BOARD_AVERMEDIA_AVERTVHD_A180,6295	},{6296		.vendor       = PCI_VENDOR_ID_PHILIPS,6297		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6298		.subvendor    = 0x1131,6299		.subdevice    = 0x4ee9,6300		.driver_data  = SAA7134_BOARD_MONSTERTV_MOBILE,6301	},{6302		.vendor       = PCI_VENDOR_ID_PHILIPS,6303		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6304		.subvendor    = 0x11bd,6305		.subdevice    = 0x002e,6306		.driver_data  = SAA7134_BOARD_PINNACLE_PCTV_110i,6307	},{6308		.vendor       = PCI_VENDOR_ID_PHILIPS,6309		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6310		.subvendor    = 0x1043,6311		.subdevice    = 0x4862,6312		.driver_data  = SAA7134_BOARD_ASUSTeK_P7131_DUAL,6313	},{6314		.vendor       = PCI_VENDOR_ID_PHILIPS,6315		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6316		.subvendor    = PCI_VENDOR_ID_PHILIPS,6317		.subdevice    = 0x2018,6318		.driver_data  = SAA7134_BOARD_PHILIPS_TIGER,6319	},{6320		.vendor       = PCI_VENDOR_ID_PHILIPS,6321		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6322		.subvendor    = 0x1462,6323		.subdevice    = 0x6231, /* tda8275a, ks003 IR */6324		.driver_data  = SAA7134_BOARD_MSI_TVATANYWHERE_PLUS,6325	},{6326		.vendor       = PCI_VENDOR_ID_PHILIPS,6327		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6328		.subvendor    = 0x1462,6329		.subdevice    = 0x8624, /* tda8275, ks003 IR */6330		.driver_data  = SAA7134_BOARD_MSI_TVATANYWHERE_PLUS,6331	},{6332		.vendor       = PCI_VENDOR_ID_PHILIPS,6333		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6334		.subvendor    = 0x153b,6335		.subdevice    = 0x1160,6336		.driver_data  = SAA7134_BOARD_CINERGY250PCI,6337	},{6338		.vendor       = PCI_VENDOR_ID_PHILIPS,6339		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,	/* SAA 7131E */6340		.subvendor    = 0x5168,6341		.subdevice    = 0x0319,6342		.driver_data  = SAA7134_BOARD_FLYDVB_TRIO,6343	},{6344		.vendor       = PCI_VENDOR_ID_PHILIPS,6345		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6346		.subvendor    = 0x1461,6347		.subdevice    = 0x2c05,6348		.driver_data  = SAA7134_BOARD_AVERMEDIA_777,6349	},{6350		.vendor       = PCI_VENDOR_ID_PHILIPS,6351		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6352		.subvendor    = 0x5168,6353		.subdevice    = 0x0301,6354		.driver_data  = SAA7134_BOARD_FLYDVBT_LR301,6355	},{6356		.vendor       = PCI_VENDOR_ID_PHILIPS,6357		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6358		.subvendor    = 0x0331,6359		.subdevice    = 0x1421,6360		.driver_data  = SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331,6361	},{6362		.vendor       = PCI_VENDOR_ID_PHILIPS,6363		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6364		.subvendor    = 0x17de,6365		.subdevice    = 0x7201,6366		.driver_data  = SAA7134_BOARD_TEVION_DVBT_220RF,6367	},{6368		.vendor       = PCI_VENDOR_ID_PHILIPS,6369		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6370		.subvendor    = 0x17de,6371		.subdevice    = 0x7250,6372		.driver_data  = SAA7134_BOARD_KWORLD_DVBT_210,6373	},{6374		.vendor       = PCI_VENDOR_ID_PHILIPS,6375		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133, /* SAA7135HL */6376		.subvendor    = 0x17de,6377		.subdevice    = 0x7350,6378		.driver_data  = SAA7134_BOARD_KWORLD_ATSC110,6379	},{6380		.vendor       = PCI_VENDOR_ID_PHILIPS,6381		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133, /* SAA7135HL */6382		.subvendor    = 0x17de,6383		.subdevice    = 0x7352,6384		.driver_data  = SAA7134_BOARD_KWORLD_ATSC110, /* ATSC 115 */6385	},{6386		.vendor       = PCI_VENDOR_ID_PHILIPS,6387		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133, /* SAA7135HL */6388		.subvendor    = 0x17de,6389		.subdevice    = 0xa134,6390		.driver_data  = SAA7134_BOARD_KWORLD_PC150U,6391	}, {6392		.vendor       = PCI_VENDOR_ID_PHILIPS,6393		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6394		.subvendor    = 0x1461,6395		.subdevice    = 0x7360,6396		.driver_data  = SAA7134_BOARD_AVERMEDIA_A169_B,6397	},{6398		.vendor       = PCI_VENDOR_ID_PHILIPS,6399		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6400		.subvendor    = 0x1461,6401		.subdevice    = 0x6360,6402		.driver_data  = SAA7134_BOARD_AVERMEDIA_A169_B1,6403	},{6404		.vendor       = PCI_VENDOR_ID_PHILIPS,6405		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6406		.subvendor    = 0x16be,6407		.subdevice    = 0x0005,6408		.driver_data  = SAA7134_BOARD_MD7134_BRIDGE_2,6409	},{6410		.vendor       = PCI_VENDOR_ID_PHILIPS,6411		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6412		.subvendor    = 0x5168,6413		.subdevice    = 0x0300,6414		.driver_data  = SAA7134_BOARD_FLYDVBS_LR300,6415	},{6416		.vendor       = PCI_VENDOR_ID_PHILIPS,6417		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6418		.subvendor    = 0x4e42,6419		.subdevice    = 0x0300,/* LR300 */6420		.driver_data  = SAA7134_BOARD_FLYDVBS_LR300,6421	},{6422		.vendor = PCI_VENDOR_ID_PHILIPS,6423		.device = PCI_DEVICE_ID_PHILIPS_SAA7134,6424		.subvendor = 0x1489,6425		.subdevice = 0x0301,6426		.driver_data = SAA7134_BOARD_FLYDVBT_LR301,6427	},{6428		.vendor = PCI_VENDOR_ID_PHILIPS,6429		.device = PCI_DEVICE_ID_PHILIPS_SAA7133,6430		.subvendor = 0x5168, /* Animation Technologies (LifeView) */6431		.subdevice = 0x0304,6432		.driver_data = SAA7134_BOARD_FLYTVPLATINUM_FM,6433	},{6434		.vendor       = PCI_VENDOR_ID_PHILIPS,6435		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6436		.subvendor    = 0x5168,6437		.subdevice    = 0x3306,6438		.driver_data  = SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS,6439	},{6440		.vendor       = PCI_VENDOR_ID_PHILIPS,6441		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6442		.subvendor    = 0x5168,6443		.subdevice    = 0x3502,  /* what's the difference to 0x3306 ?*/6444		.driver_data  = SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS,6445	},{6446		.vendor       = PCI_VENDOR_ID_PHILIPS,6447		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6448		.subvendor    = 0x5168,6449		.subdevice    = 0x3307, /* FlyDVB-T Hybrid Mini PCI */6450		.driver_data  = SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS,6451	}, {6452		.vendor       = PCI_VENDOR_ID_PHILIPS,6453		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6454		.subvendor    = 0x16be,6455		.subdevice    = 0x0007,6456		.driver_data  = SAA7134_BOARD_MEDION_MD8800_QUADRO,6457	},{6458		.vendor       = PCI_VENDOR_ID_PHILIPS,6459		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6460		.subvendor    = 0x16be,6461		.subdevice    = 0x0008,6462		.driver_data  = SAA7134_BOARD_MEDION_MD8800_QUADRO,6463	},{6464		.vendor       = PCI_VENDOR_ID_PHILIPS,6465		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6466		.subvendor    = 0x16be,6467		.subdevice    = 0x000d, /* triple CTX948_V1.1.1 */6468		.driver_data  = SAA7134_BOARD_MEDION_MD8800_QUADRO,6469	}, {6470		.vendor       = PCI_VENDOR_ID_PHILIPS,6471		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6472		.subvendor    = 0x1461,6473		.subdevice    = 0x2c05,6474		.driver_data  = SAA7134_BOARD_AVERMEDIA_777,6475	},{6476		.vendor       = PCI_VENDOR_ID_PHILIPS,6477		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6478		.subvendor    = 0x1489,6479		.subdevice    = 0x0502,                /* Cardbus version */6480		.driver_data  = SAA7134_BOARD_FLYDVBT_DUO_CARDBUS,6481	},{6482		.vendor       = PCI_VENDOR_ID_PHILIPS,6483		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,6484		.subvendor    = 0x0919, /* Philips Proteus PRO 2309 */6485		.subdevice    = 0x2003,6486		.driver_data  = SAA7134_BOARD_PROTEUS_2309,6487	},{6488		.vendor       = PCI_VENDOR_ID_PHILIPS,6489		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6490		.subvendor    = 0x1461,6491		.subdevice    = 0x2c00,6492		.driver_data  = SAA7134_BOARD_AVERMEDIA_A16AR,6493	},{6494		.vendor       = PCI_VENDOR_ID_PHILIPS,6495		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6496		.subvendor    = 0x1043,6497		.subdevice    = 0x4860,6498		.driver_data  = SAA7134_BOARD_ASUS_EUROPA2_HYBRID,6499	},{6500		.vendor       = PCI_VENDOR_ID_PHILIPS,6501		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6502		.subvendor    = 0x11bd,6503		.subdevice    = 0x002f,6504		.driver_data  = SAA7134_BOARD_PINNACLE_PCTV_310i,6505	},{6506		.vendor       = PCI_VENDOR_ID_PHILIPS,6507		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6508		.subvendor    = 0x1461, /* Avermedia Technologies Inc */6509		.subdevice    = 0x9715,6510		.driver_data  = SAA7134_BOARD_AVERMEDIA_STUDIO_507,6511	},{6512		.vendor       = PCI_VENDOR_ID_PHILIPS,6513		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6514		.subvendor    = 0x1461, /* Avermedia Technologies Inc */6515		.subdevice    = 0xa11b,6516		.driver_data  = SAA7134_BOARD_AVERMEDIA_STUDIO_507UA,6517	}, {6518		.vendor       = PCI_VENDOR_ID_PHILIPS,6519		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6520		.subvendor    = 0x1043,6521		.subdevice    = 0x4876,6522		.driver_data  = SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA,6523	},{6524		.vendor       = PCI_VENDOR_ID_PHILIPS,6525		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6526		.subvendor    = 0x0070,6527		.subdevice    = 0x6700,6528		.driver_data  = SAA7134_BOARD_HAUPPAUGE_HVR1110,6529	},{6530		.vendor       = PCI_VENDOR_ID_PHILIPS,6531		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6532		.subvendor    = 0x0070,6533		.subdevice    = 0x6701,6534		.driver_data  = SAA7134_BOARD_HAUPPAUGE_HVR1110,6535	},{6536		.vendor       = PCI_VENDOR_ID_PHILIPS,6537		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6538		.subvendor    = 0x0070,6539		.subdevice    = 0x6702,6540		.driver_data  = SAA7134_BOARD_HAUPPAUGE_HVR1110,6541	},{6542		.vendor       = PCI_VENDOR_ID_PHILIPS,6543		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6544		.subvendor    = 0x0070,6545		.subdevice    = 0x6703,6546		.driver_data  = SAA7134_BOARD_HAUPPAUGE_HVR1110,6547	},{6548		.vendor       = PCI_VENDOR_ID_PHILIPS,6549		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6550		.subvendor    = 0x0070,6551		.subdevice    = 0x6704,6552		.driver_data  = SAA7134_BOARD_HAUPPAUGE_HVR1110,6553	},{6554		.vendor       = PCI_VENDOR_ID_PHILIPS,6555		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6556		.subvendor    = 0x0070,6557		.subdevice    = 0x6705,6558		.driver_data  = SAA7134_BOARD_HAUPPAUGE_HVR1110,6559	},{6560		.vendor       = PCI_VENDOR_ID_PHILIPS,6561		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6562		.subvendor    = 0x0070,6563		.subdevice    = 0x6706,6564		.driver_data  = SAA7134_BOARD_HAUPPAUGE_HVR1150,6565	},{6566		.vendor       = PCI_VENDOR_ID_PHILIPS,6567		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6568		.subvendor    = 0x0070,6569		.subdevice    = 0x6707,6570		.driver_data  = SAA7134_BOARD_HAUPPAUGE_HVR1120,6571	},{6572		.vendor       = PCI_VENDOR_ID_PHILIPS,6573		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6574		.subvendor    = 0x0070,6575		.subdevice    = 0x6708,6576		.driver_data  = SAA7134_BOARD_HAUPPAUGE_HVR1150,6577	},{6578		.vendor       = PCI_VENDOR_ID_PHILIPS,6579		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6580		.subvendor    = 0x0070,6581		.subdevice    = 0x6709,6582		.driver_data  = SAA7134_BOARD_HAUPPAUGE_HVR1120,6583	},{6584		.vendor       = PCI_VENDOR_ID_PHILIPS,6585		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6586		.subvendor    = 0x0070,6587		.subdevice    = 0x670a,6588		.driver_data  = SAA7134_BOARD_HAUPPAUGE_HVR1120,6589	},{6590		.vendor       = PCI_VENDOR_ID_PHILIPS,6591		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6592		.subvendor    = 0x153b,6593		.subdevice    = 0x1172,6594		.driver_data  = SAA7134_BOARD_CINERGY_HT_PCMCIA,6595	},{6596		.vendor       = PCI_VENDOR_ID_PHILIPS,6597		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,6598		.subvendor    = PCI_VENDOR_ID_PHILIPS,6599		.subdevice    = 0x2342,6600		.driver_data  = SAA7134_BOARD_ENCORE_ENLTV,6601	},{6602		.vendor       = PCI_VENDOR_ID_PHILIPS,6603		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,6604		.subvendor    = 0x1131,6605		.subdevice    = 0x2341,6606		.driver_data  = SAA7134_BOARD_ENCORE_ENLTV,6607	},{6608		.vendor       = PCI_VENDOR_ID_PHILIPS,6609		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,6610		.subvendor    = 0x3016,6611		.subdevice    = 0x2344,6612		.driver_data  = SAA7134_BOARD_ENCORE_ENLTV,6613	},{6614		.vendor       = PCI_VENDOR_ID_PHILIPS,6615		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,6616		.subvendor    = 0x1131,6617		.subdevice    = 0x230f,6618		.driver_data  = SAA7134_BOARD_ENCORE_ENLTV_FM,6619	},{6620		.vendor       = PCI_VENDOR_ID_PHILIPS,6621		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,6622		.subvendor    = 0x1a7f,6623		.subdevice    = 0x2008,6624		.driver_data  = SAA7134_BOARD_ENCORE_ENLTV_FM53,6625	}, {6626		.vendor       = PCI_VENDOR_ID_PHILIPS,6627		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6628		.subvendor    = 0x1a7f,6629		.subdevice    = 0x2108,6630		.driver_data  = SAA7134_BOARD_ENCORE_ENLTV_FM3,6631	}, {6632		.vendor       = PCI_VENDOR_ID_PHILIPS,6633		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6634		.subvendor    = 0x153b,6635		.subdevice    = 0x1175,6636		.driver_data  = SAA7134_BOARD_CINERGY_HT_PCI,6637	},{6638		.vendor       = PCI_VENDOR_ID_PHILIPS,6639		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6640		.subvendor    = 0x1461, /* Avermedia Technologies Inc */6641		.subdevice    = 0xf31e,6642		.driver_data  = SAA7134_BOARD_AVERMEDIA_M102,6643	},{6644		.vendor       = PCI_VENDOR_ID_PHILIPS,6645		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6646		.subvendor    = 0x4E42,         /* MSI */6647		.subdevice    = 0x0306,         /* TV@nywhere DUO */6648		.driver_data  = SAA7134_BOARD_FLYDVBTDUO,6649	},{6650		.vendor       = PCI_VENDOR_ID_PHILIPS,6651		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6652		.subvendor    = 0x1043,6653		.subdevice    = 0x4871,6654		.driver_data  = SAA7134_BOARD_ASUS_P7131_4871,6655	},{6656		.vendor       = PCI_VENDOR_ID_PHILIPS,6657		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6658		.subvendor    = 0x1043,6659		.subdevice    = 0x4857,		/* REV:1.00 */6660		.driver_data  = SAA7134_BOARD_ASUSTeK_TIGER,6661	},{6662		.vendor       = PCI_VENDOR_ID_PHILIPS,6663		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6664		.subvendor    = 0x0919, /* SinoVideo PCI 2309 Proteus (7134) */6665		.subdevice    = 0x2003, /* OEM cardbus */6666		.driver_data  = SAA7134_BOARD_SABRENT_TV_PCB05,6667	},{6668		.vendor       = PCI_VENDOR_ID_PHILIPS,6669		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,6670		.subvendor    = PCI_VENDOR_ID_PHILIPS,6671		.subdevice    = 0x2304,6672		.driver_data  = SAA7134_BOARD_10MOONSTVMASTER3,6673	},{6674		.vendor       = PCI_VENDOR_ID_PHILIPS,6675		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6676		.subvendor    = 0x1461, /* Avermedia Technologies Inc */6677		.subdevice    = 0xf01d, /* AVerTV DVB-T Super 007 */6678		.driver_data  = SAA7134_BOARD_AVERMEDIA_SUPER_007,6679	},{6680		.vendor       = PCI_VENDOR_ID_PHILIPS,6681		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,6682		.subvendor    = 0x0000,6683		.subdevice    = 0x4016,6684		.driver_data  = SAA7134_BOARD_BEHOLD_401,6685	},{6686		.vendor       = PCI_VENDOR_ID_PHILIPS,6687		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6688		.subvendor    = 0x0000,6689		.subdevice    = 0x4036,6690		.driver_data  = SAA7134_BOARD_BEHOLD_403,6691	},{6692		.vendor       = PCI_VENDOR_ID_PHILIPS,6693		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6694		.subvendor    = 0x0000,6695		.subdevice    = 0x4037,6696		.driver_data  = SAA7134_BOARD_BEHOLD_403FM,6697	},{6698		.vendor       = PCI_VENDOR_ID_PHILIPS,6699		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,6700		.subvendor    = 0x0000,6701		.subdevice    = 0x4050,6702		.driver_data  = SAA7134_BOARD_BEHOLD_405,6703	},{6704		.vendor       = PCI_VENDOR_ID_PHILIPS,6705		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,6706		.subvendor    = 0x0000,6707		.subdevice    = 0x4051,6708		.driver_data  = SAA7134_BOARD_BEHOLD_405FM,6709	},{6710		.vendor       = PCI_VENDOR_ID_PHILIPS,6711		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6712		.subvendor    = 0x0000,6713		.subdevice    = 0x4070,6714		.driver_data  = SAA7134_BOARD_BEHOLD_407,6715	},{6716		.vendor       = PCI_VENDOR_ID_PHILIPS,6717		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6718		.subvendor    = 0x0000,6719		.subdevice    = 0x4071,6720		.driver_data  = SAA7134_BOARD_BEHOLD_407FM,6721	},{6722		.vendor       = PCI_VENDOR_ID_PHILIPS,6723		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6724		.subvendor    = 0x0000,6725		.subdevice    = 0x4090,6726		.driver_data  = SAA7134_BOARD_BEHOLD_409,6727	},{6728		.vendor       = PCI_VENDOR_ID_PHILIPS,6729		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,6730		.subvendor    = 0x0000,6731		.subdevice    = 0x505B,6732		.driver_data  = SAA7134_BOARD_BEHOLD_505RDS_MK5,6733	}, {6734		.vendor       = PCI_VENDOR_ID_PHILIPS,6735		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,6736		.subvendor    = 0x0000,6737		.subdevice    = 0x5051,6738		.driver_data  = SAA7134_BOARD_BEHOLD_505RDS_MK3,6739	},{6740		.vendor       = PCI_VENDOR_ID_PHILIPS,6741		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,6742		.subvendor    = 0x5ace,6743		.subdevice    = 0x5050,6744		.driver_data  = SAA7134_BOARD_BEHOLD_505FM,6745	},{6746		.vendor       = PCI_VENDOR_ID_PHILIPS,6747		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6748		.subvendor    = 0x0000,6749		.subdevice    = 0x5071,6750		.driver_data  = SAA7134_BOARD_BEHOLD_507RDS_MK3,6751	},{6752		.vendor       = PCI_VENDOR_ID_PHILIPS,6753		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6754		.subvendor    = 0x0000,6755		.subdevice    = 0x507B,6756		.driver_data  = SAA7134_BOARD_BEHOLD_507RDS_MK5,6757	},{6758		.vendor       = PCI_VENDOR_ID_PHILIPS,6759		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6760		.subvendor    = 0x5ace,6761		.subdevice    = 0x5070,6762		.driver_data  = SAA7134_BOARD_BEHOLD_507_9FM,6763	},{6764		.vendor       = PCI_VENDOR_ID_PHILIPS,6765		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6766		.subvendor    = 0x5ace,6767		.subdevice    = 0x5090,6768		.driver_data  = SAA7134_BOARD_BEHOLD_507_9FM,6769	},{6770		.vendor       = PCI_VENDOR_ID_PHILIPS,6771		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6772		.subvendor    = 0x0000,6773		.subdevice    = 0x5201,6774		.driver_data  = SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM,6775	},{6776		.vendor       = PCI_VENDOR_ID_PHILIPS,6777		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6778		.subvendor    = 0x5ace,6779		.subdevice    = 0x6070,6780		.driver_data  = SAA7134_BOARD_BEHOLD_607FM_MK3,6781	},{6782		.vendor       = PCI_VENDOR_ID_PHILIPS,6783		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6784		.subvendor    = 0x5ace,6785		.subdevice    = 0x6071,6786		.driver_data  = SAA7134_BOARD_BEHOLD_607FM_MK5,6787	},{6788		.vendor       = PCI_VENDOR_ID_PHILIPS,6789		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6790		.subvendor    = 0x5ace,6791		.subdevice    = 0x6072,6792		.driver_data  = SAA7134_BOARD_BEHOLD_607RDS_MK3,6793	},{6794		.vendor       = PCI_VENDOR_ID_PHILIPS,6795		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6796		.subvendor    = 0x5ace,6797		.subdevice    = 0x6073,6798		.driver_data  = SAA7134_BOARD_BEHOLD_607RDS_MK5,6799	},{6800		.vendor       = PCI_VENDOR_ID_PHILIPS,6801		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6802		.subvendor    = 0x5ace,6803		.subdevice    = 0x6090,6804		.driver_data  = SAA7134_BOARD_BEHOLD_609FM_MK3,6805	},{6806		.vendor       = PCI_VENDOR_ID_PHILIPS,6807		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6808		.subvendor    = 0x5ace,6809		.subdevice    = 0x6091,6810		.driver_data  = SAA7134_BOARD_BEHOLD_609FM_MK5,6811	},{6812		.vendor       = PCI_VENDOR_ID_PHILIPS,6813		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6814		.subvendor    = 0x5ace,6815		.subdevice    = 0x6092,6816		.driver_data  = SAA7134_BOARD_BEHOLD_609RDS_MK3,6817	},{6818		.vendor       = PCI_VENDOR_ID_PHILIPS,6819		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6820		.subvendor    = 0x5ace,6821		.subdevice    = 0x6093,6822		.driver_data  = SAA7134_BOARD_BEHOLD_609RDS_MK5,6823	},{6824		.vendor       = PCI_VENDOR_ID_PHILIPS,6825		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6826		.subvendor    = 0x5ace,6827		.subdevice    = 0x6190,6828		.driver_data  = SAA7134_BOARD_BEHOLD_M6,6829	},{6830		.vendor       = PCI_VENDOR_ID_PHILIPS,6831		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6832		.subvendor    = 0x5ace,6833		.subdevice    = 0x6193,6834		.driver_data  = SAA7134_BOARD_BEHOLD_M6_EXTRA,6835	}, {6836		.vendor       = PCI_VENDOR_ID_PHILIPS,6837		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6838		.subvendor    = 0x5ace,6839		.subdevice    = 0x6191,6840		.driver_data  = SAA7134_BOARD_BEHOLD_M63,6841	},{6842		.vendor       = PCI_VENDOR_ID_PHILIPS,6843		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6844		.subvendor    = 0x4e42,6845		.subdevice    = 0x3502,6846		.driver_data  = SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS,6847	}, {6848		.vendor       = PCI_VENDOR_ID_PHILIPS,6849		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6850		.subvendor    = 0x1822, /*Twinhan Technology Co. Ltd*/6851		.subdevice    = 0x0022,6852		.driver_data  = SAA7134_BOARD_TWINHAN_DTV_DVB_3056,6853	}, {6854		.vendor       = PCI_VENDOR_ID_PHILIPS,6855		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6856		.subvendor    = 0x16be,6857		.subdevice    = 0x0010, /* Medion version CTX953_V.1.4.3 */6858		.driver_data  = SAA7134_BOARD_CREATIX_CTX953,6859	}, {6860		.vendor       = PCI_VENDOR_ID_PHILIPS,6861		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6862		.subvendor    = 0x1462, /* MSI */6863		.subdevice    = 0x8625, /* TV@nywhere A/D v1.1 */6864		.driver_data  = SAA7134_BOARD_MSI_TVANYWHERE_AD11,6865	},{6866		.vendor       = PCI_VENDOR_ID_PHILIPS,6867		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6868		.subvendor    = 0x1461, /* Avermedia Technologies Inc */6869		.subdevice    = 0xf436,6870		.driver_data  = SAA7134_BOARD_AVERMEDIA_CARDBUS_506,6871	}, {6872		.vendor       = PCI_VENDOR_ID_PHILIPS,6873		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6874		.subvendor    = 0x1461, /* Avermedia Technologies Inc */6875		.subdevice    = 0xf936,6876		.driver_data  = SAA7134_BOARD_AVERMEDIA_A16D,6877	}, {6878		.vendor       = PCI_VENDOR_ID_PHILIPS,6879		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6880		.subvendor    = 0x1461, /* Avermedia Technologies Inc */6881		.subdevice    = 0xa836,6882		.driver_data  = SAA7134_BOARD_AVERMEDIA_M115,6883	}, {6884		.vendor       = PCI_VENDOR_ID_PHILIPS,6885		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6886		.subvendor    = 0x185b,6887		.subdevice    = 0xc900,6888		.driver_data  = SAA7134_BOARD_VIDEOMATE_T750,6889	}, {6890		.vendor       = PCI_VENDOR_ID_PHILIPS,6891		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133, /* SAA7135HL */6892		.subvendor    = 0x1421,6893		.subdevice    = 0x0380,6894		.driver_data  = SAA7134_BOARD_ADS_INSTANT_HDTV_PCI,6895	}, {6896		.vendor       = PCI_VENDOR_ID_PHILIPS,6897		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6898		.subvendor    = 0x5169,6899		.subdevice    = 0x1502,6900		.driver_data  = SAA7134_BOARD_FLYTVPLATINUM_MINI,6901	}, {6902		.vendor       = PCI_VENDOR_ID_PHILIPS,6903		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6904		.subvendor    = 0x5ace,6905		.subdevice    = 0x6290,6906		.driver_data  = SAA7134_BOARD_BEHOLD_H6,6907	}, {6908		.vendor       = PCI_VENDOR_ID_PHILIPS,6909		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6910		.subvendor    = 0x1461, /* Avermedia Technologies Inc */6911		.subdevice    = 0xf636,6912		.driver_data  = SAA7134_BOARD_AVERMEDIA_M103,6913	}, {6914		.vendor       = PCI_VENDOR_ID_PHILIPS,6915		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6916		.subvendor    = 0x1461, /* Avermedia Technologies Inc */6917		.subdevice    = 0xf736,6918		.driver_data  = SAA7134_BOARD_AVERMEDIA_M103,6919	}, {6920		.vendor       = PCI_VENDOR_ID_PHILIPS,6921		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6922		.subvendor    = 0x1043,6923		.subdevice    = 0x4878, /* REV:1.02G */6924		.driver_data  = SAA7134_BOARD_ASUSTeK_TIGER_3IN1,6925	}, {6926		.vendor       = PCI_VENDOR_ID_PHILIPS,6927		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6928		.subvendor    = 0x1043,6929		.subdevice    = 0x48cd,6930		.driver_data  = SAA7134_BOARD_ASUSTeK_PS3_100,6931	}, {6932		.vendor       = PCI_VENDOR_ID_PHILIPS,6933		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6934		.subvendor    = 0x17de,6935		.subdevice    = 0x7128,6936		.driver_data  = SAA7134_BOARD_KWORLD_PLUS_TV_ANALOG,6937	}, {6938		.vendor       = PCI_VENDOR_ID_PHILIPS,6939		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6940		.subvendor    = 0x17de,6941		.subdevice    = 0xb136,6942		.driver_data  = SAA7134_BOARD_KWORLD_PCI_SBTVD_FULLSEG,6943	}, {6944		.vendor       = PCI_VENDOR_ID_PHILIPS,6945		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6946		.subvendor    = 0x1461, /* Avermedia Technologies Inc */6947		.subdevice    = 0xf31d,6948		.driver_data  = SAA7134_BOARD_AVERMEDIA_GO_007_FM_PLUS,6949	}, {6950		.vendor       = PCI_VENDOR_ID_PHILIPS,6951		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,6952		.subvendor    = 0x185b,6953		.subdevice    = 0xc900,6954		.driver_data  = SAA7134_BOARD_VIDEOMATE_S350,6955	}, {6956		.vendor       = PCI_VENDOR_ID_PHILIPS,6957		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6958		.subvendor    = 0x5ace, /* Beholder Intl. Ltd. */6959		.subdevice    = 0x7595,6960		.driver_data  = SAA7134_BOARD_BEHOLD_X7,6961	}, {6962		.vendor       = PCI_VENDOR_ID_PHILIPS,6963		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6964		.subvendor    = 0x19d1, /* RoverMedia */6965		.subdevice    = 0x0138, /* LifeView FlyTV Prime30 OEM */6966		.driver_data  = SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM,6967	}, {6968		.vendor       = PCI_VENDOR_ID_PHILIPS,6969		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6970		.subvendor    = PCI_VENDOR_ID_PHILIPS,6971		.subdevice    = 0x2004,6972		.driver_data  = SAA7134_BOARD_ZOLID_HYBRID_PCI,6973	}, {6974		.vendor       = PCI_VENDOR_ID_PHILIPS,6975		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,6976		.subvendor    = 0x1043,6977		.subdevice    = 0x4847,6978		.driver_data  = SAA7134_BOARD_ASUS_EUROPA_HYBRID,6979	}, {6980		.vendor       = PCI_VENDOR_ID_PHILIPS,6981		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,6982		.subvendor    = 0x107d,6983		.subdevice    = 0x6655,6984		.driver_data  = SAA7134_BOARD_LEADTEK_WINFAST_DTV1000S,6985	}, {6986		.vendor       = PCI_VENDOR_ID_PHILIPS,6987		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6988		.subvendor    = 0x13c2,6989		.subdevice    = 0x2804,6990		.driver_data  = SAA7134_BOARD_TECHNOTREND_BUDGET_T3000,6991	}, {6992		.vendor       = PCI_VENDOR_ID_PHILIPS,6993		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,6994		.subvendor    = 0x5ace, /* Beholder Intl. Ltd. */6995		.subdevice    = 0x7190,6996		.driver_data  = SAA7134_BOARD_BEHOLD_H7,6997	}, {6998		.vendor       = PCI_VENDOR_ID_PHILIPS,6999		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,7000		.subvendor    = 0x5ace, /* Beholder Intl. Ltd. */7001		.subdevice    = 0x7090,7002		.driver_data  = SAA7134_BOARD_BEHOLD_A7,7003	}, {7004		.vendor       = PCI_VENDOR_ID_PHILIPS,7005		.device       = PCI_DEVICE_ID_PHILIPS_SAA7135,7006		.subvendor    = 0x185b,7007		.subdevice    = 0xc900,7008		.driver_data  = SAA7134_BOARD_VIDEOMATE_M1F,7009	}, {7010		.vendor       = PCI_VENDOR_ID_PHILIPS,7011		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,7012		.subvendor    = 0x5ace,7013		.subdevice    = 0x5030,7014		.driver_data  = SAA7134_BOARD_BEHOLD_503FM,7015	}, {7016		.vendor       = PCI_VENDOR_ID_PHILIPS,7017		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,7018		.subvendor    = 0x5ace,7019		.subdevice    = 0x5010,7020		.driver_data  = SAA7134_BOARD_BEHOLD_501,7021	}, {7022		.vendor       = PCI_VENDOR_ID_PHILIPS,7023		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,7024		.subvendor    = 0x17de,7025		.subdevice    = 0xd136,7026		.driver_data  = SAA7134_BOARD_MAGICPRO_PROHDTV_PRO2,7027	}, {7028		.vendor       = PCI_VENDOR_ID_PHILIPS,7029		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,7030		.subvendor    = 0x6000,7031		.subdevice    = 0x0811,7032		.driver_data  = SAA7134_BOARD_SENSORAY811_911,7033	}, {7034		.vendor       = PCI_VENDOR_ID_PHILIPS,7035		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,7036		.subvendor    = 0x6000,7037		.subdevice    = 0x0911,7038		.driver_data  = SAA7134_BOARD_SENSORAY811_911,7039	}, {7040		.vendor       = PCI_VENDOR_ID_PHILIPS,7041		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,7042		.subvendor    = 0x1461, /* Avermedia Technologies Inc */7043		.subdevice    = 0x2055, /* AverTV Satellite Hybrid+FM A706 */7044		.driver_data  = SAA7134_BOARD_AVERMEDIA_A706,7045	}, {7046		.vendor       = PCI_VENDOR_ID_PHILIPS,7047		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,7048		.subvendor    = 0x1905, /* WIS */7049		.subdevice    = 0x7007,7050		.driver_data  = SAA7134_BOARD_WIS_VOYAGER,7051	}, {7052		.vendor       = PCI_VENDOR_ID_PHILIPS,7053		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,7054		.subvendor    = 0x1461, /* Avermedia Technologies Inc */7055		.subdevice    = 0xa10a,7056		.driver_data  = SAA7134_BOARD_AVERMEDIA_505,7057	}, {7058		.vendor       = PCI_VENDOR_ID_PHILIPS,7059		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,7060		.subvendor    = 0x107d,7061		.subdevice    = 0x6f3a,7062		.driver_data  = SAA7134_BOARD_LEADTEK_WINFAST_TV2100_FM,7063	}, {7064		.vendor       = PCI_VENDOR_ID_PHILIPS,7065		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,7066		.subvendor    = 0x1779, /* V One Multimedia PTE Ltd */7067		.subdevice    = 0x13cf,7068		.driver_data  = SAA7134_BOARD_SNAZIO_TVPVR_PRO,7069	}, {7070		.vendor       = PCI_VENDOR_ID_PHILIPS,7071		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,7072		.subvendor    = 0x107d,7073		.subdevice    = 0x6f2e,7074		.driver_data  = SAA7134_BOARD_LEADTEK_WINFAST_HDTV200_H,7075	}, {7076		/* --- boards without eeprom + subsystem ID --- */7077		.vendor       = PCI_VENDOR_ID_PHILIPS,7078		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,7079		.subvendor    = PCI_VENDOR_ID_PHILIPS,7080		.subdevice    = 0,7081		.driver_data  = SAA7134_BOARD_NOAUTO,7082	},{7083		.vendor       = PCI_VENDOR_ID_PHILIPS,7084		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,7085		.subvendor    = PCI_VENDOR_ID_PHILIPS,7086		.subdevice    = 0,7087		.driver_data  = SAA7134_BOARD_NOAUTO,7088	},{7089		/* --- default catch --- */7090		.vendor       = PCI_VENDOR_ID_PHILIPS,7091		.device       = PCI_DEVICE_ID_PHILIPS_SAA7130,7092		.subvendor    = PCI_ANY_ID,7093		.subdevice    = PCI_ANY_ID,7094		.driver_data  = SAA7134_BOARD_UNKNOWN,7095	},{7096		.vendor       = PCI_VENDOR_ID_PHILIPS,7097		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,7098		.subvendor    = PCI_ANY_ID,7099		.subdevice    = PCI_ANY_ID,7100		.driver_data  = SAA7134_BOARD_UNKNOWN,7101	},{7102		.vendor       = PCI_VENDOR_ID_PHILIPS,7103		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,7104		.subvendor    = PCI_ANY_ID,7105		.subdevice    = PCI_ANY_ID,7106		.driver_data  = SAA7134_BOARD_UNKNOWN,7107	},{7108		.vendor       = PCI_VENDOR_ID_PHILIPS,7109		.device       = PCI_DEVICE_ID_PHILIPS_SAA7135,7110		.subvendor    = PCI_ANY_ID,7111		.subdevice    = PCI_ANY_ID,7112		.driver_data  = SAA7134_BOARD_UNKNOWN,7113	},{7114		/* --- end of list --- */7115	}7116};7117MODULE_DEVICE_TABLE(pci, saa7134_pci_tbl);7118 7119/* ----------------------------------------------------------- */7120/* flyvideo tweaks                                             */7121 7122 7123static void board_flyvideo(struct saa7134_dev *dev)7124{7125	pr_warn("%s: there are different flyvideo cards with different tuners\n"7126		"%s: out there, you might have to use the tuner=<nr> insmod\n"7127		"%s: option to override the default value.\n",7128		dev->name, dev->name, dev->name);7129}7130 7131static int saa7134_xc2028_callback(struct saa7134_dev *dev,7132				   int command, int arg)7133{7134	switch (command) {7135	case XC2028_TUNER_RESET:7136		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00008000, 0x00000000);7137		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00008000, 0x00008000);7138		switch (dev->board) {7139		case SAA7134_BOARD_AVERMEDIA_CARDBUS_506:7140		case SAA7134_BOARD_AVERMEDIA_M103:7141			saa7134_set_gpio(dev, 23, 0);7142			msleep(10);7143			saa7134_set_gpio(dev, 23, 1);7144		break;7145		case SAA7134_BOARD_AVERMEDIA_A16D:7146			saa7134_set_gpio(dev, 21, 0);7147			msleep(10);7148			saa7134_set_gpio(dev, 21, 1);7149		break;7150		case SAA7134_BOARD_AVERMEDIA_A700_HYBRID:7151			saa7134_set_gpio(dev, 18, 0);7152			msleep(10);7153			saa7134_set_gpio(dev, 18, 1);7154		break;7155		case SAA7134_BOARD_VIDEOMATE_T750:7156			saa7134_set_gpio(dev, 20, 0);7157			msleep(10);7158			saa7134_set_gpio(dev, 20, 1);7159		break;7160		}7161		return 0;7162	}7163	return -EINVAL;7164}7165 7166static int saa7134_xc5000_callback(struct saa7134_dev *dev,7167				   int command, int arg)7168{7169	switch (dev->board) {7170	case SAA7134_BOARD_BEHOLD_X7:7171	case SAA7134_BOARD_BEHOLD_H7:7172	case SAA7134_BOARD_BEHOLD_A7:7173		if (command == XC5000_TUNER_RESET) {7174		/* Down and UP pheripherial RESET pin for reset all chips */7175			saa_writeb(SAA7134_SPECIAL_MODE, 0x00);7176			msleep(10);7177			saa_writeb(SAA7134_SPECIAL_MODE, 0x01);7178			msleep(10);7179		}7180		break;7181	default:7182		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x06e20000, 0x06e20000);7183		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x06a20000, 0x06a20000);7184		saa_andorl(SAA7133_ANALOG_IO_SELECT >> 2, 0x02, 0x02);7185		saa_andorl(SAA7134_ANALOG_IN_CTRL1 >> 2, 0x81, 0x81);7186		saa_andorl(SAA7134_AUDIO_CLOCK0 >> 2, 0x03187de7, 0x03187de7);7187		saa_andorl(SAA7134_AUDIO_PLL_CTRL >> 2, 0x03, 0x03);7188		saa_andorl(SAA7134_AUDIO_CLOCKS_PER_FIELD0 >> 2,7189			   0x0001e000, 0x0001e000);7190		break;7191	}7192	return 0;7193}7194 7195static int saa7134_tda8290_827x_callback(struct saa7134_dev *dev,7196					 int command, int arg)7197{7198	u8 sync_control;7199 7200	switch (command) {7201	case 0: /* switch LNA gain through GPIO 22*/7202		saa7134_set_gpio(dev, 22, arg) ;7203		break;7204	case 1: /* vsync output at GPIO22. 50 / 60Hz */7205		saa_andorb(SAA7134_VIDEO_PORT_CTRL3, 0x80, 0x80);7206		saa_andorb(SAA7134_VIDEO_PORT_CTRL6, 0x0f, 0x03);7207		if (arg == 1)7208			sync_control = 11;7209		else7210			sync_control = 17;7211		saa_writeb(SAA7134_VGATE_START, sync_control);7212		saa_writeb(SAA7134_VGATE_STOP, sync_control + 1);7213		saa_andorb(SAA7134_MISC_VGATE_MSB, 0x03, 0x00);7214		break;7215	default:7216		return -EINVAL;7217	}7218 7219	return 0;7220}7221 7222static inline int saa7134_tda18271_hvr11x0_toggle_agc(struct saa7134_dev *dev,7223						      enum tda18271_mode mode)7224{7225	/* toggle AGC switch through GPIO 26 */7226	switch (mode) {7227	case TDA18271_ANALOG:7228		saa7134_set_gpio(dev, 26, 0);7229		break;7230	case TDA18271_DIGITAL:7231		saa7134_set_gpio(dev, 26, 1);7232		break;7233	default:7234		return -EINVAL;7235	}7236	return 0;7237}7238 7239static inline int saa7134_kworld_sbtvd_toggle_agc(struct saa7134_dev *dev,7240						  enum tda18271_mode mode)7241{7242	/* toggle AGC switch through GPIO 27 */7243	switch (mode) {7244	case TDA18271_ANALOG:7245		saa_writel(SAA7134_GPIO_GPMODE0 >> 2, 0x4000);7246		saa_writel(SAA7134_GPIO_GPSTATUS0 >> 2, 0x4000);7247		msleep(20);7248		break;7249	case TDA18271_DIGITAL:7250		saa_writel(SAA7134_GPIO_GPMODE0 >> 2, 0x14000);7251		saa_writel(SAA7134_GPIO_GPSTATUS0 >> 2, 0x14000);7252		msleep(20);7253		saa_writel(SAA7134_GPIO_GPMODE0 >> 2, 0x54000);7254		saa_writel(SAA7134_GPIO_GPSTATUS0 >> 2, 0x54000);7255		msleep(30);7256		break;7257	default:7258		return -EINVAL;7259	}7260	return 0;7261}7262 7263static int saa7134_kworld_pc150u_toggle_agc(struct saa7134_dev *dev,7264					    enum tda18271_mode mode)7265{7266	switch (mode) {7267	case TDA18271_ANALOG:7268		saa7134_set_gpio(dev, 18, 0);7269		break;7270	case TDA18271_DIGITAL:7271		saa7134_set_gpio(dev, 18, 1);7272		msleep(30);7273		break;7274	default:7275		return -EINVAL;7276	}7277	return 0;7278}7279 7280static int saa7134_leadtek_hdtv200h_toggle_agc(struct saa7134_dev *dev,7281					       enum tda18271_mode mode)7282{7283	switch (mode) {7284	case TDA18271_ANALOG:7285		saa7134_set_gpio(dev, 10, 0);7286		break;7287	case TDA18271_DIGITAL:7288		saa7134_set_gpio(dev, 10, 1);7289		break;7290	default:7291		return -EINVAL;7292	}7293	return 0;7294}7295 7296static int saa7134_tda8290_18271_callback(struct saa7134_dev *dev,7297					  int command, int arg)7298{7299	int ret = 0;7300 7301	switch (command) {7302	case TDA18271_CALLBACK_CMD_AGC_ENABLE: /* 0 */7303		switch (dev->board) {7304		case SAA7134_BOARD_HAUPPAUGE_HVR1150:7305		case SAA7134_BOARD_HAUPPAUGE_HVR1120:7306		case SAA7134_BOARD_MAGICPRO_PROHDTV_PRO2:7307			ret = saa7134_tda18271_hvr11x0_toggle_agc(dev, arg);7308			break;7309		case SAA7134_BOARD_KWORLD_PCI_SBTVD_FULLSEG:7310			ret = saa7134_kworld_sbtvd_toggle_agc(dev, arg);7311			break;7312		case SAA7134_BOARD_KWORLD_PC150U:7313			ret = saa7134_kworld_pc150u_toggle_agc(dev, arg);7314			break;7315		case SAA7134_BOARD_LEADTEK_WINFAST_HDTV200_H:7316			ret = saa7134_leadtek_hdtv200h_toggle_agc(dev, arg);7317			break;7318		default:7319			break;7320		}7321		break;7322	default:7323		ret = -EINVAL;7324		break;7325	}7326	return ret;7327}7328 7329static int saa7134_tda8290_callback(struct saa7134_dev *dev,7330				    int command, int arg)7331{7332	int ret;7333 7334	switch (dev->board) {7335	case SAA7134_BOARD_HAUPPAUGE_HVR1150:7336	case SAA7134_BOARD_HAUPPAUGE_HVR1120:7337	case SAA7134_BOARD_AVERMEDIA_M733A:7338	case SAA7134_BOARD_KWORLD_PCI_SBTVD_FULLSEG:7339	case SAA7134_BOARD_KWORLD_PC150U:7340	case SAA7134_BOARD_MAGICPRO_PROHDTV_PRO2:7341	case SAA7134_BOARD_LEADTEK_WINFAST_HDTV200_H:7342		/* tda8290 + tda18271 */7343		ret = saa7134_tda8290_18271_callback(dev, command, arg);7344		break;7345	default:7346		/* tda8290 + tda827x */7347		ret = saa7134_tda8290_827x_callback(dev, command, arg);7348		break;7349	}7350	return ret;7351}7352 7353int saa7134_tuner_callback(void *priv, int component, int command, int arg)7354{7355	struct saa7134_dev *dev = priv;7356 7357	if (dev != NULL) {7358		switch (dev->tuner_type) {7359		case TUNER_PHILIPS_TDA8290:7360			return saa7134_tda8290_callback(dev, command, arg);7361		case TUNER_XC2028:7362			return saa7134_xc2028_callback(dev, command, arg);7363		case TUNER_XC5000:7364			return saa7134_xc5000_callback(dev, command, arg);7365		}7366	} else {7367		pr_err("saa7134: Error - device struct undefined.\n");7368		return -EINVAL;7369	}7370	return -EINVAL;7371}7372EXPORT_SYMBOL(saa7134_tuner_callback);7373 7374/* ----------------------------------------------------------- */7375 7376static void hauppauge_eeprom(struct saa7134_dev *dev, u8 *eeprom_data)7377{7378	struct tveeprom tv;7379 7380	tveeprom_hauppauge_analog(&tv, eeprom_data);7381 7382	/* Make sure we support the board model */7383	switch (tv.model) {7384	case 67019: /* WinTV-HVR1110 (Retail, IR Blaster, hybrid, FM, SVid/Comp, 3.5mm audio in) */7385	case 67109: /* WinTV-HVR1000 (Retail, IR Receive, analog, no FM, SVid/Comp, 3.5mm audio in) */7386	case 67201: /* WinTV-HVR1150 (Retail, IR Receive, hybrid, FM, SVid/Comp, 3.5mm audio in) */7387	case 67301: /* WinTV-HVR1000 (Retail, IR Receive, analog, no FM, SVid/Comp, 3.5mm audio in) */7388	case 67209: /* WinTV-HVR1110 (Retail, IR Receive, hybrid, FM, SVid/Comp, 3.5mm audio in) */7389	case 67559: /* WinTV-HVR1110 (OEM, no IR, hybrid, FM, SVid/Comp, RCA aud) */7390	case 67569: /* WinTV-HVR1110 (OEM, no IR, hybrid, FM) */7391	case 67579: /* WinTV-HVR1110 (OEM, no IR, hybrid, no FM) */7392	case 67589: /* WinTV-HVR1110 (OEM, no IR, hybrid, no FM, SVid/Comp, RCA aud) */7393	case 67599: /* WinTV-HVR1110 (OEM, no IR, hybrid, no FM, SVid/Comp, RCA aud) */7394	case 67651: /* WinTV-HVR1150 (OEM, no IR, hybrid, FM, SVid/Comp, RCA aud) */7395	case 67659: /* WinTV-HVR1110 (OEM, no IR, hybrid, FM, SVid/Comp, RCA aud) */7396		break;7397	default:7398		pr_warn("%s: warning: unknown hauppauge model #%d\n",7399			dev->name, tv.model);7400		break;7401	}7402 7403	pr_info("%s: hauppauge eeprom: model=%d\n",7404	       dev->name, tv.model);7405}7406 7407/* ----------------------------------------------------------- */7408 7409int saa7134_board_init1(struct saa7134_dev *dev)7410{7411	/* Always print gpio, often manufacturers encode tuner type and other info. */7412	saa_writel(SAA7134_GPIO_GPMODE0 >> 2, 0);7413	dev->gpio_value = saa_readl(SAA7134_GPIO_GPSTATUS0 >> 2);7414	pr_info("%s: board init: gpio is %x\n", dev->name, dev->gpio_value);7415 7416	switch (dev->board) {7417	case SAA7134_BOARD_FLYVIDEO2000:7418	case SAA7134_BOARD_FLYVIDEO3000:7419	case SAA7134_BOARD_FLYVIDEO3000_NTSC:7420		dev->has_remote = SAA7134_REMOTE_GPIO;7421		board_flyvideo(dev);7422		break;7423	case SAA7134_BOARD_FLYTVPLATINUM_MINI2:7424	case SAA7134_BOARD_FLYTVPLATINUM_FM:7425	case SAA7134_BOARD_CINERGY400:7426	case SAA7134_BOARD_CINERGY600:7427	case SAA7134_BOARD_CINERGY600_MK3:7428	case SAA7134_BOARD_ECS_TVP3XP:7429	case SAA7134_BOARD_ECS_TVP3XP_4CB5:7430	case SAA7134_BOARD_ECS_TVP3XP_4CB6:7431	case SAA7134_BOARD_MD2819:7432	case SAA7134_BOARD_KWORLD_VSTREAM_XPERT:7433	case SAA7134_BOARD_KWORLD_XPERT:7434	case SAA7134_BOARD_AVERMEDIA_STUDIO_305:7435	case SAA7134_BOARD_AVERMEDIA_305:7436	case SAA7134_BOARD_AVERMEDIA_STUDIO_505:7437	case SAA7134_BOARD_AVERMEDIA_505:7438	case SAA7134_BOARD_AVERMEDIA_STUDIO_307:7439	case SAA7134_BOARD_AVERMEDIA_307:7440	case SAA7134_BOARD_AVERMEDIA_STUDIO_507:7441	case SAA7134_BOARD_AVERMEDIA_GO_007_FM:7442	case SAA7134_BOARD_AVERMEDIA_777:7443	case SAA7134_BOARD_AVERMEDIA_M135A:7444/*      case SAA7134_BOARD_SABRENT_SBTTVFM:  */ /* not finished yet */7445	case SAA7134_BOARD_VIDEOMATE_TV_PVR:7446	case SAA7134_BOARD_VIDEOMATE_GOLD_PLUS:7447	case SAA7134_BOARD_VIDEOMATE_TV_GOLD_PLUSII:7448	case SAA7134_BOARD_VIDEOMATE_M1F:7449	case SAA7134_BOARD_VIDEOMATE_DVBT_300:7450	case SAA7134_BOARD_VIDEOMATE_DVBT_200:7451	case SAA7134_BOARD_VIDEOMATE_DVBT_200A:7452	case SAA7134_BOARD_MANLI_MTV001:7453	case SAA7134_BOARD_MANLI_MTV002:7454	case SAA7134_BOARD_BEHOLD_409FM:7455	case SAA7134_BOARD_AVACSSMARTTV:7456	case SAA7134_BOARD_GOTVIEW_7135:7457	case SAA7134_BOARD_KWORLD_TERMINATOR:7458	case SAA7134_BOARD_SEDNA_PC_TV_CARDBUS:7459	case SAA7134_BOARD_FLYDVBT_LR301:7460	case SAA7134_BOARD_ASUSTeK_PS3_100:7461	case SAA7134_BOARD_ASUSTeK_P7131_DUAL:7462	case SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA:7463	case SAA7134_BOARD_ASUSTeK_P7131_ANALOG:7464	case SAA7134_BOARD_FLYDVBTDUO:7465	case SAA7134_BOARD_PROTEUS_2309:7466	case SAA7134_BOARD_AVERMEDIA_A16AR:7467	case SAA7134_BOARD_ENCORE_ENLTV:7468	case SAA7134_BOARD_ENCORE_ENLTV_FM:7469	case SAA7134_BOARD_ENCORE_ENLTV_FM53:7470	case SAA7134_BOARD_ENCORE_ENLTV_FM3:7471	case SAA7134_BOARD_10MOONSTVMASTER3:7472	case SAA7134_BOARD_BEHOLD_401:7473	case SAA7134_BOARD_BEHOLD_403:7474	case SAA7134_BOARD_BEHOLD_403FM:7475	case SAA7134_BOARD_BEHOLD_405:7476	case SAA7134_BOARD_BEHOLD_405FM:7477	case SAA7134_BOARD_BEHOLD_407:7478	case SAA7134_BOARD_BEHOLD_407FM:7479	case SAA7134_BOARD_BEHOLD_409:7480	case SAA7134_BOARD_BEHOLD_505FM:7481	case SAA7134_BOARD_BEHOLD_505RDS_MK5:7482	case SAA7134_BOARD_BEHOLD_505RDS_MK3:7483	case SAA7134_BOARD_BEHOLD_507_9FM:7484	case SAA7134_BOARD_BEHOLD_507RDS_MK3:7485	case SAA7134_BOARD_BEHOLD_507RDS_MK5:7486	case SAA7134_BOARD_GENIUS_TVGO_A11MCE:7487	case SAA7134_BOARD_REAL_ANGEL_220:7488	case SAA7134_BOARD_KWORLD_PLUS_TV_ANALOG:7489	case SAA7134_BOARD_AVERMEDIA_GO_007_FM_PLUS:7490	case SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM:7491	case SAA7134_BOARD_LEADTEK_WINFAST_DTV1000S:7492	case SAA7134_BOARD_LEADTEK_WINFAST_TV2100_FM:7493		dev->has_remote = SAA7134_REMOTE_GPIO;7494		break;7495	case SAA7134_BOARD_FLYDVBS_LR300:7496		saa_writeb(SAA7134_GPIO_GPMODE3, 0x80);7497		saa_writeb(SAA7134_GPIO_GPSTATUS2, 0x40);7498		dev->has_remote = SAA7134_REMOTE_GPIO;7499		break;7500	case SAA7134_BOARD_MD5044:7501		pr_warn("%s: seems there are two different versions of the MD5044\n"7502			"%s: (with the same ID) out there.  If sound doesn't work for\n"7503			"%s: you try the audio_clock_override=0x200000 insmod option.\n",7504			dev->name, dev->name, dev->name);7505		break;7506	case SAA7134_BOARD_CINERGY400_CARDBUS:7507		/* power-up tuner chip */7508		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x00040000, 0x00040000);7509		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00040000, 0x00000000);7510		break;7511	case SAA7134_BOARD_PINNACLE_300I_DVBT_PAL:7512		/* this turns the remote control chip off to work around a bug in it */7513		saa_writeb(SAA7134_GPIO_GPMODE1, 0x80);7514		saa_writeb(SAA7134_GPIO_GPSTATUS1, 0x80);7515		break;7516	case SAA7134_BOARD_MONSTERTV_MOBILE:7517		/* power-up tuner chip */7518		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x00040000, 0x00040000);7519		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00040000, 0x00000004);7520		break;7521	case SAA7134_BOARD_FLYDVBT_DUO_CARDBUS:7522		/* turn the fan on */7523		saa_writeb(SAA7134_GPIO_GPMODE3, 0x08);7524		saa_writeb(SAA7134_GPIO_GPSTATUS3, 0x06);7525		break;7526	case SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331:7527	case SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS:7528		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2, 0x08000000, 0x08000000);7529		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x08000000, 0x00000000);7530		break;7531	case SAA7134_BOARD_AVERMEDIA_CARDBUS:7532	case SAA7134_BOARD_AVERMEDIA_M115:7533		/* power-down tuner chip */7534		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0xffffffff, 0);7535		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0xffffffff, 0);7536		msleep(10);7537		/* power-up tuner chip */7538		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0xffffffff, 0xffffffff);7539		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0xffffffff, 0xffffffff);7540		msleep(10);7541		break;7542	case SAA7134_BOARD_AVERMEDIA_CARDBUS_501:7543		/* power-down tuner chip */7544		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x08400000, 0x08400000);7545		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x08400000, 0);7546		msleep(10);7547		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x08400000, 0x08400000);7548		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x08400000, 0x08400000);7549		msleep(10);7550		dev->has_remote = SAA7134_REMOTE_I2C;7551		break;7552	case SAA7134_BOARD_AVERMEDIA_CARDBUS_506:7553		saa7134_set_gpio(dev, 23, 0);7554		msleep(10);7555		saa7134_set_gpio(dev, 23, 1);7556		dev->has_remote = SAA7134_REMOTE_I2C;7557		break;7558	case SAA7134_BOARD_AVERMEDIA_M103:7559		saa7134_set_gpio(dev, 23, 0);7560		msleep(10);7561		saa7134_set_gpio(dev, 23, 1);7562		break;7563	case SAA7134_BOARD_AVERMEDIA_A16D:7564		saa7134_set_gpio(dev, 21, 0);7565		msleep(10);7566		saa7134_set_gpio(dev, 21, 1);7567		msleep(1);7568		dev->has_remote = SAA7134_REMOTE_GPIO;7569		break;7570	case SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM:7571		/* power-down tuner chip */7572		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x000A8004, 0x000A8004);7573		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x000A8004, 0);7574		msleep(10);7575		/* power-up tuner chip */7576		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x000A8004, 0x000A8004);7577		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x000A8004, 0x000A8004);7578		msleep(10);7579		/* remote via GPIO */7580		dev->has_remote = SAA7134_REMOTE_GPIO;7581		break;7582	case SAA7134_BOARD_RTD_VFG7350:7583 7584		/*7585		 * Make sure Production Test Register at offset 0x1D1 is cleared7586		 * to take chip out of test mode.  Clearing bit 4 (TST_EN_AOUT)7587		 * prevents pin 105 from remaining low; keeping pin 105 low7588		 * continually resets the SAA6752 chip.7589		 */7590 7591		saa_writeb (SAA7134_PRODUCTION_TEST_MODE, 0x00);7592		break;7593	case SAA7134_BOARD_HAUPPAUGE_HVR1150:7594	case SAA7134_BOARD_HAUPPAUGE_HVR1120:7595		dev->has_remote = SAA7134_REMOTE_GPIO;7596		/* GPIO 26 high for digital, low for analog */7597		saa7134_set_gpio(dev, 26, 0);7598		msleep(1);7599 7600		saa7134_set_gpio(dev, 22, 0);7601		msleep(10);7602		saa7134_set_gpio(dev, 22, 1);7603		break;7604	/* i2c remotes */7605	case SAA7134_BOARD_PINNACLE_PCTV_110i:7606	case SAA7134_BOARD_PINNACLE_PCTV_310i:7607	case SAA7134_BOARD_UPMOST_PURPLE_TV:7608	case SAA7134_BOARD_MSI_TVATANYWHERE_PLUS:7609	case SAA7134_BOARD_HAUPPAUGE_HVR1110:7610	case SAA7134_BOARD_BEHOLD_607FM_MK3:7611	case SAA7134_BOARD_BEHOLD_607FM_MK5:7612	case SAA7134_BOARD_BEHOLD_609FM_MK3:7613	case SAA7134_BOARD_BEHOLD_609FM_MK5:7614	case SAA7134_BOARD_BEHOLD_607RDS_MK3:7615	case SAA7134_BOARD_BEHOLD_607RDS_MK5:7616	case SAA7134_BOARD_BEHOLD_609RDS_MK3:7617	case SAA7134_BOARD_BEHOLD_609RDS_MK5:7618	case SAA7134_BOARD_BEHOLD_M6:7619	case SAA7134_BOARD_BEHOLD_M63:7620	case SAA7134_BOARD_BEHOLD_M6_EXTRA:7621	case SAA7134_BOARD_BEHOLD_H6:7622	case SAA7134_BOARD_BEHOLD_X7:7623	case SAA7134_BOARD_BEHOLD_H7:7624	case SAA7134_BOARD_BEHOLD_A7:7625	case SAA7134_BOARD_KWORLD_PC150U:7626	case SAA7134_BOARD_SNAZIO_TVPVR_PRO:7627		dev->has_remote = SAA7134_REMOTE_I2C;7628		break;7629	case SAA7134_BOARD_AVERMEDIA_A169_B:7630		pr_warn("%s: %s: dual saa713x broadcast decoders\n"7631			"%s: Sorry, none of the inputs to this chip are supported yet.\n"7632			"%s: Dual decoder functionality is disabled for now, use the other chip.\n",7633			dev->name, card(dev).name, dev->name, dev->name);7634		break;7635	case SAA7134_BOARD_AVERMEDIA_M102:7636		/* enable tuner */7637	       dev->has_remote = SAA7134_REMOTE_GPIO;7638		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x8c040007, 0x8c040007);7639		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x0c0007cd, 0x0c0007cd);7640		break;7641	case SAA7134_BOARD_AVERMEDIA_A700_HYBRID:7642	case SAA7134_BOARD_AVERMEDIA_A700_PRO:7643		/* write windows gpio values */7644		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x80040100, 0x80040100);7645		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x80040100, 0x00040100);7646		break;7647	case SAA7134_BOARD_AVERMEDIA_A706:7648		/* radio antenna select: tristate both as in Windows driver */7649		saa7134_set_gpio(dev, 12, 3);	/* TV antenna */7650		saa7134_set_gpio(dev, 13, 3);	/* FM antenna */7651		dev->has_remote = SAA7134_REMOTE_I2C;7652		/*7653		 * Disable CE5039 DVB-S tuner now (SLEEP pin high) to prevent7654		 * it from interfering with analog tuner detection7655		 */7656		saa7134_set_gpio(dev, 23, 1);7657		break;7658	case SAA7134_BOARD_VIDEOMATE_S350:7659		dev->has_remote = SAA7134_REMOTE_GPIO;7660		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x0000C000, 0x0000C000);7661		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x0000C000, 0x0000C000);7662		break;7663	case SAA7134_BOARD_AVERMEDIA_M733A:7664		saa7134_set_gpio(dev, 1, 1);7665		msleep(10);7666		saa7134_set_gpio(dev, 1, 0);7667		msleep(10);7668		saa7134_set_gpio(dev, 1, 1);7669		dev->has_remote = SAA7134_REMOTE_GPIO;7670		break;7671	case SAA7134_BOARD_MAGICPRO_PROHDTV_PRO2:7672		/* enable LGS-8G75 */7673		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x0e050000, 0x0c050000);7674		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x0e050000, 0x0c050000);7675		break;7676	case SAA7134_BOARD_VIDEOMATE_T750:7677		/* enable the analog tuner */7678		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x00008000, 0x00008000);7679		saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x00008000, 0x00008000);7680		break;7681	}7682	return 0;7683}7684 7685static void saa7134_tuner_setup(struct saa7134_dev *dev)7686{7687	struct tuner_setup tun_setup;7688	unsigned int mode_mask = T_RADIO | T_ANALOG_TV;7689 7690	memset(&tun_setup, 0, sizeof(tun_setup));7691	tun_setup.tuner_callback = saa7134_tuner_callback;7692 7693	if (saa7134_boards[dev->board].radio_type != UNSET) {7694		tun_setup.type = saa7134_boards[dev->board].radio_type;7695		tun_setup.addr = saa7134_boards[dev->board].radio_addr;7696 7697		tun_setup.mode_mask = T_RADIO;7698 7699		saa_call_all(dev, tuner, s_type_addr, &tun_setup);7700		mode_mask &= ~T_RADIO;7701	}7702 7703	if ((dev->tuner_type != TUNER_ABSENT) && (dev->tuner_type != UNSET)) {7704		tun_setup.type = dev->tuner_type;7705		tun_setup.addr = dev->tuner_addr;7706		tun_setup.config = &saa7134_boards[dev->board].tda829x_conf;7707		tun_setup.tuner_callback = saa7134_tuner_callback;7708 7709		tun_setup.mode_mask = mode_mask;7710 7711		saa_call_all(dev, tuner, s_type_addr, &tun_setup);7712	}7713 7714	if (dev->tda9887_conf) {7715		struct v4l2_priv_tun_config tda9887_cfg;7716 7717		tda9887_cfg.tuner = TUNER_TDA9887;7718		tda9887_cfg.priv = &dev->tda9887_conf;7719 7720		saa_call_all(dev, tuner, s_config, &tda9887_cfg);7721	}7722 7723	if (dev->tuner_type == TUNER_XC2028) {7724		struct v4l2_priv_tun_config  xc2028_cfg;7725		struct xc2028_ctrl           ctl;7726 7727		memset(&xc2028_cfg, 0, sizeof(xc2028_cfg));7728		memset(&ctl, 0, sizeof(ctl));7729 7730		ctl.fname   = XC2028_DEFAULT_FIRMWARE;7731		ctl.max_len = 64;7732 7733		switch (dev->board) {7734		case SAA7134_BOARD_AVERMEDIA_A16D:7735		case SAA7134_BOARD_AVERMEDIA_CARDBUS_506:7736		case SAA7134_BOARD_AVERMEDIA_M103:7737		case SAA7134_BOARD_AVERMEDIA_A700_HYBRID:7738			ctl.demod = XC3028_FE_ZARLINK456;7739			break;7740		default:7741			ctl.demod = XC3028_FE_OREN538;7742			ctl.mts = 1;7743		}7744 7745		xc2028_cfg.tuner = TUNER_XC2028;7746		xc2028_cfg.priv  = &ctl;7747 7748		saa_call_all(dev, tuner, s_config, &xc2028_cfg);7749	}7750}7751 7752/* stuff which needs working i2c */7753int saa7134_board_init2(struct saa7134_dev *dev)7754{7755	unsigned char buf;7756	int board;7757 7758	/* Put here the code that enables the chips that are needed7759	   for analog mode and doesn't depend on the tuner attachment.7760	   It is also a good idea to get tuner type from eeprom, etc before7761	   initializing tuner, since we can avoid loading tuner driver7762	   on devices that has TUNER_ABSENT7763	 */7764	switch (dev->board) {7765	case SAA7134_BOARD_BMK_MPEX_NOTUNER:7766	case SAA7134_BOARD_BMK_MPEX_TUNER:7767		/* Checks if the device has a tuner at 0x60 addr7768		   If the device doesn't have a tuner, TUNER_ABSENT7769		   will be used at tuner_type, avoiding loading tuner7770		   without needing it7771		 */7772		dev->i2c_client.addr = 0x60;7773		board = (i2c_master_recv(&dev->i2c_client, &buf, 0) < 0)7774			? SAA7134_BOARD_BMK_MPEX_NOTUNER7775			: SAA7134_BOARD_BMK_MPEX_TUNER;7776		if (board == dev->board)7777			break;7778		dev->board = board;7779		pr_warn("%s: board type fixup: %s\n", dev->name,7780		saa7134_boards[dev->board].name);7781		dev->tuner_type = saa7134_boards[dev->board].tuner_type;7782 7783		break;7784	case SAA7134_BOARD_MD7134:7785	{7786		u8 subaddr;7787		u8 data[3], data1[] = { 0x09, 0x9f, 0x86, 0x11};7788		int ret, tuner_t;7789		struct i2c_msg msg[] = {{.addr = 0x50, .flags = 0, .buf = &subaddr, .len = 1},7790					{.addr = 0x50, .flags = I2C_M_RD, .buf = data, .len = 3}},7791				msg1 = {.addr = 0x61, .flags = 0, .buf = data1, .len = sizeof(data1)};7792 7793		subaddr= 0x14;7794		tuner_t = 0;7795 7796		/* Retrieve device data from eeprom, checking for the7797		   proper tuner_type.7798		 */7799		ret = i2c_transfer(&dev->i2c_adap, msg, 2);7800		if (ret != 2) {7801			pr_err("EEPROM read failure\n");7802		} else if ((data[0] != 0) && (data[0] != 0xff)) {7803			/* old config structure */7804			subaddr = data[0] + 2;7805			msg[1].len = 2;7806			i2c_transfer(&dev->i2c_adap, msg, 2);7807			tuner_t = (data[0] << 8) + data[1];7808			switch (tuner_t){7809			case 0x0103:7810				dev->tuner_type = TUNER_PHILIPS_PAL;7811				break;7812			case 0x010C:7813				dev->tuner_type = TUNER_PHILIPS_FM1216ME_MK3;7814				break;7815			default:7816				pr_err("%s Can't determine tuner type %x from EEPROM\n",7817				       dev->name, tuner_t);7818			}7819		} else if ((data[1] != 0) && (data[1] != 0xff)) {7820			/* new config structure */7821			subaddr = data[1] + 1;7822			msg[1].len = 1;7823			i2c_transfer(&dev->i2c_adap, msg, 2);7824			subaddr = data[0] + 1;7825			msg[1].len = 2;7826			i2c_transfer(&dev->i2c_adap, msg, 2);7827			tuner_t = (data[1] << 8) + data[0];7828			switch (tuner_t) {7829			case 0x0005:7830				dev->tuner_type = TUNER_PHILIPS_FM1216ME_MK3;7831				break;7832			case 0x001d:7833				dev->tuner_type = TUNER_PHILIPS_FMD1216ME_MK3;7834				pr_info("%s Board has DVB-T\n",7835				       dev->name);7836				break;7837			default:7838				pr_err("%s Can't determine tuner type %x from EEPROM\n",7839				       dev->name, tuner_t);7840			}7841		} else {7842			pr_err("%s unexpected config structure\n", dev->name);7843		}7844 7845		pr_info("%s Tuner type is %d\n", dev->name, dev->tuner_type);7846 7847		/* The tuner TUNER_PHILIPS_FMD1216ME_MK3 after hardware    */7848		/* start has disabled IF and enabled DVB-T. When saa7134   */7849		/* scan I2C devices it will not detect IF tda9887 and can`t*/7850		/* watch TV without software reboot. To solve this problem */7851		/* switch the tuner to analog TV mode manually.            */7852		if (dev->tuner_type == TUNER_PHILIPS_FMD1216ME_MK3) {7853			if (i2c_transfer(&dev->i2c_adap, &msg1, 1) != 1)7854				printk(KERN_WARNING "%s: Unable to enable IF of the tuner.\n", dev->name);7855		}7856		break;7857	}7858	case SAA7134_BOARD_PHILIPS_EUROPA:7859		if (dev->autodetected && (dev->eedata[0x41] == 0x1c)) {7860			/* Reconfigure board as Snake reference design */7861			dev->board = SAA7134_BOARD_PHILIPS_SNAKE;7862			dev->tuner_type = saa7134_boards[dev->board].tuner_type;7863			pr_info("%s: Reconfigured board as %s\n",7864				dev->name, saa7134_boards[dev->board].name);7865			break;7866		}7867		fallthrough;7868	case SAA7134_BOARD_VIDEOMATE_DVBT_300:7869	case SAA7134_BOARD_ASUS_EUROPA2_HYBRID:7870	case SAA7134_BOARD_ASUS_EUROPA_HYBRID:7871	case SAA7134_BOARD_TECHNOTREND_BUDGET_T3000:7872	{7873 7874		/* The Philips EUROPA based hybrid boards have the tuner7875		   connected through the channel decoder. We have to make it7876		   transparent to find it7877		 */7878		u8 data[] = { 0x07, 0x02};7879		struct i2c_msg msg = {.addr=0x08, .flags=0, .buf=data, .len = sizeof(data)};7880		i2c_transfer(&dev->i2c_adap, &msg, 1);7881 7882		break;7883	}7884	case SAA7134_BOARD_PHILIPS_TIGER:7885	case SAA7134_BOARD_PHILIPS_TIGER_S:7886	{7887		u8 data[] = { 0x3c, 0x33, 0x60};7888		struct i2c_msg msg = {.addr=0x08, .flags=0, .buf=data, .len = sizeof(data)};7889		if (dev->autodetected && (dev->eedata[0x49] == 0x50)) {7890			dev->board = SAA7134_BOARD_PHILIPS_TIGER_S;7891			pr_info("%s: Reconfigured board as %s\n",7892				dev->name, saa7134_boards[dev->board].name);7893		}7894		if (dev->board == SAA7134_BOARD_PHILIPS_TIGER_S) {7895			dev->tuner_type = TUNER_PHILIPS_TDA8290;7896 7897			data[2] = 0x68;7898			i2c_transfer(&dev->i2c_adap, &msg, 1);7899			break;7900		}7901		i2c_transfer(&dev->i2c_adap, &msg, 1);7902		break;7903	}7904	case SAA7134_BOARD_ASUSTeK_TVFM7135:7905	/* The card below is detected as card=53, but is different */7906	       if (dev->autodetected && (dev->eedata[0x27] == 0x03)) {7907			dev->board = SAA7134_BOARD_ASUSTeK_P7131_ANALOG;7908			pr_info("%s: P7131 analog only, using entry of %s\n",7909				dev->name, saa7134_boards[dev->board].name);7910 7911			/*7912			 * IR init has already happened for other cards, so7913			 * we have to catch up.7914			 */7915			dev->has_remote = SAA7134_REMOTE_GPIO;7916			saa7134_input_init1(dev);7917	       }7918	       break;7919	case SAA7134_BOARD_HAUPPAUGE_HVR1150:7920	case SAA7134_BOARD_HAUPPAUGE_HVR1120:7921		hauppauge_eeprom(dev, dev->eedata+0x80);7922		break;7923	case SAA7134_BOARD_HAUPPAUGE_HVR1110:7924		hauppauge_eeprom(dev, dev->eedata+0x80);7925		fallthrough;7926	case SAA7134_BOARD_PINNACLE_PCTV_310i:7927	case SAA7134_BOARD_KWORLD_DVBT_210:7928	case SAA7134_BOARD_TEVION_DVBT_220RF:7929	case SAA7134_BOARD_ASUSTeK_TIGER:7930	case SAA7134_BOARD_ASUSTeK_P7131_DUAL:7931	case SAA7134_BOARD_ASUSTeK_P7131_HYBRID_LNA:7932	case SAA7134_BOARD_MEDION_MD8800_QUADRO:7933	case SAA7134_BOARD_AVERMEDIA_SUPER_007:7934	case SAA7134_BOARD_TWINHAN_DTV_DVB_3056:7935	case SAA7134_BOARD_CREATIX_CTX953:7936	{7937		/* this is a hybrid board, initialize to analog mode7938		 * and configure firmware eeprom address7939		 */7940		u8 data[] = { 0x3c, 0x33, 0x60};7941		struct i2c_msg msg = {.addr=0x08, .flags=0, .buf=data, .len = sizeof(data)};7942		i2c_transfer(&dev->i2c_adap, &msg, 1);7943		break;7944	}7945	case SAA7134_BOARD_ASUSTeK_TIGER_3IN1:7946	{7947		u8 data[] = { 0x3c, 0x33, 0x60};7948		struct i2c_msg msg = {.addr = 0x0b, .flags = 0, .buf = data,7949							.len = sizeof(data)};7950		i2c_transfer(&dev->i2c_adap, &msg, 1);7951		break;7952	}7953	case SAA7134_BOARD_ASUSTeK_PS3_100:7954	{7955		u8 data[] = { 0x3c, 0x33, 0x60};7956		struct i2c_msg msg = {.addr = 0x0b, .flags = 0, .buf = data,7957						       .len = sizeof(data)};7958		i2c_transfer(&dev->i2c_adap, &msg, 1);7959		break;7960	}7961	case SAA7134_BOARD_FLYDVB_TRIO:7962	{7963		u8 temp = 0;7964		int rc;7965		u8 data[] = { 0x3c, 0x33, 0x62};7966		struct i2c_msg msg = {.addr=0x09, .flags=0, .buf=data, .len = sizeof(data)};7967		i2c_transfer(&dev->i2c_adap, &msg, 1);7968 7969		/*7970		 * send weak up message to pic16C505 chip7971		 * @ LifeView FlyDVB Trio7972		 */7973		msg.buf = &temp;7974		msg.addr = 0x0b;7975		msg.len = 1;7976		if (1 != i2c_transfer(&dev->i2c_adap, &msg, 1)) {7977			pr_warn("%s: send wake up byte to pic16C505(IR chip) failed\n",7978				dev->name);7979		} else {7980			msg.flags = I2C_M_RD;7981			rc = i2c_transfer(&dev->i2c_adap, &msg, 1);7982			pr_info("%s: probe IR chip @ i2c 0x%02x: %s\n",7983				   dev->name, msg.addr,7984				   (1 == rc) ? "yes" : "no");7985			if (rc == 1)7986				dev->has_remote = SAA7134_REMOTE_I2C;7987		}7988		break;7989	}7990	case SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331:7991	case SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS:7992	{7993		/* initialize analog mode  */7994		u8 data[] = { 0x3c, 0x33, 0x6a};7995		struct i2c_msg msg = {.addr=0x08, .flags=0, .buf=data, .len = sizeof(data)};7996		i2c_transfer(&dev->i2c_adap, &msg, 1);7997		break;7998	}7999	case SAA7134_BOARD_CINERGY_HT_PCMCIA:8000	case SAA7134_BOARD_CINERGY_HT_PCI:8001	{8002		/* initialize analog mode */8003		u8 data[] = { 0x3c, 0x33, 0x68};8004		struct i2c_msg msg = {.addr=0x08, .flags=0, .buf=data, .len = sizeof(data)};8005		i2c_transfer(&dev->i2c_adap, &msg, 1);8006		break;8007	}8008	case SAA7134_BOARD_VIDEOMATE_DVBT_200:8009	case SAA7134_BOARD_VIDEOMATE_DVBT_200A:8010		/* The T200 and the T200A share the same pci id.  Consequently,8011		 * we are going to query eeprom to try to find out which one we8012		 * are actually looking at. */8013 8014		/* Don't do this if the board was specifically selected with an8015		 * insmod option or if we have the default configuration T200*/8016		if (!dev->autodetected || (dev->eedata[0x41] == 0xd0))8017			break;8018		if (dev->eedata[0x41] == 0x02) {8019			/* Reconfigure board  as T200A */8020			dev->board = SAA7134_BOARD_VIDEOMATE_DVBT_200A;8021			dev->tuner_type   = saa7134_boards[dev->board].tuner_type;8022			dev->tda9887_conf = saa7134_boards[dev->board].tda9887_conf;8023			pr_info("%s: Reconfigured board as %s\n",8024				dev->name, saa7134_boards[dev->board].name);8025		} else {8026			pr_warn("%s: Unexpected tuner type info: %x in eeprom\n",8027				dev->name, dev->eedata[0x41]);8028			break;8029		}8030		break;8031	case SAA7134_BOARD_ADS_INSTANT_HDTV_PCI:8032	case SAA7134_BOARD_KWORLD_ATSC110:8033	{8034		struct i2c_msg msg = { .addr = 0x0a, .flags = 0 };8035		int i;8036		static u8 buffer[][2] = {8037			{ 0x10, 0x12 },8038			{ 0x13, 0x04 },8039			{ 0x16, 0x00 },8040			{ 0x14, 0x04 },8041			{ 0x17, 0x00 },8042		};8043 8044		for (i = 0; i < ARRAY_SIZE(buffer); i++) {8045			msg.buf = &buffer[i][0];8046			msg.len = ARRAY_SIZE(buffer[0]);8047			if (i2c_transfer(&dev->i2c_adap, &msg, 1) != 1)8048				pr_warn("%s: Unable to enable tuner(%i).\n",8049					dev->name, i);8050		}8051		break;8052	}8053	case SAA7134_BOARD_BEHOLD_H6:8054	{8055		u8 data[] = { 0x09, 0x9f, 0x86, 0x11};8056		struct i2c_msg msg = {.addr = 0x61, .flags = 0, .buf = data,8057							.len = sizeof(data)};8058 8059		/* The tuner TUNER_PHILIPS_FMD1216MEX_MK3 after hardware    */8060		/* start has disabled IF and enabled DVB-T. When saa7134    */8061		/* scan I2C devices it not detect IF tda9887 and can`t      */8062		/* watch TV without software reboot. For solve this problem */8063		/* switch the tuner to analog TV mode manually.             */8064		if (i2c_transfer(&dev->i2c_adap, &msg, 1) != 1)8065			pr_warn("%s: Unable to enable IF of the tuner.\n",8066				dev->name);8067		break;8068	}8069	case SAA7134_BOARD_KWORLD_PCI_SBTVD_FULLSEG:8070		saa_writel(SAA7134_GPIO_GPMODE0 >> 2, 0x4000);8071		saa_writel(SAA7134_GPIO_GPSTATUS0 >> 2, 0x4000);8072 8073		saa7134_set_gpio(dev, 27, 0);8074		break;8075	} /* switch() */8076 8077	/* initialize tuner (don't do this when resuming) */8078	if (!dev->insuspend && TUNER_ABSENT != dev->tuner_type) {8079		int has_demod = (dev->tda9887_conf & TDA9887_PRESENT);8080 8081		/* Note: radio tuner address is always filled in,8082		   so we do not need to probe for a radio tuner device. */8083		if (dev->radio_type != UNSET)8084			v4l2_i2c_new_subdev(&dev->v4l2_dev,8085				&dev->i2c_adap, "tuner",8086				dev->radio_addr, NULL);8087		if (has_demod)8088			v4l2_i2c_new_subdev(&dev->v4l2_dev,8089				&dev->i2c_adap, "tuner",8090				0, v4l2_i2c_tuner_addrs(ADDRS_DEMOD));8091		if (dev->tuner_addr == ADDR_UNSET) {8092			enum v4l2_i2c_tuner_type type =8093				has_demod ? ADDRS_TV_WITH_DEMOD : ADDRS_TV;8094 8095			v4l2_i2c_new_subdev(&dev->v4l2_dev,8096				&dev->i2c_adap, "tuner",8097				0, v4l2_i2c_tuner_addrs(type));8098		} else {8099			v4l2_i2c_new_subdev(&dev->v4l2_dev,8100				&dev->i2c_adap, "tuner",8101				dev->tuner_addr, NULL);8102		}8103	}8104 8105	saa7134_tuner_setup(dev);8106 8107	switch (dev->board) {8108	case SAA7134_BOARD_BEHOLD_COLUMBUS_TVFM:8109	case SAA7134_BOARD_AVERMEDIA_CARDBUS_501:8110	{8111		struct v4l2_priv_tun_config tea5767_cfg;8112		struct tea5767_ctrl ctl;8113 8114		dev->i2c_client.addr = 0xC0;8115		/* set TEA5767(analog FM) defines */8116		memset(&ctl, 0, sizeof(ctl));8117		ctl.xtal_freq = TEA5767_HIGH_LO_13MHz;8118		tea5767_cfg.tuner = TUNER_TEA5767;8119		tea5767_cfg.priv  = &ctl;8120		saa_call_all(dev, tuner, s_config, &tea5767_cfg);8121		break;8122	}8123	} /* switch() */8124 8125	return 0;8126}8127