Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f0ba356c85c25c2732098885a6a089be4698da94
Commit:     f0ba356c85c25c2732098885a6a089be4698da94
Parent:     57566ad2d83f58c02e191aa7f4d7cddad3f92618
Author:     Adrian Pardini <[EMAIL PROTECTED]>
AuthorDate: Mon Feb 11 12:40:53 2008 -0300
Committer:  Mauro Carvalho Chehab <[EMAIL PROTECTED]>
CommitDate: Mon Feb 18 11:15:19 2008 -0300

    V4L/DVB (7192): Adds support for Genius TVGo A11MCE
    
    Signed-off-by: Adrian Pardini <[EMAIL PROTECTED]>
    Signed-off-by: Mauro Carvalho Chehab <[EMAIL PROTECTED]>
---
 Documentation/video4linux/CARDLIST.saa7134  |    1 +
 drivers/media/common/ir-keymaps.c           |   46 +++++++++++++++++++++++++++
 drivers/media/video/saa7134/saa7134-cards.c |   39 ++++++++++++++++++++++
 drivers/media/video/saa7134/saa7134-input.c |    6 +++
 drivers/media/video/saa7134/saa7134.h       |    1 +
 include/media/ir-common.h                   |    1 +
 6 files changed, 94 insertions(+), 0 deletions(-)

diff --git a/Documentation/video4linux/CARDLIST.saa7134 
b/Documentation/video4linux/CARDLIST.saa7134
index 1074925..0424901 100644
--- a/Documentation/video4linux/CARDLIST.saa7134
+++ b/Documentation/video4linux/CARDLIST.saa7134
@@ -130,3 +130,4 @@
 129 -> Beholder BeholdTV 607 / BeholdTV 609     
[5ace:6070,5ace:6071,5ace:6072,5ace:6073,5ace:6090,5ace:6091,5ace:6092,5ace:6093]
 130 -> Beholder BeholdTV M6 / BeholdTV M6 Extra [5ace:6190,5ace:6193]
 131 -> Twinhan Hybrid DTV-DVB 3056 PCI          [1822:0022]
+132 -> Genius TVGO AM11MCE
diff --git a/drivers/media/common/ir-keymaps.c 
b/drivers/media/common/ir-keymaps.c
index a4a937c..2ab5a12 100644
--- a/drivers/media/common/ir-keymaps.c
+++ b/drivers/media/common/ir-keymaps.c
@@ -1987,3 +1987,49 @@ IR_KEYTAB_TYPE ir_codes_behold[IR_KEYTAB_SIZE] = {
 };
 
 EXPORT_SYMBOL_GPL(ir_codes_behold);
+
+/*
+ * Remote control for the Genius TVGO A11MCE
+ * Adrian Pardini <[EMAIL PROTECTED]>
+ */
+IR_KEYTAB_TYPE ir_codes_genius_tvgo_a11mce[IR_KEYTAB_SIZE] = {
+       /* Keys 0 to 9 */
+       [0x48] = KEY_0,
+       [0x09] = KEY_1,
+       [0x1d] = KEY_2,
+       [0x1f] = KEY_3,
+       [0x19] = KEY_4,
+       [0x1b] = KEY_5,
+       [0x11] = KEY_6,
+       [0x17] = KEY_7,
+       [0x12] = KEY_8,
+       [0x16] = KEY_9,
+
+       [0x54] = KEY_RECORD,            /* recording */
+       [0x06] = KEY_MUTE,              /* mute */
+       [0x10] = KEY_POWER,
+       [0x40] = KEY_LAST,              /* recall */
+       [0x4c] = KEY_CHANNELUP,         /* channel / program + */
+       [0x00] = KEY_CHANNELDOWN,       /* channel / program - */
+       [0x0d] = KEY_VOLUMEUP,
+       [0x15] = KEY_VOLUMEDOWN,
+       [0x4d] = KEY_OK,                /* also labeled as Pause */
+       [0x1c] = KEY_ZOOM,              /* full screen and Stop*/
+       [0x02] = KEY_MODE,              /* AV Source or Rewind*/
+       [0x04] = KEY_LIST,              /* -/-- */
+       /* small arrows above numbers */
+       [0x1a] = KEY_NEXT,              /* also Fast Forward */
+       [0x0e] = KEY_PREVIOUS,  /* also Rewind */
+       /* these are in a rather non standard layout and have
+       an alternate name written */
+       [0x1e] = KEY_UP,                /* Video Setting */
+       [0x0a] = KEY_DOWN,              /* Video Default */
+       [0x05] = KEY_LEFT,              /* Snapshot */
+       [0x0c] = KEY_RIGHT,             /* Hide Panel */
+       /* Four buttons without label */
+       [0x49] = KEY_RED,
+       [0x0b] = KEY_GREEN,
+       [0x13] = KEY_YELLOW,
+       [0x50] = KEY_BLUE,
+};
+EXPORT_SYMBOL_GPL(ir_codes_genius_tvgo_a11mce);
diff --git a/drivers/media/video/saa7134/saa7134-cards.c 
b/drivers/media/video/saa7134/saa7134-cards.c
index dcb601b..262830d 100644
--- a/drivers/media/video/saa7134/saa7134-cards.c
+++ b/drivers/media/video/saa7134/saa7134-cards.c
@@ -3953,6 +3953,44 @@ struct saa7134_board saa7134_boards[] = {
                        .gpio   = 0x0200000,
                },
        },
+       [SAA7134_BOARD_GENIUS_TVGO_A11MCE] = {
+               /* Adrian Pardini <[EMAIL PROTECTED]> */
+               .name           = "Genius TVGO AM11MCE",
+               .audio_clock    = 0x00200000,
+               .tuner_type     = TUNER_TNF_5335MF,
+               .radio_type     = UNSET,
+               .tuner_addr     = ADDR_UNSET,
+               .radio_addr     = ADDR_UNSET,
+               .gpiomask       = 0xf000,
+               .inputs         = {{
+                       .name = name_tv_mono,
+                       .vmux = 1,
+                       .amux = LINE2,
+                       .gpio = 0x0000,
+                       .tv   = 1,
+               }, {
+                       .name = name_comp1,
+                       .vmux = 3,
+                       .amux = LINE1,
+                       .gpio = 0x2000,
+                       .tv = 1
+               }, {
+                       .name = name_svideo,
+                       .vmux = 8,
+                       .amux = LINE1,
+                       .gpio = 0x2000,
+       } },
+               .radio = {
+                       .name = name_radio,
+                       .amux = LINE2,
+                       .gpio = 0x1000,
+               },
+               .mute = {
+                       .name = name_mute,
+                       .amux = LINE2,
+                       .gpio = 0x6000,
+               },
+       },
 };
 
 const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);
@@ -5054,6 +5092,7 @@ int saa7134_board_init1(struct saa7134_dev *dev)
        case SAA7134_BOARD_BEHOLD_409:
        case SAA7134_BOARD_BEHOLD_505FM:
        case SAA7134_BOARD_BEHOLD_507_9FM:
+       case SAA7134_BOARD_GENIUS_TVGO_A11MCE:
                dev->has_remote = SAA7134_REMOTE_GPIO;
                break;
        case SAA7134_BOARD_FLYDVBS_LR300:
diff --git a/drivers/media/video/saa7134/saa7134-input.c 
b/drivers/media/video/saa7134/saa7134-input.c
index 0db955c..b418881 100644
--- a/drivers/media/video/saa7134/saa7134-input.c
+++ b/drivers/media/video/saa7134/saa7134-input.c
@@ -406,6 +406,12 @@ int saa7134_input_init1(struct saa7134_dev *dev)
                mask_keyup   = 0x8000000;
                polling      = 50; //ms
                break;
+       case SAA7134_BOARD_GENIUS_TVGO_A11MCE:
+               ir_codes     = ir_codes_genius_tvgo_a11mce;
+               mask_keycode = 0xff;
+               mask_keydown = 0xf00000;
+               polling = 50; /* ms */
+               break;
        }
        if (NULL == ir_codes) {
                printk("%s: Oops: IR config error [card=%d]\n",
diff --git a/drivers/media/video/saa7134/saa7134.h 
b/drivers/media/video/saa7134/saa7134.h
index 27fb443..f940d02 100644
--- a/drivers/media/video/saa7134/saa7134.h
+++ b/drivers/media/video/saa7134/saa7134.h
@@ -253,6 +253,7 @@ struct saa7134_format {
 #define SAA7134_BOARD_BEHOLD_607_9FM   129
 #define SAA7134_BOARD_BEHOLD_M6                130
 #define SAA7134_BOARD_TWINHAN_DTV_DVB_3056 131
+#define SAA7134_BOARD_GENIUS_TVGO_A11MCE 132
 
 #define SAA7134_MAXBOARDS 8
 #define SAA7134_INPUT_MAX 8
diff --git a/include/media/ir-common.h b/include/media/ir-common.h
index 831547d..a427420 100644
--- a/include/media/ir-common.h
+++ b/include/media/ir-common.h
@@ -142,6 +142,7 @@ extern IR_KEYTAB_TYPE ir_codes_tt_1500[IR_KEYTAB_SIZE];
 extern IR_KEYTAB_TYPE ir_codes_fusionhdtv_mce[IR_KEYTAB_SIZE];
 extern IR_KEYTAB_TYPE ir_codes_behold[IR_KEYTAB_SIZE];
 extern IR_KEYTAB_TYPE ir_codes_pinnacle_pctv_hd[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE ir_codes_genius_tvgo_a11mce[IR_KEYTAB_SIZE];
 
 #endif
 
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to