int hdmi_pll_enable(struct hdmi_pll_data *pll, struct hdmi_wp_data *wp) { u16 r = 0; if (pll_feat->ext_mux_ctrl) dss_dpll_enable_ctrl(DSS_DPLL_HDMI, true); r = hdmi_wp_set_pll_pwr(wp, HDMI_PLLPWRCMD_ALLOFF); if (r) return r; r = hdmi_wp_set_pll_pwr(wp, HDMI_PLLPWRCMD_BOTHON_ALLCLKS); if (r) return r; r = hdmi_pll_reset(pll); if (r) return r; r = hdmi_pll_config(pll); if (r) return r; return 0; }
int hdmi_pll_enable(struct hdmi_pll_data *pll, struct hdmi_wp_data *wp) { u16 r = 0; r = hdmi_wp_set_pll_pwr(wp, HDMI_PLLPWRCMD_ALLOFF); if (r) return r; r = hdmi_wp_set_pll_pwr(wp, HDMI_PLLPWRCMD_BOTHON_ALLCLKS); if (r) return r; r = hdmi_pll_reset(pll); if (r) return r; r = hdmi_pll_config(pll); if (r) return r; return 0; }
int target_hdmi_panel_clock(uint8_t enable, struct msm_panel_info *pinfo) { uint32_t ret; dprintf(SPEW, "%s: target_panel_clock\n", __func__); if (enable) { mdp_gdsc_ctrl(enable); mmss_bus_clock_enable(); mdp_clock_enable(); ret = restore_secure_cfg(SECURE_DEVICE_MDSS); if (ret) { dprintf(CRITICAL, "%s: Failed to restore MDP security configs", __func__); mdp_clock_disable(); mmss_bus_clock_disable(); mdp_gdsc_ctrl(0); return ret; } hdmi_phy_reset(); hdmi_pll_config(); hdmi_vco_enable(); hdmi_clk_enable(); } else if(!target_cont_splash_screen()) { /* Disable clocks if continuous splash off */ hdmi_clk_disable(); hdmi_vco_disable(); mdp_clock_disable(); mmss_bus_clock_disable(); mdp_gdsc_ctrl(enable); } return NO_ERROR; }