aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGiampiero Giancipoli <gianci@libero.it>2006-02-07 03:49:09 -0500
committerMauro Carvalho Chehab <mchehab@infradead.org>2006-02-07 03:49:09 -0500
commit3d8466ece44c70555a101da73845955c443f4d18 (patch)
tree9d7fe8df835b31c2365ec216c1ac47afad954d67
parentd97a11e091a0bf40f1cfb0bbf443ddd7b455b133 (diff)
V4L/DVB (3302): Added support for the LifeView FlyDVB-T LR301 card
Additionally to the card support, this changeset adds the option tda10046lifeview to get_dvb_firmware to download tda10046 firmware from LifeView's site. Signed-off-by: Giampiero Giancipoli <gianci@libero.it> Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r--Documentation/dvb/get_dvb_firmware23
-rw-r--r--Documentation/video4linux/CARDLIST.saa71341
-rw-r--r--drivers/media/video/saa7134/saa7134-cards.c28
-rw-r--r--drivers/media/video/saa7134/saa7134-dvb.c4
-rw-r--r--drivers/media/video/saa7134/saa7134-input.c5
-rw-r--r--drivers/media/video/saa7134/saa7134.h1
6 files changed, 60 insertions, 2 deletions
diff --git a/Documentation/dvb/get_dvb_firmware b/Documentation/dvb/get_dvb_firmware
index 75c28a174092..bb55f49f2745 100644
--- a/Documentation/dvb/get_dvb_firmware
+++ b/Documentation/dvb/get_dvb_firmware
@@ -21,8 +21,9 @@
21use File::Temp qw/ tempdir /; 21use File::Temp qw/ tempdir /;
22use IO::Handle; 22use IO::Handle;
23 23
24@components = ( "sp8870", "sp887x", "tda10045", "tda10046", "av7110", "dec2000t", 24@components = ( "sp8870", "sp887x", "tda10045", "tda10046",
25 "dec2540t", "dec3000s", "vp7041", "dibusb", "nxt2002", "nxt2004", 25 "tda10046lifeview", "av7110", "dec2000t", "dec2540t",
26 "dec3000s", "vp7041", "dibusb", "nxt2002", "nxt2004",
26 "or51211", "or51132_qam", "or51132_vsb", "bluebird"); 27 "or51211", "or51132_qam", "or51132_vsb", "bluebird");
27 28
28# Check args 29# Check args
@@ -126,6 +127,24 @@ sub tda10046 {
126 $outfile; 127 $outfile;
127} 128}
128 129
130sub tda10046lifeview {
131 my $sourcefile = "Drv_2.11.02.zip";
132 my $url = "http://www.lifeview.com.tw/drivers/pci_card/FlyDVB-T/$sourcefile";
133 my $hash = "1ea24dee4eea8fe971686981f34fd2e0";
134 my $outfile = "dvb-fe-tda10046.fw";
135 my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1);
136
137 checkstandard();
138
139 wgetfile($sourcefile, $url);
140 unzip($sourcefile, $tmpdir);
141 extract("$tmpdir/LVHybrid.sys", 0x8b088, 24602, "$tmpdir/fwtmp");
142 verify("$tmpdir/fwtmp", $hash);
143 copy("$tmpdir/fwtmp", $outfile);
144
145 $outfile;
146}
147
129sub av7110 { 148sub av7110 {
130 my $sourcefile = "dvb-ttpci-01.fw-261d"; 149 my $sourcefile = "dvb-ttpci-01.fw-261d";
131 my $url = "http://www.linuxtv.org/downloads/firmware/$sourcefile"; 150 my $url = "http://www.linuxtv.org/downloads/firmware/$sourcefile";
diff --git a/Documentation/video4linux/CARDLIST.saa7134 b/Documentation/video4linux/CARDLIST.saa7134
index 636792e2e154..1823e4ced087 100644
--- a/Documentation/video4linux/CARDLIST.saa7134
+++ b/Documentation/video4linux/CARDLIST.saa7134
@@ -84,3 +84,4 @@
84 83 -> Terratec Cinergy 250 PCI TV [153b:1160] 84 83 -> Terratec Cinergy 250 PCI TV [153b:1160]
85 84 -> LifeView FlyDVB Trio [5168:0319] 85 84 -> LifeView FlyDVB Trio [5168:0319]
86 85 -> AverTV DVB-T 777 [1461:2c05] 86 85 -> AverTV DVB-T 777 [1461:2c05]
87 86 -> LifeView FlyDVB-T [5168:0301]
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c
index 3f964ed7eb56..f469f17a25cf 100644
--- a/drivers/media/video/saa7134/saa7134-cards.c
+++ b/drivers/media/video/saa7134/saa7134-cards.c
@@ -2637,6 +2637,27 @@ struct saa7134_board saa7134_boards[] = {
2637 .amux = LINE1, 2637 .amux = LINE1,
2638 }}, 2638 }},
2639 }, 2639 },
2640 [SAA7134_BOARD_FLYDVBT_LR301] = {
2641 /* LifeView FlyDVB-T */
2642 /* Giampiero Giancipoli <gianci@libero.it> */
2643 .name = "LifeView FlyDVB-T",
2644 .audio_clock = 0x00200000,
2645 .tuner_type = TUNER_ABSENT,
2646 .radio_type = UNSET,
2647 .tuner_addr = ADDR_UNSET,
2648 .radio_addr = ADDR_UNSET,
2649 .mpeg = SAA7134_MPEG_DVB,
2650 .inputs = {{
2651 .name = name_comp1, /* Composite input */
2652 .vmux = 3,
2653 .amux = LINE2,
2654 },{
2655 .name = name_svideo, /* S-Video signal on S-Video input */
2656 .vmux = 8,
2657 .amux = LINE2,
2658 }},
2659 },
2660
2640}; 2661};
2641 2662
2642const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); 2663const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);
@@ -3114,6 +3135,12 @@ struct pci_device_id saa7134_pci_tbl[] = {
3114 .subdevice = 0x2c05, 3135 .subdevice = 0x2c05,
3115 .driver_data = SAA7134_BOARD_AVERMEDIA_777, 3136 .driver_data = SAA7134_BOARD_AVERMEDIA_777,
3116 },{ 3137 },{
3138 .vendor = PCI_VENDOR_ID_PHILIPS,
3139 .device = PCI_DEVICE_ID_PHILIPS_SAA7134,
3140 .subvendor = 0x5168,
3141 .subdevice = 0x0301,
3142 .driver_data = SAA7134_BOARD_FLYDVBT_LR301,
3143 },{
3117 /* --- boards without eeprom + subsystem ID --- */ 3144 /* --- boards without eeprom + subsystem ID --- */
3118 .vendor = PCI_VENDOR_ID_PHILIPS, 3145 .vendor = PCI_VENDOR_ID_PHILIPS,
3119 .device = PCI_DEVICE_ID_PHILIPS_SAA7134, 3146 .device = PCI_DEVICE_ID_PHILIPS_SAA7134,
@@ -3213,6 +3240,7 @@ int saa7134_board_init1(struct saa7134_dev *dev)
3213 case SAA7134_BOARD_GOTVIEW_7135: 3240 case SAA7134_BOARD_GOTVIEW_7135:
3214 case SAA7134_BOARD_KWORLD_TERMINATOR: 3241 case SAA7134_BOARD_KWORLD_TERMINATOR:
3215 case SAA7134_BOARD_SEDNA_PC_TV_CARDBUS: 3242 case SAA7134_BOARD_SEDNA_PC_TV_CARDBUS:
3243 case SAA7134_BOARD_FLYDVBT_LR301:
3216 dev->has_remote = SAA7134_REMOTE_GPIO; 3244 dev->has_remote = SAA7134_REMOTE_GPIO;
3217 break; 3245 break;
3218 case SAA7134_BOARD_MD5044: 3246 case SAA7134_BOARD_MD5044:
diff --git a/drivers/media/video/saa7134/saa7134-dvb.c b/drivers/media/video/saa7134/saa7134-dvb.c
index 45b52575e16b..be110b85f097 100644
--- a/drivers/media/video/saa7134/saa7134-dvb.c
+++ b/drivers/media/video/saa7134/saa7134-dvb.c
@@ -924,6 +924,10 @@ static int dvb_init(struct saa7134_dev *dev)
924 dev->dvb.frontend = tda10046_attach(&philips_tiger_config, 924 dev->dvb.frontend = tda10046_attach(&philips_tiger_config,
925 &dev->i2c_adap); 925 &dev->i2c_adap);
926 break; 926 break;
927 case SAA7134_BOARD_FLYDVBT_LR301:
928 dev->dvb.frontend = tda10046_attach(&tda827x_lifeview_config,
929 &dev->i2c_adap);
930 break;
927#endif 931#endif
928#ifdef HAVE_NXT200X 932#ifdef HAVE_NXT200X
929 case SAA7134_BOARD_AVERMEDIA_AVERTVHD_A180: 933 case SAA7134_BOARD_AVERMEDIA_AVERTVHD_A180:
diff --git a/drivers/media/video/saa7134/saa7134-input.c b/drivers/media/video/saa7134/saa7134-input.c
index ecfb6e2b3bd3..6970334d5ee8 100644
--- a/drivers/media/video/saa7134/saa7134-input.c
+++ b/drivers/media/video/saa7134/saa7134-input.c
@@ -230,6 +230,11 @@ int saa7134_input_init1(struct saa7134_dev *dev)
230 mask_keycode = 0x003F00; 230 mask_keycode = 0x003F00;
231 mask_keyup = 0x040000; 231 mask_keyup = 0x040000;
232 break; 232 break;
233 case SAA7134_BOARD_FLYDVBT_LR301:
234 ir_codes = ir_codes_flydvb;
235 mask_keycode = 0x0001F00;
236 mask_keydown = 0x0040000;
237 break;
233 } 238 }
234 if (NULL == ir_codes) { 239 if (NULL == ir_codes) {
235 printk("%s: Oops: IR config error [card=%d]\n", 240 printk("%s: Oops: IR config error [card=%d]\n",
diff --git a/drivers/media/video/saa7134/saa7134.h b/drivers/media/video/saa7134/saa7134.h
index b638df941ff9..ed556e6e61a7 100644
--- a/drivers/media/video/saa7134/saa7134.h
+++ b/drivers/media/video/saa7134/saa7134.h
@@ -212,6 +212,7 @@ struct saa7134_format {
212#define SAA7134_BOARD_CINERGY250PCI 83 212#define SAA7134_BOARD_CINERGY250PCI 83
213#define SAA7134_BOARD_FLYDVB_TRIO 84 213#define SAA7134_BOARD_FLYDVB_TRIO 84
214#define SAA7134_BOARD_AVERMEDIA_777 85 214#define SAA7134_BOARD_AVERMEDIA_777 85
215#define SAA7134_BOARD_FLYDVBT_LR301 86
215 216
216#define SAA7134_MAXBOARDS 8 217#define SAA7134_MAXBOARDS 8
217#define SAA7134_INPUT_MAX 8 218#define SAA7134_INPUT_MAX 8