summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-imx/clk-imx6ul.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/clk-imx6ul.c b/arch/arm/mach-imx/clk-imx6ul.c
index b9498d312f65..52b2962616f5 100644
--- a/arch/arm/mach-imx/clk-imx6ul.c
+++ b/arch/arm/mach-imx/clk-imx6ul.c
@@ -440,6 +440,16 @@ static void __init imx6ul_clocks_init(struct device_node *ccm_node)
imx_clk_set_parent(clks[IMX6UL_CLK_ENFC_SEL], clks[IMX6UL_CLK_PLL2_PFD2]);
+ /* Lower the AHB clock rate before changing the clock source. */
+ imx_clk_set_rate(clks[IMX6UL_CLK_AHB], 99000000);
+
+ /* Change periph_pre clock to pll2_bus to adjust AXI rate to 264MHz */
+ imx_clk_set_parent(clks[IMX6UL_CLK_PERIPH_CLK2_SEL], clks[IMX6UL_CLK_PLL3_USB_OTG]);
+ imx_clk_set_parent(clks[IMX6UL_CLK_PERIPH], clks[IMX6UL_CLK_PERIPH_CLK2]);
+ imx_clk_set_parent(clks[IMX6UL_CLK_PERIPH_PRE], clks[IMX6UL_CLK_PLL2_BUS]);
+ imx_clk_set_parent(clks[IMX6UL_CLK_PERIPH], clks[IMX6UL_CLK_PERIPH_PRE]);
+
+ imx_clk_set_rate(clks[IMX6UL_CLK_AHB], 132000000);
/* Set initial power mode */
imx6q_set_lpm(WAIT_CLOCKED);