diff mbox series

[17/17] ARM: dts: dra7-ipu-dsp-common: Add watchdog timers to IPU and DSP nodes

Message ID 20200424151244.3225-18-t-kristo@ti.com (mailing list archive)
State Mainlined
Commit 1f15980525c6425125678fc97ea8b4b1ee4cb86e
Headers show
Series ARM: dts: dra7/am57xx: remoteproc support | expand

Commit Message

Tero Kristo April 24, 2020, 3:12 p.m. UTC
From: Suman Anna <s-anna@ti.com>

The watchdog timer information has been added to all the IPU and DSP
remote processor device nodes in the DRA7xx/AM57xx SoC families. The
data has been added to the two common dra7-ipu-dsp-common and
dra74-ipu-dsp-common dtsi files that can be included by all the
desired board files. The following timers are chosen as the watchdog
timers, as per the usage on the current firmware images:
        IPU2: GPTimers 4 & 9 (one for each Cortex-M4 core)
        IPU1: GPTimers 7 & 8 (one for each Cortex-M4 core)
        DSP1: GPTimer 10
        DSP2: GPTimer 13

Each of the IPUs has two Cortex-M4 processors and so uses a timer
each for providing watchdog support on that processor irrespective of
whether the IPU is running in SMP-mode or non-SMP node. The chosen
timers also need to be unique from the ones used by other processors
(regular timers or watchdog timers) so that they can be supported
simultaneously.

The MPU-side drivers will use this data to initialize the watchdog
timer(s), and listen for any watchdog triggers. The BIOS-side code on
these processors needs to configure/refresh the corresponding timer
properly to not throw a watchdog error.

The watchdog timers are optional in general, but are mandatory to
be added to support watchdog error recovery on a particular processor.
These timers can be changed or removed as per the system integration
needs, alongside appropriate equivalent changes on the firmware side.

Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Tero Kristo <t-kristo@ti.com>
---
 arch/arm/boot/dts/dra7-ipu-dsp-common.dtsi  | 3 +++
 arch/arm/boot/dts/dra74-ipu-dsp-common.dtsi | 1 +
 2 files changed, 4 insertions(+)
diff mbox series

Patch

diff --git a/arch/arm/boot/dts/dra7-ipu-dsp-common.dtsi b/arch/arm/boot/dts/dra7-ipu-dsp-common.dtsi
index 23ce3b67faf7..a25749a1c365 100644
--- a/arch/arm/boot/dts/dra7-ipu-dsp-common.dtsi
+++ b/arch/arm/boot/dts/dra7-ipu-dsp-common.dtsi
@@ -23,14 +23,17 @@ 
 &ipu2 {
 	mboxes = <&mailbox6 &mbox_ipu2_ipc3x>;
 	ti,timers = <&timer3>;
+	ti,watchdog-timers = <&timer4>, <&timer9>;
 };
 
 &ipu1 {
 	mboxes = <&mailbox5 &mbox_ipu1_ipc3x>;
 	ti,timers = <&timer11>;
+	ti,watchdog-timers = <&timer7>, <&timer8>;
 };
 
 &dsp1 {
 	mboxes = <&mailbox5 &mbox_dsp1_ipc3x>;
 	ti,timers = <&timer5>;
+	ti,watchdog-timers = <&timer10>;
 };
diff --git a/arch/arm/boot/dts/dra74-ipu-dsp-common.dtsi b/arch/arm/boot/dts/dra74-ipu-dsp-common.dtsi
index a546cf740365..b1147a4b77f9 100644
--- a/arch/arm/boot/dts/dra74-ipu-dsp-common.dtsi
+++ b/arch/arm/boot/dts/dra74-ipu-dsp-common.dtsi
@@ -14,4 +14,5 @@ 
 &dsp2 {
 	mboxes = <&mailbox6 &mbox_dsp2_ipc3x>;
 	ti,timers = <&timer6>;
+	ti,watchdog-timers = <&timer13>;
 };