The RTC IP block here provides 3 scratch registers. Currently when
using DeepSleep on am335x the scratch0/1 registers are used so moving
ourself to scratch2 makes cooperation easier.
Signed-off-by: Tom Rini tr...@ti.com
---
drivers/bootcount/bootcount_davinci.c | 10 ++
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/drivers/bootcount/bootcount_davinci.c
b/drivers/bootcount/bootcount_davinci.c
index eddd940..f0acfad 100644
--- a/drivers/bootcount/bootcount_davinci.c
+++ b/drivers/bootcount/bootcount_davinci.c
@@ -20,17 +20,19 @@ void bootcount_store(ulong a)
*/
writel(RTC_KICK0R_WE, reg-kick0r);
writel(RTC_KICK1R_WE, reg-kick1r);
- raw_bootcount_store(reg-scratch0, a);
- raw_bootcount_store(reg-scratch1, BOOTCOUNT_MAGIC);
+ raw_bootcount_store(reg-scratch2,
+ (BOOTCOUNT_MAGIC 0x) | (a 0x));
}
ulong bootcount_load(void)
{
+ unsigned long val;
struct davinci_rtc *reg =
(struct davinci_rtc *)CONFIG_SYS_BOOTCOUNT_ADDR;
- if (raw_bootcount_load(reg-scratch1) != BOOTCOUNT_MAGIC)
+ val = raw_bootcount_load(reg-scratch2);
+ if ((val 0x) != (BOOTCOUNT_MAGIC 0x))
return 0;
else
- return raw_bootcount_load(reg-scratch0);
+ return val 0x;
}
--
1.7.9.5
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot