V4L/DVB (8492): Add support for the ATI TV Wonder HD 600
em28xx-cards.c em28xx-dvb.c em28xx.h - Add support for the ATI TV Wonder HD 600, based on a 94 email exchange and USB traces provided by Ronnie Bailey Thanks to Ronnie Bailey <purevw@wtxs.net> for testing the changes Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
parent
b18559076a
commit
e14b3658a7
4 changed files with 54 additions and 0 deletions
|
@ -18,3 +18,4 @@
|
|||
17 -> Pinnacle PCTV HD Pro Stick (em2880) [2304:0227]
|
||||
18 -> Hauppauge WinTV HVR 900 (R2) (em2880) [2040:6502]
|
||||
19 -> PointNix Intra-Oral Camera (em2860)
|
||||
20 -> AMD ATI TV Wonder HD 600 (em2880) [0438:b002]
|
||||
|
|
|
@ -240,6 +240,52 @@ struct em28xx_board em28xx_boards[] = {
|
|||
.amux = 1,
|
||||
} },
|
||||
},
|
||||
[EM2880_BOARD_AMD_ATI_TV_WONDER_HD_600] = {
|
||||
.name = "AMD ATI TV Wonder HD 600",
|
||||
.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_AMD_ATI_TV_WONDER_HD_600] = {
|
||||
.name = "AMD ATI TV Wonder HD 600",
|
||||
.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,
|
||||
|
@ -493,6 +539,8 @@ struct usb_device_id em28xx_id_table [] = {
|
|||
.driver_info = EM2880_BOARD_TERRATEC_HYBRID_XS },
|
||||
{ USB_DEVICE(0x0ccd, 0x0047),
|
||||
.driver_info = EM2880_BOARD_TERRATEC_PRODIGY_XS },
|
||||
{ USB_DEVICE(0x0438, 0xb002),
|
||||
.driver_info = EM2880_BOARD_AMD_ATI_TV_WONDER_HD_600 },
|
||||
{ },
|
||||
};
|
||||
MODULE_DEVICE_TABLE(usb, em28xx_id_table);
|
||||
|
@ -608,6 +656,7 @@ void em28xx_pre_card_setup(struct em28xx *dev)
|
|||
case EM2880_BOARD_TERRATEC_HYBRID_XS:
|
||||
case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_950:
|
||||
case EM2880_BOARD_PINNACLE_PCTV_HD_PRO:
|
||||
case EM2880_BOARD_AMD_ATI_TV_WONDER_HD_600:
|
||||
em28xx_write_regs(dev, EM28XX_R0F_XCLK, "\x27", 1);
|
||||
em28xx_write_regs(dev, EM28XX_R06_I2C_CLK, "\x40", 1);
|
||||
msleep(50);
|
||||
|
@ -649,6 +698,7 @@ static void em28xx_setup_xc3028(struct em28xx *dev, struct xc2028_ctrl *ctl)
|
|||
break;
|
||||
case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_950:
|
||||
case EM2880_BOARD_PINNACLE_PCTV_HD_PRO:
|
||||
case EM2880_BOARD_AMD_ATI_TV_WONDER_HD_600:
|
||||
/* FIXME: Better to specify the needed IF */
|
||||
ctl->demod = XC3028_FE_DEFAULT;
|
||||
break;
|
||||
|
|
|
@ -6,6 +6,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
|
||||
- Fixes for the driver to properly work with AMD ATI TV Wonder HD 600
|
||||
|
||||
(c) 2008 Aidan Thornton <makosoft@googlemail.com>
|
||||
|
||||
|
@ -411,6 +412,7 @@ static int dvb_init(struct em28xx *dev)
|
|||
switch (dev->model) {
|
||||
case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_950:
|
||||
case EM2880_BOARD_PINNACLE_PCTV_HD_PRO:
|
||||
case EM2880_BOARD_AMD_ATI_TV_WONDER_HD_600:
|
||||
dvb->frontend = dvb_attach(lgdt330x_attach,
|
||||
&em2880_lgdt3303_dev,
|
||||
&dev->i2c_adap);
|
||||
|
|
|
@ -58,6 +58,7 @@
|
|||
#define EM2880_BOARD_PINNACLE_PCTV_HD_PRO 17
|
||||
#define EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900_R2 18
|
||||
#define EM2860_BOARD_POINTNIX_INTRAORAL_CAMERA 19
|
||||
#define EM2880_BOARD_AMD_ATI_TV_WONDER_HD_600 20
|
||||
|
||||
/* Limits minimum and default number of buffers */
|
||||
#define EM28XX_MIN_BUF 4
|
||||
|
|
Loading…
Reference in a new issue