]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
V4L/DVB: Added support for the new Lifeview hybrid cardbus modules
authorHartmut Hackmann <hartmut.hackmann@t-online.de>
Sat, 16 Sep 2006 21:38:55 +0000 (23:38 +0200)
committerAdrian Bunk <bunk@stusta.de>
Sat, 16 Sep 2006 21:38:55 +0000 (23:38 +0200)
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>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Documentation/video4linux/CARDLIST.saa7134
drivers/media/video/saa7134/saa7134-cards.c
drivers/media/video/saa7134/saa7134-dvb.c
drivers/media/video/saa7134/saa7134.h

index b76cc6ebf4063f7b18caa0f8ca72a2bd6f9543d1..bca50903233f07dc19868b2b3fd466c8b5dabfc9 100644 (file)
@@ -92,3 +92,4 @@
  91 -> AVerMedia A169 B                         [1461:7360]
  92 -> AVerMedia A169 B1                        [1461:6360]
  93 -> Medion 7134 Bridge #2                    [16be:0005]
+ 94 -> LifeView FlyDVB-T Hybrid Cardbus         [5168:3306,5168:3502]
index 921174112aeb3dae77f4ef110b8528503f47ee73..c328dc6660fd8ee27c9ba23fd2e7f3edb2d965fb 100644 (file)
@@ -2807,6 +2807,40 @@ struct saa7134_board saa7134_boards[] = {
                .tuner_addr     = ADDR_UNSET,
                .radio_addr     = ADDR_UNSET,
        },
+       [SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS] = {
+               .name           = "LifeView FlyDVB-T Hybrid Cardbus",
+               .audio_clock    = 0x00200000,
+               .tuner_type     = TUNER_PHILIPS_TDA8290,
+               .radio_type     = UNSET,
+               .tuner_addr     = ADDR_UNSET,
+               .radio_addr     = ADDR_UNSET,
+               .mpeg           = SAA7134_MPEG_DVB,
+               .gpiomask       = 0x00600000, /* Bit 21 0=Radio, Bit 22 0=TV */
+               .inputs         = {{
+                       .name = name_tv,
+                       .vmux = 1,
+                       .amux = TV,
+                       .gpio = 0x200000,       /* GPIO21=High for TV input */
+                       .tv   = 1,
+               },{
+                       .name = name_svideo,    /* S-Video signal on S-Video input */
+                       .vmux = 8,
+                       .amux = LINE2,
+               },{
+                       .name = name_comp1,     /* Composite signal on S-Video input */
+                       .vmux = 0,
+                       .amux = LINE2,
+               },{
+                       .name = name_comp2,     /* Composite input */
+                       .vmux = 3,
+                       .amux = LINE2,
+               }},
+               .radio = {
+                       .name = name_radio,
+                       .amux = TV,
+                       .gpio = 0x000000,       /* GPIO21=Low for FM radio antenna */
+               },
+       },
 };
 
 const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);
@@ -3343,6 +3377,18 @@ struct pci_device_id saa7134_pci_tbl[] = {
                .subvendor = 0x5168, /* Animation Technologies (LifeView) */
                .subdevice = 0x0304,
                .driver_data = SAA7134_BOARD_FLYTVPLATINUM_FM,
+       },{
+               .vendor       = PCI_VENDOR_ID_PHILIPS,
+               .device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
+               .subvendor    = 0x5168,
+               .subdevice    = 0x3306,
+               .driver_data  = SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS,
+       },{
+               .vendor       = PCI_VENDOR_ID_PHILIPS,
+               .device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
+               .subvendor    = 0x5168,
+               .subdevice    = 0x3502,  /* whats the difference to 0x3306 ?*/
+               .driver_data  = SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS,
        },{
                /* --- boards without eeprom + subsystem ID --- */
                .vendor       = PCI_VENDOR_ID_PHILIPS,
@@ -3472,6 +3518,7 @@ int saa7134_board_init1(struct saa7134_dev *dev)
                saa_writeb(SAA7134_GPIO_GPSTATUS3, 0x06);
                break;
        case SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331:
+       case SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS:
                saa_writeb(SAA7134_GPIO_GPMODE3, 0x08);
                saa_writeb(SAA7134_GPIO_GPSTATUS3, 0x00);
                break;
@@ -3636,6 +3683,7 @@ int saa7134_board_init2(struct saa7134_dev *dev)
                }
                break;
        case SAA7134_BOARD_ADS_DUO_CARDBUS_PTV331:
+       case SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS:
                /* make the tda10046 find its eeprom */
                {
                u8 data[] = { 0x3c, 0x33, 0x62};
index 5969481ed4fbaea6393b3ca93775a9bf0db68be3..746ec3156656aa3e9f2e53144b8e26682aa434e4 100644 (file)
@@ -1027,6 +1027,10 @@ static int dvb_init(struct saa7134_dev *dev)
                dev->dvb.frontend = tda10046_attach(&tevion_dvbt220rf_config,
                                                    &dev->i2c_adap);
                break;
+       case SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS:
+               dev->dvb.frontend = tda10046_attach(&ads_tech_duo_config,
+                                                   &dev->i2c_adap);
+               break;
 #endif
 #ifdef HAVE_NXT200X
        case SAA7134_BOARD_AVERMEDIA_AVERTVHD_A180:
index 88a639b704e86adec747f6d28cbc27e1eb5f9db1..b4671ea0f27478299f22ed9f1aa8b55e391f0928 100644 (file)
@@ -219,6 +219,7 @@ struct saa7134_format {
 #define SAA7134_BOARD_AVERMEDIA_A169_B 91
 #define SAA7134_BOARD_AVERMEDIA_A169_B1 92
 #define SAA7134_BOARD_MD7134_BRIDGE_2     93
+#define SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS 94
 
 #define SAA7134_MAXBOARDS 8
 #define SAA7134_INPUT_MAX 8