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); }