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.
Chnages 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/[email protected]
[1]:https://lore.kernel.org/linux-amlogic/[email protected]
[2]:https://lore.kernel.org/linux-amlogic/[email protected]
Xingyu Chen (2):
firmware: meson_sm: add new SMC ID support for accessing secure
watchdog
watchdog: add meson secure watchdog driver
drivers/firmware/meson/meson_sm.c | 1 +
drivers/watchdog/Kconfig | 16 +++
drivers/watchdog/Makefile | 1 +
drivers/watchdog/meson_sec_wdt.c | 207 ++++++++++++++++++++++++++++++++
include/linux/firmware/meson/meson_sm.h | 1 +
5 files changed, 226 insertions(+)
create mode 100644 drivers/watchdog/meson_sec_wdt.c
--
2.7.4