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
_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox