aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@infradead.org>2008-08-05 09:11:25 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2008-10-12 07:36:47 -0400
commit8f2b7b70600212f8c809a7bc2d17d33561842440 (patch)
treecc7a5842dda16df9bceb93011ebfa5017737bf1f
parent622ecb300345d308c8b4a983ac112b1985d7d156 (diff)
V4L/DVB (8626): Add support for TCL tuner MF02GIP-5N-E
Thanks to Sistema Fenix (http://www.sistemafenix.com.br/) and CDI Brasil (www.cdibrasil.com.br/) for sponsoring this development. Signed-off-by: Gilberto <gilberto@sistemafenix.com.br> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--Documentation/video4linux/CARDLIST.tuner1
-rw-r--r--drivers/media/common/tuners/tuner-simple.c2
-rw-r--r--drivers/media/common/tuners/tuner-types.c22
-rw-r--r--include/media/tuner.h1
4 files changed, 26 insertions, 0 deletions
diff --git a/Documentation/video4linux/CARDLIST.tuner b/Documentation/video4linux/CARDLIST.tuner
index 0e2394695bb8..30bbdda68d03 100644
--- a/Documentation/video4linux/CARDLIST.tuner
+++ b/Documentation/video4linux/CARDLIST.tuner
@@ -74,3 +74,4 @@ tuner=72 - Thomson FE6600
74tuner=73 - Samsung TCPG 6121P30A 74tuner=73 - Samsung TCPG 6121P30A
75tuner=75 - Philips TEA5761 FM Radio 75tuner=75 - Philips TEA5761 FM Radio
76tuner=76 - Xceive 5000 tuner 76tuner=76 - Xceive 5000 tuner
77tuner=77 - TCL tuner MF02GIP-5N-E
diff --git a/drivers/media/common/tuners/tuner-simple.c b/drivers/media/common/tuners/tuner-simple.c
index aa773a658a2a..fc3a6a9d7c29 100644
--- a/drivers/media/common/tuners/tuner-simple.c
+++ b/drivers/media/common/tuners/tuner-simple.c
@@ -142,6 +142,7 @@ static inline int tuner_stereo(const int type, const int status)
142 case TUNER_PHILIPS_FM1236_MK3: 142 case TUNER_PHILIPS_FM1236_MK3:
143 case TUNER_PHILIPS_FM1256_IH3: 143 case TUNER_PHILIPS_FM1256_IH3:
144 case TUNER_LG_NTSC_TAPE: 144 case TUNER_LG_NTSC_TAPE:
145 case TUNER_TCL_MF02GIP_5N:
145 return ((status & TUNER_SIGNAL) == TUNER_STEREO_MK3); 146 return ((status & TUNER_SIGNAL) == TUNER_STEREO_MK3);
146 default: 147 default:
147 return status & TUNER_STEREO; 148 return status & TUNER_STEREO;
@@ -494,6 +495,7 @@ static int simple_radio_bandswitch(struct dvb_frontend *fe, u8 *buffer)
494 case TUNER_PHILIPS_FMD1216ME_MK3: 495 case TUNER_PHILIPS_FMD1216ME_MK3:
495 case TUNER_LG_NTSC_TAPE: 496 case TUNER_LG_NTSC_TAPE:
496 case TUNER_PHILIPS_FM1256_IH3: 497 case TUNER_PHILIPS_FM1256_IH3:
498 case TUNER_TCL_MF02GIP_5N:
497 buffer[3] = 0x19; 499 buffer[3] = 0x19;
498 break; 500 break;
499 case TUNER_TNF_5335MF: 501 case TUNER_TNF_5335MF:
diff --git a/drivers/media/common/tuners/tuner-types.c b/drivers/media/common/tuners/tuner-types.c
index 10dddca8b5d1..04961a1f44be 100644
--- a/drivers/media/common/tuners/tuner-types.c
+++ b/drivers/media/common/tuners/tuner-types.c
@@ -1216,6 +1216,23 @@ static struct tuner_params tuner_samsung_tcpg_6121p30a_params[] = {
1216 }, 1216 },
1217}; 1217};
1218 1218
1219/* ------------ TUNER_TCL_MF02GIP-5N-E - TCL MF02GIP-5N ------------ */
1220
1221static struct tuner_range tuner_tcl_mf02gip_5n_ntsc_ranges[] = {
1222 { 16 * 172.00 /*MHz*/, 0x8e, 0x01, },
1223 { 16 * 448.00 /*MHz*/, 0x8e, 0x02, },
1224 { 16 * 999.99 , 0x8e, 0x04, },
1225};
1226
1227static struct tuner_params tuner_tcl_mf02gip_5n_params[] = {
1228 {
1229 .type = TUNER_PARAM_TYPE_NTSC,
1230 .ranges = tuner_tcl_mf02gip_5n_ntsc_ranges,
1231 .count = ARRAY_SIZE(tuner_tcl_mf02gip_5n_ntsc_ranges),
1232 .cb_first_if_lower_freq = 1,
1233 },
1234};
1235
1219/* --------------------------------------------------------------------- */ 1236/* --------------------------------------------------------------------- */
1220 1237
1221struct tunertype tuners[] = { 1238struct tunertype tuners[] = {
@@ -1641,6 +1658,11 @@ struct tunertype tuners[] = {
1641 .name = "Xceive 5000 tuner", 1658 .name = "Xceive 5000 tuner",
1642 /* see xc5000.c for details */ 1659 /* see xc5000.c for details */
1643 }, 1660 },
1661 [TUNER_TCL_MF02GIP_5N] = { /* TCL tuner MF02GIP-5N-E */
1662 .name = "TCL tuner MF02GIP-5N-E",
1663 .params = tuner_tcl_mf02gip_5n_params,
1664 .count = ARRAY_SIZE(tuner_tcl_mf02gip_5n_params),
1665 },
1644}; 1666};
1645EXPORT_SYMBOL(tuners); 1667EXPORT_SYMBOL(tuners);
1646 1668
diff --git a/include/media/tuner.h b/include/media/tuner.h
index 77068fcc86bd..ba818985cc84 100644
--- a/include/media/tuner.h
+++ b/include/media/tuner.h
@@ -122,6 +122,7 @@
122#define TUNER_TDA9887 74 /* This tuner should be used only internally */ 122#define TUNER_TDA9887 74 /* This tuner should be used only internally */
123#define TUNER_TEA5761 75 /* Only FM Radio Tuner */ 123#define TUNER_TEA5761 75 /* Only FM Radio Tuner */
124#define TUNER_XC5000 76 /* Xceive Silicon Tuner */ 124#define TUNER_XC5000 76 /* Xceive Silicon Tuner */
125#define TUNER_TCL_MF02GIP_5N 77 /* TCL MF02GIP_5N */
125 126
126/* tv card specific */ 127/* tv card specific */
127#define TDA9887_PRESENT (1<<0) 128#define TDA9887_PRESENT (1<<0)