summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorRobby Cai <r63905@freescale.com>2014-11-24 17:05:37 +0800
committerRobby Cai <r63905@freescale.com>2014-11-25 15:39:20 +0800
commit65999b877a9d6ad53ad6f8ee9d3f80abb4383603 (patch)
tree254aeb8a13cfa6f78d4a613388813dffe8d82302 /arch
parent51efb4c5bfab6eae848fa857d534f5d82721d2e1 (diff)
MLK-9906 imx6sl: make epdc pixel clock derive from PLL2_PFD1
Previously the pixel clock for LCDIF and EPDC shares the same parent clock PLL5_VIDEO. This will bring the following error boot message: clk_pllv3_av_set_rate: cannot configure divider when PLL is powered on The reason is the dual-display case breaks the rule added by the patch "93a9e3d0b88203cb523dd92e85590683d6a85fdf ENGR00318063-6: ARM: imx6: add CLK_SET_RATE_GATE flag for PLL clocks" which adds the requirement "the clock must be gated across rate change" After LCDIF pixel clock is configured and enabled, EPDC pixel clock need to be configured also but the parent PLL is already enabled by LCDIF driver thus the configuration will fail. On i.MX6SL, we need support LCD display and EPDC display simultaneously, then we cannot disable the PLL clock when LCD or EPDC is working already. So we switch the parent for EPDC pixel clock to PLL2_PFD1. Signed-off-by: Robby Cai <r63905@freescale.com> (cherry picked from commit 8aa38347f486124f0bcec767b721a820fbae7010)
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-imx/clk-imx6sl.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/mach-imx/clk-imx6sl.c b/arch/arm/mach-imx/clk-imx6sl.c
index 88ec45adb069..f1e6f254e5bc 100644
--- a/arch/arm/mach-imx/clk-imx6sl.c
+++ b/arch/arm/mach-imx/clk-imx6sl.c
@@ -411,7 +411,7 @@ static void __init imx6sl_clocks_init(struct device_node *ccm_node)
imx_clk_set_parent(clks[IMX6SL_CLK_LCDIF_PIX_SEL],
clks[IMX6SL_CLK_PLL5_VIDEO_DIV]);
imx_clk_set_parent(clks[IMX6SL_CLK_EPDC_PIX_SEL],
- clks[IMX6SL_CLK_PLL5_VIDEO_DIV]);
+ clks[IMX6SL_CLK_PLL2_PFD1]);
imx_clk_set_parent(clks[IMX6SL_CLK_EPDC_AXI_SEL], clks[IMX6SL_CLK_PLL2_PFD2]);
imx_clk_set_rate(clks[IMX6SL_CLK_EPDC_AXI], 200000000);