diff options
-rw-r--r-- | drivers/media/video/cx88/cx88-cards.c | 22 | ||||
-rw-r--r-- | drivers/media/video/cx88/cx88-dvb.c | 9 | ||||
-rw-r--r-- | drivers/media/video/cx88/cx88.h | 1 |
3 files changed, 32 insertions, 0 deletions
diff --git a/drivers/media/video/cx88/cx88-cards.c b/drivers/media/video/cx88/cx88-cards.c index 23948daae85e..afaafd519eac 100644 --- a/drivers/media/video/cx88/cx88-cards.c +++ b/drivers/media/video/cx88/cx88-cards.c | |||
@@ -1721,6 +1721,18 @@ static const struct cx88_board cx88_boards[] = { | |||
1721 | } }, | 1721 | } }, |
1722 | .mpeg = CX88_MPEG_DVB, | 1722 | .mpeg = CX88_MPEG_DVB, |
1723 | }, | 1723 | }, |
1724 | [CX88_BOARD_OMICOM_SS4_PCI] = { | ||
1725 | .name = "Omicom SS4 DVB-S/S2 PCI", | ||
1726 | .tuner_type = UNSET, | ||
1727 | .radio_type = UNSET, | ||
1728 | .tuner_addr = ADDR_UNSET, | ||
1729 | .radio_addr = ADDR_UNSET, | ||
1730 | .input = {{ | ||
1731 | .type = CX88_VMUX_DVB, | ||
1732 | .vmux = 0, | ||
1733 | } }, | ||
1734 | .mpeg = CX88_MPEG_DVB, | ||
1735 | }, | ||
1724 | }; | 1736 | }; |
1725 | 1737 | ||
1726 | /* ------------------------------------------------------------------ */ | 1738 | /* ------------------------------------------------------------------ */ |
@@ -2094,6 +2106,10 @@ static const struct cx88_subid cx88_subids[] = { | |||
2094 | .subvendor = 0xD460, | 2106 | .subvendor = 0xD460, |
2095 | .subdevice = 0x9022, | 2107 | .subdevice = 0x9022, |
2096 | .card = CX88_BOARD_TEVII_S460, | 2108 | .card = CX88_BOARD_TEVII_S460, |
2109 | }, { | ||
2110 | .subvendor = 0xA044, | ||
2111 | .subdevice = 0x2011, | ||
2112 | .card = CX88_BOARD_OMICOM_SS4_PCI, | ||
2097 | }, | 2113 | }, |
2098 | }; | 2114 | }; |
2099 | 2115 | ||
@@ -2673,6 +2689,12 @@ static void cx88_card_setup(struct cx88_core *core) | |||
2673 | cx_write(MO_SRST_IO, 1); | 2689 | cx_write(MO_SRST_IO, 1); |
2674 | msleep(100); | 2690 | msleep(100); |
2675 | break; | 2691 | break; |
2692 | case CX88_BOARD_OMICOM_SS4_PCI: | ||
2693 | cx_write(MO_SRST_IO, 0); | ||
2694 | msleep(100); | ||
2695 | cx_write(MO_SRST_IO, 1); | ||
2696 | msleep(100); | ||
2697 | break; | ||
2676 | } /*end switch() */ | 2698 | } /*end switch() */ |
2677 | 2699 | ||
2678 | 2700 | ||
diff --git a/drivers/media/video/cx88/cx88-dvb.c b/drivers/media/video/cx88/cx88-dvb.c index ce1752dc8e2b..c86802b913ed 100644 --- a/drivers/media/video/cx88/cx88-dvb.c +++ b/drivers/media/video/cx88/cx88-dvb.c | |||
@@ -958,6 +958,15 @@ static int dvb_register(struct cx8802_dev *dev) | |||
958 | dev->dvb.frontend->ops.set_voltage = tevii_dvbs_set_voltage; | 958 | dev->dvb.frontend->ops.set_voltage = tevii_dvbs_set_voltage; |
959 | } | 959 | } |
960 | break; | 960 | break; |
961 | case CX88_BOARD_OMICOM_SS4_PCI: | ||
962 | dev->dvb.frontend = dvb_attach(cx24116_attach, | ||
963 | &hauppauge_hvr4000_config, | ||
964 | &core->i2c_adap); | ||
965 | if (dev->dvb.frontend != NULL) { | ||
966 | core->prev_set_voltage = dev->dvb.frontend->ops.set_voltage; | ||
967 | dev->dvb.frontend->ops.set_voltage = tevii_dvbs_set_voltage; | ||
968 | } | ||
969 | break; | ||
961 | default: | 970 | default: |
962 | printk(KERN_ERR "%s/2: The frontend of your DVB/ATSC card isn't supported yet\n", | 971 | printk(KERN_ERR "%s/2: The frontend of your DVB/ATSC card isn't supported yet\n", |
963 | core->name); | 972 | core->name); |
diff --git a/drivers/media/video/cx88/cx88.h b/drivers/media/video/cx88/cx88.h index 2b82c6aac89a..628371b49c56 100644 --- a/drivers/media/video/cx88/cx88.h +++ b/drivers/media/video/cx88/cx88.h | |||
@@ -224,6 +224,7 @@ extern struct sram_channel cx88_sram_channels[]; | |||
224 | #define CX88_BOARD_HAUPPAUGE_HVR4000 68 | 224 | #define CX88_BOARD_HAUPPAUGE_HVR4000 68 |
225 | #define CX88_BOARD_HAUPPAUGE_HVR4000LITE 69 | 225 | #define CX88_BOARD_HAUPPAUGE_HVR4000LITE 69 |
226 | #define CX88_BOARD_TEVII_S460 70 | 226 | #define CX88_BOARD_TEVII_S460 70 |
227 | #define CX88_BOARD_OMICOM_SS4_PCI 71 | ||
227 | 228 | ||
228 | enum cx88_itype { | 229 | enum cx88_itype { |
229 | CX88_VMUX_COMPOSITE1 = 1, | 230 | CX88_VMUX_COMPOSITE1 = 1, |