diff options
author | Bai Ping <b51503@freescale.com> | 2014-10-27 14:28:08 +0800 |
---|---|---|
committer | Nitin Garg <nitin.garg@freescale.com> | 2015-04-14 14:00:55 -0500 |
commit | eaf47d39a6c50c942f57252bd0b63eb80d7f9225 (patch) | |
tree | 33506ace63b28f687bcf1de313fbc778c3fed17f /arch/arm/mach-imx/busfreq_lpddr2.c | |
parent | 381a9d5ea8dda54f72e9af6d4ba1493d08616d44 (diff) |
MLK-9721 arm: imx6: add busfreq support for imx6sl
Add busfreq node in the dtsi file and modified the source code
to support imx6sl to enter low busfreq mode.
As the clk tree of imx6sl on 3.14 branch different with imx6q,
imx6sx, etc. So the busfreq change flow need some additional
code. Especially, after change the bus frequency to 24MHz, the
clock parent-child relationship need one more step to update.
Before change to 24MHz low bus mode, the clock tree between the
OSC and MMDC as below:
OSC
\__pll2_bypass_src
\__pll2
\__pll2_bypass
\_pll2_bus
\_..... mmdc
After change to 24MHz low bus mode, we bypass the pll2 in asm code, so
the correct clock tree as below:
OSC
\_pll2_bypass_src
\_pll2_bypass
\_pll2_bus
\_ .... mmdc
So the parent of pll2_bypass clock need to be set to pll2_bypass_src after
entering 24MHz mode, and set to pll2 after exiting 24MHz to reflect the correct
parent-child relationship in kernel.
Changing dev_dbg to printk to ease the debug of busfreq driver, print the busfreq
change information as needed.
Signed-off-by: Bai Ping <b51503@freescale.com>
Diffstat (limited to 'arch/arm/mach-imx/busfreq_lpddr2.c')
-rw-r--r-- | arch/arm/mach-imx/busfreq_lpddr2.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/arm/mach-imx/busfreq_lpddr2.c b/arch/arm/mach-imx/busfreq_lpddr2.c index e71b22f037b6..363338c312a4 100644 --- a/arch/arm/mach-imx/busfreq_lpddr2.c +++ b/arch/arm/mach-imx/busfreq_lpddr2.c @@ -68,7 +68,7 @@ int update_lpddr2_freq(int ddr_rate) if (ddr_rate == curr_ddr_rate) return 0; - dev_dbg(busfreq_dev, "\nBus freq set to %d start...\n", ddr_rate); + printk(KERN_DEBUG"\nBus freq set to %d start...\n", ddr_rate); spin_lock_irqsave(&freq_lock, flags); /* @@ -85,7 +85,7 @@ int update_lpddr2_freq(int ddr_rate) curr_ddr_rate = ddr_rate; spin_unlock_irqrestore(&freq_lock, flags); - dev_dbg(busfreq_dev, "\nBus freq set to %d done...\n", ddr_rate); + printk(KERN_DEBUG"\nBus freq set to %d done...\n", ddr_rate); return 0; } |