Thread (6 messages) 6 messages, 2 authors, 2022-07-29

Re: [PATCH v2] arm64: dts: mt8173-oak: Switch to SMC watchdog

From: Pin-yen Lin <hidden>
Date: 2022-07-28 15:39:46
Also in: linux-devicetree, linux-mediatek, lkml

On Thu, Jul 28, 2022 at 7:21 PM AngeloGioacchino Del Regno
[off-list ref] wrote:
Il 27/07/22 11:40, Pin-yen Lin ha scritto:
quoted
Switch to SMC watchdog because we need direct control of HW watchdog
registers from kernel. The corresponding firmware was uploaded in
https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/3405.

Signed-off-by: Pin-yen Lin <redacted>
---

Changes in v2:
- Move the modifications to mt8173-elm.dtsi and add some comments.

  arch/arm64/boot/dts/mediatek/mt8173-elm.dtsi | 12 ++++++++++++
  1 file changed, 12 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt8173-elm.dtsi b/arch/arm64/boot/dts/mediatek/mt8173-elm.dtsi
index e21feb85d822..b2269770abc3 100644
--- a/arch/arm64/boot/dts/mediatek/mt8173-elm.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8173-elm.dtsi
@@ -161,6 +161,18 @@ hdmi_connector_in: endpoint {
                      };
              };
      };
+
+     soc {
+             /*
+              * Disable the original MMIO watch dog and switch to the SMC watchdog,
+              * which operates on the same MMIO.
+              */
+             /delete-node/ watchdog@10007000;
Unfortunately, we're not quite there yet.
The comment is fine, but...

There's no need to /delete-node/: you can just do it like

/*
  * Disable the original MMIO watch dog and switch to the SMC watchdog,
  * which operates on the same MMIO.
  */
&watchdog {
        status = "disabled";
};

and...
quoted
+
+             watchdog {
This isn't addressable, hence it belongs to the root node, not to soc.
If you did that because of naming issues, I would propose to call it
smc-watchdog instead of watchdog.

quoted
+                     compatible = "arm,smc-wdt";
Thanks for the suggestion. I'll modify it accordingly in v3.
P.S.: No timeout-sec?
The example in the binding file has a timeout-sec property, but it is
not defined in the binding nor used in the driver...
The driver seems to talk with the firmware to get a timeout value[1]
instead of reading it from the devicetree.

[1]: https://elixir.bootlin.com/linux/latest/source/drivers/watchdog/arm_smc_wdt.c#L138
Regards,
Angelo
quoted
+             };
+     };
  };

  &mfg_async {
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help