提交 d4f513ff 编写于 作者: V Vipul Kumar Samar 提交者: Shiraz Hashim

Clk: SPEAr1340: Update sys clock parent array

sys_clk has multiple parents and selection of parent depends on sys_clk_ctrl
register bit no. 23:25, with following possibilities

   0XX: pll1_clk
   10X: sys_synth_clk
   110: pll2_clk
   111: pll3_clk

Out of several possibilities (h/w wise) to select same clock parent for
sys_clk, current clock implementation was considering just one value.

When bootloader programmed different (valid) value to select a clock
parent then Linux breaks.

Here, we try to include all possibilities which can lead to same
clock selection thus making Linux independent of bootloader selection
values.
Signed-off-by: NVipul Kumar Samar <vipulkumar.samar@st.com>
Signed-off-by: NShiraz Hashim <shiraz.hashim@st.com>
Acked-by: NViresh Kumar <viresh.kumar@linaro.org>
上级 d9ba8db2
...@@ -369,8 +369,8 @@ static struct frac_rate_tbl gen_rtbl[] = { ...@@ -369,8 +369,8 @@ static struct frac_rate_tbl gen_rtbl[] = {
/* clock parents */ /* clock parents */
static const char *vco_parents[] = { "osc_24m_clk", "osc_25m_clk", }; static const char *vco_parents[] = { "osc_24m_clk", "osc_25m_clk", };
static const char *sys_parents[] = { "none", "pll1_clk", "none", "none", static const char *sys_parents[] = { "pll1_clk", "pll1_clk", "pll1_clk",
"sys_syn_clk", "none", "pll2_clk", "pll3_clk", }; "pll1_clk", "sys_synth_clk", "sys_synth_clk", "pll2_clk", "pll3_clk", };
static const char *ahb_parents[] = { "cpu_div3_clk", "amba_syn_clk", }; static const char *ahb_parents[] = { "cpu_div3_clk", "amba_syn_clk", };
static const char *gpt_parents[] = { "osc_24m_clk", "apb_clk", }; static const char *gpt_parents[] = { "osc_24m_clk", "apb_clk", };
static const char *uart0_parents[] = { "pll5_clk", "osc_24m_clk", static const char *uart0_parents[] = { "pll5_clk", "osc_24m_clk",
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册