summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Krufky <devnull@localhost>2005-10-05 04:19:55 +0000
committerMichael Krufky <devnull@localhost>2005-10-05 04:19:55 +0000
commit55b1d32f6f1e9e22f8c775937b2b711e732949a8 (patch)
tree79968fa790aa0d9dffcfc2edfa49438800f62c3a
parent4a01bb35d2c11cd9c59970a08283a23bca17fd98 (diff)
downloadmediapointer-dvb-s2-55b1d32f6f1e9e22f8c775937b2b711e732949a8.tar.gz
mediapointer-dvb-s2-55b1d32f6f1e9e22f8c775937b2b711e732949a8.tar.bz2
* cx88.h, cx88-cards.c: (cx88_card_setup):
- Added analog support for ATI HDTV Wonder * tuner.h, tuner-simple.c: (default_set_tv_freq): - Added support for the Philips TUV1236D tuner on the ATI HDTV Wonder Signed-off-by: Kirk Lapray <kirk.lapray@gmail.com> Signed-off-by: Michael Krufky <mkrufky@m1k.net>
-rw-r--r--linux/Documentation/video4linux/CARDLIST.cx881
-rw-r--r--linux/Documentation/video4linux/CARDLIST.tuner1
-rw-r--r--linux/drivers/media/video/cx88/cx88-cards.c54
-rw-r--r--linux/drivers/media/video/cx88/cx88.h3
-rw-r--r--linux/drivers/media/video/tuner-simple.c17
-rw-r--r--linux/include/media/tuner.h4
-rw-r--r--v4l/ChangeLog11
7 files changed, 86 insertions, 5 deletions
diff --git a/linux/Documentation/video4linux/CARDLIST.cx88 b/linux/Documentation/video4linux/CARDLIST.cx88
index 8a14e3f44..ca46fbf48 100644
--- a/linux/Documentation/video4linux/CARDLIST.cx88
+++ b/linux/Documentation/video4linux/CARDLIST.cx88
@@ -32,3 +32,4 @@
31 -> DViCO FusionHDTV 5 Gold [18ac:d500]
32 -> AverMedia UltraTV Media Center PCI 550 [1461:8011]
33 -> Kworld V-Stream Xpert DVD
+ 34 -> ATI HDTV Wonder [1002:a101]
diff --git a/linux/Documentation/video4linux/CARDLIST.tuner b/linux/Documentation/video4linux/CARDLIST.tuner
index 0e2ea497a..ec840ca6f 100644
--- a/linux/Documentation/video4linux/CARDLIST.tuner
+++ b/linux/Documentation/video4linux/CARDLIST.tuner
@@ -66,3 +66,4 @@ tuner=64 - LG TDVS-H062F/TUA6034
tuner=65 - Ymec TVF66T5-B/DFF
tuner=66 - LG NTSC (TALN mini series)
tuner=67 - Philips TD1316 Hybrid Tuner
+tuner=68 - Philips TUV1236D ATSC/NTSC dual in
diff --git a/linux/drivers/media/video/cx88/cx88-cards.c b/linux/drivers/media/video/cx88/cx88-cards.c
index 79b87e7b7..edc495294 100644
--- a/linux/drivers/media/video/cx88/cx88-cards.c
+++ b/linux/drivers/media/video/cx88/cx88-cards.c
@@ -1,5 +1,5 @@
/*
- * $Id: cx88-cards.c,v 1.97 2005/10/04 14:33:12 nsh Exp $
+ * $Id: cx88-cards.c,v 1.98 2005/10/05 04:19:55 mkrufky Exp $
*
* device driver for Conexant 2388x based TV cards
* card-specific stuff.
@@ -825,6 +825,38 @@ struct cx88_board cx88_boards[] = {
.gpio3 = 0x00100000,
}},
},
+ [CX88_BOARD_ATI_HDTVWONDER] = {
+ .name = "ATI HDTV Wonder",
+ .tuner_type = TUNER_PHILIPS_TUV1236D,
+ .radio_type = UNSET,
+ .tuner_addr = ADDR_UNSET,
+ .radio_addr = ADDR_UNSET,
+ .input = {{
+ .type = CX88_VMUX_TELEVISION,
+ .vmux = 0,
+ .gpio0 = 0x00000ff7,
+ .gpio1 = 0x000000ff,
+ .gpio2 = 0x00000001,
+ .gpio3 = 0x00000000,
+ },{
+ .type = CX88_VMUX_COMPOSITE1,
+ .vmux = 1,
+ .gpio0 = 0x00000ffe,
+ .gpio1 = 0x000000ff,
+ .gpio2 = 0x00000001,
+ .gpio3 = 0x00000000,
+ },{
+ .type = CX88_VMUX_SVIDEO,
+ .vmux = 2,
+ .gpio0 = 0x00000ffe,
+ .gpio1 = 0x000000ff,
+ .gpio2 = 0x00000001,
+ .gpio3 = 0x00000000,
+ }},
+#if 0
+ .dvb = 1,
+#endif
+ },
};
const unsigned int cx88_bcount = ARRAY_SIZE(cx88_boards);
@@ -960,6 +992,10 @@ struct cx88_subid cx88_subids[] = {
.subvendor = 0x1461,
.subdevice = 0x8011,
.card = CX88_BOARD_AVERMEDIA_ULTRATV_MC_550,
+ },{
+ .subvendor = PCI_VENDOR_ID_ATI,
+ .subdevice = 0xa101,
+ .card = CX88_BOARD_ATI_HDTVWONDER,
},
};
const unsigned int cx88_idcount = ARRAY_SIZE(cx88_subids);
@@ -1161,6 +1197,22 @@ void cx88_card_setup(struct cx88_core *core)
cx_clear(MO_GP0_IO, 0x00000007);
cx_set(MO_GP2_IO, 0x00000101);
break;
+ case CX88_BOARD_ATI_HDTVWONDER:
+ if (0 == core->i2c_rc) {
+ /* enable tuner */
+ int i;
+ u8 buffer[12];
+ core->i2c_client.addr = 0x0a;
+ buffer[0] = 0x10; buffer[1] = 0x12; buffer[2] = 0x13; buffer[3] = 0x04;
+ buffer[4] = 0x16; buffer[5] = 0x00; buffer[6] = 0x14; buffer[7] = 0x04;
+ buffer[8] = 0x14; buffer[9] = 0x00; buffer[10] = 0x17; buffer[11] = 0x00;
+
+ for (i = 0; i < 6; i++)
+ if (2 != i2c_master_send(&core->i2c_client,&buffer[i*2],2))
+ printk(KERN_WARNING "%s: Unable to enable tuner(%i).\n",
+ core->name, i);
+ }
+ break;
}
if (cx88_boards[core->board].radio.type == CX88_RADIO)
core->has_radio = 1;
diff --git a/linux/drivers/media/video/cx88/cx88.h b/linux/drivers/media/video/cx88/cx88.h
index 6436da9be..5036f62cb 100644
--- a/linux/drivers/media/video/cx88/cx88.h
+++ b/linux/drivers/media/video/cx88/cx88.h
@@ -1,5 +1,5 @@
/*
- * $Id: cx88.h,v 1.81 2005/10/04 14:33:12 nsh Exp $
+ * $Id: cx88.h,v 1.82 2005/10/05 04:19:55 mkrufky Exp $
*
* v4l2 device driver for cx2388x based TV cards
*
@@ -181,6 +181,7 @@ extern struct sram_channel cx88_sram_channels[];
#define CX88_BOARD_DVICO_FUSIONHDTV_5_GOLD 31
#define CX88_BOARD_AVERMEDIA_ULTRATV_MC_550 32
#define CX88_BOARD_KWORLD_VSTREAM_EXPERT_DVD 33
+#define CX88_BOARD_ATI_HDTVWONDER 34
enum cx88_itype {
CX88_VMUX_COMPOSITE1 = 1,
diff --git a/linux/drivers/media/video/tuner-simple.c b/linux/drivers/media/video/tuner-simple.c
index 9b1b2e8e1..9552b1a31 100644
--- a/linux/drivers/media/video/tuner-simple.c
+++ b/linux/drivers/media/video/tuner-simple.c
@@ -1,5 +1,5 @@
/*
- * $Id: tuner-simple.c,v 1.52 2005/09/28 19:28:51 nsh Exp $
+ * $Id: tuner-simple.c,v 1.53 2005/10/05 04:19:55 mkrufky Exp $
*
* i2c tv tuner chip device driver
* controls all those simple 4-control-bytes style tuners.
@@ -235,7 +235,7 @@ static struct tunertype tuners[] = {
{ "Ymec TVision TVF-5533MF", Philips, NTSC,
16*160.00,16*454.00,0x01,0x02,0x04,0x8e,732},
- /* 60-67 */
+ /* 60-68 */
{ "Thomson DDT 7611 (ATSC/NTSC)", THOMSON, ATSC,
16*157.25,16*454.00,0x39,0x3a,0x3c,0x8e,732},
{ "Tena TNF9533-D/IF/TNF9533-B/DF", Philips, PAL,
@@ -252,6 +252,8 @@ static struct tunertype tuners[] = {
16*137.25,16*373.25,0x01,0x02,0x08,0x8e,732 },
{ "Philips TD1316 Hybrid Tuner", Philips, PAL,
16*160.00,16*442.00,0xa1,0xa2,0xa4,0xc8,623 },
+ { "Philips TUV1236D ATSC/NTSC dual in", Philips, ATSC,
+ 16*157.25,16*454.00,0x01,0x02,0x03,0xce,732 },
};
unsigned const int tuner_count = ARRAY_SIZE(tuners);
@@ -393,6 +395,17 @@ static void default_set_tv_freq(struct i2c_client *c, unsigned int freq)
/* Set the charge pump for fast tuning */
tun->config |= TUNER_CHARGE_PUMP;
break;
+
+ case TUNER_PHILIPS_TUV1236D:
+ /* 0x40 -> ATSC antenna input 1 */
+ /* 0x48 -> ATSC antenna input 2 */
+ /* 0x00 -> NTSC antenna input 1 */
+ /* 0x08 -> NTSC antenna input 2 */
+ config &= ~0x40;
+ if (t->std & V4L2_STD_ATSC)
+ config |= 0x40;
+ /* FIXME: input */
+ break;
}
/*
diff --git a/linux/include/media/tuner.h b/linux/include/media/tuner.h
index abe7a8817..2e7866e00 100644
--- a/linux/include/media/tuner.h
+++ b/linux/include/media/tuner.h
@@ -1,4 +1,4 @@
-/* $Id: tuner.h,v 1.54 2005/09/29 18:20:25 nsh Exp $
+/* $Id: tuner.h,v 1.55 2005/10/05 04:19:55 mkrufky Exp $
*
tuner.h - definition for different tuners
@@ -113,6 +113,8 @@
#define TUNER_LG_NTSC_TALN_MINI 66
#define TUNER_PHILIPS_TD1316 67
+#define TUNER_PHILIPS_TUV1236D 68 /* ATI HDTV Wonder */
+
#define NOTUNER 0
#define PAL 1 /* PAL_BG */
#define PAL_I 2
diff --git a/v4l/ChangeLog b/v4l/ChangeLog
index 60af487a5..4f4c8cfa7 100644
--- a/v4l/ChangeLog
+++ b/v4l/ChangeLog
@@ -1,3 +1,14 @@
+2005-10-05 04:10 mkrufky
+
+ * cx88.h, cx88-cards.c: (cx88_card_setup):
+ - Added analog support for ATI HDTV Wonder
+
+ * tuner.h, tuner-simple.c: (default_set_tv_freq):
+ - Added support for the Philips TUV1236D tuner on the ATI HDTV Wonder
+
+ Signed-off-by: Kirk Lapray <kirk.lapray@gmail.com>
+ Signed-off-by: Michael Krufky <mkrufky@m1k.net>
+
2005-10-04 17:14 mkrufky
* bttv-cards.c: