V4L/DVB (12102): em28xx: add Remote control support for EVGA inDtube
authorDevin Heitmueller <dheitmueller@kernellabs.com>
Sun, 21 Jun 2009 00:34:42 +0000 (21:34 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Tue, 23 Jun 2009 06:14:25 +0000 (03:14 -0300)
Add an IR profile for the EVGA inDtube remote control (which is an NEC type
remote)

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/common/ir-keymaps.c
drivers/media/video/em28xx/em28xx-cards.c
include/media/ir-common.h

index 3fe158ac7bbfdc697ed0dd701f637210169fa636..4216328552f6edad952ca870bf57beabef5b1227 100644 (file)
@@ -2750,3 +2750,26 @@ IR_KEYTAB_TYPE ir_codes_dm1105_nec[IR_KEYTAB_SIZE] = {
        [0x1b] = KEY_B,         /*recall*/
 };
 EXPORT_SYMBOL_GPL(ir_codes_dm1105_nec);
+
+/* EVGA inDtube
+   Devin Heitmueller <devin.heitmueller@gmail.com>
+ */
+IR_KEYTAB_TYPE ir_codes_evga_indtube[IR_KEYTAB_SIZE] = {
+       [0x12] = KEY_POWER,
+       [0x02] = KEY_MODE,      /* TV */
+       [0x14] = KEY_MUTE,
+       [0x1a] = KEY_CHANNELUP,
+       [0x16] = KEY_TV2,       /* PIP */
+       [0x1d] = KEY_VOLUMEUP,
+       [0x05] = KEY_CHANNELDOWN,
+       [0x0f] = KEY_PLAYPAUSE,
+       [0x19] = KEY_VOLUMEDOWN,
+       [0x1c] = KEY_REWIND,
+       [0x0d] = KEY_RECORD,
+       [0x18] = KEY_FORWARD,
+       [0x1e] = KEY_PREVIOUS,
+       [0x1b] = KEY_STOP,
+       [0x1f] = KEY_NEXT,
+       [0x13] = KEY_CAMERA,
+};
+EXPORT_SYMBOL_GPL(ir_codes_evga_indtube);
index 972c4addc406beefd47f9926cfb15b4a50188c6f..c43fdb9bc88810c3f2f658f8cb3495d70940a3c2 100644 (file)
@@ -1472,9 +1472,11 @@ struct em28xx_board em28xx_boards[] = {
                .tuner_type   = TUNER_XC2028,
                .tuner_gpio   = default_tuner_gpio,
                .decoder      = EM28XX_TVP5150,
+               .xclk         = EM28XX_XCLK_FREQUENCY_12MHZ, /* NEC IR */
                .mts_firmware = 1,
                .has_dvb      = 1,
                .dvb_gpio     = evga_indtube_digital,
+               .ir_codes     = ir_codes_evga_indtube,
                .input        = { {
                        .type     = EM28XX_VMUX_TELEVISION,
                        .vmux     = TVP5150_COMPOSITE0,
index 7b5b91f60425d687508856ee50444106b2e0cdff..9dcb632f608324d09e234fad008d427a422d59a7 100644 (file)
@@ -162,6 +162,8 @@ extern IR_KEYTAB_TYPE ir_codes_ati_tv_wonder_hd_600[IR_KEYTAB_SIZE];
 extern IR_KEYTAB_TYPE ir_codes_kworld_plus_tv_analog[IR_KEYTAB_SIZE];
 extern IR_KEYTAB_TYPE ir_codes_kaiomy[IR_KEYTAB_SIZE];
 extern IR_KEYTAB_TYPE ir_codes_dm1105_nec[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE ir_codes_evga_indtube[IR_KEYTAB_SIZE];
+
 #endif
 
 /*