[U-Boot] [PATCH 3/7] mx35: Fix decode_pll

stefano babic sbabic at denx.de
Sun Sep 2 15:01:03 CEST 2012


Am 01/09/2012 10:15, schrieb Stefano Babic:
> On 14/08/2012 22:32, Benoît Thébaudeau wrote:
>> The MFN bit-field of the PLL registers represents a signed value. See the
>> reference manual.
>>
>> Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau at advansee.com>
>> Cc: Stefano Babic <sbabic at denx.de>
>> ---
> 
> Hi Benoît,
> 
>>  .../arch/arm/cpu/arm1136/mx35/generic.c            |    9 ++++++---
>>  1 file changed, 6 insertions(+), 3 deletions(-)
>>
>> diff --git u-boot-4d3c95f.orig/arch/arm/cpu/arm1136/mx35/generic.c u-boot-4d3c95f/arch/arm/cpu/arm1136/mx35/generic.c
>> index dba4903..e369c86 100644
>> --- u-boot-4d3c95f.orig/arch/arm/cpu/arm1136/mx35/generic.c
>> +++ u-boot-4d3c95f/arch/arm/cpu/arm1136/mx35/generic.c
>> @@ -24,6 +24,7 @@
>>   */
>>  
>>  #include <common.h>
>> +#include <div64.h>
>>  #include <asm/io.h>
>>  #include <asm/errno.h>
>>  #include <asm/arch/imx-regs.h>
>> @@ -126,15 +127,17 @@ static int get_ahb_div(u32 pdr0)
>>  static u32 decode_pll(u32 reg, u32 infreq)
>>  {
>>  	u32 mfi = (reg >> 10) & 0xf;
>> -	u32 mfn = reg & 0x3f;
>> -	u32 mfd = (reg >> 16) & 0x3f;
>> +	s32 mfn = reg & 0x3ff;
>> +	u32 mfd = (reg >> 16) & 0x3ff;
> 
> The MFN is a signed value. But you are masking now 11 bits. According to
> the manual, bit 9-0 are MFN. You are taking in the mask the first bit of
> MFI, and this is wrong, isn't it ?

Sorry, mask is correct

Regards,
Stefano



-- 
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de
=====================================================================


More information about the U-Boot mailing list