[PATCH v2 2/2] ARM: am335x: Changed timer

Daniel Schultz d.schultz at phytec.de
Fri Jul 17 06:44:49 PDT 2015


Am 17.07.2015 um 11:16 schrieb Jan Lübbe:
> On Do, 2015-07-16 at 10:51 +0200, Daniel Schultz wrote:
>> The dmtimer0 is too inaccurate to be used for measurements.
>> We switch to the more accurate dmtimer2.
>
> What are you trying to measure? Is the resolution or the accuracy too
> low?
While testing with dhrystone on our boards, I figured out that the 
timestamps from dmtimer0 run 20% too quick.

You can also make a quick test on a am335x board with
sleep 10

You will notice that the sleep only takes 8 seconds. This quite too 
inaccurate.

>
>> +#define CLK_M_OSC	25000000
>
>> +static int dmtimer_init(void)
>> +{
>> +	dmtimer_cs.mult = clocksource_hz2mult(CLK_M_OSC, dmtimer_cs.shift);
>> +	/* Enable counter */
>> +	writel(0x3, base + TCLR);
>> +
>> +	return init_clock(&dmtimer_cs);
>
> You use a fixed M_OSC of 25 MHz, but this value actually depends on the
> the board. The AM335x supports 19.2, 24 and 26 MHz in addition to 25
> MHz.
see new patch.
> The advantage of using dmtimer0 is that it is always available and runs
> at 32KiHz on every board.
>
> Regards,
> Jan
>

Kind regards,
Daniel



More information about the barebox mailing list