diff options
author | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-04-22 13:46:01 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-04-24 13:07:51 -0400 |
commit | 7f0dd17913eda77961fc8213b64cb8af4a155d3e (patch) | |
tree | c3b7e611af0cbdb549b22357a4ca04376901edde | |
parent | ceb63a4fda646faea60e34fa4c3abf8455add013 (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.c | 45 | ||||
-rw-r--r-- | drivers/media/video/cx88/cx88-input.c | 7 | ||||
-rw-r--r-- | include/media/ir-common.h | 1 |
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 | ||
213 | EXPORT_SYMBOL_GPL(ir_codes_pixelview); | 213 | EXPORT_SYMBOL_GPL(ir_codes_pixelview); |
214 | 214 | ||
215 | /* | ||
216 | Mauro Carvalho Chehab <mchehab@infradead.org> | ||
217 | present on PV MPEG 8000GT | ||
218 | */ | ||
219 | IR_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 | }; | ||
258 | EXPORT_SYMBOL_GPL(ir_codes_pixelview_new); | ||
259 | |||
215 | IR_KEYTAB_TYPE ir_codes_nebula[IR_KEYTAB_SIZE] = { | 260 | IR_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]; | |||
107 | extern IR_KEYTAB_TYPE ir_codes_avermedia_dvbt[IR_KEYTAB_SIZE]; | 107 | extern IR_KEYTAB_TYPE ir_codes_avermedia_dvbt[IR_KEYTAB_SIZE]; |
108 | extern IR_KEYTAB_TYPE ir_codes_apac_viewcomp[IR_KEYTAB_SIZE]; | 108 | extern IR_KEYTAB_TYPE ir_codes_apac_viewcomp[IR_KEYTAB_SIZE]; |
109 | extern IR_KEYTAB_TYPE ir_codes_pixelview[IR_KEYTAB_SIZE]; | 109 | extern IR_KEYTAB_TYPE ir_codes_pixelview[IR_KEYTAB_SIZE]; |
110 | extern IR_KEYTAB_TYPE ir_codes_pixelview_new[IR_KEYTAB_SIZE]; | ||
110 | extern IR_KEYTAB_TYPE ir_codes_nebula[IR_KEYTAB_SIZE]; | 111 | extern IR_KEYTAB_TYPE ir_codes_nebula[IR_KEYTAB_SIZE]; |
111 | extern IR_KEYTAB_TYPE ir_codes_dntv_live_dvb_t[IR_KEYTAB_SIZE]; | 112 | extern IR_KEYTAB_TYPE ir_codes_dntv_live_dvb_t[IR_KEYTAB_SIZE]; |
112 | extern IR_KEYTAB_TYPE ir_codes_iodata_bctv7e[IR_KEYTAB_SIZE]; | 113 | extern IR_KEYTAB_TYPE ir_codes_iodata_bctv7e[IR_KEYTAB_SIZE]; |