V4L/DVB (6422): Add the pending entries for xc2028/3028 based boards
authorMauro Carvalho Chehab <mchehab@infradead.org>
Wed, 24 Oct 2007 14:08:20 +0000 (11:08 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Fri, 25 Jan 2008 21:01:01 +0000 (19:01 -0200)
Also replaces all occurrences of TUNER_XCEIVE_XC3028 to TUNER_XC2028.

Some work is still may be required to make sure that non-tm6000 drivers will
be capable of using tuner-xc2028.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Documentation/video4linux/CARDLIST.tuner
drivers/media/video/em28xx/em28xx-cards.c
drivers/media/video/ivtv/ivtv-cards.c
drivers/media/video/ivtv/ivtv-driver.c
drivers/media/video/tuner-types.c
include/media/tuner.h

index a88c02d..84c3ac7 100644 (file)
@@ -69,7 +69,7 @@ tuner=67 - Philips TD1316 Hybrid Tuner
 tuner=68 - Philips TUV1236D ATSC/NTSC dual in
 tuner=69 - Tena TNF 5335 and similar models
 tuner=70 - Samsung TCPN 2121P30A
-tuner=71 - Xceive xc3028
+tuner=71 - Xceive xc2028/xc3028 tuner
 tuner=72 - Thomson FE6600
 tuner=73 - Samsung TCPG 6121P30A
 tuner=75 - Philips TEA5761 FM Radio
index 418ea8b..2d72de0 100644 (file)
@@ -156,6 +156,74 @@ struct em28xx_board em28xx_boards[] = {
                                        MSP_DSP_IN_SCART, MSP_DSP_IN_SCART),
                }},
        },
+       [EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900] = {
+               .name         = "Hauppauge WinTV HVR 900",
+               .vchannels    = 3,
+               .norm         = VIDEO_MODE_PAL,
+               .tda9887_conf = TDA9887_PRESENT,
+               .tuner_type   = TUNER_XC2028,
+               .has_tuner    = 1,
+               .decoder      = EM28XX_TVP5150,
+               .input          = {{
+                       .type     = EM28XX_VMUX_COMPOSITE1,
+                       .vmux     = TVP5150_COMPOSITE1,
+                       .amux     = 1,
+               },{
+                       .type     = EM28XX_VMUX_TELEVISION,
+                       .vmux     = TVP5150_COMPOSITE0,
+                       .amux     = 0,
+               },{
+                       .type     = EM28XX_VMUX_SVIDEO,
+                       .vmux     = TVP5150_SVIDEO,
+                       .amux     = 1,
+               }},
+       },
+       [EM2880_BOARD_TERRATEC_HYBRID_XS] = {
+               .name         = "Terratec Hybrid XS",
+               .vchannels    = 3,
+               .norm         = VIDEO_MODE_PAL,
+               .tda9887_conf = TDA9887_PRESENT,
+               .has_tuner    = 1,
+               .tuner_type   = TUNER_XC2028,
+               .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,
+               }},
+       },
+       /* maybe there's a reason behind it why Terratec sells the Hybrid XS as Prodigy XS with a
+        * different PID, let's keep it separated for now maybe we'll need it lateron */
+       [EM2880_BOARD_TERRATEC_PRODIGY_XS] = {
+               .name         = "Terratec Prodigy XS",
+               .vchannels    = 3,
+               .norm         = VIDEO_MODE_PAL,
+               .tda9887_conf = TDA9887_PRESENT,
+               .has_tuner    = 1,
+               .tuner_type   = TUNER_XC2028,
+               .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,
+               }},
+       },
        [EM2820_BOARD_MSI_VOX_USB_2] = {
                .name           = "MSI VOX USB 2.0",
                .vchannels      = 3,
@@ -274,6 +342,9 @@ struct usb_device_id em28xx_id_table [] = {
        { USB_DEVICE(0x2304, 0x0208), .driver_info = EM2820_BOARD_PINNACLE_USB_2 },
        { USB_DEVICE(0x2040, 0x4200), .driver_info = EM2820_BOARD_HAUPPAUGE_WINTV_USB_2 },
        { USB_DEVICE(0x2304, 0x0207), .driver_info = EM2820_BOARD_PINNACLE_DVC_90 },
+       { USB_DEVICE(0x2040, 0x6500), .driver_info = EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900 },
+       { USB_DEVICE(0x0ccd, 0x0042), .driver_info = EM2880_BOARD_TERRATEC_HYBRID_XS },
+       { USB_DEVICE(0x0ccd, 0x0047), .driver_info = EM2880_BOARD_TERRATEC_PRODIGY_XS },
        { },
 };
 
index b6a8be6..aaa114b 100644 (file)
@@ -848,7 +848,7 @@ static const struct ivtv_card ivtv_card_pg600v2 = {
                { IVTV_CARD_INPUT_LINE_IN1,   CX25840_AUDIO_SERIAL },
        },
        .tuners = {
-               { .std = V4L2_STD_ALL, .tuner = TUNER_XCEIVE_XC3028 },
+               { .std = V4L2_STD_ALL, .tuner = TUNER_XC2028 },
        },
        .pci_list = ivtv_pci_pg600v2,
 };
@@ -879,7 +879,7 @@ static const struct ivtv_card ivtv_card_club3d = {
                { IVTV_CARD_INPUT_LINE_IN1,   CX25840_AUDIO_SERIAL },
        },
        .tuners = {
-               { .std = V4L2_STD_ALL, .tuner = TUNER_XCEIVE_XC3028 },
+               { .std = V4L2_STD_ALL, .tuner = TUNER_XC2028 },
        },
        .pci_list = ivtv_pci_club3d,
 };
@@ -910,7 +910,7 @@ static const struct ivtv_card ivtv_card_avertv_mce116 = {
        },
        .gpio_init = { .direction = 0xe000, .initial_value = 0x4000 }, /* enable line-in */
        .tuners = {
-               { .std = V4L2_STD_ALL, .tuner = TUNER_XCEIVE_XC3028 },
+               { .std = V4L2_STD_ALL, .tuner = TUNER_XC2028 },
        },
        .pci_list = ivtv_pci_avertv_mce116,
 };
index 6d2dd87..ec40453 100644 (file)
@@ -829,7 +829,7 @@ static void ivtv_load_and_init_modules(struct ivtv *itv)
        /* load modules */
 #ifndef CONFIG_VIDEO_TUNER
        if (hw & IVTV_HW_TUNER) {
-               if (itv->options.tuner == TUNER_XCEIVE_XC3028) {
+               if (itv->options.tuner == TUNER_XC2028) {
                        IVTV_INFO("Xceive tuner not yet supported, only composite and S-Video inputs will be available\n");
                        itv->tunerid = 1;
                }
index c6a7934..ac363f0 100644 (file)
@@ -1452,9 +1452,9 @@ struct tunertype tuners[] = {
                .params = tuner_samsung_tcpn_2121p30a_params,
                .count  = ARRAY_SIZE(tuner_samsung_tcpn_2121p30a_params),
        },
-       [TUNER_XCEIVE_XC3028] = { /* Xceive 3028 */
-               .name   = "Xceive xc3028",
-               /* see xc3028.c for details */
+       [TUNER_XC2028] = { /* Xceive 2028 */
+               .name   = "Xceive xc2028/xc3028 tuner",
+               /* see tuner-xc2028.c for details */
        },
        [TUNER_THOMSON_FE6600] = { /* Thomson PAL / DVB-T */
                .name   = "Thomson FE6600",
index c03dceb..d49392d 100644 (file)
@@ -117,7 +117,7 @@ extern int tuner_debug;
 #define TUNER_PHILIPS_TUV1236D         68      /* ATI HDTV Wonder */
 #define TUNER_TNF_5335MF                69     /* Sabrent Bt848   */
 #define TUNER_SAMSUNG_TCPN_2121P30A     70     /* Hauppauge PVR-500MCE NTSC */
-#define TUNER_XCEIVE_XC3028            71
+#define TUNER_XC2028                   71
 
 #define TUNER_THOMSON_FE6600           72      /* DViCO FusionHDTV DVB-T Hybrid */
 #define TUNER_SAMSUNG_TCPG_6121P30A     73     /* Hauppauge PVR-500 PAL */