aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx88/cx88-cards.c
diff options
context:
space:
mode:
authorSteven Toth <stoth@hauppauge.com>2008-04-22 13:45:34 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-04-24 13:07:46 -0400
commit1117d6ba1313b8821b10403de114c38764008c45 (patch)
tree3c9cff4d6128a21b5d4256d3e5d5bac156c3cd2d /drivers/media/video/cx88/cx88-cards.c
parenta58858556deb03ea4a464f84fe888692867ce377 (diff)
V4L/DVB (7287): cx88: add analog support for DVICO FusionHDTV7 Gold
Signed-off-by: Steven Toth <stoth@hauppauge.com> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/cx88/cx88-cards.c')
-rw-r--r--drivers/media/video/cx88/cx88-cards.c40
1 files changed, 40 insertions, 0 deletions
diff --git a/drivers/media/video/cx88/cx88-cards.c b/drivers/media/video/cx88/cx88-cards.c
index bf58f350e26..8e29e48a86f 100644
--- a/drivers/media/video/cx88/cx88-cards.c
+++ b/drivers/media/video/cx88/cx88-cards.c
@@ -1571,6 +1571,26 @@ static const struct cx88_board cx88_boards[] = {
1571 } }, 1571 } },
1572 .mpeg = CX88_MPEG_DVB, 1572 .mpeg = CX88_MPEG_DVB,
1573 }, 1573 },
1574 [CX88_BOARD_DVICO_FUSIONHDTV_7_GOLD] = {
1575 .name = "DVICO FusionHDTV7 Gold",
1576 .tuner_type = TUNER_XC5000,
1577 .radio_type = UNSET,
1578 .tuner_addr = ADDR_UNSET,
1579 .radio_addr = ADDR_UNSET,
1580 .input = {{
1581 .type = CX88_VMUX_TELEVISION,
1582 .vmux = 0,
1583 .gpio0 = 0x37df,
1584 },{
1585 .type = CX88_VMUX_COMPOSITE1,
1586 .vmux = 1,
1587 .gpio0 = 0x37df,
1588 },{
1589 .type = CX88_VMUX_SVIDEO,
1590 .vmux = 2,
1591 .gpio0 = 0x37df,
1592 }},
1593 },
1574}; 1594};
1575 1595
1576/* ------------------------------------------------------------------ */ 1596/* ------------------------------------------------------------------ */
@@ -1908,6 +1928,10 @@ static const struct cx88_subid cx88_subids[] = {
1908 .subvendor = 0x14f1, 1928 .subvendor = 0x14f1,
1909 .subdevice = 0x8852, 1929 .subdevice = 0x8852,
1910 .card = CX88_BOARD_GENIATECH_X8000_MT, 1930 .card = CX88_BOARD_GENIATECH_X8000_MT,
1931 },{
1932 .subvendor = 0x18ac,
1933 .subdevice = 0xd610,
1934 .card = CX88_BOARD_DVICO_FUSIONHDTV_7_GOLD,
1911 } 1935 }
1912}; 1936};
1913 1937
@@ -2189,6 +2213,18 @@ static int cx88_xc5000_tuner_callback(void *priv, int command, int arg)
2189 return -EINVAL; 2213 return -EINVAL;
2190 } 2214 }
2191 break; 2215 break;
2216 case CX88_BOARD_DVICO_FUSIONHDTV_7_GOLD:
2217 if (command == 0) { /* This is the reset command from xc5000 */
2218 cx_clear(MO_GP0_IO, 0x00000010);
2219 msleep(10);
2220 cx_set(MO_GP0_IO, 0x00000010);
2221 return 0;
2222 } else {
2223 printk(KERN_ERR
2224 "xc5000: unknown tuner callback command.\n");
2225 return -EINVAL;
2226 }
2227 break;
2192 } 2228 }
2193 return 0; /* Should never be here */ 2229 return 0; /* Should never be here */
2194} 2230}
@@ -2255,6 +2291,10 @@ static void cx88_card_setup_pre_i2c(struct cx88_core *core)
2255 cx_set(MO_GP0_IO, 0x00000080); /* 702 out of reset */ 2291 cx_set(MO_GP0_IO, 0x00000080); /* 702 out of reset */
2256 udelay(1000); 2292 udelay(1000);
2257 break; 2293 break;
2294 case CX88_BOARD_DVICO_FUSIONHDTV_7_GOLD:
2295 /* Enable the xc5000 tuner */
2296 cx_set(MO_GP0_IO, 0x00001010);
2297 break;
2258 } 2298 }
2259} 2299}
2260 2300