]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/media/video/tuner-types.c
V4L/DVB (4006): Stop/start microcontroller when changing sampling frequency
[linux-2.6-omap-h63xx.git] / drivers / media / video / tuner-types.c
index 9786e590624a4cd97f51d9236651d8cfd1f3a92a..58cae66429774bcfcaadd699ffd46c03af6a57e8 100644 (file)
@@ -874,16 +874,16 @@ static struct tuner_params tuner_philips_fmd1216me_mk3_params[] = {
 };
 
 
-/* ------------ TUNER_LG_TDVS_H062F - INFINEON ATSC ------------ */
+/* ------ TUNER_LG_TDVS_H06XF - LG INNOTEK / INFINEON ATSC ----- */
 
 static struct tuner_range tuner_tua6034_ntsc_ranges[] = {
-       { 16 * 160.00 /*MHz*/, 0x8e, 0x01 },
-       { 16 * 455.00 /*MHz*/, 0x8e, 0x02 },
+       { 16 * 165.00 /*MHz*/, 0x8e, 0x01 },
+       { 16 * 450.00 /*MHz*/, 0x8e, 0x02 },
        { 16 * 999.99        , 0x8e, 0x04 },
 };
 
 
-static struct tuner_params tuner_tua6034_params[] = {
+static struct tuner_params tuner_lg_tdvs_h06xf_params[] = {
        {
                .type   = TUNER_PARAM_TYPE_NTSC,
                .ranges = tuner_tua6034_ntsc_ranges,
@@ -903,17 +903,27 @@ static struct tuner_params tuner_ymec_tvf66t5_b_dff_params[] = {
 
 /* ------------ TUNER_LG_NTSC_TALN_MINI - LGINNOTEK NTSC ------------ */
 
-static struct tuner_range tuner_lg_taln_mini_ntsc_ranges[] = {
+static struct tuner_range tuner_lg_taln_ntsc_ranges[] = {
        { 16 * 137.25 /*MHz*/, 0x8e, 0x01, },
        { 16 * 373.25 /*MHz*/, 0x8e, 0x02, },
        { 16 * 999.99        , 0x8e, 0x08, },
 };
 
-static struct tuner_params tuner_lg_taln_mini_params[] = {
+static struct tuner_range tuner_lg_taln_pal_secam_ranges[] = {
+       { 16 * 150.00 /*MHz*/, 0x8e, 0x01, },
+       { 16 * 425.00 /*MHz*/, 0x8e, 0x02, },
+       { 16 * 999.99        , 0x8e, 0x08, },
+};
+
+static struct tuner_params tuner_lg_taln_params[] = {
        {
                .type   = TUNER_PARAM_TYPE_NTSC,
-               .ranges = tuner_lg_taln_mini_ntsc_ranges,
-               .count  = ARRAY_SIZE(tuner_lg_taln_mini_ntsc_ranges),
+               .ranges = tuner_lg_taln_ntsc_ranges,
+               .count  = ARRAY_SIZE(tuner_lg_taln_ntsc_ranges),
+       },{
+               .type   = TUNER_PARAM_TYPE_PAL,
+               .ranges = tuner_lg_taln_pal_secam_ranges,
+               .count  = ARRAY_SIZE(tuner_lg_taln_pal_secam_ranges),
        },
 };
 
@@ -950,12 +960,22 @@ static struct tuner_params tuner_tuv1236d_params[] = {
        },
 };
 
-/* ------------ TUNER_TNF_5335MF - Philips NTSC ------------ */
+/* ------------ TUNER_TNF_xxx5  - Texas Instruments--------- */
+/* This is known to work with Tenna TVF58t5-MFF and TVF5835 MFF
+ *     but it is expected to work also with other Tenna/Ymec
+ *     models based on TI SN 761677 chip on both PAL and NTSC
+ */
+
+static struct tuner_range tuner_tnf_5335_d_if_pal_ranges[] = {
+       { 16 * 168.25 /*MHz*/, 0x8e, 0x01, },
+       { 16 * 471.25 /*MHz*/, 0x8e, 0x02, },
+       { 16 * 999.99        , 0x8e, 0x08, },
+};
 
 static struct tuner_range tuner_tnf_5335mf_ntsc_ranges[] = {
-       { 16 * 157.25 /*MHz*/, 0x8e, 0x01, },
-       { 16 * 454.00 /*MHz*/, 0x8e, 0x02, },
-       { 16 * 999.99        , 0x8e, 0x04, },
+       { 16 * 169.25 /*MHz*/, 0x8e, 0x01, },
+       { 16 * 469.25 /*MHz*/, 0x8e, 0x02, },
+       { 16 * 999.99        , 0x8e, 0x08, },
 };
 
 static struct tuner_params tuner_tnf_5335mf_params[] = {
@@ -964,14 +984,19 @@ static struct tuner_params tuner_tnf_5335mf_params[] = {
                .ranges = tuner_tnf_5335mf_ntsc_ranges,
                .count  = ARRAY_SIZE(tuner_tnf_5335mf_ntsc_ranges),
        },
+       {
+               .type   = TUNER_PARAM_TYPE_PAL,
+               .ranges = tuner_tnf_5335_d_if_pal_ranges,
+               .count  = ARRAY_SIZE(tuner_tnf_5335_d_if_pal_ranges),
+       },
 };
 
 /* 70-79 */
 /* ------------ TUNER_SAMSUNG_TCPN_2121P30A - Samsung NTSC ------------ */
 
 static struct tuner_range tuner_samsung_tcpn_2121p30a_ntsc_ranges[] = {
-       { 16 * 175.75 /*MHz*/, 0xce, 0x01, },
-       { 16 * 410.25 /*MHz*/, 0xce, 0x02, },
+       { 16 * 130.00 /*MHz*/, 0xce, 0x01, },
+       { 16 * 364.50 /*MHz*/, 0xce, 0x02, },
        { 16 * 999.99        , 0xce, 0x08, },
 };
 
@@ -983,6 +1008,38 @@ static struct tuner_params tuner_samsung_tcpn_2121p30a_params[] = {
        },
 };
 
+/* ------------ TUNER_THOMSON_FE6600 - DViCO Hybrid PAL ------------ */
+
+static struct tuner_range tuner_thomson_fe6600_ranges[] = {
+       { 16 * 160.00 /*MHz*/, 0xfe, 0x11, },
+       { 16 * 442.00 /*MHz*/, 0xf6, 0x12, },
+       { 16 * 999.99        , 0xf6, 0x18, },
+};
+
+static struct tuner_params tuner_thomson_fe6600_params[] = {
+       {
+               .type   = TUNER_PARAM_TYPE_PAL,
+               .ranges = tuner_thomson_fe6600_ranges,
+               .count  = ARRAY_SIZE(tuner_thomson_fe6600_ranges),
+       },
+};
+
+/* ------------ TUNER_SAMSUNG_TCPG_6121P30A - Samsung PAL ------------ */
+
+static struct tuner_range tuner_samsung_tcpg_6121p30a_pal_ranges[] = {
+       { 16 * 146.25 /*MHz*/, 0xce, 0x01, },
+       { 16 * 428.50 /*MHz*/, 0xce, 0x02, },
+       { 16 * 999.99        , 0xce, 0x08, },
+};
+
+static struct tuner_params tuner_samsung_tcpg_6121p30a_params[] = {
+       {
+               .type   = TUNER_PARAM_TYPE_PAL,
+               .ranges = tuner_samsung_tcpg_6121p30a_pal_ranges,
+               .count  = ARRAY_SIZE(tuner_samsung_tcpg_6121p30a_pal_ranges),
+       },
+};
+
 /* --------------------------------------------------------------------- */
 
 struct tunertype tuners[] = {
@@ -1313,20 +1370,20 @@ struct tunertype tuners[] = {
                .params = tuner_philips_fmd1216me_mk3_params,
                .count  = ARRAY_SIZE(tuner_philips_fmd1216me_mk3_params),
        },
-       [TUNER_LG_TDVS_H062F] = { /* LGINNOTEK ATSC */
-               .name   = "LG TDVS-H062F/TUA6034",
-               .params = tuner_tua6034_params,
-               .count  = ARRAY_SIZE(tuner_tua6034_params),
+       [TUNER_LG_TDVS_H06XF] = { /* LGINNOTEK ATSC */
+               .name   = "LG TDVS-H06xF", /* H061F, H062F & H064F */
+               .params = tuner_lg_tdvs_h06xf_params,
+               .count  = ARRAY_SIZE(tuner_lg_tdvs_h06xf_params),
        },
        [TUNER_YMEC_TVF66T5_B_DFF] = { /* Philips PAL */
                .name   = "Ymec TVF66T5-B/DFF",
                .params = tuner_ymec_tvf66t5_b_dff_params,
                .count  = ARRAY_SIZE(tuner_ymec_tvf66t5_b_dff_params),
        },
-       [TUNER_LG_NTSC_TALN_MINI] = { /* LGINNOTEK NTSC */
-               .name   = "LG NTSC (TALN mini series)",
-               .params = tuner_lg_taln_mini_params,
-               .count  = ARRAY_SIZE(tuner_lg_taln_mini_params),
+       [TUNER_LG_TALN] = { /* LGINNOTEK NTSC / PAL / SECAM */
+               .name   = "LG TALN series",
+               .params = tuner_lg_taln_params,
+               .count  = ARRAY_SIZE(tuner_lg_taln_params),
        },
        [TUNER_PHILIPS_TD1316] = { /* Philips PAL */
                .name   = "Philips TD1316 Hybrid Tuner",
@@ -1338,8 +1395,8 @@ struct tunertype tuners[] = {
                .params = tuner_tuv1236d_params,
                .count  = ARRAY_SIZE(tuner_tuv1236d_params),
        },
-       [TUNER_TNF_5335MF] = { /* Philips NTSC */
-               .name   = "Tena TNF 5335 MF",
+       [TUNER_TNF_5335MF] = { /* Tenna PAL/NTSC */
+               .name   = "Tena TNF 5335 and similar models",
                .params = tuner_tnf_5335mf_params,
                .count  = ARRAY_SIZE(tuner_tnf_5335mf_params),
        },
@@ -1350,6 +1407,20 @@ 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_THOMSON_FE6600] = { /* Thomson PAL / DVB-T */
+               .name   = "Thomson FE6600",
+               .params = tuner_thomson_fe6600_params,
+               .count  = ARRAY_SIZE(tuner_thomson_fe6600_params),
+       },
+       [TUNER_SAMSUNG_TCPG_6121P30A] = { /* Samsung PAL */
+               .name   = "Samsung TCPG 6121P30A",
+               .params = tuner_samsung_tcpg_6121p30a_params,
+               .count  = ARRAY_SIZE(tuner_samsung_tcpg_6121p30a_params),
+       },
 };
 
 unsigned const int tuner_count = ARRAY_SIZE(tuners);