aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/em28xx/em28xx-cards.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/em28xx/em28xx-cards.c')
-rw-r--r--drivers/media/video/em28xx/em28xx-cards.c29
1 files changed, 28 insertions, 1 deletions
diff --git a/drivers/media/video/em28xx/em28xx-cards.c b/drivers/media/video/em28xx/em28xx-cards.c
index c22c90301d85..938c51e1c86d 100644
--- a/drivers/media/video/em28xx/em28xx-cards.c
+++ b/drivers/media/video/em28xx/em28xx-cards.c
@@ -173,6 +173,27 @@ struct em28xx_board em28xx_boards[] = {
173 .amux = 1, 173 .amux = 1,
174 } }, 174 } },
175 }, 175 },
176 [EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900_R2] = {
177 .name = "Hauppauge WinTV HVR 900 (R2)",
178 .vchannels = 3,
179 .tda9887_conf = TDA9887_PRESENT,
180 .tuner_type = TUNER_XC2028,
181 .mts_firmware = 1,
182 .decoder = EM28XX_TVP5150,
183 .input = { {
184 .type = EM28XX_VMUX_TELEVISION,
185 .vmux = TVP5150_COMPOSITE0,
186 .amux = 0,
187 }, {
188 .type = EM28XX_VMUX_COMPOSITE1,
189 .vmux = TVP5150_COMPOSITE1,
190 .amux = 1,
191 }, {
192 .type = EM28XX_VMUX_SVIDEO,
193 .vmux = TVP5150_SVIDEO,
194 .amux = 1,
195 } },
196 },
176 [EM2880_BOARD_HAUPPAUGE_WINTV_HVR_950] = { 197 [EM2880_BOARD_HAUPPAUGE_WINTV_HVR_950] = {
177 .name = "Hauppauge WinTV HVR 950", 198 .name = "Hauppauge WinTV HVR 950",
178 .vchannels = 3, 199 .vchannels = 3,
@@ -445,7 +466,7 @@ struct usb_device_id em28xx_id_table [] = {
445 { USB_DEVICE(0x2040, 0x6500), 466 { USB_DEVICE(0x2040, 0x6500),
446 .driver_info = EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900 }, 467 .driver_info = EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900 },
447 { USB_DEVICE(0x2040, 0x6502), 468 { USB_DEVICE(0x2040, 0x6502),
448 .driver_info = EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900 }, 469 .driver_info = EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900_R2 },
449 { USB_DEVICE(0x2040, 0x6513), /* HCW HVR-980 */ 470 { USB_DEVICE(0x2040, 0x6513), /* HCW HVR-980 */
450 .driver_info = EM2880_BOARD_HAUPPAUGE_WINTV_HVR_950 }, 471 .driver_info = EM2880_BOARD_HAUPPAUGE_WINTV_HVR_950 },
451 { USB_DEVICE(0x2040, 0x6517), /* HP HVR-950 */ 472 { USB_DEVICE(0x2040, 0x6517), /* HP HVR-950 */
@@ -567,6 +588,7 @@ void em28xx_pre_card_setup(struct em28xx *dev)
567 switch (dev->model) { 588 switch (dev->model) {
568 case EM2880_BOARD_TERRATEC_PRODIGY_XS: 589 case EM2880_BOARD_TERRATEC_PRODIGY_XS:
569 case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900: 590 case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900:
591 case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900_R2:
570 case EM2880_BOARD_TERRATEC_HYBRID_XS: 592 case EM2880_BOARD_TERRATEC_HYBRID_XS:
571 case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_950: 593 case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_950:
572 case EM2880_BOARD_PINNACLE_PCTV_HD_PRO: 594 case EM2880_BOARD_PINNACLE_PCTV_HD_PRO:
@@ -602,6 +624,10 @@ static void em28xx_setup_xc3028(struct em28xx *dev, struct xc2028_ctrl *ctl)
602 case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900: 624 case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900:
603 ctl->demod = XC3028_FE_ZARLINK456; 625 ctl->demod = XC3028_FE_ZARLINK456;
604 break; 626 break;
627 case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900_R2:
628 /* djh - Not sure which demod we need here */
629 ctl->demod = XC3028_FE_DEFAULT;
630 break;
605 case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_950: 631 case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_950:
606 case EM2880_BOARD_PINNACLE_PCTV_HD_PRO: 632 case EM2880_BOARD_PINNACLE_PCTV_HD_PRO:
607 /* FIXME: Better to specify the needed IF */ 633 /* FIXME: Better to specify the needed IF */
@@ -781,6 +807,7 @@ void em28xx_card_setup(struct em28xx *dev)
781 switch (dev->model) { 807 switch (dev->model) {
782 case EM2820_BOARD_HAUPPAUGE_WINTV_USB_2: 808 case EM2820_BOARD_HAUPPAUGE_WINTV_USB_2:
783 case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900: 809 case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900:
810 case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900_R2:
784 case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_950: 811 case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_950:
785 { 812 {
786 struct tveeprom tv; 813 struct tveeprom tv;