Commit c56702de authored by Marc Kleine-Budde's avatar Marc Kleine-Budde Committed by Sascha Hauer
Browse files

clock-imx35: correct arm and ahb clock calculation



According to the Datasheet:
"i.MX35 (MCIMX35) Multimedia Applications Processor Reference Manual,
Rev. 2" "Figure 14-24. Clock Control And Gating"
change the result of get_rate_ahb based on the frequency returned
by get_rate_arm to calculate the proper rate.
Signed-off-by: default avatarMarc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: default avatarMichael Grzeschik <m.grzeschik@pengutronix.de>
Signed-off-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
parent c96c1e39
...@@ -155,7 +155,7 @@ static unsigned long get_rate_arm(void) ...@@ -155,7 +155,7 @@ static unsigned long get_rate_arm(void)
aad = &clk_consumer[(pdr0 >> 16) & 0xf]; aad = &clk_consumer[(pdr0 >> 16) & 0xf];
if (aad->sel) if (aad->sel)
fref = fref * 2 / 3; fref = fref * 3 / 4;
return fref / aad->arm; return fref / aad->arm;
} }
...@@ -164,7 +164,7 @@ static unsigned long get_rate_ahb(struct clk *clk) ...@@ -164,7 +164,7 @@ static unsigned long get_rate_ahb(struct clk *clk)
{ {
unsigned long pdr0 = __raw_readl(CCM_BASE + CCM_PDR0); unsigned long pdr0 = __raw_readl(CCM_BASE + CCM_PDR0);
struct arm_ahb_div *aad; struct arm_ahb_div *aad;
unsigned long fref = get_rate_mpll(); unsigned long fref = get_rate_arm();
aad = &clk_consumer[(pdr0 >> 16) & 0xf]; aad = &clk_consumer[(pdr0 >> 16) & 0xf];
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment