Esempio n. 1
0
static void dac_enable(int enable)
{
	u32 mask, val;
	u32 grfreg = 0;

//	printf("%s enable %d\n", __FUNCTION__, enable);
	if (enable) {
		mask = m_VBG_EN | m_DAC_EN | m_DAC_GAIN;
		#if defined(CONFIG_RKCHIP_RK3128)
			val = m_VBG_EN | m_DAC_EN | v_DAC_GAIN(0x3a);
			grfreg = GRF_TVE_CON0;
		#elif defined(CONFIG_RKCHIP_RK3036)
			val = m_VBG_EN | m_DAC_EN | v_DAC_GAIN(0x3e);
			grfreg = GRF_SOC_CON3;
		#endif
		val |= mask << 16;
	} else {
		mask = m_VBG_EN | m_DAC_EN;
		val = 0;
		#if defined(CONFIG_RKCHIP_RK3128)
			grfreg = GRF_TVE_CON0;
		#elif defined(CONFIG_RKCHIP_RK3036)
			grfreg = GRF_SOC_CON3;
		#endif
		val |= mask << 16;
	}
	if (grfreg) {
//		printf("grfreg 0x%x mask 0x%x val 0x%x\n", grfreg, mask, val);
		writel(val, RKIO_GRF_PHYS + grfreg);
//		grf_writel(grfreg, val);
	}
//	printf("%s enable %d end\n", __FUNCTION__, enable);
}
static void dac_enable(bool enable)
{
	u32 mask, val;
	u32 grfreg = 0;

	TVEDBG("%s enable %d\n", __func__, enable);

	if (enable) {
		mask = m_VBG_EN | m_DAC_EN | m_DAC_GAIN;
		if (rk3036_tve->soctype == SOC_RK312X) {
			val = m_VBG_EN | m_DAC_EN | v_DAC_GAIN(0x3a);
			grfreg = RK312X_GRF_TVE_CON;
		} else if (rk3036_tve->soctype == SOC_RK3036) {
			val = m_VBG_EN | m_DAC_EN | v_DAC_GAIN(0x3e);
			grfreg = RK3036_GRF_SOC_CON3;
		}
	} else {
		mask = m_VBG_EN | m_DAC_EN;
		val = 0;
		if (rk3036_tve->soctype == SOC_RK312X)
			grfreg = RK312X_GRF_TVE_CON;
		else if (rk3036_tve->soctype == SOC_RK3036)
			grfreg = RK3036_GRF_SOC_CON3;
	}
	if (grfreg)
		grf_writel(grfreg, (mask << 16) | val);
}