V4L/DVB (7506): Powercolor Real Angel 330 (remote control support)
authorDâniel Fraga <fragabr@gmail.com>
Tue, 8 Apr 2008 22:56:44 +0000 (19:56 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Thu, 24 Apr 2008 17:07:58 +0000 (14:07 -0300)
The attached patch adds complete remote control support for Powercolor Real
Angel 330.

Signed-off-by: Daniel Fraga <fragabr@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/common/ir-keymaps.c
drivers/media/video/cx88/cx88-input.c
include/media/ir-common.h

index 3579318..c5d10bd 100644 (file)
@@ -2084,3 +2084,46 @@ IR_KEYTAB_TYPE ir_codes_genius_tvgo_a11mce[IR_KEYTAB_SIZE] = {
        [0x50] = KEY_BLUE,
 };
 EXPORT_SYMBOL_GPL(ir_codes_genius_tvgo_a11mce);
+
+/*
+ * Remote control for Powercolor Real Angel 330
+ * Daniel Fraga <fragabr@gmail.com>
+ */
+IR_KEYTAB_TYPE ir_codes_powercolor_real_angel[IR_KEYTAB_SIZE] = {
+       [0x38] = KEY_SWITCHVIDEOMODE,   /* switch inputs */
+       [0x0c] = KEY_MEDIA,             /* Turn ON/OFF App */
+       [0x00] = KEY_0,
+       [0x01] = KEY_1,
+       [0x02] = KEY_2,
+       [0x03] = KEY_3,
+       [0x04] = KEY_4,
+       [0x05] = KEY_5,
+       [0x06] = KEY_6,
+       [0x07] = KEY_7,
+       [0x08] = KEY_8,
+       [0x09] = KEY_9,
+       [0x0a] = KEY_DIGITS,            /* single, double, tripple digit */
+       [0x29] = KEY_PREVIOUS,          /* previous channel */
+       [0x12] = KEY_BRIGHTNESSUP,
+       [0x13] = KEY_BRIGHTNESSDOWN,
+       [0x2b] = KEY_MODE,              /* stereo/mono */
+       [0x2c] = KEY_TEXT,              /* teletext */
+       [0x20] = KEY_UP,                /* channel up */
+       [0x21] = KEY_DOWN,              /* channel down */
+       [0x10] = KEY_RIGHT,             /* volume up */
+       [0x11] = KEY_LEFT,              /* volume down */
+       [0x0d] = KEY_MUTE,
+       [0x1f] = KEY_RECORD,
+       [0x17] = KEY_PLAY,
+       [0x16] = KEY_PAUSE,
+       [0x0b] = KEY_STOP,
+       [0x27] = KEY_FASTFORWARD,
+       [0x26] = KEY_REWIND,
+       [0x1e] = KEY_SEARCH,            /* autoscan */
+       [0x0e] = KEY_SHUFFLE,           /* snapshot */
+       [0x2d] = KEY_SETUP,
+       [0x0f] = KEY_SCREEN,            /* full screen */
+       [0x14] = KEY_RADIO,             /* FM radio */
+       [0x25] = KEY_POWER,             /* power */
+};
+EXPORT_SYMBOL_GPL(ir_codes_powercolor_real_angel);
index 6b25b8c..53526d9 100644 (file)
@@ -317,6 +317,12 @@ int cx88_ir_init(struct cx88_core *core, struct pci_dev *pci)
                ir_type = IR_TYPE_RC5;
                ir->sampling = 1;
                break;
+       case CX88_BOARD_POWERCOLOR_REAL_ANGEL:
+               ir_codes = ir_codes_powercolor_real_angel;
+               ir->gpio_addr = MO_GP2_IO;
+               ir->mask_keycode = 0x7e;
+               ir->polling = 100; /* ms */
+               break;
        }
 
        if (NULL == ir_codes) {
index 20f1afe..75a3482 100644 (file)
@@ -144,6 +144,7 @@ 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];
+extern IR_KEYTAB_TYPE ir_codes_powercolor_real_angel[IR_KEYTAB_SIZE];
 
 #endif