diff options
author | oleg@compaq.Office.local <oleg@compaq.Office.local> | 2008-09-17 16:30:21 +0200 |
---|---|---|
committer | oleg@compaq.Office.local <oleg@compaq.Office.local> | 2008-09-17 16:30:21 +0200 |
commit | 5273325492ba1398c681b8b4aa7e3eb99993ba9f (patch) | |
tree | 75869a3a3150f7b57b720997de8f2e58fae57e41 | |
parent | ed6c8fe1f1e74e4a4a4412d5cb564f5486b4e9f4 (diff) | |
download | mediapointer-dvb-s2-5273325492ba1398c681b8b4aa7e3eb99993ba9f.tar.gz mediapointer-dvb-s2-5273325492ba1398c681b8b4aa7e3eb99993ba9f.tar.bz2 |
Added support for Omicom SS4 DVB-S/S2 card
From: Oleg Roitburd <oroitburd@gmail.com>
Added support for Omicom SS4 DVB-S/S2 card. The card
based on cx24116 demodulator.
Signed-off-by: Oleg Roitburd <oroitburd@gmail.com>
user: Oleg Roitburd <oroitburd@gmail.com>
-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 8ef541301..2a2d87d6e 100644 --- a/linux/drivers/media/video/cx88/cx88-cards.c +++ b/linux/drivers/media/video/cx88/cx88-cards.c @@ -1758,6 +1758,18 @@ static const struct cx88_board cx88_boards[] = { } }, .mpeg = CX88_MPEG_DVB, }, + [CX88_BOARD_OMICOM_SS4_PCI] = { + .name = "Omicom SS4 DVB-S/S2 PCI", + .tuner_type = UNSET, + .radio_type = UNSET, + .tuner_addr = ADDR_UNSET, + .radio_addr = ADDR_UNSET, + .input = {{ + .type = CX88_VMUX_DVB, + .vmux = 0, + } }, + .mpeg = CX88_MPEG_DVB, + }, }; /* ------------------------------------------------------------------ */ @@ -2131,6 +2143,10 @@ static const struct cx88_subid cx88_subids[] = { .subvendor = 0xD460, .subdevice = 0x9022, .card = CX88_BOARD_TEVII_S460, + }, { + .subvendor = 0xA044, + .subdevice = 0x2011, + .card = CX88_BOARD_OMICOM_SS4_PCI, }, }; @@ -2710,6 +2726,12 @@ static void cx88_card_setup(struct cx88_core *core) cx_write(MO_SRST_IO, 1); msleep(100); break; + case CX88_BOARD_OMICOM_SS4_PCI: + 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 e1d43ccb5..4e54f697a 100644 --- a/linux/drivers/media/video/cx88/cx88-dvb.c +++ b/linux/drivers/media/video/cx88/cx88-dvb.c @@ -973,6 +973,15 @@ static int dvb_register(struct cx8802_dev *dev) dev->dvb.frontend->ops.set_voltage = tevii_dvbs_set_voltage; } break; + case CX88_BOARD_OMICOM_SS4_PCI: + 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 0e10e557e..614ef6d01 100644 --- a/linux/drivers/media/video/cx88/cx88.h +++ b/linux/drivers/media/video/cx88/cx88.h @@ -225,6 +225,7 @@ extern struct sram_channel cx88_sram_channels[]; #define CX88_BOARD_HAUPPAUGE_HVR4000 68 #define CX88_BOARD_HAUPPAUGE_HVR4000LITE 69 #define CX88_BOARD_TEVII_S460 70 +#define CX88_BOARD_OMICOM_SS4_PCI 71 enum cx88_itype { CX88_VMUX_COMPOSITE1 = 1, |