diff options
author | Michael Krufky <devnull@localhost> | 2005-10-05 04:19:55 +0000 |
---|---|---|
committer | Michael Krufky <devnull@localhost> | 2005-10-05 04:19:55 +0000 |
commit | 55b1d32f6f1e9e22f8c775937b2b711e732949a8 (patch) | |
tree | 79968fa790aa0d9dffcfc2edfa49438800f62c3a /linux/drivers/media/video/cx88/cx88-cards.c | |
parent | 4a01bb35d2c11cd9c59970a08283a23bca17fd98 (diff) | |
download | mediapointer-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>
Diffstat (limited to 'linux/drivers/media/video/cx88/cx88-cards.c')
-rw-r--r-- | linux/drivers/media/video/cx88/cx88-cards.c | 54 |
1 files changed, 53 insertions, 1 deletions
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; |