i.MX8QXP is an ARMv8 Cortex-A35 SoC with a Cortex-M4 system controller inside,And you expect I'll spend the time comparing this version of the patch
the system controller manages overall power, clock, secure RTC and watchdog
etc., so Linux kernel running on A35 needs to communicate with system
controller for watchdog operation, this system controller watchdog will
call SMC to trap to EL3 secure world ARM-Trusted-Firmware and then it will
request system controller to do the watchdog operation via IPC.
The dt-binding and imx8qxp.dtsi patch are based on my thermal patch series as below:
https://patchwork.kernel.org/patch/10800699/
Anson Huang (4):
dt-bindings: fsl: scu: add watchdog binding
watchdog: imx_sc: Add i.MX system controller watchdog support
arm64: defconfig: add support for i.MX system controller watchdog
arm64: dts: freescale: imx8qxp: add watchdog support
.../devicetree/bindings/arm/freescale/fsl,scu.txt | 10 +
arch/arm64/boot/dts/freescale/imx8qxp.dtsi | 4 +
arch/arm64/configs/defconfig | 1 +
drivers/watchdog/Kconfig | 13 ++
drivers/watchdog/Makefile | 1 +
drivers/watchdog/imx_sc_wdt.c | 210 +++++++++++++++++++++
6 files changed, 239 insertions(+)
create mode 100644 drivers/watchdog/imx_sc_wdt.c