diff options
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2014-10-16 09:01:51 -0400 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2014-11-12 06:40:26 -0500 |
commit | c2fbd061a28530dd24b2593bffa2b6a5b15eb3ed (patch) | |
tree | 7fbd458e915b1ca04e5dba58794d457af5bd498f /drivers/video/fbdev/omap2/dss/hdmi4.c | |
parent | 03aafa2cd84e6406ce3ceedca245a6a731f9b77b (diff) |
OMAPDSS: HDMI: split PLL enable & config
At the moment we have one function, hdmi_pll_enable, which enables the
PLL and writes the PLL configuration to registers.
To make the HDMI PLL ahere to the DSS PLL API, split the hdmi_pll_enable
into two parts: hdmi_pll_enable which enables the PLL HW, and
hdmi_pll_set_config which writes the config.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/video/fbdev/omap2/dss/hdmi4.c')
-rw-r--r-- | drivers/video/fbdev/omap2/dss/hdmi4.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/video/fbdev/omap2/dss/hdmi4.c b/drivers/video/fbdev/omap2/dss/hdmi4.c index 2094b6eae99e..98aa910241b8 100644 --- a/drivers/video/fbdev/omap2/dss/hdmi4.c +++ b/drivers/video/fbdev/omap2/dss/hdmi4.c | |||
@@ -196,13 +196,18 @@ static int hdmi_power_on_full(struct omap_dss_device *dssdev) | |||
196 | 196 | ||
197 | hdmi_pll_compute(&hdmi.pll, clk_get_rate(hdmi.sys_clk), p->pixelclock); | 197 | hdmi_pll_compute(&hdmi.pll, clk_get_rate(hdmi.sys_clk), p->pixelclock); |
198 | 198 | ||
199 | /* config the PLL and PHY hdmi_set_pll_pwrfirst */ | ||
200 | r = hdmi_pll_enable(&hdmi.pll); | 199 | r = hdmi_pll_enable(&hdmi.pll); |
201 | if (r) { | 200 | if (r) { |
202 | DSSDBG("Failed to lock PLL\n"); | 201 | DSSERR("Failed to enable PLL\n"); |
203 | goto err_pll_enable; | 202 | goto err_pll_enable; |
204 | } | 203 | } |
205 | 204 | ||
205 | r = hdmi_pll_set_config(&hdmi.pll); | ||
206 | if (r) { | ||
207 | DSSERR("Failed to configure PLL\n"); | ||
208 | goto err_pll_cfg; | ||
209 | } | ||
210 | |||
206 | r = hdmi_phy_configure(&hdmi.phy, hdmi.pll.info.clkdco, | 211 | r = hdmi_phy_configure(&hdmi.phy, hdmi.pll.info.clkdco, |
207 | hdmi.pll.info.clkout); | 212 | hdmi.pll.info.clkout); |
208 | if (r) { | 213 | if (r) { |
@@ -241,6 +246,7 @@ err_vid_enable: | |||
241 | err_phy_cfg: | 246 | err_phy_cfg: |
242 | hdmi_wp_set_phy_pwr(&hdmi.wp, HDMI_PHYPWRCMD_OFF); | 247 | hdmi_wp_set_phy_pwr(&hdmi.wp, HDMI_PHYPWRCMD_OFF); |
243 | err_phy_pwr: | 248 | err_phy_pwr: |
249 | err_pll_cfg: | ||
244 | hdmi_pll_disable(&hdmi.pll); | 250 | hdmi_pll_disable(&hdmi.pll); |
245 | err_pll_enable: | 251 | err_pll_enable: |
246 | hdmi_power_off_core(dssdev); | 252 | hdmi_power_off_core(dssdev); |