]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
V4L/DVB (12591): em28xx: Add entry for GADMEI UTV330+ and related IR keymap
authorMauro Carvalho Chehab <mchehab@redhat.com>
Sun, 30 Aug 2009 16:05:56 +0000 (13:05 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sat, 12 Sep 2009 15:19:44 +0000 (12:19 -0300)
[mchehab@redhat.com: Fix a few wrong IR keymaps]
Signed-off-by: Shine Liu <shinel@foxmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Documentation/video4linux/CARDLIST.em28xx
drivers/media/common/ir-keymaps.c
drivers/media/video/em28xx/em28xx-cards.c
drivers/media/video/em28xx/em28xx.h
include/media/ir-common.h

index 66e5f829577cfab70d96e3ff2f335037e91a9014..b37eff3c9888ed8aafa6d8ccaa111bb60424116f 100644 (file)
@@ -67,3 +67,4 @@
  69 -> KWorld ATSC 315U HDTV TV Box             (em2882)        [eb1a:a313]
  70 -> Evga inDtube                             (em2882)
  71 -> Silvercrest Webcam 1.3mpix               (em2820/em2840)
+ 72 -> Gadmei UTV330+                           (em2861)
index 0b8bfac14313187e16206a1051ef7ff664edd434..c93a5269f22385cbacc023e321d1c159e6b6e7dd 100644 (file)
@@ -2826,3 +2826,47 @@ IR_KEYTAB_TYPE ir_codes_videomate_s350[IR_KEYTAB_SIZE] = {
        [0x20] = KEY_TEXT,
 };
 EXPORT_SYMBOL_GPL(ir_codes_videomate_s350);
+
+
+/* GADMEI UTV330+ RM008Z remote
+   Shine Liu <shinel@foxmail.com>
+ */
+IR_KEYTAB_TYPE ir_codes_gadmei_rm008z[IR_KEYTAB_SIZE] = {
+       [0x14] = KEY_POWER2,            /* POWER OFF */
+       [0x0c] = KEY_MUTE,              /* MUTE */
+
+       [0x18] = KEY_TV,                /* TV */
+       [0x0e] = KEY_VIDEO,             /* AV */
+       [0x0b] = KEY_AUDIO,             /* SV */
+       [0x0f] = KEY_RADIO,             /* FM */
+
+       [0x00] = KEY_1,
+       [0x01] = KEY_2,
+       [0x02] = KEY_3,
+       [0x03] = KEY_4,
+       [0x04] = KEY_5,
+       [0x05] = KEY_6,
+       [0x06] = KEY_7,
+       [0x07] = KEY_8,
+       [0x08] = KEY_9,
+       [0x09] = KEY_0,
+       [0x0a] = KEY_INFO,              /* OSD */
+       [0x1c] = KEY_BACKSPACE,         /* LAST */
+
+       [0x0d] = KEY_PLAY,              /* PLAY */
+       [0x1e] = KEY_CAMERA,            /* SNAPSHOT */
+       [0x1a] = KEY_RECORD,            /* RECORD */
+       [0x17] = KEY_STOP,              /* STOP */
+
+       [0x1f] = KEY_UP,                /* UP */
+       [0x44] = KEY_DOWN,              /* DOWN */
+       [0x46] = KEY_TAB,               /* BACK */
+       [0x4a] = KEY_ZOOM,              /* FULLSECREEN */
+
+       [0x10] = KEY_VOLUMEUP,          /* VOLUMEUP */
+       [0x11] = KEY_VOLUMEDOWN,        /* VOLUMEDOWN */
+       [0x12] = KEY_CHANNELUP,         /* CHANNELUP */
+       [0x13] = KEY_CHANNELDOWN,       /* CHANNELDOWN */
+       [0x15] = KEY_ENTER,             /* OK */
+};
+EXPORT_SYMBOL_GPL(ir_codes_gadmei_rm008z);
index 66c377683708f8009c456b2662a5c0079ffa459e..b184d482c49788886856394088431495c3fc0d4a 100644 (file)
@@ -558,6 +558,27 @@ struct em28xx_board em28xx_boards[] = {
                        .amux     = EM28XX_AMUX_LINE_IN,
                } },
        },
+       [EM2861_BOARD_GADMEI_UTV330PLUS] = {
+               .name         = "Gadmei UTV330+",
+               .tuner_type   = TUNER_TNF_5335MF,
+               .tda9887_conf = TDA9887_PRESENT,
+               .ir_codes     = ir_codes_gadmei_rm008z,
+               .decoder      = EM28XX_SAA711X,
+               .xclk         = EM28XX_XCLK_FREQUENCY_12MHZ,
+               .input        = { {
+                       .type     = EM28XX_VMUX_TELEVISION,
+                       .vmux     = SAA7115_COMPOSITE2,
+                       .amux     = EM28XX_AMUX_VIDEO,
+               }, {
+                       .type     = EM28XX_VMUX_COMPOSITE1,
+                       .vmux     = SAA7115_COMPOSITE0,
+                       .amux     = EM28XX_AMUX_LINE_IN,
+               }, {
+                       .type     = EM28XX_VMUX_SVIDEO,
+                       .vmux     = SAA7115_SVIDEO3,
+                       .amux     = EM28XX_AMUX_LINE_IN,
+               } },
+       },
        [EM2860_BOARD_TERRATEC_HYBRID_XS] = {
                .name         = "Terratec Cinergy A Hybrid XS",
                .valid        = EM28XX_BOARD_NOT_VALIDATED,
@@ -1676,6 +1697,7 @@ static struct em28xx_hash_table em28xx_i2c_hash[] = {
        {0xf51200e3, EM2800_BOARD_VGEAR_POCKETTV, TUNER_LG_PAL_NEW_TAPC},
        {0x1ba50080, EM2860_BOARD_SAA711X_REFERENCE_DESIGN, TUNER_ABSENT},
        {0xc51200e3, EM2820_BOARD_GADMEI_TVR200, TUNER_LG_PAL_NEW_TAPC},
+       {0x4ba50080, EM2861_BOARD_GADMEI_UTV330PLUS, TUNER_TNF_5335MF},
 };
 
 /* I2C possible address to saa7115, tvp5150, msp3400, tvaudio */
index a2add61f7d59dd4555b48b95b81197f337b85951..23f34dd691e9c63b1adadcc3d9bdfb94c23751d1 100644 (file)
 #define EM2882_BOARD_KWORLD_ATSC_315U            69
 #define EM2882_BOARD_EVGA_INDTUBE                70
 #define EM2820_BOARD_SILVERCREST_WEBCAM           71
+#define EM2861_BOARD_GADMEI_UTV330PLUS           72
 
 /* Limits minimum and default number of buffers */
 #define EM28XX_MIN_BUF 4
index 8a607db492a5fe15ca341be759127129122bcaf1..74a7e55734f00df927ef1a1e08f14508f7f0b2cd 100644 (file)
@@ -165,6 +165,7 @@ extern IR_KEYTAB_TYPE ir_codes_dm1105_nec[IR_KEYTAB_SIZE];
 extern IR_KEYTAB_TYPE ir_codes_evga_indtube[IR_KEYTAB_SIZE];
 extern IR_KEYTAB_TYPE ir_codes_terratec_cinergy_xs[IR_KEYTAB_SIZE];
 extern IR_KEYTAB_TYPE ir_codes_videomate_s350[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE ir_codes_gadmei_rm008z[IR_KEYTAB_SIZE];
 
 #endif