[PATCH v5 0/4] add meson secure watchdog driver

From: Xingyu Chen
Date: Thu Dec 12 2019 - 07:20:08 EST


The watchdog controller on the Meson-A/C series SoCs is moved to secure world,
We have to call SMC instruction to trap the ATF for watchdog operation. These
operations are different from previous SoCs, so we introduce a new watchdog
driver to support this kind of SoCs.

Changes since v4 at [3]:
- add watchdog node in dts, and introduce a new optional property "timeout-sec"
- add dt-binding for meson secure watchdog
- instantiate wdt device through dts node instead of platform_device_register_simple()

Changes since v3 at [2]:
- add SM_A1_ prefix for WATCHDOG_OPS
- remove phandle to secure-monitor node
- remove watchdog node from dts, and register wdt device by platform_device_register_simple()
- remove dt-binding for meson secure watchdog
- use the msec as unit of timeout parameter which is passed to fw side

Changes since v2 at [1]:
- remove useless dependency in Kconfig
- return zero when getting left time value fails

Changes since v1 at [0]:
- add a new dependency in Kconfig
- simplify/add the return operation
- remove useless ping operation when setting the timeout
- fix some return values
- fix the license statement

[0]:https://lore.kernel.org/linux-amlogic/1570874721-36077-1-git-send-email-xingyu.chen@xxxxxxxxxxx
[1]:https://lore.kernel.org/linux-amlogic/1571387622-35132-1-git-send-email-xingyu.chen@xxxxxxxxxxx
[2]:https://lore.kernel.org/linux-amlogic/1571983984-11771-1-git-send-email-xingyu.chen@xxxxxxxxxxx
[3]:https://lore.kernel.org/linux-amlogic/1574685218-31164-1-git-send-email-xingyu.chen@xxxxxxxxxxx

Xingyu Chen (4):
firmware: meson_sm: add new SMC ID support for accessing secure
watchdog
dt-bindings: watchdog: add new binding for meson secure watchdog
watchdog: add meson secure watchdog driver
arm64: dts: a1: add secure watchdog controller

.../bindings/watchdog/amlogic,meson-sec-wdt.yaml | 35 ++++
arch/arm64/boot/dts/amlogic/meson-a1.dtsi | 6 +
drivers/firmware/meson/meson_sm.c | 1 +
drivers/watchdog/Kconfig | 16 ++
drivers/watchdog/Makefile | 1 +
drivers/watchdog/meson_sec_wdt.c | 188 +++++++++++++++++++++
include/linux/firmware/meson/meson_sm.h | 1 +
7 files changed, 248 insertions(+)
create mode 100644 Documentation/devicetree/bindings/watchdog/amlogic,meson-sec-wdt.yaml
create mode 100644 drivers/watchdog/meson_sec_wdt.c

--
2.7.4