ARM: dts: dra7-ipu-dsp-common: Add watchdog timers to IPU and DSP nodes
authorSuman Anna <s-anna@ti.com>
Fri, 24 Apr 2020 15:12:44 +0000 (18:12 +0300)
committerTony Lindgren <tony@atomide.com>
Tue, 5 May 2020 18:13:29 +0000 (11:13 -0700)
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>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/boot/dts/dra7-ipu-dsp-common.dtsi
arch/arm/boot/dts/dra74-ipu-dsp-common.dtsi

index 23ce3b67faf7157c9c0ab156562369709850111b..a25749a1c365908692a53ff5d87e2052e5524589 100644 (file)
 &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>;
 };
index a546cf7403659f51195bc0c7acaf66279b053cf4..b1147a4b77f9d693209ac514994da0666b6bde3e 100644 (file)
@@ -14,4 +14,5 @@
 &dsp2 {
        mboxes = <&mailbox6 &mbox_dsp2_ipc3x>;
        ti,timers = <&timer6>;
+       ti,watchdog-timers = <&timer13>;
 };