[media] em28xx: Add support for 1b80:e1cc Delock 61959
authorJakob Haufe <sur5r@sur5r.net>
Sat, 13 Apr 2013 14:03:37 +0000 (11:03 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Tue, 21 May 2013 11:18:42 +0000 (08:18 -0300)
Hardware is the same as MaxMedia UB425-TC but ships with a different
remote.

Signed-off-by: Jakob Haufe <sur5r@sur5r.net>
Reviewed-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/usb/em28xx/em28xx-cards.c
drivers/media/usb/em28xx/em28xx-dvb.c
drivers/media/usb/em28xx/em28xx.h

index 83bfbe4..927956b 100644 (file)
@@ -374,6 +374,7 @@ static struct em28xx_reg_seq hauppauge_930c_digital[] = {
 #endif
 
 /* 1b80:e425 MaxMedia UB425-TC
+ * 1b80:e1cc Delock 61959
  * GPIO_6 - demod reset, 0=active
  * GPIO_7 - LED, 0=active
  */
@@ -2017,6 +2018,19 @@ struct em28xx_board em28xx_boards[] = {
                .i2c_speed    = EM28XX_I2C_CLK_WAIT_ENABLE |
                                EM28XX_I2C_FREQ_400_KHZ,
        },
+       /* 1b80:e1cc Delock 61959
+        * Empia EM2874B + Micronas DRX 3913KA2 + NXP TDA18271HDC2
+         * mostly the same as MaxMedia UB-425-TC but different remote */
+       [EM2874_BOARD_DELOCK_61959] = {
+               .name          = "Delock 61959",
+               .tuner_type    = TUNER_ABSENT,
+               .tuner_gpio    = maxmedia_ub425_tc,
+               .has_dvb       = 1,
+               .ir_codes      = RC_MAP_DELOCK_61959,
+               .def_i2c_bus   = 1,
+               .i2c_speed     = EM28XX_I2C_CLK_WAIT_ENABLE |
+                               EM28XX_I2C_FREQ_400_KHZ,
+       },
 };
 const unsigned int em28xx_bcount = ARRAY_SIZE(em28xx_boards);
 
@@ -2178,6 +2192,8 @@ struct usb_device_id em28xx_id_table[] = {
                        .driver_info = EM2884_BOARD_PCTV_510E },
        { USB_DEVICE(0x2013, 0x0251),
                        .driver_info = EM2884_BOARD_PCTV_520E },
+       { USB_DEVICE(0x1b80, 0xe1cc),
+                       .driver_info = EM2874_BOARD_DELOCK_61959 },
        { },
 };
 MODULE_DEVICE_TABLE(usb, em28xx_id_table);
index b22f8fe..42ede68 100644 (file)
@@ -1216,6 +1216,7 @@ static int em28xx_dvb_init(struct em28xx *dev)
                        dvb_attach(a8293_attach, dvb->fe[0], &dev->i2c_adap[dev->def_i2c_bus],
                                &em28xx_a8293_config);
                break;
+       case EM2874_BOARD_DELOCK_61959:
        case EM2874_BOARD_MAXMEDIA_UB425_TC:
                /* attach demodulator */
                dvb->fe[0] = dvb_attach(drxk_attach, &maxmedia_ub425_tc_drxk,
@@ -1235,8 +1236,8 @@ static int em28xx_dvb_init(struct em28xx *dev)
                }
 
                /* TODO: we need drx-3913k firmware in order to support DVB-T */
-               em28xx_info("MaxMedia UB425-TC: only DVB-C supported by that " \
-                               "driver version\n");
+               em28xx_info("MaxMedia UB425-TC/Delock 61959: only DVB-C " \
+                               "supported by that driver version\n");
 
                break;
        case EM2884_BOARD_PCTV_510E:
index a9323b6..59a9580 100644 (file)
 #define EM2884_BOARD_PCTV_520E                   86
 #define EM2884_BOARD_TERRATEC_HTC_USB_XS         87
 #define EM2884_BOARD_C3TECH_DIGITAL_DUO                  88
+#define EM2874_BOARD_DELOCK_61959                89
 
 /* Limits minimum and default number of buffers */
 #define EM28XX_MIN_BUF 4