[U-Boot] Resubmit : [PATCH] Correct ARM Versatile TimerInitialization

Gururaja Hebbar K R gururajakr at sanyo.co.in
Fri Aug 15 11:01:56 CEST 2008


Hi< 

> > > Hi,
> > > 
> > > > according to datasheet for the register TimerXControl
> > > > we are supposed to not modify the bits [31:8] and [4]
> > > > so we are suppose to read the register and modify only 
> the others registers/register/bits/
> > > 
> > > Does this mean i need to resend the earlier patch. Writing 00 to 
> > > these bits ( 31:8 & 4) is undefined.
> > 
> > Generally, in ARM terminology, one should avoid writing 
> values where writing a value or bit is undefined.
> 
> Not only in ARM.
> 
> > "Undefined" implies, not that there is no result, but that 
> the outcome is not defined by the specification.
> > Hence it is good practice to read/change/write registers with 
> > undefined bits, or bits where writing is undefined.
> 
> That exaclty what I mean
> 
> > This is especially important with bits defined as such in ARM TRMs 
> > since different ARM customers may implement the ARM IP in different 
> > ways i.e writing a value to such bits may have different results in 
> > different implementations and or versions of the hardware.
> 
> Thanks Peter for the clarification,


I checked the source code & found that the original code itself modifies
the Timer Control Register directly.

Also, after going through the Timer Module i found that,

For free-running Mode of the timer, Writing to Timer_Load register has
no effect.

The TRM Says,

"If the timer is operating in Free-Running Mode, it continues to
decrement from its maximum value"

So i think the writing to timer_load register is also unnecessary in
this case. 

Kindly correct me if i am wrong.

Also Kindly let me know, if i need to change anything in the patch.
Else i resend the patch once again

regards
Gururaja



More information about the U-Boot mailing list