mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
clk: rockchip: rk3568: Fix mask for clk_cpll_div_25m_div
The field for clk_cpll_div_25m_div in CRU_CLKSEL_CON81 is 6 bits wide,
not 5 bits wide as currently defined in CPLL_25M_DIV_MASK.
Fix this and the assert so that CPLL_25M can be assigned a 25 MHz rate.
Fixes: 4a262feba3 ("rockchip: rk3568: add clock driver")
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
This commit is contained in:
committed by
Kever Yang
parent
acb9812034
commit
6da8400d7a
@@ -495,7 +495,7 @@ enum {
|
||||
|
||||
/* CRU_CLK_SEL81_CON */
|
||||
CPLL_25M_DIV_SHIFT = 8,
|
||||
CPLL_25M_DIV_MASK = 0x1f << CPLL_25M_DIV_SHIFT,
|
||||
CPLL_25M_DIV_MASK = 0x3f << CPLL_25M_DIV_SHIFT,
|
||||
CPLL_50M_DIV_SHIFT = 0,
|
||||
CPLL_50M_DIV_MASK = 0x1f << CPLL_50M_DIV_SHIFT,
|
||||
|
||||
|
||||
@@ -702,7 +702,10 @@ static ulong rk3568_cpll_div_set_rate(struct rk3568_clk_priv *priv,
|
||||
}
|
||||
|
||||
div = DIV_ROUND_UP(priv->cpll_hz, rate);
|
||||
assert(div - 1 <= 31);
|
||||
if (clk_id == CPLL_25M)
|
||||
assert(div - 1 <= 63);
|
||||
else
|
||||
assert(div - 1 <= 31);
|
||||
rk_clrsetreg(&cru->clksel_con[con],
|
||||
mask, (div - 1) << shift);
|
||||
return rk3568_cpll_div_get_rate(priv, clk_id);
|
||||
|
||||
Reference in New Issue
Block a user