diff options
author | Hartmut Hackmann <hartmut.hackmann@t-online.de> | 2006-03-27 17:39:30 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-04-02 03:55:22 -0400 |
commit | d95b8942eed310759bc866a2a4c0f110578aaa69 (patch) | |
tree | a428b1b46b996088598d37179171db99195a888e | |
parent | 2174eb9cc876e840bcfa6d44f22c7f816289bf21 (diff) |
V4L/DVB (3646): Added support for the new Lifeview hybrid cardbus modules
There seem to be many variants of this cards with different
feature sets. This entry supports
analog TV, CVBS and s-video input, FM radio and DVB-T
if they are supported by the hardware.
Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r-- | Documentation/video4linux/CARDLIST.saa7134 | 1 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-cards.c | 48 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-dvb.c | 4 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134.h | 1 |
4 files changed, 54 insertions, 0 deletions
diff --git a/Documentation/video4linux/CARDLIST.saa7134 b/Documentation/video4linux/CARDLIST.saa7134 index b76cc6ebf406..bca50903233f 100644 --- a/Documentation/video4linux/CARDLIST.saa7134 +++ b/Documentation/video4linux/CARDLIST.saa7134 | |||
@@ -92,3 +92,4 @@ | |||
92 | 91 -> AVerMedia A169 B [1461:7360] | 92 | 91 -> AVerMedia A169 B [1461:7360] |
93 | 92 -> AVerMedia A169 B1 [1461:6360] | 93 | 92 -> AVerMedia A169 B1 [1461:6360] |
94 | 93 -> Medion 7134 Bridge #2 [16be:0005] | 94 | 93 -> Medion 7134 Bridge #2 [16be:0005] |
95 | 94 -> LifeView FlyDVB-T Hybrid Cardbus [5168:3306,5168:3502] | ||
diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c index b3ac408ee8d3..e666a4465ca4 100644 --- a/drivers/media/video/saa7134/saa7134-cards.c +++ b/drivers/media/video/saa7134/saa7134-cards.c | |||
@@ -2808,6 +2808,40 @@ struct saa7134_board saa7134_boards[] = { | |||
2808 | .tuner_addr = ADDR_UNSET, | 2808 | .tuner_addr = ADDR_UNSET, |
2809 | .radio_addr = ADDR_UNSET, | 2809 | .radio_addr = ADDR_UNSET, |
2810 | }, | 2810 | }, |
2811 | [SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS] = { | ||
2812 | .name = "LifeView FlyDVB-T Hybrid Cardbus", | ||
2813 | .audio_clock = 0x00200000, | ||
2814 | .tuner_type = TUNER_PHILIPS_TDA8290, | ||
2815 | .radio_type = UNSET, | ||
2816 | .tuner_addr = ADDR_UNSET, | ||
2817 | .radio_addr = ADDR_UNSET, | ||
2818 | .mpeg = SAA7134_MPEG_DVB, | ||
2819 | .gpiomask = 0x00600000, /* Bit 21 0=Radio, Bit 22 0=TV */ | ||
2820 | .inputs = {{ | ||
2821 | .name = name_tv, | ||
2822 | .vmux = 1, | ||
2823 | .amux = TV, | ||
2824 | .gpio = 0x200000, /* GPIO21=High for TV input */ | ||
2825 | .tv = 1, | ||
2826 | },{ | ||
2827 | .name = name_svideo, /* S-Video signal on S-Video input */ | ||
2828 | .vmux = 8, | ||
2829 | .amux = LINE2, | ||
2830 | },{ | ||
2831 | .name = name_comp1, /* Composite signal on S-Video input */ | ||
2832 | .vmux = 0, | ||
2833 | .amux = LINE2, | ||
2834 | },{ | ||
2835 | .name = name_comp2, /* Composite input */ | ||
2836 | .vmux = 3, | ||
2837 | .amux = LINE2, | ||
2838 | }}, | ||
2839 | .radio = { | ||
2840 | .name = name_radio, | ||
2841 | .amux = TV, | ||
2842 | .gpio = 0x000000, /* GPIO21=Low for FM radio antenna */ | ||
2843 | }, | ||
2844 | }, | ||
2811 | }; | 2845 | }; |
2812 | 2846 | ||
2813 | const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); | 2847 | const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); |
@@ -3345,6 +3379,18 @@ struct pci_device_id saa7134_pci_tbl[] = { | |||
3345 | .subdevice = 0x0304, | 3379 | .subdevice = 0x0304, |
3346 | .driver_data = SAA7134_BOARD_FLYTVPLATINUM_FM, | 3380 | .driver_data = SAA7134_BOARD_FLYTVPLATINUM_FM, |
3347 | },{ | 3381 | },{ |
3382 | .vendor = PCI_VENDOR_ID_PHILIPS, | ||
3383 | .device = PCI_DEVICE_ID_PHILIPS_SAA7133, | ||
3384 | .subvendor = 0x5168, | ||
3385 | .subdevice = 0x3306, | ||
3386 | .driver_data = SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS, | ||
3387 | },{ | ||
3388 | .vendor = PCI_VENDOR_ID_PHILIPS, | ||
3389 | .device = PCI_DEVICE_ID_PHILIPS_SAA7133, | ||
3390 | .subvendor = 0x5168, | ||
3391 | .subdevice = 0x3502, /* whats the difference to 0x3306 ?*/ | ||
3392 | .driver_data = SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS, | ||
3393 | },{ | ||
3348 | /* --- boards without eeprom + subsystem ID --- */ | 3394 | /* --- boards without eeprom + subsystem ID --- */ |
3349 | .vendor = PCI_VENDOR_ID_PHILIPS, | 3395 | .vendor = PCI_VENDOR_ID_PHILIPS, |
3350 | .device = PCI_DEVICE_ID_PHILIPS_SAA7134, | 3396 | .device = PCI_DEVICE_ID_PHILIPS_SAA7134, |
@@ -3474,6 +3520,7 @@ int saa7134_board_init1(struct saa7134_dev *dev) | |||
3474 | saa_writeb(SAA7134_GPIO_GPSTATUS3, 0x06); | 3520 | saa_writeb(SAA7134_GPIO_GPSTATUS3, 0x06); |
3475 | break; | 3521 | break; |
3476 | case SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331: | 3522 | case SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331: |
3523 | case SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS: | ||
3477 | saa_writeb(SAA7134_GPIO_GPMODE3, 0x08); | 3524 | saa_writeb(SAA7134_GPIO_GPMODE3, 0x08); |
3478 | saa_writeb(SAA7134_GPIO_GPSTATUS3, 0x00); | 3525 | saa_writeb(SAA7134_GPIO_GPSTATUS3, 0x00); |
3479 | break; | 3526 | break; |
@@ -3645,6 +3692,7 @@ int saa7134_board_init2(struct saa7134_dev *dev) | |||
3645 | } | 3692 | } |
3646 | break; | 3693 | break; |
3647 | case SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331: | 3694 | case SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331: |
3695 | case SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS: | ||
3648 | /* make the tda10046 find its eeprom */ | 3696 | /* make the tda10046 find its eeprom */ |
3649 | { | 3697 | { |
3650 | u8 data[] = { 0x3c, 0x33, 0x62}; | 3698 | u8 data[] = { 0x3c, 0x33, 0x62}; |
diff --git a/drivers/media/video/saa7134/saa7134-dvb.c b/drivers/media/video/saa7134/saa7134-dvb.c index 86cfdb8514cb..222a36c38917 100644 --- a/drivers/media/video/saa7134/saa7134-dvb.c +++ b/drivers/media/video/saa7134/saa7134-dvb.c | |||
@@ -1064,6 +1064,10 @@ static int dvb_init(struct saa7134_dev *dev) | |||
1064 | dev->dvb.frontend = tda10046_attach(&tevion_dvbt220rf_config, | 1064 | dev->dvb.frontend = tda10046_attach(&tevion_dvbt220rf_config, |
1065 | &dev->i2c_adap); | 1065 | &dev->i2c_adap); |
1066 | break; | 1066 | break; |
1067 | case SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS: | ||
1068 | dev->dvb.frontend = tda10046_attach(&ads_tech_duo_config, | ||
1069 | &dev->i2c_adap); | ||
1070 | break; | ||
1067 | #endif | 1071 | #endif |
1068 | #ifdef HAVE_NXT200X | 1072 | #ifdef HAVE_NXT200X |
1069 | case SAA7134_BOARD_AVERMEDIA_AVERTVHD_A180: | 1073 | case SAA7134_BOARD_AVERMEDIA_AVERTVHD_A180: |
diff --git a/drivers/media/video/saa7134/saa7134.h b/drivers/media/video/saa7134/saa7134.h index 31ba293854c1..353af3a8b766 100644 --- a/drivers/media/video/saa7134/saa7134.h +++ b/drivers/media/video/saa7134/saa7134.h | |||
@@ -220,6 +220,7 @@ struct saa7134_format { | |||
220 | #define SAA7134_BOARD_AVERMEDIA_A169_B 91 | 220 | #define SAA7134_BOARD_AVERMEDIA_A169_B 91 |
221 | #define SAA7134_BOARD_AVERMEDIA_A169_B1 92 | 221 | #define SAA7134_BOARD_AVERMEDIA_A169_B1 92 |
222 | #define SAA7134_BOARD_MD7134_BRIDGE_2 93 | 222 | #define SAA7134_BOARD_MD7134_BRIDGE_2 93 |
223 | #define SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS 94 | ||
223 | 224 | ||
224 | #define SAA7134_MAXBOARDS 8 | 225 | #define SAA7134_MAXBOARDS 8 |
225 | #define SAA7134_INPUT_MAX 8 | 226 | #define SAA7134_INPUT_MAX 8 |