While testing on some Kirkwood platforms it was noticed that the timer
did not function correctly all the time. The driver did not correctly
handle 32bit timer value wrap arounds. Using the timer_conv_64()
conversion function fixes this issue.
Fixes: e9e73d78a8fb ("timer: add orion-timer support")
Suggested-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier-oss@weidmueller.com>
Signed-off-by: Stefan Roese <sr@denx.de>
Tested-by: Tony Dinh <mibodhi@gmail.com>
{
struct orion_timer_priv *priv = dev_get_priv(dev);
- return ~readl(priv->base + TIMER0_VAL);
+ return timer_conv_64(~readl(priv->base + TIMER0_VAL));
}
static int orion_timer_probe(struct udevice *dev)