summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDevin Heitmueller <dheitmueller@linuxtv.org>2009-08-03 23:56:51 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-09-12 12:18:52 -0300
commit8cd9aaefad5968f8f5aff3852a67870550ce941d (patch)
treee44c776bf722bd789bc0d765b12f75283ff10a8b
parent4d14c833c0d5f926721da1e0b07287ab8b64f0ba (diff)
downloadkernel-crypto-8cd9aaefad5968f8f5aff3852a67870550ce941d.tar.gz
kernel-crypto-8cd9aaefad5968f8f5aff3852a67870550ce941d.tar.xz
kernel-crypto-8cd9aaefad5968f8f5aff3852a67870550ce941d.zip
V4L/DVB (12444): em28xx: add support for Terratec Cinergy Hybrid T USB XS remote control
Add support for the remote control that comes with the Cinergy Hybrid T USB XS Thanks to Jelle de Jong for providing sample hardware to test with. Cc: Jelle de Jong <jelledejong@powercraft.nl> Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/common/ir-keymaps.c55
-rw-r--r--drivers/media/video/em28xx/em28xx-cards.c2
-rw-r--r--include/media/ir-common.h1
3 files changed, 58 insertions, 0 deletions
diff --git a/drivers/media/common/ir-keymaps.c b/drivers/media/common/ir-keymaps.c
index 4216328552f..58d3e54db5a 100644
--- a/drivers/media/common/ir-keymaps.c
+++ b/drivers/media/common/ir-keymaps.c
@@ -2751,6 +2751,61 @@ IR_KEYTAB_TYPE ir_codes_dm1105_nec[IR_KEYTAB_SIZE] = {
};
EXPORT_SYMBOL_GPL(ir_codes_dm1105_nec);
+
+/* Terratec Cinergy Hybrid T USB XS
+ Devin Heitmueller <dheitmueller@linuxtv.org>
+ */
+IR_KEYTAB_TYPE ir_codes_terratec_cinergy_xs[IR_KEYTAB_SIZE] = {
+ [0x41] = KEY_HOME,
+ [0x01] = KEY_POWER,
+ [0x42] = KEY_MENU,
+ [0x02] = KEY_1,
+ [0x03] = KEY_2,
+ [0x04] = KEY_3,
+ [0x43] = KEY_SUBTITLE,
+ [0x05] = KEY_4,
+ [0x06] = KEY_5,
+ [0x07] = KEY_6,
+ [0x44] = KEY_TEXT,
+ [0x08] = KEY_7,
+ [0x09] = KEY_8,
+ [0x0a] = KEY_9,
+ [0x45] = KEY_DELETE,
+ [0x0b] = KEY_TUNER,
+ [0x0c] = KEY_0,
+ [0x0d] = KEY_MODE,
+ [0x46] = KEY_TV,
+ [0x47] = KEY_DVD,
+ [0x49] = KEY_VIDEO,
+ [0x4b] = KEY_AUX,
+ [0x10] = KEY_UP,
+ [0x11] = KEY_LEFT,
+ [0x12] = KEY_OK,
+ [0x13] = KEY_RIGHT,
+ [0x14] = KEY_DOWN,
+ [0x0f] = KEY_EPG,
+ [0x16] = KEY_INFO,
+ [0x4d] = KEY_BACKSPACE,
+ [0x1c] = KEY_VOLUMEUP,
+ [0x4c] = KEY_PLAY,
+ [0x1b] = KEY_CHANNELUP,
+ [0x1e] = KEY_VOLUMEDOWN,
+ [0x1d] = KEY_MUTE,
+ [0x1f] = KEY_CHANNELDOWN,
+ [0x17] = KEY_RED,
+ [0x18] = KEY_GREEN,
+ [0x19] = KEY_YELLOW,
+ [0x1a] = KEY_BLUE,
+ [0x58] = KEY_RECORD,
+ [0x48] = KEY_STOP,
+ [0x40] = KEY_PAUSE,
+ [0x54] = KEY_LAST,
+ [0x4e] = KEY_REWIND,
+ [0x4f] = KEY_FASTFORWARD,
+ [0x5c] = KEY_NEXT,
+};
+EXPORT_SYMBOL_GPL(ir_codes_terratec_cinergy_xs);
+
/* EVGA inDtube
Devin Heitmueller <devin.heitmueller@gmail.com>
*/
diff --git a/drivers/media/video/em28xx/em28xx-cards.c b/drivers/media/video/em28xx/em28xx-cards.c
index 02e24411b13..66c37768370 100644
--- a/drivers/media/video/em28xx/em28xx-cards.c
+++ b/drivers/media/video/em28xx/em28xx-cards.c
@@ -870,6 +870,8 @@ struct em28xx_board em28xx_boards[] = {
.decoder = EM28XX_TVP5150,
.has_dvb = 1,
.dvb_gpio = default_digital,
+ .ir_codes = ir_codes_terratec_cinergy_xs,
+ .xclk = EM28XX_XCLK_FREQUENCY_12MHZ, /* NEC IR */
.input = { {
.type = EM28XX_VMUX_TELEVISION,
.vmux = TVP5150_COMPOSITE0,
diff --git a/include/media/ir-common.h b/include/media/ir-common.h
index 9dcb632f608..922bad37dee 100644
--- a/include/media/ir-common.h
+++ b/include/media/ir-common.h
@@ -163,6 +163,7 @@ 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];
+extern IR_KEYTAB_TYPE ir_codes_terratec_cinergy_xs[IR_KEYTAB_SIZE];
#endif