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

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

parent a5885855
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -63,3 +63,4 @@
 62 -> PowerColor Real Angel 330                           [14f1:ea3d]
 63 -> Geniatech X8000-MT DVBT                             [14f1:8852]
 64 -> DViCO FusionHDTV DVB-T PRO                          [18ac:db30]
 65 -> DVICO FusionHDTV7 Gold                              [18ac:d610]
+40 −0
Original line number Diff line number Diff line
@@ -1571,6 +1571,26 @@ static const struct cx88_board cx88_boards[] = {
	       } },
	       .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[] = {
		.subvendor = 0x14f1,
		.subdevice = 0x8852,
		.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)
			return -EINVAL;
		}
		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 */
}
@@ -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 */
		udelay(1000);
		break;
	 case CX88_BOARD_DVICO_FUSIONHDTV_7_GOLD:
		/* Enable the xc5000 tuner */
		cx_set(MO_GP0_IO, 0x00001010);
		break;
	}
}

+1 −0
Original line number Diff line number Diff line
@@ -217,6 +217,7 @@ extern struct sram_channel cx88_sram_channels[];
#define CX88_BOARD_POWERCOLOR_REAL_ANGEL   62
#define CX88_BOARD_GENIATECH_X8000_MT      63
#define CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_PRO 64
#define CX88_BOARD_DVICO_FUSIONHDTV_7_GOLD 65

enum cx88_itype {
	CX88_VMUX_COMPOSITE1 = 1,