V4L/DVB (5330): Added card definition for AverMedia M102 miniPCI
authorMarkus Rechberger <mrechberger@gmail.com>
Fri, 27 Apr 2007 15:31:19 +0000 (12:31 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Fri, 27 Apr 2007 18:43:44 +0000 (15:43 -0300)
Signed-off-by: Markus Rechberger <mrechberger@gmail.com>
Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Documentation/video4linux/CARDLIST.saa7134
drivers/media/video/saa7134/saa7134-cards.c
drivers/media/video/saa7134/saa7134.h

index f18533f28e04b5b07e3de9161f67ddfa33d1e532..51f8a3fd66dc2bcda33f969f99b342a6b0225917 100644 (file)
 107 -> Encore ENLTV-FM                          [1131:230f]
 108 -> Terratec Cinergy HT PCI                  [153b:1175]
 109 -> Philips Tiger - S Reference design
+110 -> Avermedia M102                           [1461:f31e]
index 87a8a68efc5c470dc1ede95ccb219166effba731..23cd5f6bed17e162e957733f9eef6c781aa4bc64 100644 (file)
@@ -3328,6 +3328,29 @@ struct saa7134_board saa7134_boards[] = {
                        .gpio   = 0x0200000,
                },
        },
+       [SAA7134_BOARD_AVERMEDIA_M102] = {
+               .name           = "Avermedia M102",
+               .audio_clock    = 0x00187de7,
+               .tuner_type     = TUNER_PHILIPS_TDA8290,
+               .radio_type     = UNSET,
+               .tuner_addr     = ADDR_UNSET,
+               .radio_addr     = ADDR_UNSET,
+               .gpiomask       = 1<<21,
+               .inputs         = {{
+                       .name = name_tv,
+                       .vmux = 1,
+                       .amux = TV,
+                       .tv   = 1,
+               },{
+                       .name = name_comp1,
+                       .vmux = 0,
+                       .amux = LINE2,
+               },{
+                       .name = name_svideo,
+                       .vmux = 6,
+                       .amux = LINE2,
+               }},
+       },
 };
 
 const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);
@@ -3996,6 +4019,12 @@ struct pci_device_id saa7134_pci_tbl[] = {
                .subvendor    = 0x153b,
                .subdevice    = 0x1175,
                .driver_data  = SAA7134_BOARD_CINERGY_HT_PCI,
+       },{
+               .vendor       = PCI_VENDOR_ID_PHILIPS,
+               .device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
+               .subvendor    = 0x1461, /* Avermedia Technologies Inc */
+               .subdevice    = 0xf31e,
+               .driver_data  = SAA7134_BOARD_AVERMEDIA_M102,
        },{
                /* --- boards without eeprom + subsystem ID --- */
                .vendor       = PCI_VENDOR_ID_PHILIPS,
@@ -4010,7 +4039,6 @@ struct pci_device_id saa7134_pci_tbl[] = {
                .subdevice    = 0,
                .driver_data  = SAA7134_BOARD_NOAUTO,
        },{
-
                /* --- default catch --- */
                .vendor       = PCI_VENDOR_ID_PHILIPS,
                .device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
@@ -4176,6 +4204,11 @@ int saa7134_board_init1(struct saa7134_dev *dev)
                       "%s: Dual decoder functionality is disabled for now, use the other chip.\n",
                       dev->name,card(dev).name,dev->name,dev->name);
                break;
+       case SAA7134_BOARD_AVERMEDIA_M102:
+               /* enable tuner */
+               saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0x8c040007, 0x8c040007);
+               saa_andorl(SAA7134_GPIO_GPSTATUS0 >> 2, 0x0c0007cd, 0x0c0007cd);
+               break;
        }
        return 0;
 }
index 07376da7ebd589b48badf4d944f44aa5387611ce..290e7e55c519c6ee9dc9d35abfee470c514424b0 100644 (file)
@@ -232,6 +232,7 @@ struct saa7134_format {
 #define SAA7134_BOARD_ENCORE_ENLTV_FM      107
 #define SAA7134_BOARD_CINERGY_HT_PCI       108
 #define SAA7134_BOARD_PHILIPS_TIGER_S      109
+#define SAA7134_BOARD_AVERMEDIA_M102      110
 
 #define SAA7134_MAXBOARDS 8
 #define SAA7134_INPUT_MAX 8