diff options
Diffstat (limited to 'drivers/media/video/em28xx/em28xx-cards.c')
-rw-r--r-- | drivers/media/video/em28xx/em28xx-cards.c | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/drivers/media/video/em28xx/em28xx-cards.c b/drivers/media/video/em28xx/em28xx-cards.c index edf6f77862cc..81f9ff55588d 100644 --- a/drivers/media/video/em28xx/em28xx-cards.c +++ b/drivers/media/video/em28xx/em28xx-cards.c | |||
@@ -240,6 +240,52 @@ struct em28xx_board em28xx_boards[] = { | |||
240 | .amux = 1, | 240 | .amux = 1, |
241 | } }, | 241 | } }, |
242 | }, | 242 | }, |
243 | [EM2880_BOARD_AMD_ATI_TV_WONDER_HD_600] = { | ||
244 | .name = "AMD ATI TV Wonder HD 600", | ||
245 | .vchannels = 3, | ||
246 | .tda9887_conf = TDA9887_PRESENT, | ||
247 | .tuner_type = TUNER_XC2028, | ||
248 | .mts_firmware = 1, | ||
249 | .has_12mhz_i2s = 1, | ||
250 | .has_dvb = 1, | ||
251 | .decoder = EM28XX_TVP5150, | ||
252 | .input = { { | ||
253 | .type = EM28XX_VMUX_TELEVISION, | ||
254 | .vmux = TVP5150_COMPOSITE0, | ||
255 | .amux = 0, | ||
256 | }, { | ||
257 | .type = EM28XX_VMUX_COMPOSITE1, | ||
258 | .vmux = TVP5150_COMPOSITE1, | ||
259 | .amux = 1, | ||
260 | }, { | ||
261 | .type = EM28XX_VMUX_SVIDEO, | ||
262 | .vmux = TVP5150_SVIDEO, | ||
263 | .amux = 1, | ||
264 | } }, | ||
265 | }, | ||
266 | [EM2880_BOARD_AMD_ATI_TV_WONDER_HD_600] = { | ||
267 | .name = "AMD ATI TV Wonder HD 600", | ||
268 | .vchannels = 3, | ||
269 | .tda9887_conf = TDA9887_PRESENT, | ||
270 | .tuner_type = TUNER_XC2028, | ||
271 | .mts_firmware = 1, | ||
272 | .has_12mhz_i2s = 1, | ||
273 | .has_dvb = 1, | ||
274 | .decoder = EM28XX_TVP5150, | ||
275 | .input = { { | ||
276 | .type = EM28XX_VMUX_TELEVISION, | ||
277 | .vmux = TVP5150_COMPOSITE0, | ||
278 | .amux = 0, | ||
279 | }, { | ||
280 | .type = EM28XX_VMUX_COMPOSITE1, | ||
281 | .vmux = TVP5150_COMPOSITE1, | ||
282 | .amux = 1, | ||
283 | }, { | ||
284 | .type = EM28XX_VMUX_SVIDEO, | ||
285 | .vmux = TVP5150_SVIDEO, | ||
286 | .amux = 1, | ||
287 | } }, | ||
288 | }, | ||
243 | [EM2880_BOARD_TERRATEC_HYBRID_XS] = { | 289 | [EM2880_BOARD_TERRATEC_HYBRID_XS] = { |
244 | .name = "Terratec Hybrid XS", | 290 | .name = "Terratec Hybrid XS", |
245 | .vchannels = 3, | 291 | .vchannels = 3, |
@@ -493,6 +539,8 @@ struct usb_device_id em28xx_id_table [] = { | |||
493 | .driver_info = EM2880_BOARD_TERRATEC_HYBRID_XS }, | 539 | .driver_info = EM2880_BOARD_TERRATEC_HYBRID_XS }, |
494 | { USB_DEVICE(0x0ccd, 0x0047), | 540 | { USB_DEVICE(0x0ccd, 0x0047), |
495 | .driver_info = EM2880_BOARD_TERRATEC_PRODIGY_XS }, | 541 | .driver_info = EM2880_BOARD_TERRATEC_PRODIGY_XS }, |
542 | { USB_DEVICE(0x0438, 0xb002), | ||
543 | .driver_info = EM2880_BOARD_AMD_ATI_TV_WONDER_HD_600 }, | ||
496 | { }, | 544 | { }, |
497 | }; | 545 | }; |
498 | MODULE_DEVICE_TABLE(usb, em28xx_id_table); | 546 | MODULE_DEVICE_TABLE(usb, em28xx_id_table); |
@@ -608,6 +656,7 @@ void em28xx_pre_card_setup(struct em28xx *dev) | |||
608 | case EM2880_BOARD_TERRATEC_HYBRID_XS: | 656 | case EM2880_BOARD_TERRATEC_HYBRID_XS: |
609 | case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_950: | 657 | case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_950: |
610 | case EM2880_BOARD_PINNACLE_PCTV_HD_PRO: | 658 | case EM2880_BOARD_PINNACLE_PCTV_HD_PRO: |
659 | case EM2880_BOARD_AMD_ATI_TV_WONDER_HD_600: | ||
611 | em28xx_write_regs(dev, EM28XX_R0F_XCLK, "\x27", 1); | 660 | em28xx_write_regs(dev, EM28XX_R0F_XCLK, "\x27", 1); |
612 | em28xx_write_regs(dev, EM28XX_R06_I2C_CLK, "\x40", 1); | 661 | em28xx_write_regs(dev, EM28XX_R06_I2C_CLK, "\x40", 1); |
613 | msleep(50); | 662 | msleep(50); |
@@ -649,6 +698,7 @@ static void em28xx_setup_xc3028(struct em28xx *dev, struct xc2028_ctrl *ctl) | |||
649 | break; | 698 | break; |
650 | case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_950: | 699 | case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_950: |
651 | case EM2880_BOARD_PINNACLE_PCTV_HD_PRO: | 700 | case EM2880_BOARD_PINNACLE_PCTV_HD_PRO: |
701 | case EM2880_BOARD_AMD_ATI_TV_WONDER_HD_600: | ||
652 | /* FIXME: Better to specify the needed IF */ | 702 | /* FIXME: Better to specify the needed IF */ |
653 | ctl->demod = XC3028_FE_DEFAULT; | 703 | ctl->demod = XC3028_FE_DEFAULT; |
654 | break; | 704 | break; |