aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDouglas Schilling Landgraf <dougsland@linuxtv.org>2008-12-01 19:01:04 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2008-12-30 06:38:25 -0500
commitf89bc32974a4376e8393001484af28d8c3350ab4 (patch)
tree3366ca74f077a645055808ea034a94adc63db19f
parent2a48fc739df213b8f98b4effd95ce5ec93bca3da (diff)
V4L/DVB (9793): em28xx: Add specific entry for WinTV-HVR 850
Added specific entry for WinTV-HVR 850 Signed-off-by: Douglas Schilling Landgraf <dougsland@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--Documentation/video4linux/CARDLIST.em28xx3
-rw-r--r--drivers/media/video/em28xx/em28xx-cards.c32
-rw-r--r--drivers/media/video/em28xx/em28xx-dvb.c1
-rw-r--r--drivers/media/video/em28xx/em28xx.h1
4 files changed, 34 insertions, 3 deletions
diff --git a/Documentation/video4linux/CARDLIST.em28xx b/Documentation/video4linux/CARDLIST.em28xx
index ea537f5ae408..a6734eb7bf7b 100644
--- a/Documentation/video4linux/CARDLIST.em28xx
+++ b/Documentation/video4linux/CARDLIST.em28xx
@@ -14,7 +14,7 @@
14 13 -> Terratec Prodigy XS (em2880) [0ccd:0047] 14 13 -> Terratec Prodigy XS (em2880) [0ccd:0047]
15 14 -> Pixelview Prolink PlayTV USB 2.0 (em2820/em2840) [eb1a:2821] 15 14 -> Pixelview Prolink PlayTV USB 2.0 (em2820/em2840) [eb1a:2821]
16 15 -> V-Gear PocketTV (em2800) 16 15 -> V-Gear PocketTV (em2800)
17 16 -> Hauppauge WinTV HVR 950 (em2883) [2040:6513,2040:6517,2040:651b,2040:651f] 17 16 -> Hauppauge WinTV HVR 950 (em2883) [2040:6513,2040:6517,2040:651b]
18 17 -> Pinnacle PCTV HD Pro Stick (em2880) [2304:0227] 18 17 -> Pinnacle PCTV HD Pro Stick (em2880) [2304:0227]
19 18 -> Hauppauge WinTV HVR 900 (R2) (em2880) [2040:6502] 19 18 -> Hauppauge WinTV HVR 900 (R2) (em2880) [2040:6502]
20 19 -> PointNix Intra-Oral Camera (em2860) 20 19 -> PointNix Intra-Oral Camera (em2860)
@@ -58,3 +58,4 @@
58 57 -> Kworld PlusTV HD Hybrid 330 (em2883) [eb1a:a316] 58 57 -> Kworld PlusTV HD Hybrid 330 (em2883) [eb1a:a316]
59 58 -> Compro VideoMate ForYou/Stereo (em2820/em2840) [185b:2041] 59 58 -> Compro VideoMate ForYou/Stereo (em2820/em2840) [185b:2041]
60 59 -> Pinnacle PCTV HD Mini (em2874) [2304:023f] 60 59 -> Pinnacle PCTV HD Mini (em2874) [2304:023f]
61 60 -> Hauppauge WinTV HVR 850 (em2883) [2040:651f]
diff --git a/drivers/media/video/em28xx/em28xx-cards.c b/drivers/media/video/em28xx/em28xx-cards.c
index 01757c018b5e..745268e11255 100644
--- a/drivers/media/video/em28xx/em28xx-cards.c
+++ b/drivers/media/video/em28xx/em28xx-cards.c
@@ -650,6 +650,32 @@ struct em28xx_board em28xx_boards[] = {
650 .gpio = hauppauge_wintv_hvr_900_analog, 650 .gpio = hauppauge_wintv_hvr_900_analog,
651 } }, 651 } },
652 }, 652 },
653 [EM2883_BOARD_HAUPPAUGE_WINTV_HVR_850] = {
654 .name = "Hauppauge WinTV HVR 850",
655 .tuner_type = TUNER_XC2028,
656 .tuner_gpio = default_tuner_gpio,
657 .mts_firmware = 1,
658 .has_dvb = 1,
659 .dvb_gpio = hauppauge_wintv_hvr_900_digital,
660 .ir_codes = ir_codes_hauppauge_new,
661 .decoder = EM28XX_TVP5150,
662 .input = { {
663 .type = EM28XX_VMUX_TELEVISION,
664 .vmux = TVP5150_COMPOSITE0,
665 .amux = EM28XX_AMUX_VIDEO,
666 .gpio = hauppauge_wintv_hvr_900_analog,
667 }, {
668 .type = EM28XX_VMUX_COMPOSITE1,
669 .vmux = TVP5150_COMPOSITE1,
670 .amux = EM28XX_AMUX_LINE_IN,
671 .gpio = hauppauge_wintv_hvr_900_analog,
672 }, {
673 .type = EM28XX_VMUX_SVIDEO,
674 .vmux = TVP5150_SVIDEO,
675 .amux = EM28XX_AMUX_LINE_IN,
676 .gpio = hauppauge_wintv_hvr_900_analog,
677 } },
678 },
653 [EM2883_BOARD_HAUPPAUGE_WINTV_HVR_950] = { 679 [EM2883_BOARD_HAUPPAUGE_WINTV_HVR_950] = {
654 .name = "Hauppauge WinTV HVR 950", 680 .name = "Hauppauge WinTV HVR 950",
655 .tuner_type = TUNER_XC2028, 681 .tuner_type = TUNER_XC2028,
@@ -1281,8 +1307,8 @@ struct usb_device_id em28xx_id_table [] = {
1281 .driver_info = EM2883_BOARD_HAUPPAUGE_WINTV_HVR_950 }, 1307 .driver_info = EM2883_BOARD_HAUPPAUGE_WINTV_HVR_950 },
1282 { USB_DEVICE(0x2040, 0x651b), /* RP HVR-950 */ 1308 { USB_DEVICE(0x2040, 0x651b), /* RP HVR-950 */
1283 .driver_info = EM2883_BOARD_HAUPPAUGE_WINTV_HVR_950 }, 1309 .driver_info = EM2883_BOARD_HAUPPAUGE_WINTV_HVR_950 },
1284 { USB_DEVICE(0x2040, 0x651f), /* HCW HVR-850 */ 1310 { USB_DEVICE(0x2040, 0x651f),
1285 .driver_info = EM2883_BOARD_HAUPPAUGE_WINTV_HVR_950 }, 1311 .driver_info = EM2883_BOARD_HAUPPAUGE_WINTV_HVR_850 },
1286 { USB_DEVICE(0x0438, 0xb002), 1312 { USB_DEVICE(0x0438, 0xb002),
1287 .driver_info = EM2880_BOARD_AMD_ATI_TV_WONDER_HD_600 }, 1313 .driver_info = EM2880_BOARD_AMD_ATI_TV_WONDER_HD_600 },
1288 { USB_DEVICE(0x2001, 0xf112), 1314 { USB_DEVICE(0x2001, 0xf112),
@@ -1502,6 +1528,7 @@ static void em28xx_setup_xc3028(struct em28xx *dev, struct xc2028_ctrl *ctl)
1502 ctl->demod = XC3028_FE_DEFAULT; 1528 ctl->demod = XC3028_FE_DEFAULT;
1503 ctl->fname = XC3028L_DEFAULT_FIRMWARE; 1529 ctl->fname = XC3028L_DEFAULT_FIRMWARE;
1504 break; 1530 break;
1531 case EM2883_BOARD_HAUPPAUGE_WINTV_HVR_850:
1505 case EM2883_BOARD_HAUPPAUGE_WINTV_HVR_950: 1532 case EM2883_BOARD_HAUPPAUGE_WINTV_HVR_950:
1506 case EM2880_BOARD_PINNACLE_PCTV_HD_PRO: 1533 case EM2880_BOARD_PINNACLE_PCTV_HD_PRO:
1507 /* FIXME: Better to specify the needed IF */ 1534 /* FIXME: Better to specify the needed IF */
@@ -1686,6 +1713,7 @@ void em28xx_card_setup(struct em28xx *dev)
1686 case EM2820_BOARD_HAUPPAUGE_WINTV_USB_2: 1713 case EM2820_BOARD_HAUPPAUGE_WINTV_USB_2:
1687 case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900: 1714 case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900:
1688 case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900_R2: 1715 case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900_R2:
1716 case EM2883_BOARD_HAUPPAUGE_WINTV_HVR_850:
1689 case EM2883_BOARD_HAUPPAUGE_WINTV_HVR_950: 1717 case EM2883_BOARD_HAUPPAUGE_WINTV_HVR_950:
1690 { 1718 {
1691 struct tveeprom tv; 1719 struct tveeprom tv;
diff --git a/drivers/media/video/em28xx/em28xx-dvb.c b/drivers/media/video/em28xx/em28xx-dvb.c
index 211156d458f0..967bf6859fce 100644
--- a/drivers/media/video/em28xx/em28xx-dvb.c
+++ b/drivers/media/video/em28xx/em28xx-dvb.c
@@ -409,6 +409,7 @@ static int dvb_init(struct em28xx *dev)
409 em28xx_set_mode(dev, EM28XX_DIGITAL_MODE); 409 em28xx_set_mode(dev, EM28XX_DIGITAL_MODE);
410 /* init frontend */ 410 /* init frontend */
411 switch (dev->model) { 411 switch (dev->model) {
412 case EM2883_BOARD_HAUPPAUGE_WINTV_HVR_850:
412 case EM2883_BOARD_HAUPPAUGE_WINTV_HVR_950: 413 case EM2883_BOARD_HAUPPAUGE_WINTV_HVR_950:
413 case EM2880_BOARD_PINNACLE_PCTV_HD_PRO: 414 case EM2880_BOARD_PINNACLE_PCTV_HD_PRO:
414 case EM2880_BOARD_AMD_ATI_TV_WONDER_HD_600: 415 case EM2880_BOARD_AMD_ATI_TV_WONDER_HD_600:
diff --git a/drivers/media/video/em28xx/em28xx.h b/drivers/media/video/em28xx/em28xx.h
index 64459a160762..54802d2d1bc5 100644
--- a/drivers/media/video/em28xx/em28xx.h
+++ b/drivers/media/video/em28xx/em28xx.h
@@ -98,6 +98,7 @@
98#define EM2883_BOARD_KWORLD_HYBRID_A316 57 98#define EM2883_BOARD_KWORLD_HYBRID_A316 57
99#define EM2820_BOARD_COMPRO_VIDEOMATE_FORYOU 58 99#define EM2820_BOARD_COMPRO_VIDEOMATE_FORYOU 58
100#define EM2874_BOARD_PINNACLE_PCTV_80E 59 100#define EM2874_BOARD_PINNACLE_PCTV_80E 59
101#define EM2883_BOARD_HAUPPAUGE_WINTV_HVR_850 60
101 102
102/* Limits minimum and default number of buffers */ 103/* Limits minimum and default number of buffers */
103#define EM28XX_MIN_BUF 4 104#define EM28XX_MIN_BUF 4