* [Patch] Add support for PixelView Ultra Pro in v4l
@ 2005-06-02 11:40 Manuel Capinha
0 siblings, 0 replies; only message in thread
From: Manuel Capinha @ 2005-06-02 11:40 UTC (permalink / raw)
To: Linux and Kernel Video, Linux Kernel, Andrew Morton,
Mauro Carvalho Chehab
The following patch adds support for the PixelView Ultra Pro video
capture card in v4l.
- It removes the remote control key definitions from ir-kbd-gpio.c and
moves them to ir-common.c so that they can be shared between bt878 and
cx88 based cards.
- The patch also moves the FUSIONHDTV_3_GOLD_Q card from number 27 to
28 to regain compatibility with the V4L cvs.
This patch was made against 2.6.12-rc5-mm.
Thanks and feel free to contact me if you need any aditional info on this,
Manuel
----------------------------------SNIP------------------------------------------------
diff -ur linux-2.6.12-rc5-mm/drivers/media/common/ir-common.c
linux-2.6.12-rc5-mm-PixelView/drivers/media/common/ir-common.c
--- linux-2.6.12-rc5-mm/drivers/media/common/ir-common.c 2005-06-02
00:38:34.191718432 +0100
+++ linux-2.6.12-rc5-mm-PixelView/drivers/media/common/ir-common.c 2005-06-02
01:01:40.322994448 +0100
@@ -213,6 +213,39 @@
};
EXPORT_SYMBOL(ir_codes_hauppauge_new);
+IR_KEYTAB_TYPE ir_codes_pixelview[IR_KEYTAB_SIZE] = {
+ [ 2 ] = KEY_KP0,
+ [ 1 ] = KEY_KP1,
+ [ 11 ] = KEY_KP2,
+ [ 27 ] = KEY_KP3,
+ [ 5 ] = KEY_KP4,
+ [ 9 ] = KEY_KP5,
+ [ 21 ] = KEY_KP6,
+ [ 6 ] = KEY_KP7,
+ [ 10 ] = KEY_KP8,
+ [ 18 ] = KEY_KP9,
+
+ [ 3 ] = KEY_TUNER, // TV/FM
+ [ 7 ] = KEY_SEARCH, // scan
+ [ 28 ] = KEY_ZOOM, // full screen
+ [ 30 ] = KEY_POWER,
+ [ 23 ] = KEY_VOLUMEDOWN,
+ [ 31 ] = KEY_VOLUMEUP,
+ [ 20 ] = KEY_CHANNELDOWN,
+ [ 22 ] = KEY_CHANNELUP,
+ [ 24 ] = KEY_MUTE,
+
+ [ 0 ] = KEY_LIST, // source
+ [ 19 ] = KEY_INFO, // loop
+ [ 16 ] = KEY_LAST, // +100
+ [ 13 ] = KEY_CLEAR, // reset
+ [ 12 ] = BTN_RIGHT, // fun++
+ [ 4 ] = BTN_LEFT, // fun--
+ [ 14 ] = KEY_GOTO, // function
+ [ 15 ] = KEY_STOP, // freeze
+};
+EXPORT_SYMBOL(ir_codes_pixelview);
+
/* --------------------------------------------------------------------------
*/
static void ir_input_key_event(struct input_dev *dev, struct
ir_input_state *ir)
diff -ur linux-2.6.12-rc5-mm/drivers/media/video/cx88/cx88-cards.c
linux-2.6.12-rc5-mm-PixelView/drivers/media/video/cx88/cx88-cards.c
--- linux-2.6.12-rc5-mm/drivers/media/video/cx88/cx88-cards.c 2005-06-02
00:38:32.761935792 +0100
+++ linux-2.6.12-rc5-mm-PixelView/drivers/media/video/cx88/cx88-cards.c 2005-06-02
00:55:47.298662304 +0100
@@ -628,6 +628,27 @@
.gpio1 = 0x0000e07f,
}}
},
+ [CX88_BOARD_PIXELVIEW_PLAYTV_ULTRA_PRO] = {
+ .name = "PixelView PlayTV Ultra Pro (Stereo)",
+ .tuner_type = 38,
+ .input = {{
+ .type = CX88_VMUX_TELEVISION,
+ .vmux = 0,
+ .gpio0 = 0xbf61, // internal decoder
+ },{
+ .type = CX88_VMUX_COMPOSITE1,
+ .vmux = 1,
+ .gpio0 = 0xbf63,
+ },{
+ .type = CX88_VMUX_SVIDEO,
+ .vmux = 2,
+ .gpio0 = 0xbf63,
+ }},
+ .radio = {
+ .type = CX88_RADIO,
+ .gpio0 = 0xbf60,
+ },
+ },
};
const unsigned int cx88_bcount = ARRAY_SIZE(cx88_boards);
diff -ur linux-2.6.12-rc5-mm/drivers/media/video/cx88/cx88.h
linux-2.6.12-rc5-mm-PixelView/drivers/media/video/cx88/cx88.h
--- linux-2.6.12-rc5-mm/drivers/media/video/cx88/cx88.h 2005-06-02
00:38:32.764935336 +0100
+++ linux-2.6.12-rc5-mm-PixelView/drivers/media/video/cx88/cx88.h 2005-06-02
00:56:31.586929464 +0100
@@ -162,7 +162,8 @@
#define CX88_BOARD_HAUPPAUGE_ROSLYN 24
#define CX88_BOARD_DIGITALLOGIC_MEC 25
#define CX88_BOARD_IODATA_GVBCTV7E 26
-#define CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD_Q 27
+#define CX88_BOARD_PIXELVIEW_PLAYTV_ULTRA_PRO 27
+#define CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD_Q 28
enum cx88_itype {
CX88_VMUX_COMPOSITE1 = 1,
diff -ur linux-2.6.12-rc5-mm/drivers/media/video/cx88/cx88-input.c
linux-2.6.12-rc5-mm-PixelView/drivers/media/video/cx88/cx88-input.c
--- linux-2.6.12-rc5-mm/drivers/media/video/cx88/cx88-input.c 2005-06-02
00:38:32.777933360 +0100
+++ linux-2.6.12-rc5-mm-PixelView/drivers/media/video/cx88/cx88-input.c 2005-06-02
00:58:05.120710168 +0100
@@ -261,6 +261,13 @@
ir->mask_keydown = 0x02;
ir->polling = 5; // ms
break;
+ case CX88_BOARD_PIXELVIEW_PLAYTV_ULTRA_PRO:
+ ir_codes = ir_codes_pixelview;
+ ir->gpio_addr = MO_GP1_IO;
+ ir->mask_keycode = 0x1f;
+ ir->mask_keyup = 0x80;
+ ir->polling = 1; // ms
+ break;
}
if (NULL == ir_codes) {
kfree(ir);
diff -ur linux-2.6.12-rc5-mm/drivers/media/video/ir-kbd-gpio.c
linux-2.6.12-rc5-mm-PixelView/drivers/media/video/ir-kbd-gpio.c
--- linux-2.6.12-rc5-mm/drivers/media/video/ir-kbd-gpio.c 2005-06-02
00:38:33.108883048 +0100
+++ linux-2.6.12-rc5-mm-PixelView/drivers/media/video/ir-kbd-gpio.c 2005-06-02
01:03:08.762549592 +0100
@@ -114,38 +114,6 @@
[ 0x3e ] = KEY_VOLUMEUP, // 'volume +'
};
-static IR_KEYTAB_TYPE ir_codes_pixelview[IR_KEYTAB_SIZE] = {
- [ 2 ] = KEY_KP0,
- [ 1 ] = KEY_KP1,
- [ 11 ] = KEY_KP2,
- [ 27 ] = KEY_KP3,
- [ 5 ] = KEY_KP4,
- [ 9 ] = KEY_KP5,
- [ 21 ] = KEY_KP6,
- [ 6 ] = KEY_KP7,
- [ 10 ] = KEY_KP8,
- [ 18 ] = KEY_KP9,
-
- [ 3 ] = KEY_TUNER, // TV/FM
- [ 7 ] = KEY_SEARCH, // scan
- [ 28 ] = KEY_ZOOM, // full screen
- [ 30 ] = KEY_POWER,
- [ 23 ] = KEY_VOLUMEDOWN,
- [ 31 ] = KEY_VOLUMEUP,
- [ 20 ] = KEY_CHANNELDOWN,
- [ 22 ] = KEY_CHANNELUP,
- [ 24 ] = KEY_MUTE,
-
- [ 0 ] = KEY_LIST, // source
- [ 19 ] = KEY_INFO, // loop
- [ 16 ] = KEY_LAST, // +100
- [ 13 ] = KEY_CLEAR, // reset
- [ 12 ] = BTN_RIGHT, // fun++
- [ 4 ] = BTN_LEFT, // fun--
- [ 14 ] = KEY_GOTO, // function
- [ 15 ] = KEY_STOP, // freeze
-};
-
/* Attila Kondoros <attila.kondoros@chello.hu> */
static IR_KEYTAB_TYPE ir_codes_apac_viewcomp[IR_KEYTAB_SIZE] = {
diff -ur linux-2.6.12-rc5-mm/include/media/ir-common.h
linux-2.6.12-rc5-mm-PixelView/include/media/ir-common.h
--- linux-2.6.12-rc5-mm/include/media/ir-common.h 2005-06-02
00:39:52.044882952 +0100
+++ linux-2.6.12-rc5-mm-PixelView/include/media/ir-common.h 2005-06-02
01:02:22.670556640 +0100
@@ -50,6 +50,7 @@
extern IR_KEYTAB_TYPE ir_codes_winfast[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_empty[IR_KEYTAB_SIZE];
extern IR_KEYTAB_TYPE ir_codes_hauppauge_new[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE ir_codes_pixelview[IR_KEYTAB_SIZE];
void ir_input_init(struct input_dev *dev, struct ir_input_state *ir,
int ir_type, IR_KEYTAB_TYPE *ir_codes);
----------------------------------SNIP------------------------------------------------
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2005-06-02 11:40 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-06-02 11:40 [Patch] Add support for PixelView Ultra Pro in v4l Manuel Capinha
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.