OSDN Git Service

[media] saa7134: add AverMedia AverTV/505 card support
authorDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Thu, 21 May 2015 18:53:01 +0000 (15:53 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Tue, 9 Jun 2015 21:43:00 +0000 (18:43 -0300)
Add AverMedia AverTV/505 card to saa7134 driver. It is a card bearing
SAA7130HL chip and FQ1216ME/IH-3 tuner.

Working: Composite, TV and IR remote control.
Untested: S-Video.

[mchehab@osg.samsung.com: fix CodingStyle]
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Documentation/video4linux/CARDLIST.saa7134
drivers/media/pci/saa7134/saa7134-cards.c
drivers/media/pci/saa7134/saa7134-input.c
drivers/media/pci/saa7134/saa7134.h

index a93d864..f4b395b 100644 (file)
 191 -> Hawell HW-9004V1
 192 -> AverMedia AverTV Satellite Hybrid+FM A706 [1461:2055]
 193 -> WIS Voyager or compatible                [1905:7007]
+194 -> AverMedia AverTV/505                     [1461:a10a]
index c520329..c740576 100644 (file)
@@ -5851,6 +5851,39 @@ struct saa7134_board saa7134_boards[] = {
                .amux = LINE1,
                } },
        },
+       [SAA7134_BOARD_AVERMEDIA_505] = {
+               /* much like the "studio" version but without radio
+               * and another tuner (dbaryshkov@gmail.com) */
+               .name           = "AverMedia AverTV/505",
+               .audio_clock    = 0x00187de7,
+               .tuner_type     = TUNER_PHILIPS_FQ1216ME,
+               .radio_type     = UNSET,
+               .tuner_addr     = ADDR_UNSET,
+               .radio_addr     = ADDR_UNSET,
+               .tda9887_conf   = TDA9887_PRESENT,
+               .inputs         = {{
+                       .name = name_tv,
+                       .vmux = 1,
+                       .amux = LINE2,
+                       .tv   = 1,
+               }, {
+                       .name = name_comp1,
+                       .vmux = 0,
+                       .amux = LINE2,
+               }, {
+                       .name = name_comp2,
+                       .vmux = 3,
+                       .amux = LINE2,
+               }, {
+                       .name = name_svideo,
+                       .vmux = 8,
+                       .amux = LINE2,
+               } },
+               .mute = {
+                       .name = name_mute,
+                       .amux = LINE1,
+               },
+       },
 
 };
 
@@ -7110,6 +7143,12 @@ struct pci_device_id saa7134_pci_tbl[] = {
                .subdevice    = 0x7007,
                .driver_data  = SAA7134_BOARD_WIS_VOYAGER,
        }, {
+               .vendor       = PCI_VENDOR_ID_PHILIPS,
+               .device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
+               .subvendor    = 0x1461, /* Avermedia Technologies Inc */
+               .subdevice    = 0xa10a,
+               .driver_data  = SAA7134_BOARD_AVERMEDIA_505,
+       }, {
                /* --- boards without eeprom + subsystem ID --- */
                .vendor       = PCI_VENDOR_ID_PHILIPS,
                .device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
@@ -7449,8 +7488,9 @@ int saa7134_board_init1(struct saa7134_dev *dev)
        case SAA7134_BOARD_KWORLD_VSTREAM_XPERT:
        case SAA7134_BOARD_KWORLD_XPERT:
        case SAA7134_BOARD_AVERMEDIA_STUDIO_305:
-       case SAA7134_BOARD_AVERMEDIA_STUDIO_505:
        case SAA7134_BOARD_AVERMEDIA_305:
+       case SAA7134_BOARD_AVERMEDIA_STUDIO_505:
+       case SAA7134_BOARD_AVERMEDIA_505:
        case SAA7134_BOARD_AVERMEDIA_STUDIO_307:
        case SAA7134_BOARD_AVERMEDIA_307:
        case SAA7134_BOARD_AVERMEDIA_STUDIO_507:
index e92bcfe..11a1720 100644 (file)
@@ -485,6 +485,7 @@ static int __saa7134_ir_start(void *priv)
        case SAA7134_BOARD_KWORLD_VSTREAM_XPERT:
        case SAA7134_BOARD_AVERMEDIA_305:
        case SAA7134_BOARD_AVERMEDIA_307:
+       case SAA7134_BOARD_AVERMEDIA_505:
        case SAA7134_BOARD_AVERMEDIA_STUDIO_305:
        case SAA7134_BOARD_AVERMEDIA_STUDIO_505:
        case SAA7134_BOARD_AVERMEDIA_STUDIO_307:
@@ -633,6 +634,7 @@ int saa7134_input_init1(struct saa7134_dev *dev)
        case SAA7134_BOARD_KWORLD_VSTREAM_XPERT:
        case SAA7134_BOARD_AVERMEDIA_305:
        case SAA7134_BOARD_AVERMEDIA_307:
+       case SAA7134_BOARD_AVERMEDIA_505:
        case SAA7134_BOARD_AVERMEDIA_STUDIO_305:
        case SAA7134_BOARD_AVERMEDIA_STUDIO_505:
        case SAA7134_BOARD_AVERMEDIA_STUDIO_307:
index f682ba9..6b5f6f4 100644 (file)
@@ -341,6 +341,7 @@ struct saa7134_card_ir {
 #define SAA7134_BOARD_HAWELL_HW_9004V1      191
 #define SAA7134_BOARD_AVERMEDIA_A706           192
 #define SAA7134_BOARD_WIS_VOYAGER           193
+#define SAA7134_BOARD_AVERMEDIA_505         194
 
 #define SAA7134_MAXBOARDS 32
 #define SAA7134_INPUT_MAX 8