aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/video4linux/CARDLIST.tuner3
-rw-r--r--drivers/media/tuners/tuner-types.c69
-rw-r--r--drivers/staging/media/go7007/go7007-usb.c1
-rw-r--r--drivers/staging/media/go7007/go7007-v4l2.c1
-rw-r--r--drivers/staging/media/go7007/wis-i2c.h6
-rw-r--r--include/media/tuner.h4
6 files changed, 78 insertions, 6 deletions
diff --git a/Documentation/video4linux/CARDLIST.tuner b/Documentation/video4linux/CARDLIST.tuner
index c83f6e418879..5b83a3ff15c2 100644
--- a/Documentation/video4linux/CARDLIST.tuner
+++ b/Documentation/video4linux/CARDLIST.tuner
@@ -86,3 +86,6 @@ tuner=85 - Philips FQ1236 MK5
86tuner=86 - Tena TNF5337 MFD 86tuner=86 - Tena TNF5337 MFD
87tuner=87 - Xceive 4000 tuner 87tuner=87 - Xceive 4000 tuner
88tuner=88 - Xceive 5000C tuner 88tuner=88 - Xceive 5000C tuner
89tuner=89 - Sony PAL+SECAM (BTF-PG472Z)
90tuner=90 - Sony NTSC-M-JP (BTF-PK467Z)
91tuner=91 - Sony NTSC-M (BTF-PB463Z)
diff --git a/drivers/media/tuners/tuner-types.c b/drivers/media/tuners/tuner-types.c
index 2da4440c16ee..98bc15a388be 100644
--- a/drivers/media/tuners/tuner-types.c
+++ b/drivers/media/tuners/tuner-types.c
@@ -1381,6 +1381,58 @@ static struct tuner_params tuner_philips_fq1236_mk5_params[] = {
1381 }, 1381 },
1382}; 1382};
1383 1383
1384/* --------- Sony BTF-PG472Z PAL/SECAM ------- */
1385
1386static struct tuner_range tuner_sony_btf_pg472z_ranges[] = {
1387 { 16 * 144.25 /*MHz*/, 0xc6, 0x01, },
1388 { 16 * 427.25 /*MHz*/, 0xc6, 0x02, },
1389 { 16 * 999.99 , 0xc6, 0x04, },
1390};
1391
1392static struct tuner_params tuner_sony_btf_pg472z_params[] = {
1393 {
1394 .type = TUNER_PARAM_TYPE_PAL,
1395 .ranges = tuner_sony_btf_pg472z_ranges,
1396 .count = ARRAY_SIZE(tuner_sony_btf_pg472z_ranges),
1397 .has_tda9887 = 1,
1398 .port1_active = 1,
1399 .port2_invert_for_secam_lc = 1,
1400 },
1401};
1402
1403/* 90-99 */
1404/* --------- Sony BTF-PG467Z NTSC-M-JP ------- */
1405
1406static struct tuner_range tuner_sony_btf_pg467z_ranges[] = {
1407 { 16 * 220.25 /*MHz*/, 0xc6, 0x01, },
1408 { 16 * 467.25 /*MHz*/, 0xc6, 0x02, },
1409 { 16 * 999.99 , 0xc6, 0x04, },
1410};
1411
1412static struct tuner_params tuner_sony_btf_pg467z_params[] = {
1413 {
1414 .type = TUNER_PARAM_TYPE_NTSC,
1415 .ranges = tuner_sony_btf_pg467z_ranges,
1416 .count = ARRAY_SIZE(tuner_sony_btf_pg467z_ranges),
1417 },
1418};
1419
1420/* --------- Sony BTF-PG463Z NTSC-M ------- */
1421
1422static struct tuner_range tuner_sony_btf_pg463z_ranges[] = {
1423 { 16 * 130.25 /*MHz*/, 0xc6, 0x01, },
1424 { 16 * 364.25 /*MHz*/, 0xc6, 0x02, },
1425 { 16 * 999.99 , 0xc6, 0x04, },
1426};
1427
1428static struct tuner_params tuner_sony_btf_pg463z_params[] = {
1429 {
1430 .type = TUNER_PARAM_TYPE_NTSC,
1431 .ranges = tuner_sony_btf_pg463z_ranges,
1432 .count = ARRAY_SIZE(tuner_sony_btf_pg463z_ranges),
1433 },
1434};
1435
1384/* --------------------------------------------------------------------- */ 1436/* --------------------------------------------------------------------- */
1385 1437
1386struct tunertype tuners[] = { 1438struct tunertype tuners[] = {
@@ -1872,6 +1924,23 @@ struct tunertype tuners[] = {
1872 .name = "Xceive 5000C tuner", 1924 .name = "Xceive 5000C tuner",
1873 /* see xc5000.c for details */ 1925 /* see xc5000.c for details */
1874 }, 1926 },
1927 [TUNER_SONY_BTF_PG472Z] = {
1928 .name = "Sony BTF-PG472Z PAL/SECAM",
1929 .params = tuner_sony_btf_pg472z_params,
1930 .count = ARRAY_SIZE(tuner_sony_btf_pg472z_params),
1931 },
1932
1933 /* 90-99 */
1934 [TUNER_SONY_BTF_PK467Z] = {
1935 .name = "Sony BTF-PK467Z NTSC-M-JP",
1936 .params = tuner_sony_btf_pg467z_params,
1937 .count = ARRAY_SIZE(tuner_sony_btf_pg467z_params),
1938 },
1939 [TUNER_SONY_BTF_PB463Z] = {
1940 .name = "Sony BTF-PB463Z NTSC-M",
1941 .params = tuner_sony_btf_pg463z_params,
1942 .count = ARRAY_SIZE(tuner_sony_btf_pg463z_params),
1943 },
1875}; 1944};
1876EXPORT_SYMBOL(tuners); 1945EXPORT_SYMBOL(tuners);
1877 1946
diff --git a/drivers/staging/media/go7007/go7007-usb.c b/drivers/staging/media/go7007/go7007-usb.c
index 914b247e9652..3333a8f3b654 100644
--- a/drivers/staging/media/go7007/go7007-usb.c
+++ b/drivers/staging/media/go7007/go7007-usb.c
@@ -27,6 +27,7 @@
27#include <linux/i2c.h> 27#include <linux/i2c.h>
28#include <asm/byteorder.h> 28#include <asm/byteorder.h>
29#include <media/tvaudio.h> 29#include <media/tvaudio.h>
30#include <media/tuner.h>
30 31
31#include "go7007-priv.h" 32#include "go7007-priv.h"
32#include "wis-i2c.h" 33#include "wis-i2c.h"
diff --git a/drivers/staging/media/go7007/go7007-v4l2.c b/drivers/staging/media/go7007/go7007-v4l2.c
index 29fe94da5f71..4ad383ad8758 100644
--- a/drivers/staging/media/go7007/go7007-v4l2.c
+++ b/drivers/staging/media/go7007/go7007-v4l2.c
@@ -1238,6 +1238,7 @@ static int vidioc_g_tuner(struct file *file, void *priv,
1238 if (!go->i2c_adapter_online) 1238 if (!go->i2c_adapter_online)
1239 return -EIO; 1239 return -EIO;
1240 1240
1241 strlcpy(t->name, "Tuner", sizeof(t->name));
1241 return call_all(&go->v4l2_dev, tuner, g_tuner, t); 1242 return call_all(&go->v4l2_dev, tuner, g_tuner, t);
1242} 1243}
1243 1244
diff --git a/drivers/staging/media/go7007/wis-i2c.h b/drivers/staging/media/go7007/wis-i2c.h
index 6d09c06c8560..97763db80bac 100644
--- a/drivers/staging/media/go7007/wis-i2c.h
+++ b/drivers/staging/media/go7007/wis-i2c.h
@@ -34,9 +34,3 @@ struct video_decoder_resolution {
34 34
35#define DECODER_SET_RESOLUTION _IOW('d', 200, struct video_decoder_resolution) 35#define DECODER_SET_RESOLUTION _IOW('d', 200, struct video_decoder_resolution)
36#define DECODER_SET_CHANNEL _IOW('d', 201, int) 36#define DECODER_SET_CHANNEL _IOW('d', 201, int)
37
38/* Sony tuner types */
39
40#define TUNER_SONY_BTF_PG472Z 200
41#define TUNER_SONY_BTF_PK467Z 201
42#define TUNER_SONY_BTF_PB463Z 202
diff --git a/include/media/tuner.h b/include/media/tuner.h
index 926aff9bdf65..24eaafe461bd 100644
--- a/include/media/tuner.h
+++ b/include/media/tuner.h
@@ -138,6 +138,10 @@
138#define TUNER_XC4000 87 /* Xceive Silicon Tuner */ 138#define TUNER_XC4000 87 /* Xceive Silicon Tuner */
139#define TUNER_XC5000C 88 /* Xceive Silicon Tuner */ 139#define TUNER_XC5000C 88 /* Xceive Silicon Tuner */
140 140
141#define TUNER_SONY_BTF_PG472Z 89 /* PAL+SECAM */
142#define TUNER_SONY_BTF_PK467Z 90 /* NTSC_JP */
143#define TUNER_SONY_BTF_PB463Z 91 /* NTSC */
144
141/* tv card specific */ 145/* tv card specific */
142#define TDA9887_PRESENT (1<<0) 146#define TDA9887_PRESENT (1<<0)
143#define TDA9887_PORT1_INACTIVE (1<<1) 147#define TDA9887_PORT1_INACTIVE (1<<1)