diff options
-rw-r--r-- | arch/arm/mach-imx/clk-imx51-imx53.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/clk-imx51-imx53.c b/arch/arm/mach-imx/clk-imx51-imx53.c index e8c0473c7568..579023f59dc1 100644 --- a/arch/arm/mach-imx/clk-imx51-imx53.c +++ b/arch/arm/mach-imx/clk-imx51-imx53.c | |||
@@ -319,6 +319,7 @@ int __init mx51_clocks_init(unsigned long rate_ckil, unsigned long rate_osc, | |||
319 | unsigned long rate_ckih1, unsigned long rate_ckih2) | 319 | unsigned long rate_ckih1, unsigned long rate_ckih2) |
320 | { | 320 | { |
321 | int i; | 321 | int i; |
322 | u32 val; | ||
322 | struct device_node *np; | 323 | struct device_node *np; |
323 | 324 | ||
324 | clk[pll1_sw] = imx_clk_pllv2("pll1_sw", "osc", MX51_DPLL1_BASE); | 325 | clk[pll1_sw] = imx_clk_pllv2("pll1_sw", "osc", MX51_DPLL1_BASE); |
@@ -390,6 +391,21 @@ int __init mx51_clocks_init(unsigned long rate_ckil, unsigned long rate_osc, | |||
390 | imx_print_silicon_rev("i.MX51", mx51_revision()); | 391 | imx_print_silicon_rev("i.MX51", mx51_revision()); |
391 | clk_disable_unprepare(clk[iim_gate]); | 392 | clk_disable_unprepare(clk[iim_gate]); |
392 | 393 | ||
394 | /* | ||
395 | * Reference Manual says: Functionality of CCDR[18] and CLPCR[23] is no | ||
396 | * longer supported. Set to one for better power saving. | ||
397 | * | ||
398 | * The effect of not setting these bits is that MIPI clocks can't be | ||
399 | * enabled without the IPU clock being enabled aswell. | ||
400 | */ | ||
401 | val = readl(MXC_CCM_CCDR); | ||
402 | val |= 1 << 18; | ||
403 | writel(val, MXC_CCM_CCDR); | ||
404 | |||
405 | val = readl(MXC_CCM_CLPCR); | ||
406 | val |= 1 << 23; | ||
407 | writel(val, MXC_CCM_CLPCR); | ||
408 | |||
393 | return 0; | 409 | return 0; |
394 | } | 410 | } |
395 | 411 | ||