aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@infradead.org>2008-04-22 13:46:01 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-04-24 13:07:51 -0400
commit7f0dd17913eda77961fc8213b64cb8af4a155d3e (patch)
treec3b7e611af0cbdb549b22357a4ca04376901edde
parentceb63a4fda646faea60e34fa4c3abf8455add013 (diff)
V4L/DVB (7372): cx88: Add IR support for Pixelview MPEG 8000GT
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r--drivers/media/common/ir-keymaps.c45
-rw-r--r--drivers/media/video/cx88/cx88-input.c7
-rw-r--r--include/media/ir-common.h1
3 files changed, 53 insertions, 0 deletions
diff --git a/drivers/media/common/ir-keymaps.c b/drivers/media/common/ir-keymaps.c
index 107565c47274..35793185630b 100644
--- a/drivers/media/common/ir-keymaps.c
+++ b/drivers/media/common/ir-keymaps.c
@@ -212,6 +212,51 @@ IR_KEYTAB_TYPE ir_codes_pixelview[IR_KEYTAB_SIZE] = {
212 212
213EXPORT_SYMBOL_GPL(ir_codes_pixelview); 213EXPORT_SYMBOL_GPL(ir_codes_pixelview);
214 214
215/*
216 Mauro Carvalho Chehab <mchehab@infradead.org>
217 present on PV MPEG 8000GT
218 */
219IR_KEYTAB_TYPE ir_codes_pixelview_new[IR_KEYTAB_SIZE] = {
220 [0x3c] = KEY_PAUSE, /* Timeshift */
221 [0x12] = KEY_POWER,
222
223 [0x3d] = KEY_1,
224 [0x38] = KEY_2,
225 [0x18] = KEY_3,
226 [0x35] = KEY_4,
227 [0x39] = KEY_5,
228 [0x15] = KEY_6,
229 [0x36] = KEY_7,
230 [0x3a] = KEY_8,
231 [0x1e] = KEY_9,
232 [0x3e] = KEY_0,
233
234 [0x1c] = KEY_AGAIN, /* LOOP */
235 [0x3f] = KEY_MEDIA, /* Source */
236 [0x1f] = KEY_LAST, /* +100 */
237 [0x1b] = KEY_MUTE,
238
239 [0x17] = KEY_CHANNELDOWN,
240 [0x16] = KEY_CHANNELUP,
241 [0x10] = KEY_VOLUMEUP,
242 [0x14] = KEY_VOLUMEDOWN,
243 [0x13] = KEY_ZOOM,
244
245 [0x19] = KEY_SHUFFLE, /* SNAPSHOT */
246 [0x1a] = KEY_SEARCH, /* scan */
247
248 [0x37] = KEY_REWIND, /* << */
249 [0x32] = KEY_RECORD, /* o (red) */
250 [0x33] = KEY_FORWARD, /* >> */
251 [0x11] = KEY_STOP, /* square */
252 [0x3b] = KEY_PLAY, /* > */
253 [0x30] = KEY_PLAYPAUSE, /* || */
254
255 [0x31] = KEY_TV,
256 [0x34] = KEY_RADIO,
257};
258EXPORT_SYMBOL_GPL(ir_codes_pixelview_new);
259
215IR_KEYTAB_TYPE ir_codes_nebula[IR_KEYTAB_SIZE] = { 260IR_KEYTAB_TYPE ir_codes_nebula[IR_KEYTAB_SIZE] = {
216 [ 0x00 ] = KEY_0, 261 [ 0x00 ] = KEY_0,
217 [ 0x01 ] = KEY_1, 262 [ 0x01 ] = KEY_1,
diff --git a/drivers/media/video/cx88/cx88-input.c b/drivers/media/video/cx88/cx88-input.c
index d2e42c77b5a8..6b25b8c9bb6d 100644
--- a/drivers/media/video/cx88/cx88-input.c
+++ b/drivers/media/video/cx88/cx88-input.c
@@ -258,6 +258,13 @@ int cx88_ir_init(struct cx88_core *core, struct pci_dev *pci)
258 ir->mask_keyup = 0x80; 258 ir->mask_keyup = 0x80;
259 ir->polling = 1; /* ms */ 259 ir->polling = 1; /* ms */
260 break; 260 break;
261 case CX88_BOARD_PROLINK_PV_8000GT:
262 ir_codes = ir_codes_pixelview_new;
263 ir->gpio_addr = MO_GP1_IO;
264 ir->mask_keycode = 0x3f;
265 ir->mask_keyup = 0x80;
266 ir->polling = 1; /* ms */
267 break;
261 case CX88_BOARD_KWORLD_LTV883: 268 case CX88_BOARD_KWORLD_LTV883:
262 ir_codes = ir_codes_pixelview; 269 ir_codes = ir_codes_pixelview;
263 ir->gpio_addr = MO_GP1_IO; 270 ir->gpio_addr = MO_GP1_IO;
diff --git a/include/media/ir-common.h b/include/media/ir-common.h
index a4274203f252..20f1afe2140e 100644
--- a/include/media/ir-common.h
+++ b/include/media/ir-common.h
@@ -107,6 +107,7 @@ extern IR_KEYTAB_TYPE ir_codes_avermedia[IR_KEYTAB_SIZE];
107extern IR_KEYTAB_TYPE ir_codes_avermedia_dvbt[IR_KEYTAB_SIZE]; 107extern IR_KEYTAB_TYPE ir_codes_avermedia_dvbt[IR_KEYTAB_SIZE];
108extern IR_KEYTAB_TYPE ir_codes_apac_viewcomp[IR_KEYTAB_SIZE]; 108extern IR_KEYTAB_TYPE ir_codes_apac_viewcomp[IR_KEYTAB_SIZE];
109extern IR_KEYTAB_TYPE ir_codes_pixelview[IR_KEYTAB_SIZE]; 109extern IR_KEYTAB_TYPE ir_codes_pixelview[IR_KEYTAB_SIZE];
110extern IR_KEYTAB_TYPE ir_codes_pixelview_new[IR_KEYTAB_SIZE];
110extern IR_KEYTAB_TYPE ir_codes_nebula[IR_KEYTAB_SIZE]; 111extern IR_KEYTAB_TYPE ir_codes_nebula[IR_KEYTAB_SIZE];
111extern IR_KEYTAB_TYPE ir_codes_dntv_live_dvb_t[IR_KEYTAB_SIZE]; 112extern IR_KEYTAB_TYPE ir_codes_dntv_live_dvb_t[IR_KEYTAB_SIZE];
112extern IR_KEYTAB_TYPE ir_codes_iodata_bctv7e[IR_KEYTAB_SIZE]; 113extern IR_KEYTAB_TYPE ir_codes_iodata_bctv7e[IR_KEYTAB_SIZE];