summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorYe.Li <B37916@freescale.com>2014-10-30 18:20:57 +0800
committerStefano Babic <sbabic@denx.de>2014-11-03 11:21:49 +0100
commite68661a32eb1304413ce45900446bcce9204537e (patch)
tree4ada2cbcbc554a8b2365f71633b823ba8e7c4854 /arch
parent0561b8edf0098e938f8e9fb55be41ddb455b52b2 (diff)
downloadu-boot-imx-e68661a32eb1304413ce45900446bcce9204537e.zip
u-boot-imx-e68661a32eb1304413ce45900446bcce9204537e.tar.gz
u-boot-imx-e68661a32eb1304413ce45900446bcce9204537e.tar.bz2
imx: mx6: Change the get_ipg_per_clk for OSC 24Mhz source
For MX6SL and MX6SX, the perclk can come from OSC 24Mhz source. Fix the get_ipg_per_clk function to support it. Signed-off-by: Ye.Li <B37916@freescale.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/cpu/armv7/mx6/clock.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/cpu/armv7/mx6/clock.c b/arch/arm/cpu/armv7/mx6/clock.c
index d200531..6c9c78c 100644
--- a/arch/arm/cpu/armv7/mx6/clock.c
+++ b/arch/arm/cpu/armv7/mx6/clock.c
@@ -312,6 +312,10 @@ static u32 get_ipg_per_clk(void)
u32 reg, perclk_podf;
reg = __raw_readl(&imx_ccm->cscmr1);
+#if (defined(CONFIG_MX6SL) || defined(CONFIG_MX6SX))
+ if (reg & MXC_CCM_CSCMR1_PER_CLK_SEL_MASK)
+ return MXC_HCLK; /* OSC 24Mhz */
+#endif
perclk_podf = reg & MXC_CCM_CSCMR1_PERCLK_PODF_MASK;
return get_ipg_clk() / (perclk_podf + 1);