disp: msm: dsi: set source to xo while turning off PLL

HW recommendation is to park the DSI byte clock and pixel clock at XO
before turning them off. The change parses XO from the DT and sets the
clock source as XO while turning off the PLL.

Change-Id: I788951d6341149300e80e8db4a5a3fd2c4eb3e03
Signed-off-by: Satya Rama Aditya Pinapala <psraditya30@codeaurora.org>
This commit is contained in:
Satya Rama Aditya Pinapala
2021-01-25 10:58:42 -08:00
parent 457b3d3397
commit 3ff78e8f7d
3 changed files with 59 additions and 58 deletions

View File

@@ -719,6 +719,7 @@ static int dsi_ctrl_clocks_init(struct platform_device *pdev,
struct dsi_link_lp_clk_info *lp_link = &ctrl->clk_info.lp_link_clks;
struct dsi_link_hs_clk_info *hs_link = &ctrl->clk_info.hs_link_clks;
struct dsi_clk_link_set *rcg = &ctrl->clk_info.rcg_clks;
struct dsi_clk_link_set *xo = &ctrl->clk_info.xo_clk;
core->mdp_core_clk = devm_clk_get(&pdev->dev, "mdp_core_clk");
if (IS_ERR(core->mdp_core_clk)) {
@@ -792,6 +793,14 @@ static int dsi_ctrl_clocks_init(struct platform_device *pdev,
goto fail;
}
xo->byte_clk = devm_clk_get(&pdev->dev, "xo");
if (IS_ERR(xo->byte_clk)) {
xo->byte_clk = NULL;
DSI_CTRL_DEBUG(ctrl, "failed to get xo clk, rc=%d\n", rc);
}
xo->pixel_clk = xo->byte_clk;
return 0;
fail:
dsi_ctrl_clocks_deinit(ctrl);