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 e8c0473c756..579023f59dc 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 | ||
