Browse Source

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>
Devin Heitmueller 16 years ago
parent
commit
8cd9aaefad

+ 55 - 0
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>
  */

+ 2 - 0
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,

+ 1 - 0
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