diff options
author | Giampiero Giancipoli <gianci@libero.it> | 2006-02-07 03:49:09 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-02-07 03:49:09 -0500 |
commit | 3d8466ece44c70555a101da73845955c443f4d18 (patch) | |
tree | 9d7fe8df835b31c2365ec216c1ac47afad954d67 | |
parent | d97a11e091a0bf40f1cfb0bbf443ddd7b455b133 (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_firmware | 23 | ||||
-rw-r--r-- | Documentation/video4linux/CARDLIST.saa7134 | 1 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-cards.c | 28 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-dvb.c | 4 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-input.c | 5 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134.h | 1 |
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 @@ | |||
21 | use File::Temp qw/ tempdir /; | 21 | use File::Temp qw/ tempdir /; |
22 | use IO::Handle; | 22 | use 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 | ||
130 | sub 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 | |||
129 | sub av7110 { | 148 | sub 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 | ||
2642 | const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); | 2663 | const 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 |