diff options
author | Oleg Roitburd <devnull@localhost> | 2008-09-17 16:58:33 +0200 |
---|---|---|
committer | Oleg Roitburd <devnull@localhost> | 2008-09-17 16:58:33 +0200 |
commit | 36e7449c9c15584d5a924dc0172a874ba385f003 (patch) | |
tree | 1ae8c176e086d9563f39ee2ac35bac51577d99d3 /linux/drivers/media/video | |
parent | 5273325492ba1398c681b8b4aa7e3eb99993ba9f (diff) | |
download | mediapointer-dvb-s2-36e7449c9c15584d5a924dc0172a874ba385f003.tar.gz mediapointer-dvb-s2-36e7449c9c15584d5a924dc0172a874ba385f003.tar.bz2 |
Added support for TBS 8920 DVB-S/S2 card
From: Oleg Roitburd <oroitburd@gmail.com>
Added support for TBS 8920 DVB-S/S2 card. The card
based on cx24116 demodulator.
Signed-off-by: Oleg Roitburd <oroitburd@gmail.com>
Diffstat (limited to 'linux/drivers/media/video')
-rw-r--r-- | linux/drivers/media/video/cx88/cx88-cards.c | 22 | ||||
-rw-r--r-- | linux/drivers/media/video/cx88/cx88-dvb.c | 9 | ||||
-rw-r--r-- | linux/drivers/media/video/cx88/cx88.h | 1 |
3 files changed, 32 insertions, 0 deletions
diff --git a/linux/drivers/media/video/cx88/cx88-cards.c b/linux/drivers/media/video/cx88/cx88-cards.c index 2a2d87d6e..5c954c963 100644 --- a/linux/drivers/media/video/cx88/cx88-cards.c +++ b/linux/drivers/media/video/cx88/cx88-cards.c @@ -1770,6 +1770,18 @@ static const struct cx88_board cx88_boards[] = { } }, .mpeg = CX88_MPEG_DVB, }, + [CX88_BOARD_TBS_8920] = { + .name = "TBS 8920 DVB-S/S2", + .tuner_type = TUNER_ABSENT, + .radio_type = UNSET, + .tuner_addr = ADDR_UNSET, + .radio_addr = ADDR_UNSET, + .input = {{ + .type = CX88_VMUX_DVB, + .vmux = 1, + } }, + .mpeg = CX88_MPEG_DVB, + }, }; /* ------------------------------------------------------------------ */ @@ -2147,6 +2159,10 @@ static const struct cx88_subid cx88_subids[] = { .subvendor = 0xA044, .subdevice = 0x2011, .card = CX88_BOARD_OMICOM_SS4_PCI, + }, { + .subvendor = 0x8920, + .subdevice = 0x8888, + .card = CX88_BOARD_TBS_8920, }, }; @@ -2732,6 +2748,12 @@ static void cx88_card_setup(struct cx88_core *core) cx_write(MO_SRST_IO, 1); msleep(100); break; + case CX88_BOARD_TBS_8920: + cx_write(MO_SRST_IO, 0); + msleep(100); + cx_write(MO_SRST_IO, 1); + msleep(100); + break; } /*end switch() */ diff --git a/linux/drivers/media/video/cx88/cx88-dvb.c b/linux/drivers/media/video/cx88/cx88-dvb.c index 4e54f697a..dce63e607 100644 --- a/linux/drivers/media/video/cx88/cx88-dvb.c +++ b/linux/drivers/media/video/cx88/cx88-dvb.c @@ -982,6 +982,15 @@ static int dvb_register(struct cx8802_dev *dev) dev->dvb.frontend->ops.set_voltage = tevii_dvbs_set_voltage; } break; + case CX88_BOARD_TBS_8920: + dev->dvb.frontend = dvb_attach(cx24116_attach, + &hauppauge_hvr4000_config, + &core->i2c_adap); + if (dev->dvb.frontend != NULL) { + core->prev_set_voltage = dev->dvb.frontend->ops.set_voltage; + dev->dvb.frontend->ops.set_voltage = tevii_dvbs_set_voltage; + } + break; default: printk(KERN_ERR "%s/2: The frontend of your DVB/ATSC card isn't supported yet\n", core->name); diff --git a/linux/drivers/media/video/cx88/cx88.h b/linux/drivers/media/video/cx88/cx88.h index 614ef6d01..9f2df0e23 100644 --- a/linux/drivers/media/video/cx88/cx88.h +++ b/linux/drivers/media/video/cx88/cx88.h @@ -226,6 +226,7 @@ extern struct sram_channel cx88_sram_channels[]; #define CX88_BOARD_HAUPPAUGE_HVR4000LITE 69 #define CX88_BOARD_TEVII_S460 70 #define CX88_BOARD_OMICOM_SS4_PCI 71 +#define CX88_BOARD_TBS_8920 72 enum cx88_itype { CX88_VMUX_COMPOSITE1 = 1, |