mirror of
https://xff.cz/git/u-boot/
synced 2025-09-01 00:32:04 +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;
|
||||
|
||||
uint32_t rval = readl(&ccm->pll6_cfg);
|
||||
int n = ((rval & CCM_PLL6_CTRL_N_MASK) >> CCM_PLL6_CTRL_N_SHIFT);
|
||||
int div1 = ((rval & CCM_PLL6_CTRL_DIV1_MASK) >>
|
||||
unsigned int n = ((rval & CCM_PLL6_CTRL_N_MASK) >> CCM_PLL6_CTRL_N_SHIFT);
|
||||
unsigned int div1 = ((rval & CCM_PLL6_CTRL_DIV1_MASK) >>
|
||||
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;
|
||||
/* 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