* [PATCH v5 1/4] dt-bindings: watchdog: add Allwinner H6 watchdog
2019-05-23 15:10 [PATCH v5 0/4] Allwinner H6 watchdog support Clément Péron
@ 2019-05-23 15:10 ` Clément Péron
2019-05-24 21:55 ` Rob Herring
2019-06-07 17:35 ` Guenter Roeck
2019-05-23 15:10 ` [PATCH v5 2/4] arm64: dts: allwinner: h6: add watchdog node Clément Péron
` (3 subsequent siblings)
4 siblings, 2 replies; 8+ messages in thread
From: Clément Péron @ 2019-05-23 15:10 UTC (permalink / raw)
To: Wim Van Sebroeck, Guenter Roeck, Rob Herring, Mark Rutland,
Maxime Ripard, Chen-Yu Tsai
Cc: linux-watchdog, devicetree, linux-arm-kernel, linux-kernel,
Clément Péron
Allwinner H6 has a similar watchdog as the A64 which is already
a compatible of the A31.
This commit add the H6 compatible.
Signed-off-by: Clément Péron <peron.clem@gmail.com>
---
Documentation/devicetree/bindings/watchdog/sunxi-wdt.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/watchdog/sunxi-wdt.txt b/Documentation/devicetree/bindings/watchdog/sunxi-wdt.txt
index 46055254e8dd..e65198d82a2b 100644
--- a/Documentation/devicetree/bindings/watchdog/sunxi-wdt.txt
+++ b/Documentation/devicetree/bindings/watchdog/sunxi-wdt.txt
@@ -6,6 +6,7 @@ Required properties:
"allwinner,sun4i-a10-wdt"
"allwinner,sun6i-a31-wdt"
"allwinner,sun50i-a64-wdt","allwinner,sun6i-a31-wdt"
+ "allwinner,sun50i-h6-wdt","allwinner,sun6i-a31-wdt"
"allwinner,suniv-f1c100s-wdt", "allwinner,sun4i-a10-wdt"
- reg : Specifies base physical address and size of the registers.
--
2.20.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v5 1/4] dt-bindings: watchdog: add Allwinner H6 watchdog
2019-05-23 15:10 ` [PATCH v5 1/4] dt-bindings: watchdog: add Allwinner H6 watchdog Clément Péron
@ 2019-05-24 21:55 ` Rob Herring
2019-06-07 17:35 ` Guenter Roeck
1 sibling, 0 replies; 8+ messages in thread
From: Rob Herring @ 2019-05-24 21:55 UTC (permalink / raw)
To: Clément Péron
Cc: Wim Van Sebroeck, Guenter Roeck, Mark Rutland, Maxime Ripard,
Chen-Yu Tsai, linux-watchdog, devicetree, linux-arm-kernel,
linux-kernel, Clément Péron
On Thu, 23 May 2019 17:10:47 +0200, =?UTF-8?q?Cl=C3=A9ment=20P=C3=A9ron?= wrote:
> Allwinner H6 has a similar watchdog as the A64 which is already
> a compatible of the A31.
>
> This commit add the H6 compatible.
>
> Signed-off-by: Clément Péron <peron.clem@gmail.com>
> ---
> Documentation/devicetree/bindings/watchdog/sunxi-wdt.txt | 1 +
> 1 file changed, 1 insertion(+)
>
Reviewed-by: Rob Herring <robh@kernel.org>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v5 1/4] dt-bindings: watchdog: add Allwinner H6 watchdog
2019-05-23 15:10 ` [PATCH v5 1/4] dt-bindings: watchdog: add Allwinner H6 watchdog Clément Péron
2019-05-24 21:55 ` Rob Herring
@ 2019-06-07 17:35 ` Guenter Roeck
1 sibling, 0 replies; 8+ messages in thread
From: Guenter Roeck @ 2019-06-07 17:35 UTC (permalink / raw)
To: Clément Péron
Cc: Wim Van Sebroeck, Rob Herring, Mark Rutland, Maxime Ripard,
Chen-Yu Tsai, linux-watchdog, devicetree, linux-arm-kernel,
linux-kernel
On Thu, May 23, 2019 at 05:10:47PM +0200, Clément Péron wrote:
> Allwinner H6 has a similar watchdog as the A64 which is already
> a compatible of the A31.
>
> This commit add the H6 compatible.
>
> Signed-off-by: Clément Péron <peron.clem@gmail.com>
> Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
> ---
> Documentation/devicetree/bindings/watchdog/sunxi-wdt.txt | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Documentation/devicetree/bindings/watchdog/sunxi-wdt.txt b/Documentation/devicetree/bindings/watchdog/sunxi-wdt.txt
> index 46055254e8dd..e65198d82a2b 100644
> --- a/Documentation/devicetree/bindings/watchdog/sunxi-wdt.txt
> +++ b/Documentation/devicetree/bindings/watchdog/sunxi-wdt.txt
> @@ -6,6 +6,7 @@ Required properties:
> "allwinner,sun4i-a10-wdt"
> "allwinner,sun6i-a31-wdt"
> "allwinner,sun50i-a64-wdt","allwinner,sun6i-a31-wdt"
> + "allwinner,sun50i-h6-wdt","allwinner,sun6i-a31-wdt"
> "allwinner,suniv-f1c100s-wdt", "allwinner,sun4i-a10-wdt"
> - reg : Specifies base physical address and size of the registers.
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v5 2/4] arm64: dts: allwinner: h6: add watchdog node
2019-05-23 15:10 [PATCH v5 0/4] Allwinner H6 watchdog support Clément Péron
2019-05-23 15:10 ` [PATCH v5 1/4] dt-bindings: watchdog: add Allwinner H6 watchdog Clément Péron
@ 2019-05-23 15:10 ` Clément Péron
2019-05-23 15:10 ` [PATCH v5 3/4] arm64: dts: allwinner: h6: add r_watchog node Clément Péron
` (2 subsequent siblings)
4 siblings, 0 replies; 8+ messages in thread
From: Clément Péron @ 2019-05-23 15:10 UTC (permalink / raw)
To: Wim Van Sebroeck, Guenter Roeck, Rob Herring, Mark Rutland,
Maxime Ripard, Chen-Yu Tsai
Cc: linux-watchdog, devicetree, linux-arm-kernel, linux-kernel,
Clément Péron
Allwinner H6 has a watchog node which seems broken
on some boards.
Test has been performed on several boards.
Chen-Yu Tsai boards:
Pine H64 - H6448BA 7782 => OK
OrangePi Lite 2 - H8068BA 61C2 => KO
Martin Ayotte boards:
Pine H64 - H8069BA 6892 => OK
OrangePi 3 - HA047BA 69W2 => KO
OrangePi One Plus - H7310BA 6842 => KO
OrangePi Lite2 - H6448BA 6662 => KO
Clément Péron board:
Beelink GS1 - H7309BA 6842 => KO
As it seems not fixable for now, declare the node
but leave it disable with a comment.
Signed-off-by: Clément Péron <peron.clem@gmail.com>
---
arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
index 16c5c3d0fd81..13e70aebddbe 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
@@ -208,6 +208,15 @@
reg = <0x03006000 0x400>;
};
+ watchdog: watchdog@30090a0 {
+ compatible = "allwinner,sun50i-h6-wdt",
+ "allwinner,sun6i-a31-wdt";
+ reg = <0x030090a0 0x20>;
+ interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
+ /* Broken on some H6 boards */
+ status = "disabled";
+ };
+
pio: pinctrl@300b000 {
compatible = "allwinner,sun50i-h6-pinctrl";
reg = <0x0300b000 0x400>;
--
2.20.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v5 3/4] arm64: dts: allwinner: h6: add r_watchog node
2019-05-23 15:10 [PATCH v5 0/4] Allwinner H6 watchdog support Clément Péron
2019-05-23 15:10 ` [PATCH v5 1/4] dt-bindings: watchdog: add Allwinner H6 watchdog Clément Péron
2019-05-23 15:10 ` [PATCH v5 2/4] arm64: dts: allwinner: h6: add watchdog node Clément Péron
@ 2019-05-23 15:10 ` Clément Péron
2019-05-23 15:10 ` [PATCH v5 4/4] arm64: defconfig: enable sunxi watchdog Clément Péron
2019-05-24 13:07 ` [PATCH v5 0/4] Allwinner H6 watchdog support Maxime Ripard
4 siblings, 0 replies; 8+ messages in thread
From: Clément Péron @ 2019-05-23 15:10 UTC (permalink / raw)
To: Wim Van Sebroeck, Guenter Roeck, Rob Herring, Mark Rutland,
Maxime Ripard, Chen-Yu Tsai
Cc: linux-watchdog, devicetree, linux-arm-kernel, linux-kernel,
Clément Péron
Allwinner H6 has a r_watchdog similar to A64.
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 | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
index 13e70aebddbe..b9a7dc8d2a40 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
@@ -631,6 +631,13 @@
#reset-cells = <1>;
};
+ r_watchdog: watchdog@7020400 {
+ compatible = "allwinner,sun50i-h6-wdt",
+ "allwinner,sun6i-a31-wdt";
+ reg = <0x07020400 0x20>;
+ interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
r_intc: interrupt-controller@7021000 {
compatible = "allwinner,sun50i-h6-r-intc",
"allwinner,sun6i-a31-r-intc";
--
2.20.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v5 4/4] arm64: defconfig: enable sunxi watchdog
2019-05-23 15:10 [PATCH v5 0/4] Allwinner H6 watchdog support Clément Péron
` (2 preceding siblings ...)
2019-05-23 15:10 ` [PATCH v5 3/4] arm64: dts: allwinner: h6: add r_watchog node Clément Péron
@ 2019-05-23 15:10 ` Clément Péron
2019-05-24 13:07 ` [PATCH v5 0/4] Allwinner H6 watchdog support Maxime Ripard
4 siblings, 0 replies; 8+ messages in thread
From: Clément Péron @ 2019-05-23 15:10 UTC (permalink / raw)
To: Wim Van Sebroeck, Guenter Roeck, Rob Herring, Mark Rutland,
Maxime Ripard, Chen-Yu Tsai
Cc: linux-watchdog, devicetree, linux-arm-kernel, linux-kernel,
Clément Péron
The SUNXI_WATCHDOG option is required to make the
watchdog available on Allwinner H6.
Enable this option as a module.
Signed-off-by: Clément Péron <peron.clem@gmail.com>
---
arch/arm64/configs/defconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index 4d583514258c..fc51dd4decb1 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -420,6 +420,7 @@ CONFIG_UNIPHIER_THERMAL=y
CONFIG_WATCHDOG=y
CONFIG_ARM_SP805_WATCHDOG=y
CONFIG_S3C2410_WATCHDOG=y
+CONFIG_SUNXI_WATCHDOG=m
CONFIG_IMX2_WDT=y
CONFIG_MESON_GXBB_WATCHDOG=m
CONFIG_MESON_WATCHDOG=m
--
2.20.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v5 0/4] Allwinner H6 watchdog support
2019-05-23 15:10 [PATCH v5 0/4] Allwinner H6 watchdog support Clément Péron
` (3 preceding siblings ...)
2019-05-23 15:10 ` [PATCH v5 4/4] arm64: defconfig: enable sunxi watchdog Clément Péron
@ 2019-05-24 13:07 ` Maxime Ripard
4 siblings, 0 replies; 8+ messages in thread
From: Maxime Ripard @ 2019-05-24 13:07 UTC (permalink / raw)
To: Clément Péron
Cc: Wim Van Sebroeck, Guenter Roeck, Rob Herring, Mark Rutland,
Chen-Yu Tsai, linux-watchdog, devicetree, linux-arm-kernel,
linux-kernel
[-- Attachment #1: Type: text/plain, Size: 624 bytes --]
On Thu, May 23, 2019 at 05:10:46PM +0200, Clément Péron wrote:
> Hi,
>
> Allwinner H6 SoC has two watchdogs.
>
> As we are not sure that both A64 and H6 are stricly identical, I have
> introduced the H6 bindings.
>
> After investigation it seems that on some boards the first watchdog doesn't
> make it properly reboot. Please see details in the commit log.
>
> I think it's proper to add it with a comment anyway.
>
> The r_watchdog is still available and usable on all the H6 boards.
Applied all 4, thanks!
Maxime
--
Maxime Ripard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread