Commit 1117d6ba authored by Steven Toth's avatar Steven Toth Committed by Mauro Carvalho Chehab

V4L/DVB (7287): cx88: add analog support for DVICO FusionHDTV7 Gold

Signed-off-by: default avatarSteven Toth <stoth@hauppauge.com>
Signed-off-by: default avatarMichael Krufky <mkrufky@linuxtv.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent a5885855
...@@ -63,3 +63,4 @@ ...@@ -63,3 +63,4 @@
62 -> PowerColor Real Angel 330 [14f1:ea3d] 62 -> PowerColor Real Angel 330 [14f1:ea3d]
63 -> Geniatech X8000-MT DVBT [14f1:8852] 63 -> Geniatech X8000-MT DVBT [14f1:8852]
64 -> DViCO FusionHDTV DVB-T PRO [18ac:db30] 64 -> DViCO FusionHDTV DVB-T PRO [18ac:db30]
65 -> DVICO FusionHDTV7 Gold [18ac:d610]
...@@ -1571,6 +1571,26 @@ static const struct cx88_board cx88_boards[] = { ...@@ -1571,6 +1571,26 @@ static const struct cx88_board cx88_boards[] = {
} }, } },
.mpeg = CX88_MPEG_DVB, .mpeg = CX88_MPEG_DVB,
}, },
[CX88_BOARD_DVICO_FUSIONHDTV_7_GOLD] = {
.name = "DVICO FusionHDTV7 Gold",
.tuner_type = TUNER_XC5000,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.input = {{
.type = CX88_VMUX_TELEVISION,
.vmux = 0,
.gpio0 = 0x37df,
},{
.type = CX88_VMUX_COMPOSITE1,
.vmux = 1,
.gpio0 = 0x37df,
},{
.type = CX88_VMUX_SVIDEO,
.vmux = 2,
.gpio0 = 0x37df,
}},
},
}; };
/* ------------------------------------------------------------------ */ /* ------------------------------------------------------------------ */
...@@ -1908,6 +1928,10 @@ static const struct cx88_subid cx88_subids[] = { ...@@ -1908,6 +1928,10 @@ static const struct cx88_subid cx88_subids[] = {
.subvendor = 0x14f1, .subvendor = 0x14f1,
.subdevice = 0x8852, .subdevice = 0x8852,
.card = CX88_BOARD_GENIATECH_X8000_MT, .card = CX88_BOARD_GENIATECH_X8000_MT,
},{
.subvendor = 0x18ac,
.subdevice = 0xd610,
.card = CX88_BOARD_DVICO_FUSIONHDTV_7_GOLD,
} }
}; };
...@@ -2189,6 +2213,18 @@ static int cx88_xc5000_tuner_callback(void *priv, int command, int arg) ...@@ -2189,6 +2213,18 @@ static int cx88_xc5000_tuner_callback(void *priv, int command, int arg)
return -EINVAL; return -EINVAL;
} }
break; break;
case CX88_BOARD_DVICO_FUSIONHDTV_7_GOLD:
if (command == 0) { /* This is the reset command from xc5000 */
cx_clear(MO_GP0_IO, 0x00000010);
msleep(10);
cx_set(MO_GP0_IO, 0x00000010);
return 0;
} else {
printk(KERN_ERR
"xc5000: unknown tuner callback command.\n");
return -EINVAL;
}
break;
} }
return 0; /* Should never be here */ return 0; /* Should never be here */
} }
...@@ -2255,6 +2291,10 @@ static void cx88_card_setup_pre_i2c(struct cx88_core *core) ...@@ -2255,6 +2291,10 @@ static void cx88_card_setup_pre_i2c(struct cx88_core *core)
cx_set(MO_GP0_IO, 0x00000080); /* 702 out of reset */ cx_set(MO_GP0_IO, 0x00000080); /* 702 out of reset */
udelay(1000); udelay(1000);
break; break;
case CX88_BOARD_DVICO_FUSIONHDTV_7_GOLD:
/* Enable the xc5000 tuner */
cx_set(MO_GP0_IO, 0x00001010);
break;
} }
} }
......
...@@ -217,6 +217,7 @@ extern struct sram_channel cx88_sram_channels[]; ...@@ -217,6 +217,7 @@ extern struct sram_channel cx88_sram_channels[];
#define CX88_BOARD_POWERCOLOR_REAL_ANGEL 62 #define CX88_BOARD_POWERCOLOR_REAL_ANGEL 62
#define CX88_BOARD_GENIATECH_X8000_MT 63 #define CX88_BOARD_GENIATECH_X8000_MT 63
#define CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_PRO 64 #define CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_PRO 64
#define CX88_BOARD_DVICO_FUSIONHDTV_7_GOLD 65
enum cx88_itype { enum cx88_itype {
CX88_VMUX_COMPOSITE1 = 1, CX88_VMUX_COMPOSITE1 = 1,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment