aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx88
diff options
context:
space:
mode:
authorIgor M. Liplianin <liplianin@me.by>2008-11-09 13:25:31 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2008-12-29 14:53:28 -0500
commit4b29631db33292d416dc395c56122ea865e7635c (patch)
tree1e0e6b034148e2d78c73f4d3e85a242884707dbe /drivers/media/video/cx88
parent1f6340bd431921f9b6dc995973eb065d6c14f024 (diff)
V4L/DVB (9533): cx88: Add support for TurboSight TBS8910 DVB-S PCI card
The card based on stv0299 or stv0288 demodulators. Signed-off-by: Igor M. Liplianin <liplianin@me.by> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/cx88')
-rw-r--r--drivers/media/video/cx88/cx88-cards.c34
-rw-r--r--drivers/media/video/cx88/cx88-dvb.c2
-rw-r--r--drivers/media/video/cx88/cx88.h2
3 files changed, 38 insertions, 0 deletions
diff --git a/drivers/media/video/cx88/cx88-cards.c b/drivers/media/video/cx88/cx88-cards.c
index 3ead9498c4d..bbe5b3343ac 100644
--- a/drivers/media/video/cx88/cx88-cards.c
+++ b/drivers/media/video/cx88/cx88-cards.c
@@ -1847,6 +1847,18 @@ static const struct cx88_board cx88_boards[] = {
1847 } }, 1847 } },
1848 .mpeg = CX88_MPEG_DVB, 1848 .mpeg = CX88_MPEG_DVB,
1849 }, 1849 },
1850 [CX88_BOARD_TBS_8910] = {
1851 .name = "TBS 8910 DVB-S",
1852 .tuner_type = UNSET,
1853 .radio_type = UNSET,
1854 .tuner_addr = ADDR_UNSET,
1855 .radio_addr = ADDR_UNSET,
1856 .input = {{
1857 .type = CX88_VMUX_DVB,
1858 .vmux = 0,
1859 } },
1860 .mpeg = CX88_MPEG_DVB,
1861 },
1850 [CX88_BOARD_TBS_8920] = { 1862 [CX88_BOARD_TBS_8920] = {
1851 .name = "TBS 8920 DVB-S/S2", 1863 .name = "TBS 8920 DVB-S/S2",
1852 .tuner_type = TUNER_ABSENT, 1864 .tuner_type = TUNER_ABSENT,
@@ -1871,6 +1883,18 @@ static const struct cx88_board cx88_boards[] = {
1871 } }, 1883 } },
1872 .mpeg = CX88_MPEG_DVB, 1884 .mpeg = CX88_MPEG_DVB,
1873 }, 1885 },
1886 [CX88_BOARD_SATTRADE_ST4200] = {
1887 .name = "SATTRADE ST4200 DVB-S/S2",
1888 .tuner_type = UNSET,
1889 .radio_type = UNSET,
1890 .tuner_addr = ADDR_UNSET,
1891 .radio_addr = ADDR_UNSET,
1892 .input = {{
1893 .type = CX88_VMUX_DVB,
1894 .vmux = 0,
1895 } },
1896 .mpeg = CX88_MPEG_DVB,
1897 },
1874}; 1898};
1875 1899
1876/* ------------------------------------------------------------------ */ 1900/* ------------------------------------------------------------------ */
@@ -2261,6 +2285,10 @@ static const struct cx88_subid cx88_subids[] = {
2261 .subdevice = 0x2011, 2285 .subdevice = 0x2011,
2262 .card = CX88_BOARD_OMICOM_SS4_PCI, 2286 .card = CX88_BOARD_OMICOM_SS4_PCI,
2263 }, { 2287 }, {
2288 .subvendor = 0x8910,
2289 .subdevice = 0x8888,
2290 .card = CX88_BOARD_TBS_8910,
2291 }, {
2264 .subvendor = 0x8920, 2292 .subvendor = 0x8920,
2265 .subdevice = 0x8888, 2293 .subdevice = 0x8888,
2266 .card = CX88_BOARD_TBS_8920, 2294 .card = CX88_BOARD_TBS_8920,
@@ -2268,6 +2296,10 @@ static const struct cx88_subid cx88_subids[] = {
2268 .subvendor = 0xB033, 2296 .subvendor = 0xB033,
2269 .subdevice = 0x3033, 2297 .subdevice = 0x3033,
2270 .card = CX88_BOARD_PROF_7300, 2298 .card = CX88_BOARD_PROF_7300,
2299 }, {
2300 .subvendor = 0xb200,
2301 .subdevice = 0x4200,
2302 .card = CX88_BOARD_SATTRADE_ST4200,
2271 }, 2303 },
2272}; 2304};
2273 2305
@@ -2878,8 +2910,10 @@ static void cx88_card_setup(struct cx88_core *core)
2878 case CX88_BOARD_TEVII_S420: 2910 case CX88_BOARD_TEVII_S420:
2879 case CX88_BOARD_TEVII_S460: 2911 case CX88_BOARD_TEVII_S460:
2880 case CX88_BOARD_OMICOM_SS4_PCI: 2912 case CX88_BOARD_OMICOM_SS4_PCI:
2913 case CX88_BOARD_TBS_8910:
2881 case CX88_BOARD_TBS_8920: 2914 case CX88_BOARD_TBS_8920:
2882 case CX88_BOARD_PROF_7300: 2915 case CX88_BOARD_PROF_7300:
2916 case CX88_BOARD_SATTRADE_ST4200:
2883 cx_write(MO_SRST_IO, 0); 2917 cx_write(MO_SRST_IO, 0);
2884 msleep(100); 2918 msleep(100);
2885 cx_write(MO_SRST_IO, 1); 2919 cx_write(MO_SRST_IO, 1);
diff --git a/drivers/media/video/cx88/cx88-dvb.c b/drivers/media/video/cx88/cx88-dvb.c
index 8378d46dc80..bab28112e40 100644
--- a/drivers/media/video/cx88/cx88-dvb.c
+++ b/drivers/media/video/cx88/cx88-dvb.c
@@ -1042,6 +1042,7 @@ static int dvb_register(struct cx8802_dev *dev)
1042 0x08, ISL6421_DCL, 0x00); 1042 0x08, ISL6421_DCL, 0x00);
1043 } 1043 }
1044 break; 1044 break;
1045 case CX88_BOARD_TBS_8910:
1045 case CX88_BOARD_TEVII_S420: 1046 case CX88_BOARD_TEVII_S420:
1046 fe0->dvb.frontend = dvb_attach(stv0299_attach, 1047 fe0->dvb.frontend = dvb_attach(stv0299_attach,
1047 &tevii_tuner_sharp_config, 1048 &tevii_tuner_sharp_config,
@@ -1078,6 +1079,7 @@ static int dvb_register(struct cx8802_dev *dev)
1078 case CX88_BOARD_OMICOM_SS4_PCI: 1079 case CX88_BOARD_OMICOM_SS4_PCI:
1079 case CX88_BOARD_TBS_8920: 1080 case CX88_BOARD_TBS_8920:
1080 case CX88_BOARD_PROF_7300: 1081 case CX88_BOARD_PROF_7300:
1082 case CX88_BOARD_SATTRADE_ST4200:
1081 fe0->dvb.frontend = dvb_attach(cx24116_attach, 1083 fe0->dvb.frontend = dvb_attach(cx24116_attach,
1082 &hauppauge_hvr4000_config, 1084 &hauppauge_hvr4000_config,
1083 &core->i2c_adap); 1085 &core->i2c_adap);
diff --git a/drivers/media/video/cx88/cx88.h b/drivers/media/video/cx88/cx88.h
index a11599fa1d8..ae1b89a88bc 100644
--- a/drivers/media/video/cx88/cx88.h
+++ b/drivers/media/video/cx88/cx88.h
@@ -228,6 +228,8 @@ extern struct sram_channel cx88_sram_channels[];
228#define CX88_BOARD_TEVII_S420 73 228#define CX88_BOARD_TEVII_S420 73
229#define CX88_BOARD_PROLINK_PV_GLOBAL_XTREME 74 229#define CX88_BOARD_PROLINK_PV_GLOBAL_XTREME 74
230#define CX88_BOARD_PROF_7300 75 230#define CX88_BOARD_PROF_7300 75
231#define CX88_BOARD_SATTRADE_ST4200 76
232#define CX88_BOARD_TBS_8910 77
231 233
232enum cx88_itype { 234enum cx88_itype {
233 CX88_VMUX_COMPOSITE1 = 1, 235 CX88_VMUX_COMPOSITE1 = 1,