From c4e471cc8bfd7a2d34318e088812269764d980a8 Mon Sep 17 00:00:00 2001 From: Rick Chen Date: Thu, 23 Nov 2017 11:04:34 +0800 Subject: [PATCH] ae3xx: timer: Fix ae3xx timer work abnormal in 64 bit. It will be work fine with unsigned long declaretion in timer register struct when system is 32 bit. But it will not work well when system is 64 bit. Replace it by u32 and verify both ok in 32/64 bit. Signed-off-by: Rick Chen Reviewed-by: Simon Glass --- drivers/timer/ae3xx_timer.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/timer/ae3xx_timer.c b/drivers/timer/ae3xx_timer.c index bcc07a0c86..b710c28f6c 100644 --- a/drivers/timer/ae3xx_timer.c +++ b/drivers/timer/ae3xx_timer.c @@ -14,7 +14,7 @@ DECLARE_GLOBAL_DATA_PTR; -#define REG32_TMR(x) (*(unsigned long *) ((plat->regs) + (x>>2))) +#define REG32_TMR(x) (*(u32 *) ((plat->regs) + (x>>2))) /* * Definition of register offsets @@ -68,7 +68,7 @@ struct atctmr_timer_regs { }; struct atftmr_timer_platdata { - unsigned long *regs; + u32 *regs; }; static int atftmr_timer_get_count(struct udevice *dev, u64 *count) -- 2.39.5