diff mbox series

[2/2] arm64: dts: h6: Add watchdog node

Message ID 20190404135736.8491-2-peron.clem@gmail.com
State New
Headers show
Series [1/2] dt-bindings: watchdog: sunxi: Add H6 compatible | expand

Commit Message

Clément Péron April 4, 2019, 1:57 p.m. UTC
Allwinner H6 has a watchog compatible with A31.

Declare it in the device tree.

Signed-off-by: Clément Péron <peron.clem@gmail.com>
---
 arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Maxime Ripard April 5, 2019, 9:02 a.m. UTC | #1
On Thu, Apr 04, 2019 at 03:57:36PM +0200, Clément Péron wrote:
> Allwinner H6 has a watchog compatible with A31.
>
> Declare it in the device tree.
>
> Signed-off-by: Clément Péron <peron.clem@gmail.com>

Applied both, thanks!
Maxime

--
Maxime Ripard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
Chen-Yu Tsai April 5, 2019, 2:35 p.m. UTC | #2
On Fri, Apr 5, 2019 at 5:02 PM Maxime Ripard <maxime.ripard@bootlin.com> wrote:
>
> On Thu, Apr 04, 2019 at 03:57:36PM +0200, Clément Péron wrote:
> > Allwinner H6 has a watchog compatible with A31.
> >
> > Declare it in the device tree.
> >
> > Signed-off-by: Clément Péron <peron.clem@gmail.com>
>
> Applied both, thanks!
> Maxime

IIRC there are 3 watchdogs on the H6. One is the trusted watchdog,
which should be reserved for underlying firmware.

The other two are the normal and R-block watchdog. Although they
look the same, the "normal" one can't reset the system. :(
That one is actually the one ATF currently uses. So reboot doesn't
work on the H6.

ChenYu
Maxime Ripard April 5, 2019, 2:50 p.m. UTC | #3
On Fri, Apr 05, 2019 at 10:35:08PM +0800, Chen-Yu Tsai wrote:
> On Fri, Apr 5, 2019 at 5:02 PM Maxime Ripard <maxime.ripard@bootlin.com> wrote:
> >
> > On Thu, Apr 04, 2019 at 03:57:36PM +0200, Clément Péron wrote:
> > > Allwinner H6 has a watchog compatible with A31.
> > >
> > > Declare it in the device tree.
> > >
> > > Signed-off-by: Clément Péron <peron.clem@gmail.com>
> >
> > Applied both, thanks!
> > Maxime
>
> IIRC there are 3 watchdogs on the H6. One is the trusted watchdog,
> which should be reserved for underlying firmware.
>
> The other two are the normal and R-block watchdog. Although they
> look the same, the "normal" one can't reset the system. :(
> That one is actually the one ATF currently uses. So reboot doesn't
> work on the H6.

So that patch will not do anything then?

Maxime

--
Maxime Ripard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
Chen-Yu Tsai April 5, 2019, 2:59 p.m. UTC | #4
On Fri, Apr 5, 2019 at 10:50 PM Maxime Ripard <maxime.ripard@bootlin.com> wrote:
>
> On Fri, Apr 05, 2019 at 10:35:08PM +0800, Chen-Yu Tsai wrote:
> > On Fri, Apr 5, 2019 at 5:02 PM Maxime Ripard <maxime.ripard@bootlin.com> wrote:
> > >
> > > On Thu, Apr 04, 2019 at 03:57:36PM +0200, Clément Péron wrote:
> > > > Allwinner H6 has a watchog compatible with A31.
> > > >
> > > > Declare it in the device tree.
> > > >
> > > > Signed-off-by: Clément Péron <peron.clem@gmail.com>
> > >
> > > Applied both, thanks!
> > > Maxime
> >
> > IIRC there are 3 watchdogs on the H6. One is the trusted watchdog,
> > which should be reserved for underlying firmware.
> >
> > The other two are the normal and R-block watchdog. Although they
> > look the same, the "normal" one can't reset the system. :(
> > That one is actually the one ATF currently uses. So reboot doesn't
> > work on the H6.
>
> So that patch will not do anything then?

I'm still on vacation, so I haven't checked the address of the new device.
If it's the normal one, then yeah, it won't do anything. I've tried that.
IIRC Samuel (or someone else) on IRC also mentioned this.

ChenYu
Maxime Ripard April 5, 2019, 3:08 p.m. UTC | #5
On Fri, Apr 05, 2019 at 10:59:35PM +0800, Chen-Yu Tsai wrote:
> On Fri, Apr 5, 2019 at 10:50 PM Maxime Ripard <maxime.ripard@bootlin.com> wrote:
> >
> > On Fri, Apr 05, 2019 at 10:35:08PM +0800, Chen-Yu Tsai wrote:
> > > On Fri, Apr 5, 2019 at 5:02 PM Maxime Ripard <maxime.ripard@bootlin.com> wrote:
> > > >
> > > > On Thu, Apr 04, 2019 at 03:57:36PM +0200, Clément Péron wrote:
> > > > > Allwinner H6 has a watchog compatible with A31.
> > > > >
> > > > > Declare it in the device tree.
> > > > >
> > > > > Signed-off-by: Clément Péron <peron.clem@gmail.com>
> > > >
> > > > Applied both, thanks!
> > > > Maxime
> > >
> > > IIRC there are 3 watchdogs on the H6. One is the trusted watchdog,
> > > which should be reserved for underlying firmware.
> > >
> > > The other two are the normal and R-block watchdog. Although they
> > > look the same, the "normal" one can't reset the system. :(
> > > That one is actually the one ATF currently uses. So reboot doesn't
> > > work on the H6.
> >
> > So that patch will not do anything then?
>
> I'm still on vacation, so I haven't checked the address of the new device.
> If it's the normal one, then yeah, it won't do anything. I've tried that.
> IIRC Samuel (or someone else) on IRC also mentioned this.

It's the one in the timer that we've used since pretty much day 1 on
older SoCs, so I guess it qualifies as the normal one :)

Maxime

--
Maxime Ripard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
Clément Péron April 5, 2019, 4:24 p.m. UTC | #6
Hi,

On Fri, 5 Apr 2019 at 17:08, Maxime Ripard <maxime.ripard@bootlin.com> wrote:
>
> On Fri, Apr 05, 2019 at 10:59:35PM +0800, Chen-Yu Tsai wrote:
> > On Fri, Apr 5, 2019 at 10:50 PM Maxime Ripard <maxime.ripard@bootlin.com> wrote:
> > >
> > > On Fri, Apr 05, 2019 at 10:35:08PM +0800, Chen-Yu Tsai wrote:
> > > > On Fri, Apr 5, 2019 at 5:02 PM Maxime Ripard <maxime.ripard@bootlin.com> wrote:
> > > > >
> > > > > On Thu, Apr 04, 2019 at 03:57:36PM +0200, Clément Péron wrote:
> > > > > > Allwinner H6 has a watchog compatible with A31.
> > > > > >
> > > > > > Declare it in the device tree.
> > > > > >
> > > > > > Signed-off-by: Clément Péron <peron.clem@gmail.com>
> > > > >
> > > > > Applied both, thanks!
> > > > > Maxime
> > > >
> > > > IIRC there are 3 watchdogs on the H6. One is the trusted watchdog,
> > > > which should be reserved for underlying firmware.
> > > >
> > > > The other two are the normal and R-block watchdog. Although they
> > > > look the same, the "normal" one can't reset the system. :(
> > > > That one is actually the one ATF currently uses. So reboot doesn't
> > > > work on the H6.

Some users report that the reboot on the PineH64 actually works.

Clement

> > >
> > > So that patch will not do anything then?
> >
> > I'm still on vacation, so I haven't checked the address of the new device.
> > If it's the normal one, then yeah, it won't do anything. I've tried that.
> > IIRC Samuel (or someone else) on IRC also mentioned this.
>
> It's the one in the timer that we've used since pretty much day 1 on
> older SoCs, so I guess it qualifies as the normal one :)
>
> Maxime
>
> --
> Maxime Ripard, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
Clément Péron April 7, 2019, 2:27 p.m. UTC | #7
Hi,

On Fri, 5 Apr 2019 at 18:24, Clément Péron <peron.clem@gmail.com> wrote:
>
> Hi,
>
> On Fri, 5 Apr 2019 at 17:08, Maxime Ripard <maxime.ripard@bootlin.com> wrote:
> >
> > On Fri, Apr 05, 2019 at 10:59:35PM +0800, Chen-Yu Tsai wrote:
> > > On Fri, Apr 5, 2019 at 10:50 PM Maxime Ripard <maxime.ripard@bootlin.com> wrote:
> > > >
> > > > On Fri, Apr 05, 2019 at 10:35:08PM +0800, Chen-Yu Tsai wrote:
> > > > > On Fri, Apr 5, 2019 at 5:02 PM Maxime Ripard <maxime.ripard@bootlin.com> wrote:
> > > > > >
> > > > > > On Thu, Apr 04, 2019 at 03:57:36PM +0200, Clément Péron wrote:
> > > > > > > Allwinner H6 has a watchog compatible with A31.
> > > > > > >
> > > > > > > Declare it in the device tree.
> > > > > > >
> > > > > > > Signed-off-by: Clément Péron <peron.clem@gmail.com>
> > > > > >
> > > > > > Applied both, thanks!
> > > > > > Maxime
> > > > >
> > > > > IIRC there are 3 watchdogs on the H6. One is the trusted watchdog,
> > > > > which should be reserved for underlying firmware.
> > > > >
> > > > > The other two are the normal and R-block watchdog. Although they
> > > > > look the same, the "normal" one can't reset the system. :(
> > > > > That one is actually the one ATF currently uses. So reboot doesn't
> > > > > work on the H6.
>
> Some users report that the reboot on the PineH64 actually works.
>
> Clement
>
> > > >
> > > > So that patch will not do anything then?

Did some test and only interrupts are working right now. If the WDOG
is configured to make the board reboot the system will be stuck :S
Maybe better to disabled it for now and leave a comment.
I will try to ask some Pine H64 users to do the same tests.

Test done on my Beelink GS1 :
/* This should reset the system after 0.5s */
# devmem $((0x030090a0 + 0x0014))
0x00000001
# devmem $((0x030090a0 + 0x0018))
0x00000000
# devmem $((0x030090a0 + 0x0018)) 32 0x1
#
/* System is Stuck*/

/* This should reset the system after 1s */
# devmem $((0x030090a0 + 0x0014))
0x00000001
# devmem $((0x030090a0 + 0x0018))
0x00000000
# devmem $((0x030090a0 + 0x0018)) 32 $((0x1 << 4 | 0x1))
#
/* System is Stuck*/

/* This should reset the system after 1s (as recommended in the User Manual) */
# devmem $((0x030090a0 + 0x0014))
0x00000001
# devmem $((0x030090a0 + 0x0018))
0x00000000
# devmem $((0x030090a0 + 0x0018)) 32 $((0x1 << 4))
# devmem $((0x030090a0 + 0x0018))
0x00000010
# devmem $((0x030090a0 + 0x0018)) 32 $((0x1 << 4 | 0x1))
#
/* System is Stuck*/

/* This should trig an interrupt after 0.5s */
# devmem $((0x030090a0 + 0x0014)) 32 0x32
# devmem $((0x030090a0 + 0x0014))
0x00000002
# devmem $((0x030090a0 + 0x0018))
0x00000000
# devmem $((0x030090a0 + 0x0018)) 32 $((0x1 << 4 | 0x1))
# devmem $((0x030090a0 + 0x0004))
0x00000001
/* INT is triggered */

Regards,
Clement

> > >
> > > I'm still on vacation, so I haven't checked the address of the new device.
> > > If it's the normal one, then yeah, it won't do anything. I've tried that.
> > > IIRC Samuel (or someone else) on IRC also mentioned this.
> >
> > It's the one in the timer that we've used since pretty much day 1 on
> > older SoCs, so I guess it qualifies as the normal one :)
> >
> > Maxime
> >
> > --
> > Maxime Ripard, Bootlin
> > Embedded Linux and Kernel engineering
> > https://bootlin.com
Maxime Ripard April 8, 2019, 8:16 a.m. UTC | #8
On Sun, Apr 07, 2019 at 04:27:36PM +0200, Clément Péron wrote:
> Hi,
>
> On Fri, 5 Apr 2019 at 18:24, Clément Péron <peron.clem@gmail.com> wrote:
> >
> > Hi,
> >
> > On Fri, 5 Apr 2019 at 17:08, Maxime Ripard <maxime.ripard@bootlin.com> wrote:
> > >
> > > On Fri, Apr 05, 2019 at 10:59:35PM +0800, Chen-Yu Tsai wrote:
> > > > On Fri, Apr 5, 2019 at 10:50 PM Maxime Ripard <maxime.ripard@bootlin.com> wrote:
> > > > >
> > > > > On Fri, Apr 05, 2019 at 10:35:08PM +0800, Chen-Yu Tsai wrote:
> > > > > > On Fri, Apr 5, 2019 at 5:02 PM Maxime Ripard <maxime.ripard@bootlin.com> wrote:
> > > > > > >
> > > > > > > On Thu, Apr 04, 2019 at 03:57:36PM +0200, Clément Péron wrote:
> > > > > > > > Allwinner H6 has a watchog compatible with A31.
> > > > > > > >
> > > > > > > > Declare it in the device tree.
> > > > > > > >
> > > > > > > > Signed-off-by: Clément Péron <peron.clem@gmail.com>
> > > > > > >
> > > > > > > Applied both, thanks!
> > > > > > > Maxime
> > > > > >
> > > > > > IIRC there are 3 watchdogs on the H6. One is the trusted watchdog,
> > > > > > which should be reserved for underlying firmware.
> > > > > >
> > > > > > The other two are the normal and R-block watchdog. Although they
> > > > > > look the same, the "normal" one can't reset the system. :(
> > > > > > That one is actually the one ATF currently uses. So reboot doesn't
> > > > > > work on the H6.
> >
> > Some users report that the reboot on the PineH64 actually works.
> >
> > Clement
> >
> > > > >
> > > > > So that patch will not do anything then?
>
> Did some test and only interrupts are working right now. If the WDOG
> is configured to make the board reboot the system will be stuck :S
> Maybe better to disabled it for now and leave a comment.

I dropped the two patches

Maxime

--
Maxime Ripard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
Clément Péron April 8, 2019, 9:23 p.m. UTC | #9
On Mon, 8 Apr 2019 at 10:16, Maxime Ripard <maxime.ripard@bootlin.com> wrote:
>
> On Sun, Apr 07, 2019 at 04:27:36PM +0200, Clément Péron wrote:
> > Hi,
> >
> > On Fri, 5 Apr 2019 at 18:24, Clément Péron <peron.clem@gmail.com> wrote:
> > >
> > > Hi,
> > >
> > > On Fri, 5 Apr 2019 at 17:08, Maxime Ripard <maxime.ripard@bootlin.com> wrote:
> > > >
> > > > On Fri, Apr 05, 2019 at 10:59:35PM +0800, Chen-Yu Tsai wrote:
> > > > > On Fri, Apr 5, 2019 at 10:50 PM Maxime Ripard <maxime.ripard@bootlin.com> wrote:
> > > > > >
> > > > > > On Fri, Apr 05, 2019 at 10:35:08PM +0800, Chen-Yu Tsai wrote:
> > > > > > > On Fri, Apr 5, 2019 at 5:02 PM Maxime Ripard <maxime.ripard@bootlin.com> wrote:
> > > > > > > >
> > > > > > > > On Thu, Apr 04, 2019 at 03:57:36PM +0200, Clément Péron wrote:
> > > > > > > > > Allwinner H6 has a watchog compatible with A31.
> > > > > > > > >
> > > > > > > > > Declare it in the device tree.
> > > > > > > > >
> > > > > > > > > Signed-off-by: Clément Péron <peron.clem@gmail.com>
> > > > > > > >
> > > > > > > > Applied both, thanks!
> > > > > > > > Maxime
> > > > > > >
> > > > > > > IIRC there are 3 watchdogs on the H6. One is the trusted watchdog,
> > > > > > > which should be reserved for underlying firmware.
> > > > > > >
> > > > > > > The other two are the normal and R-block watchdog. Although they
> > > > > > > look the same, the "normal" one can't reset the system. :(
> > > > > > > That one is actually the one ATF currently uses. So reboot doesn't
> > > > > > > work on the H6.
> > >
> > > Some users report that the reboot on the PineH64 actually works.
> > >
> > > Clement
> > >
> > > > > >
> > > > > > So that patch will not do anything then?
> >
> > Did some test and only interrupts are working right now. If the WDOG
> > is configured to make the board reboot the system will be stuck :S
> > Maybe better to disabled it for now and leave a comment.
>
> I dropped the two patches
What do you think about having it but disabled with a comment ?

I have tested the r_watchdog and this one is functionnal.

Clement

>
> Maxime
>
> --
> Maxime Ripard, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
index bc5dc44171b7..3c2d6d0538b7 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
@@ -203,6 +203,12 @@ 
 			#reset-cells = <1>;
 		};
 
+		watchdog@30090a0 {
+			compatible = "allwinner,sun50i-h6-wdt","allwinner,sun6i-a31-wdt";
+			reg = <0x030090a0 0x20>;
+			interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
+		};
+
 		pio: pinctrl@300b000 {
 			compatible = "allwinner,sun50i-h6-pinctrl";
 			reg = <0x0300b000 0x400>;