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 <mar...@nazgul.ch> > > > > 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: