V4L/DVB: Add Elgato EyeTV Diversity to dibcom driver
authorMichael Müller <mueller michael@alice-dsl.net>
Tue, 27 Apr 2010 01:18:57 +0000 (22:18 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Wed, 19 May 2010 15:58:30 +0000 (12:58 -0300)
This patch introduces support for DVB-T for the following dibcom
based card: Elgato EyeTV Diversity (USB-ID: 0fd9:0011)

Support for the Elgato silver IR remote is added too (set parameter
dvb_usb_dib0700_ir_proto=0)

[w.sang@pengutronix.de: rebased to current linuxtv-master]
Signed-off-by: Michael Müller <mueller_michael@alice-dsl.net>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Patrick Boettcher <pboettcher@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/dvb/dvb-usb/dib0700_devices.c
drivers/media/dvb/dvb-usb/dvb-usb-ids.h

index 2deca210d5a0029a30fa3cce4616bdbf050f7b82..800800a9649e66fae295186d48432d33dae34e12 100644 (file)
@@ -794,6 +794,43 @@ static struct dvb_usb_rc_key ir_codes_dib0700_table[] = {
        { 0x7a13, KEY_VOLUMEDOWN },
        { 0x7a40, KEY_POWER },
        { 0x7a41, KEY_MUTE },
+
+       /* Key codes for the Elgato EyeTV Diversity silver remote,
+          set dvb_usb_dib0700_ir_proto=0 */
+       { 0x4501, KEY_POWER },
+       { 0x4502, KEY_MUTE },
+       { 0x4503, KEY_1 },
+       { 0x4504, KEY_2 },
+       { 0x4505, KEY_3 },
+       { 0x4506, KEY_4 },
+       { 0x4507, KEY_5 },
+       { 0x4508, KEY_6 },
+       { 0x4509, KEY_7 },
+       { 0x450a, KEY_8 },
+       { 0x450b, KEY_9 },
+       { 0x450c, KEY_LAST },
+       { 0x450d, KEY_0 },
+       { 0x450e, KEY_ENTER },
+       { 0x450f, KEY_RED },
+       { 0x4510, KEY_CHANNELUP },
+       { 0x4511, KEY_GREEN },
+       { 0x4512, KEY_VOLUMEDOWN },
+       { 0x4513, KEY_OK },
+       { 0x4514, KEY_VOLUMEUP },
+       { 0x4515, KEY_YELLOW },
+       { 0x4516, KEY_CHANNELDOWN },
+       { 0x4517, KEY_BLUE },
+       { 0x4518, KEY_LEFT }, /* Skip backwards */
+       { 0x4519, KEY_PLAYPAUSE },
+       { 0x451a, KEY_RIGHT }, /* Skip forward */
+       { 0x451b, KEY_REWIND },
+       { 0x451c, KEY_L }, /* Live */
+       { 0x451d, KEY_FASTFORWARD },
+       { 0x451e, KEY_STOP }, /* 'Reveal' for Teletext */
+       { 0x451f, KEY_MENU }, /* KEY_TEXT for Teletext */
+       { 0x4540, KEY_RECORD }, /* Font 'Size' for Teletext */
+       { 0x4541, KEY_SCREEN }, /*  Full screen toggle, 'Hold' for Teletext */
+       { 0x4542, KEY_SELECT }, /* Select video input, 'Select' for Teletext */
 };
 
 /* STK7700P: Hauppauge Nova-T Stick, AVerMedia Volar */
@@ -2049,6 +2086,7 @@ struct usb_device_id dib0700_usb_id_table[] = {
 /* 65 */{ USB_DEVICE(USB_VID_PINNACLE, USB_PID_PINNACLE_PCTV73ESE) },
        { USB_DEVICE(USB_VID_PINNACLE,  USB_PID_PINNACLE_PCTV282E) },
        { USB_DEVICE(USB_VID_DIBCOM,    USB_PID_DIBCOM_STK8096GP) },
+       { USB_DEVICE(USB_VID_ELGATO,    USB_PID_ELGATO_EYETV_DIVERSITY) },
        { 0 }           /* Terminating entry */
 };
 MODULE_DEVICE_TABLE(usb, dib0700_usb_id_table);
@@ -2393,7 +2431,7 @@ struct dvb_usb_device_properties dib0700_devices[] = {
                        }
                },
 
-               .num_device_descs = 6,
+               .num_device_descs = 7,
                .devices = {
                        {   "DiBcom STK7070PD reference design",
                                { &dib0700_usb_id_table[17], NULL },
@@ -2419,7 +2457,11 @@ struct dvb_usb_device_properties dib0700_devices[] = {
                        {  "Sony PlayTV",
                                { &dib0700_usb_id_table[44], NULL },
                                { NULL },
-                       }
+                       },
+                       {   "Elgato EyeTV Diversity",
+                               { &dib0700_usb_id_table[68], NULL },
+                               { NULL },
+                       },
                },
                .rc_interval      = DEFAULT_RC_INTERVAL,
                .rc_key_map       = ir_codes_dib0700_table,
index de1f3af60d533dc66b38c047dc4c4b454f3729fd..085c4e457e0e22c611f6e087d9fc4b6d98f7d8ad 100644 (file)
 #define USB_PID_MSI_DIGI_VOX_MINI_III                   0x8807
 #define USB_PID_SONY_PLAYTV                            0x0003
 #define USB_PID_MYGICA_D689                            0xd811
+#define USB_PID_ELGATO_EYETV_DIVERSITY                 0x0011
 #define USB_PID_ELGATO_EYETV_DTT                       0x0021
 #define USB_PID_ELGATO_EYETV_DTT_Dlx                   0x0020
 #define USB_PID_DVB_T_USB_STICK_HIGH_SPEED_COLD                0x5000