The patch number 9060 was added via Mauro Carvalho Chehab <[EMAIL PROTECTED]>
to http://linuxtv.org/hg/v4l-dvb master development tree.

Kernel patches in this development tree may be modified to be backward
compatible with older kernels. Compatibility modifications will be
removed before inclusion into the mainstream Kernel

If anyone has any objections, please let us know by sending a message to:
        [EMAIL PROTECTED]

------

From: Mauro Carvalho Chehab  <[EMAIL PROTECTED]>
saa7134: Add support for Avermedia PCI pure analog (M135A)


Thanks to Sistema Fenix (http://www.sistemafenix.com.br/) for sponsoring
this development.

Signed-off-by: Gilberto <[EMAIL PROTECTED]>
Signed-off-by: Mauro Carvalho Chehab <[EMAIL PROTECTED]>


---

 linux/Documentation/video4linux/CARDLIST.saa7134  |    1 
 linux/drivers/media/common/ir-keymaps.c           |   50 ++++++++++++++
 linux/drivers/media/video/saa7134/saa7134-cards.c |   41 +++++++++++
 linux/drivers/media/video/saa7134/saa7134-input.c |    6 +
 linux/drivers/media/video/saa7134/saa7134.h       |    1 
 linux/include/media/ir-common.h                   |    1 
 6 files changed, 100 insertions(+)

diff -r 3c9137f45d73 -r fa0de4f2637a 
linux/Documentation/video4linux/CARDLIST.saa7134
--- a/linux/Documentation/video4linux/CARDLIST.saa7134  Thu Jun 26 17:03:00 
2008 -0300
+++ b/linux/Documentation/video4linux/CARDLIST.saa7134  Thu Jun 26 17:03:00 
2008 -0300
@@ -147,3 +147,4 @@ 146 -> ASUSTeK P7131 Analog
 146 -> ASUSTeK P7131 Analog
 147 -> Asus Tiger 3in1                          [1043:4878]
 148 -> Encore ENLTV-FM v5.3                     [1a7f:2008]
+149 -> Avermedia PCI pure analog (M135A)        [1461:f11d]
diff -r 3c9137f45d73 -r fa0de4f2637a linux/drivers/media/common/ir-keymaps.c
--- a/linux/drivers/media/common/ir-keymaps.c   Thu Jun 26 17:03:00 2008 -0300
+++ b/linux/drivers/media/common/ir-keymaps.c   Thu Jun 26 17:03:00 2008 -0300
@@ -103,6 +103,56 @@ IR_KEYTAB_TYPE ir_codes_avermedia_dvbt[I
 };
 
 EXPORT_SYMBOL_GPL(ir_codes_avermedia_dvbt);
+
+/* Mauro Carvalho Chehab <[EMAIL PROTECTED]> */
+IR_KEYTAB_TYPE ir_codes_avermedia_m135a[IR_KEYTAB_SIZE] = {
+       [0x00] = KEY_POWER2,
+       [0x2e] = KEY_DOT,               /* '.' */
+       [0x01] = KEY_MODE,              /* TV/FM */
+
+       [0x05] = KEY_1,
+       [0x06] = KEY_2,
+       [0x07] = KEY_3,
+       [0x09] = KEY_4,
+       [0x0a] = KEY_5,
+       [0x0b] = KEY_6,
+       [0x0d] = KEY_7,
+       [0x0e] = KEY_8,
+       [0x0f] = KEY_9,
+       [0x11] = KEY_0,
+
+       [0x13] = KEY_RIGHT,             /* -> */
+       [0x12] = KEY_LEFT,              /* <- */
+
+       [0x17] = KEY_SLEEP,             /* Capturar Imagem */
+       [0x10] = KEY_SHUFFLE,           /* Amostra */
+
+       /* FIXME: The keys bellow aren't ok */
+
+       [0x43] = KEY_CHANNELUP,
+       [0x42] = KEY_CHANNELDOWN,
+       [0x1f] = KEY_VOLUMEUP,
+       [0x1e] = KEY_VOLUMEDOWN,
+       [0x0c] = KEY_ENTER,
+
+       [0x14] = KEY_MUTE,
+       [0x08] = KEY_AUDIO,
+
+       [0x03] = KEY_TEXT,
+       [0x04] = KEY_EPG,
+       [0x2b] = KEY_TV2,               /* TV2 */
+
+       [0x1d] = KEY_RED,
+       [0x1c] = KEY_YELLOW,
+       [0x41] = KEY_GREEN,
+       [0x40] = KEY_BLUE,
+
+       [0x1a] = KEY_PLAYPAUSE,
+       [0x19] = KEY_RECORD,
+       [0x18] = KEY_PLAY,
+       [0x1b] = KEY_STOP,
+};
+EXPORT_SYMBOL_GPL(ir_codes_avermedia_m135a);
 
 /* Attila Kondoros <[EMAIL PROTECTED]> */
 IR_KEYTAB_TYPE ir_codes_apac_viewcomp[IR_KEYTAB_SIZE] = {
diff -r 3c9137f45d73 -r fa0de4f2637a 
linux/drivers/media/video/saa7134/saa7134-cards.c
--- a/linux/drivers/media/video/saa7134/saa7134-cards.c Thu Jun 26 17:03:00 
2008 -0300
+++ b/linux/drivers/media/video/saa7134/saa7134-cards.c Thu Jun 26 17:03:00 
2008 -0300
@@ -3710,6 +3710,40 @@ struct saa7134_board saa7134_boards[] = 
                        .tv     = 1,
                }},
        },
+       [SAA7134_BOARD_AVERMEDIA_M135A] = {
+               .name           = "Avermedia PCI pure analog (M135A)",
+               .audio_clock    = 0x00187de7,
+               .tuner_type     = TUNER_PHILIPS_TDA8290,
+               .radio_type     = UNSET,
+               .tuner_addr     = ADDR_UNSET,
+               .radio_addr     = ADDR_UNSET,
+               .tuner_config   = 2,
+               .gpiomask       = 0x020200000,
+               .inputs         = {{
+                       .name = name_tv,
+                       .vmux = 1,
+                       .amux = TV,
+                       .tv   = 1,
+               }, {
+                       .name = name_comp1,
+                       .vmux = 3,
+                       .amux = LINE1,
+               }, {
+                       .name = name_svideo,
+                       .vmux = 8,
+                       .amux = LINE1,
+               } },
+               .radio = {
+                       .name = name_radio,
+                       .amux = TV,
+                       .gpio = 0x00200000,
+               },
+               .mute = {
+                       .name = name_mute,
+                       .amux = TV,
+                       .gpio = 0x01,
+               },
+       },
        [SAA7134_BOARD_BEHOLD_401] = {
                /*       Beholder Intl. Ltd. 2008      */
                /*Dmitry Belimov <[EMAIL PROTECTED]> */
@@ -4885,6 +4919,12 @@ struct pci_device_id saa7134_pci_tbl[] =
                .driver_data  = SAA7134_BOARD_AVERMEDIA_GO_007_FM,
 
        },{
+               .vendor       = PCI_VENDOR_ID_PHILIPS,
+               .device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
+               .subvendor    = 0x1461, /* Avermedia Technologies Inc */
+               .subdevice    = 0xf11d,
+               .driver_data  = SAA7134_BOARD_AVERMEDIA_M135A,
+       }, {
                .vendor       = PCI_VENDOR_ID_PHILIPS,
                .device       = PCI_DEVICE_ID_PHILIPS_SAA7130,
                .subvendor    = PCI_VENDOR_ID_PHILIPS,
@@ -5801,6 +5841,7 @@ int saa7134_board_init1(struct saa7134_d
        case SAA7134_BOARD_AVERMEDIA_STUDIO_507:
        case SAA7134_BOARD_AVERMEDIA_GO_007_FM:
        case SAA7134_BOARD_AVERMEDIA_777:
+       case SAA7134_BOARD_AVERMEDIA_M135A:
 /*      case SAA7134_BOARD_SABRENT_SBTTVFM:  */ /* not finished yet */
        case SAA7134_BOARD_VIDEOMATE_TV_PVR:
        case SAA7134_BOARD_VIDEOMATE_GOLD_PLUS:
diff -r 3c9137f45d73 -r fa0de4f2637a 
linux/drivers/media/video/saa7134/saa7134-input.c
--- a/linux/drivers/media/video/saa7134/saa7134-input.c Thu Jun 26 17:03:00 
2008 -0300
+++ b/linux/drivers/media/video/saa7134/saa7134-input.c Thu Jun 26 17:03:00 
2008 -0300
@@ -401,6 +401,12 @@ int saa7134_input_init1(struct saa7134_d
                saa_setb(SAA7134_GPIO_GPMODE0, 0x4);
                saa_setb(SAA7134_GPIO_GPSTATUS0, 0x4);
                break;
+       case SAA7134_BOARD_AVERMEDIA_M135A:
+               ir_codes     = ir_codes_avermedia_m135a;
+               mask_keydown = 0x0040000;
+               mask_keycode = 0x00013f;
+               nec_gpio     = 1;
+               break;
        case SAA7134_BOARD_AVERMEDIA_777:
        case SAA7134_BOARD_AVERMEDIA_A16AR:
                ir_codes     = ir_codes_avermedia;
diff -r 3c9137f45d73 -r fa0de4f2637a linux/drivers/media/video/saa7134/saa7134.h
--- a/linux/drivers/media/video/saa7134/saa7134.h       Thu Jun 26 17:03:00 
2008 -0300
+++ b/linux/drivers/media/video/saa7134/saa7134.h       Thu Jun 26 17:03:00 
2008 -0300
@@ -272,6 +272,7 @@ struct saa7134_format {
 #define SAA7134_BOARD_ASUSTeK_P7131_ANALOG 146
 #define SAA7134_BOARD_ASUSTeK_TIGER_3IN1   147
 #define SAA7134_BOARD_ENCORE_ENLTV_FM53 148
+#define SAA7134_BOARD_AVERMEDIA_M135A    149
 
 #define SAA7134_MAXBOARDS 8
 #define SAA7134_INPUT_MAX 8
diff -r 3c9137f45d73 -r fa0de4f2637a linux/include/media/ir-common.h
--- a/linux/include/media/ir-common.h   Thu Jun 26 17:03:00 2008 -0300
+++ b/linux/include/media/ir-common.h   Thu Jun 26 17:03:00 2008 -0300
@@ -110,6 +110,7 @@ extern IR_KEYTAB_TYPE ir_codes_empty[IR_
 extern IR_KEYTAB_TYPE ir_codes_empty[IR_KEYTAB_SIZE];
 extern IR_KEYTAB_TYPE ir_codes_avermedia[IR_KEYTAB_SIZE];
 extern IR_KEYTAB_TYPE ir_codes_avermedia_dvbt[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE ir_codes_avermedia_m135a[IR_KEYTAB_SIZE];
 extern IR_KEYTAB_TYPE ir_codes_apac_viewcomp[IR_KEYTAB_SIZE];
 extern IR_KEYTAB_TYPE ir_codes_pixelview[IR_KEYTAB_SIZE];
 extern IR_KEYTAB_TYPE ir_codes_pixelview_new[IR_KEYTAB_SIZE];


---

Patch is available at: 
http://linuxtv.org/hg/v4l-dvb/rev/fa0de4f2637a6e7bd4b9619c5751f7d8c179a1ae

_______________________________________________
linuxtv-commits mailing list
linuxtv-commits@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to