[U-Boot] [PATCH] Origen: Correct equation to calculate PLL output frequency
Minkyu Kang
mk7.kang at samsung.com
Tue Jul 2 08:45:54 CEST 2013
On 01/07/13 17:41, Rajeshwari Birje wrote:
> Hi Minkyu Kang,
>
> As per the user manual I have for EXYNOS5 it is
> FOUT = MDIV * FIN / (PDIV * 2^SDIV)
What is your version of manual?
If possible, could you please send it to me?
>
> Regards,
> Rajeshwari Shinde.
>
> On Mon, Jul 1, 2013 at 1:56 PM, Minkyu Kang <mk7.kang at samsung.com> wrote:
>> On 01/07/13 16:42, Rajeshwari Shinde wrote:
>>> EXYNOS4 user manual equation for calculating PLL output is
>>> FOUT= MDIV x FIN/(PDIV x 2^(SDIV -1))
>>> hence updating accordingly.
>>>
>>> Signed-off-by: Rajeshwari Shinde <rajeshwari.s at samsung.com>
>>> ---
>>> arch/arm/cpu/armv7/exynos/clock.c | 11 +++++++++--
>>> 1 files changed, 9 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/arch/arm/cpu/armv7/exynos/clock.c b/arch/arm/cpu/armv7/exynos/clock.c
>>> index e1c4246..af0fa5b 100644
>>> --- a/arch/arm/cpu/armv7/exynos/clock.c
>>> +++ b/arch/arm/cpu/armv7/exynos/clock.c
>>> @@ -116,8 +116,15 @@ static int exynos_get_pll_clk(int pllreg, unsigned int r, unsigned int k)
>>> /* FOUT = (MDIV + K / 1024) * FIN / (PDIV * 2^SDIV) */
>>> fout = (m + k / 1024) * (freq / (p * (1 << s)));
>>> } else {
>>> - /* FOUT = MDIV * FIN / (PDIV * 2^SDIV) */
>>> - fout = m * (freq / (p * (1 << s)));
>>> + if (cpu_is_exynos4()) {
>>> + if (s < 1)
>>> + s = 1;
>>> + /* FOUT = MDIV * FIN / (PDIV * 2^(SDIV - 1)) */
>>> + fout = m * (freq / (p * (1 << (s - 1))));
>>> + } else {
>>> + /* FOUT = MDIV * FIN / (PDIV * 2^SDIV) */
>>> + fout = m * (freq / (p * (1 << s)));
>>> + }
>>> }
>>>
>>> return fout;
>>>
>>
>> I checked about it.
>> It was wrong, but your patch doesn't fit too.
>>
>> exynos4210
>> FOUT = MDIV * FIN / (PDIV * 2^(SDIV - 1))
>>
>> exynos4412
>> FOUT = MDIV * FIN / (PDIV * 2^SDIV)
>>
>> exynos5250
>> FOUT = MDIV * FIN / (PDIV * 2^(SDIV - 1))
>>
>> At past, our code was,
>> FOUT = MDIV * FIN / (PDIV * 2^(SDIV - 1))
>> It was changed by Akshay's patch.
>>
>>
>> commit 234370cab4b2f096e095fe8f3284fd39740a4023
>> Author: Akshay Saraswat <akshay.s at samsung.com>
>> Date: Fri Mar 22 02:26:36 2013 +0000
>>
>> Exynos5: clock: Update the equation to calculate PLL output frequency
>>
>> According to the latest exynos5 user manual, the equation for
>> calculating PLL output was changed to
>> FOUT= MDIV x FIN/(PDIV x 2^SDIV)
>> earlier it was
>> FOUT= MDIV x FIN/(PDIV x 2^(SDIV -1))
>> So updating the clock code accordingly.
>>
>> Signed-off-by: Hatim Ali <hatim.rv at samsung.com>
>> Signed-off-by: Akshay Saraswat <akshay.s at samsung.com>
>> Acked-by: Simon Glass <sjg at chromium.org>
>>
>>
>> According to Akshay's patch.
>> exynos5250 should be
>> FOUT = MDIV * FIN / (PDIV * 2^SDIV)
>> but my manual (I'm not sure that is latest version) shows
>> FOUT = MDIV * FIN / (PDIV * 2^(SDIV - 1))
>>
>> Akshay,
>> please check this.
>>
>> Rajeshwari,
>> Thank you for raise this issue,
>> I'll check it and resend the patch.
>>
>> Thanks,
>> Minkyu Kang.
>> _______________________________________________
>> U-Boot mailing list
>> U-Boot at lists.denx.de
>> http://lists.denx.de/mailman/listinfo/u-boot
>
>
>
Thanks,
Minkyu Kang.
More information about the U-Boot
mailing list