Re: [PATCH v2 0/2] Add a watchdog driver that uses ARM Secure Monitor Calls.

From: Xingyu Chen
Date: Wed Apr 15 2020 - 08:04:36 EST


Hi,Evan

On 2020/4/11 23:06, Xingyu Chen wrote:
Hi, Evan

On 2020/4/3 14:04, Evan Benn wrote:
Apologies I forgot to add this note to my cover letter.

Xingyu do you mind seeing if you can modify your ATF firmware to match this driver?
We can add a compatible or make other changes to suit you.
Thanks for your patch [0], I will test this patch on the meson-A1 platform, but It looks more
convenient to be compatible with other platforms if using the compatible strings to correlate
platform differences include function ID and wdt_ops.

[0]: https://patchwork.kernel.org/patch/11471829/

I have tested your patch on the meson-A1, but I use the compatible strings to correlate the following platform differencesïit works normally.

static const struct smcwd_data smcwd_mtk_data = {
.func_id = 0x82003d06,
.ops = &smcwd_ops,
}

static const struct smcwd_data smcwd_meson_data = {
.func_id = 0x82000086,
.ops = &smcwd_timeleft_ops,
}

In addition, It looks more reasonable to use the "msec" as the unit of timeout parameter for the ATF fw interface with SMCWD_SET_TIMEOUT:

- The fw interface will compatible with the uboot generic watchdog interface at [0], and there is no need to convert timeout from msec
to sec.

- Some vendor's watchdog may be not support the "wdt_trigger_reset" reset operation, but they can use the method below to reset the system
by the watchdog right now.

watchdog_set_time(1); //1ms
watchdog_enable();

[0]: https://gitlab.denx.de/u-boot/u-boot/-/blob/master/drivers/watchdog/wdt-uclass.c

Best Regards
Thanks

On Fri, Apr 3, 2020 at 4:29 PM Evan Benn <evanbenn@xxxxxxxxxxxx <mailto:evanbenn@xxxxxxxxxxxx>> wrote:

This is currently supported in firmware deployed on oak, hana and
elm mt8173
chromebook devices. The kernel driver is written to be a generic SMC
watchdog driver.

Arm Trusted Firmware upstreaming review:
https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/3405

Patch to add oak, hana, elm device tree:
https://lore.kernel.org/linux-arm-kernel/20200110073730.213789-1-hsinyi@xxxxxxxxxxxx/
I would like to add the device tree support after the above patch is
accepted.

Changes in v3:
- Change name back to arm
- Add optional get_timeleft op
- change name to arm_smc_wdt

Changes in v2:
- Change name arm > mt8173
- use watchdog_stop_on_reboot
- use watchdog_stop_on_unregister
- use devm_watchdog_register_device
- remove smcwd_shutdown, smcwd_remove
- change error codes

Evan Benn (1):
 dt-bindings: watchdog: Add ARM smc wdt for mt8173 watchdog

Julius Werner (1):
 watchdog: Add new arm_smd_wdt watchdog driver

Â.../bindings/watchdog/arm-smc-wdt.yaml    | 30 +++
ÂMAINTAINERSÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â|Â Â7 +
Âarch/arm64/configs/defconfig         | Â1 +
Âdrivers/watchdog/Kconfig           | 13 ++
Âdrivers/watchdog/Makefile          Â| Â1 +
Âdrivers/watchdog/arm_smc_wdt.c        | 181
++++++++++++++++++
Â6 files changed, 233 insertions(+)
Âcreate mode 100644
Documentation/devicetree/bindings/watchdog/arm-smc-wdt.yaml
Âcreate mode 100644 drivers/watchdog/arm_smc_wdt.c

-- 2.26.0.292.g33ef6b2f38-goog