diff options
Diffstat (limited to 'drivers/media/video/em28xx/em28xx-cards.c')
-rw-r--r-- | drivers/media/video/em28xx/em28xx-cards.c | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/drivers/media/video/em28xx/em28xx-cards.c b/drivers/media/video/em28xx/em28xx-cards.c index fd64058a04e2..c40b9d9b3070 100644 --- a/drivers/media/video/em28xx/em28xx-cards.c +++ b/drivers/media/video/em28xx/em28xx-cards.c | |||
@@ -149,7 +149,29 @@ struct em28xx_board em28xx_boards[] = { | |||
149 | }}, | 149 | }}, |
150 | }, | 150 | }, |
151 | [EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900] = { | 151 | [EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900] = { |
152 | .name = "Hauppauge WinTV HVR 900/950", | 152 | .name = "Hauppauge WinTV HVR 900", |
153 | .vchannels = 3, | ||
154 | .tda9887_conf = TDA9887_PRESENT, | ||
155 | .tuner_type = TUNER_XC2028, | ||
156 | .has_tuner = 1, | ||
157 | .xc2028_type = XC2028_FIRM_MTS, | ||
158 | .decoder = EM28XX_TVP5150, | ||
159 | .input = {{ | ||
160 | .type = EM28XX_VMUX_TELEVISION, | ||
161 | .vmux = TVP5150_COMPOSITE0, | ||
162 | .amux = 0, | ||
163 | },{ | ||
164 | .type = EM28XX_VMUX_COMPOSITE1, | ||
165 | .vmux = TVP5150_COMPOSITE1, | ||
166 | .amux = 1, | ||
167 | },{ | ||
168 | .type = EM28XX_VMUX_SVIDEO, | ||
169 | .vmux = TVP5150_SVIDEO, | ||
170 | .amux = 1, | ||
171 | }}, | ||
172 | }, | ||
173 | [EM2880_BOARD_HAUPPAUGE_WINTV_HVR_950] = { | ||
174 | .name = "Hauppauge WinTV HVR 950", | ||
153 | .vchannels = 3, | 175 | .vchannels = 3, |
154 | .tda9887_conf = TDA9887_PRESENT, | 176 | .tda9887_conf = TDA9887_PRESENT, |
155 | .tuner_type = TUNER_XC2028, | 177 | .tuner_type = TUNER_XC2028, |
@@ -376,7 +398,7 @@ struct usb_device_id em28xx_id_table [] = { | |||
376 | { USB_DEVICE(0x2040, 0x4200), .driver_info = EM2820_BOARD_HAUPPAUGE_WINTV_USB_2 }, | 398 | { USB_DEVICE(0x2040, 0x4200), .driver_info = EM2820_BOARD_HAUPPAUGE_WINTV_USB_2 }, |
377 | { USB_DEVICE(0x2304, 0x0207), .driver_info = EM2820_BOARD_PINNACLE_DVC_90 }, | 399 | { USB_DEVICE(0x2304, 0x0207), .driver_info = EM2820_BOARD_PINNACLE_DVC_90 }, |
378 | { USB_DEVICE(0x2040, 0x6500), .driver_info = EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900 }, | 400 | { USB_DEVICE(0x2040, 0x6500), .driver_info = EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900 }, |
379 | { USB_DEVICE(0x2040, 0x6513), .driver_info = EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900 }, | 401 | { USB_DEVICE(0x2040, 0x6513), .driver_info = EM2880_BOARD_HAUPPAUGE_WINTV_HVR_950 }, |
380 | { USB_DEVICE(0x0ccd, 0x0042), .driver_info = EM2880_BOARD_TERRATEC_HYBRID_XS }, | 402 | { USB_DEVICE(0x0ccd, 0x0042), .driver_info = EM2880_BOARD_TERRATEC_HYBRID_XS }, |
381 | { USB_DEVICE(0x0ccd, 0x0047), .driver_info = EM2880_BOARD_TERRATEC_PRODIGY_XS }, | 403 | { USB_DEVICE(0x0ccd, 0x0047), .driver_info = EM2880_BOARD_TERRATEC_PRODIGY_XS }, |
382 | { }, | 404 | { }, |
@@ -404,6 +426,7 @@ void em28xx_pre_card_setup(struct em28xx *dev) | |||
404 | switch(dev->model){ | 426 | switch(dev->model){ |
405 | case EM2880_BOARD_TERRATEC_PRODIGY_XS: | 427 | case EM2880_BOARD_TERRATEC_PRODIGY_XS: |
406 | case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900: | 428 | case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900: |
429 | case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_950: | ||
407 | case EM2880_BOARD_TERRATEC_HYBRID_XS: | 430 | case EM2880_BOARD_TERRATEC_HYBRID_XS: |
408 | /* reset through GPIO? */ | 431 | /* reset through GPIO? */ |
409 | em28xx_write_regs_req(dev, 0x00, 0x08, "\x7d", 1); | 432 | em28xx_write_regs_req(dev, 0x00, 0x08, "\x7d", 1); |
@@ -453,6 +476,7 @@ static void em28xx_config_tuner (struct em28xx *dev) | |||
453 | 476 | ||
454 | ctl.fname = XC2028_DEFAULT_FIRMWARE; | 477 | ctl.fname = XC2028_DEFAULT_FIRMWARE; |
455 | ctl.max_len = 64; | 478 | ctl.max_len = 64; |
479 | ctl.type = em28xx_boards[dev->model].xc2028_type; | ||
456 | 480 | ||
457 | xc2028_cfg.tuner = TUNER_XC2028; | 481 | xc2028_cfg.tuner = TUNER_XC2028; |
458 | xc2028_cfg.priv = &ctl; | 482 | xc2028_cfg.priv = &ctl; |
@@ -574,6 +598,7 @@ void em28xx_card_setup(struct em28xx *dev) | |||
574 | switch (dev->model) { | 598 | switch (dev->model) { |
575 | case EM2820_BOARD_HAUPPAUGE_WINTV_USB_2: | 599 | case EM2820_BOARD_HAUPPAUGE_WINTV_USB_2: |
576 | case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900: | 600 | case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900: |
601 | case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_950: | ||
577 | { | 602 | { |
578 | struct tveeprom tv; | 603 | struct tveeprom tv; |
579 | #ifdef CONFIG_MODULES | 604 | #ifdef CONFIG_MODULES |