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 /drivers/media/video/saa7134/saa7134-cards.c | |
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>
Diffstat (limited to 'drivers/media/video/saa7134/saa7134-cards.c')
-rw-r--r-- | drivers/media/video/saa7134/saa7134-cards.c | 48 |
1 files changed, 48 insertions, 0 deletions
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}; |