On Fri, Sep 02, 2016 at 10:22:26AM +0200, Mark Kettenis wrote:
> > Date: Fri, 2 Sep 2016 08:31:20 +0200
> > From: Marcus Glocker <[email protected]>
> >
> > Trying to disable the watchdog on the allwinner,sun5i-r8 breaks the
> > reboot ('reboot failed; spinning'). Can we change this back at least
> > for the A10?
>
> Sorry for dropping the ball here. But does it work if instead of
> WDOG_EN, you enable/disable WDOG_RST_EN based on the period being >0
> or not?
Yes, this new diff works for me. Are you ok if we fix it this way?
Index: sxidog.c
===================================================================
RCS file: /cvs/src/sys/arch/armv7/sunxi/sxidog.c,v
retrieving revision 1.9
diff -u -p -r1.9 sxidog.c
--- sxidog.c 27 Aug 2016 14:13:14 -0000 1.9
+++ sxidog.c 4 Sep 2016 10:52:01 -0000
@@ -148,9 +148,9 @@ sxidog_callback(void *arg, int period)
switch (sc->sc_type) {
case SXIDOG_A10:
- enable = (period > 0) ? WDOG_EN : 0;
+ enable = (period > 0) ? WDOG_RST_EN : 0;
SXIWRITE4(sc, WDOG_MODE_REG,
- enable | WDOG_RST_EN | WDOG_INTV_VALUE(period));
+ enable | WDOG_EN | WDOG_INTV_VALUE(period));
SXIWRITE4(sc, WDOG_CTRL_REG, WDOG_KEY | WDOG_RSTART);
break;
case SXIDOG_A31: