Commit a4f77550 authored by Paul Walmsley's avatar Paul Walmsley Committed by Tony Lindgren

omap2 clock: vlynq_fck is missing clksel divider code

vlynq_fck is a clksel clock.  But omap2_clk_set_parent() is missing
the code to divide its parent's rate down appropriately when vlynq_fck
is set to use a core_ck parent.
Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent 24718800
...@@ -823,7 +823,7 @@ static u32 omap2_get_src_field(u32 *type_to_addr, u32 reg_offset, ...@@ -823,7 +823,7 @@ static u32 omap2_get_src_field(u32 *type_to_addr, u32 reg_offset,
if (src_clk == &func_96m_ck) if (src_clk == &func_96m_ck)
val = 0; val = 0;
else if (src_clk == &core_ck) else if (src_clk == &core_ck)
val = 0x10; val = 0x10; /* rate needs fixing */
} }
break; break;
case CM_CORE_SEL2: case CM_CORE_SEL2:
...@@ -934,7 +934,8 @@ static int omap2_clk_set_parent(struct clk *clk, struct clk *new_parent) ...@@ -934,7 +934,8 @@ static int omap2_clk_set_parent(struct clk *clk, struct clk *new_parent)
clk->parent = new_parent; clk->parent = new_parent;
/* SRC_RATE_SEL_MASK clocks follow their parents rates.*/ /* SRC_RATE_SEL_MASK clocks follow their parents rates.*/
if ((new_parent == &core_ck) && (clk == &dss1_fck)) if ((new_parent == &core_ck) &&
(clk == &dss1_fck || clk == &vlynq_fck))
clk->rate = new_parent->rate / 0x10; clk->rate = new_parent->rate / 0x10;
else else
clk->rate = new_parent->rate; clk->rate = new_parent->rate;
......
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