mirror of
https://xff.cz/git/u-boot/
synced 2025-09-28 22:11:16 +02:00
arm: sunxi: Fix clock_get_pll6() calculation
Off by on error. N is stored in register as N-1. Signed-off-by: Ondrej Jirman <megous@megous.com>
This commit is contained in:
@@ -84,11 +84,11 @@ unsigned int clock_get_pll6(void)
|
|||||||
(struct sunxi_ccm_reg *)SUNXI_CCM_BASE;
|
(struct sunxi_ccm_reg *)SUNXI_CCM_BASE;
|
||||||
|
|
||||||
uint32_t rval = readl(&ccm->pll6_cfg);
|
uint32_t rval = readl(&ccm->pll6_cfg);
|
||||||
int n = ((rval & CCM_PLL6_CTRL_N_MASK) >> CCM_PLL6_CTRL_N_SHIFT);
|
unsigned int n = ((rval & CCM_PLL6_CTRL_N_MASK) >> CCM_PLL6_CTRL_N_SHIFT);
|
||||||
int div1 = ((rval & CCM_PLL6_CTRL_DIV1_MASK) >>
|
unsigned int div1 = ((rval & CCM_PLL6_CTRL_DIV1_MASK) >>
|
||||||
CCM_PLL6_CTRL_DIV1_SHIFT) + 1;
|
CCM_PLL6_CTRL_DIV1_SHIFT) + 1;
|
||||||
int div2 = ((rval & CCM_PLL6_CTRL_DIV2_MASK) >>
|
unsigned int div2 = ((rval & CCM_PLL6_CTRL_DIV2_MASK) >>
|
||||||
CCM_PLL6_CTRL_DIV2_SHIFT) + 1;
|
CCM_PLL6_CTRL_DIV2_SHIFT) + 1;
|
||||||
/* The register defines PLL6-4X, not plain PLL6 */
|
/* The register defines PLL6-4X, not plain PLL6 */
|
||||||
return 24000000 / 4 * n / div1 / div2;
|
return 24000000 / 4 * (n + 1) / div1 / div2;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user