提交 36911fca 编写于 作者: L Lionel Debieve 提交者: Patrick Delaunay

clk: stm32mp1: fix CK_MPU calculation

When the CK_MPU used PLL1_MPUDIV, the current rate is
wrong. The clock must use stm32mp1_mpu_div as a shift
value. Fix the check value used to enter PLL_MPUDIV.
Signed-off-by: NLionel Debieve <lionel.debieve@st.com>
Signed-off-by: NPatrick Delaunay <patrick.delaunay@st.com>
上级 d7244e4a
...@@ -954,9 +954,10 @@ static ulong stm32mp1_clk_get(struct stm32mp1_clk_priv *priv, int p) ...@@ -954,9 +954,10 @@ static ulong stm32mp1_clk_get(struct stm32mp1_clk_priv *priv, int p)
case RCC_MPCKSELR_PLL: case RCC_MPCKSELR_PLL:
case RCC_MPCKSELR_PLL_MPUDIV: case RCC_MPCKSELR_PLL_MPUDIV:
clock = stm32mp1_read_pll_freq(priv, _PLL1, _DIV_P); clock = stm32mp1_read_pll_freq(priv, _PLL1, _DIV_P);
if (p == RCC_MPCKSELR_PLL_MPUDIV) { if ((reg & RCC_SELR_SRC_MASK) ==
RCC_MPCKSELR_PLL_MPUDIV) {
reg = readl(priv->base + RCC_MPCKDIVR); reg = readl(priv->base + RCC_MPCKDIVR);
clock /= stm32mp1_mpu_div[reg & clock >>= stm32mp1_mpu_div[reg &
RCC_MPUDIV_MASK]; RCC_MPUDIV_MASK];
} }
break; break;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册