mirror of https://gitee.com/openkylin/linux.git
V4L/DVB (7992): Add support for Pinnacle PCTV HD Pro stick (the older variant 2304:0227)
Signed-off-by: Devin Heitmueller <devin.heitmueller@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
parent
72937890f9
commit
4fd305b2a2
|
@ -15,3 +15,4 @@
|
|||
14 -> Pixelview Prolink PlayTV USB 2.0 (em2820/em2840)
|
||||
15 -> V-Gear PocketTV (em2800)
|
||||
16 -> Hauppauge WinTV HVR 950 (em2880) [2040:6513,2040:6517,2040:651b,2040:651f]
|
||||
17 -> Pinnacle PCTV HD Pro Stick (em2880) [2304:0227]
|
||||
|
|
|
@ -196,6 +196,29 @@ struct em28xx_board em28xx_boards[] = {
|
|||
.amux = 1,
|
||||
} },
|
||||
},
|
||||
[EM2880_BOARD_PINNACLE_PCTV_HD_PRO] = {
|
||||
.name = "Pinnacle PCTV HD Pro Stick",
|
||||
.vchannels = 3,
|
||||
.tda9887_conf = TDA9887_PRESENT,
|
||||
.tuner_type = TUNER_XC2028,
|
||||
.mts_firmware = 1,
|
||||
.has_12mhz_i2s = 1,
|
||||
.has_dvb = 1,
|
||||
.decoder = EM28XX_TVP5150,
|
||||
.input = { {
|
||||
.type = EM28XX_VMUX_TELEVISION,
|
||||
.vmux = TVP5150_COMPOSITE0,
|
||||
.amux = 0,
|
||||
}, {
|
||||
.type = EM28XX_VMUX_COMPOSITE1,
|
||||
.vmux = TVP5150_COMPOSITE1,
|
||||
.amux = 1,
|
||||
}, {
|
||||
.type = EM28XX_VMUX_SVIDEO,
|
||||
.vmux = TVP5150_SVIDEO,
|
||||
.amux = 1,
|
||||
} },
|
||||
},
|
||||
[EM2880_BOARD_TERRATEC_HYBRID_XS] = {
|
||||
.name = "Terratec Hybrid XS",
|
||||
.vchannels = 3,
|
||||
|
@ -417,6 +440,8 @@ struct usb_device_id em28xx_id_table [] = {
|
|||
.driver_info = EM2820_BOARD_PINNACLE_DVC_90 },
|
||||
{ USB_DEVICE(0x2304, 0x021a),
|
||||
.driver_info = EM2820_BOARD_PINNACLE_DVC_90 },
|
||||
{ USB_DEVICE(0x2304, 0x0227),
|
||||
.driver_info = EM2880_BOARD_PINNACLE_PCTV_HD_PRO },
|
||||
{ USB_DEVICE(0x2040, 0x6500),
|
||||
.driver_info = EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900 },
|
||||
{ USB_DEVICE(0x2040, 0x6502),
|
||||
|
@ -544,6 +569,7 @@ void em28xx_pre_card_setup(struct em28xx *dev)
|
|||
case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900:
|
||||
case EM2880_BOARD_TERRATEC_HYBRID_XS:
|
||||
case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_950:
|
||||
case EM2880_BOARD_PINNACLE_PCTV_HD_PRO:
|
||||
em28xx_write_regs(dev, EM28XX_R0F_XCLK, "\x27", 1);
|
||||
em28xx_write_regs(dev, EM28XX_R06_I2C_CLK, "\x40", 1);
|
||||
msleep(50);
|
||||
|
@ -577,6 +603,7 @@ static void em28xx_setup_xc3028(struct em28xx *dev, struct xc2028_ctrl *ctl)
|
|||
ctl->demod = XC3028_FE_ZARLINK456;
|
||||
break;
|
||||
case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_950:
|
||||
case EM2880_BOARD_PINNACLE_PCTV_HD_PRO:
|
||||
/* FIXME: Better to specify the needed IF */
|
||||
ctl->demod = XC3028_FE_DEFAULT;
|
||||
break;
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
|
||||
(c) 2008 Devin Heitmueller <devin.heitmueller@gmail.com>
|
||||
- Fixes for the driver to properly work with HVR-950
|
||||
- Fixes for the driver to properly work with Pinnacle PCTV HD Pro Stick
|
||||
|
||||
(c) 2008 Aidan Thornton <makosoft@googlemail.com>
|
||||
|
||||
|
@ -399,6 +400,7 @@ static int dvb_init(struct em28xx *dev)
|
|||
/* init frontend */
|
||||
switch (dev->model) {
|
||||
case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_950:
|
||||
case EM2880_BOARD_PINNACLE_PCTV_HD_PRO:
|
||||
dvb->frontend = dvb_attach(lgdt330x_attach,
|
||||
&em2880_lgdt3303_dev,
|
||||
&dev->i2c_adap);
|
||||
|
|
|
@ -55,6 +55,7 @@
|
|||
#define EM2820_BOARD_PROLINK_PLAYTV_USB2 14
|
||||
#define EM2800_BOARD_VGEAR_POCKETTV 15
|
||||
#define EM2880_BOARD_HAUPPAUGE_WINTV_HVR_950 16
|
||||
#define EM2880_BOARD_PINNACLE_PCTV_HD_PRO 17
|
||||
|
||||
/* Limits minimum and default number of buffers */
|
||||
#define EM28XX_MIN_BUF 4
|
||||
|
|
Loading…
Reference in New Issue