AnsweredAssumed Answered

Watchdog anomaly on imx6q+

Question asked by Christophe Cholet on Nov 30, 2018
Latest reply on Nov 30, 2018 by igorpadykov

Hi all,

 

We have a sabresd-like board with an imx6q+ inside. Watchdog schematic is like below:

PWRON in connected to pmic "PWRON" pin and WDOG_B is connected to GPIO_1.

 

The DTB is like that:

&gpc {
    fsl,ldo-bypass = <1>;
};

 

pinctrl_wdog: wdoggrp {
      fsl,pins = <  MX6QDL_PAD_GPIO_1__WDOG2_B 0x80000000
            >;
};

 

&wdog1 {
    status = "disabled";
};

 

&wdog2 {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_wdog>;
    fsl,wdog_b;
    status = "okay";
};

 

With linux 3 and an imx6q chip, no problem: with reboot command or wdog time-out, the board shows a pulse on PWRON and reboots.

 

Now, with linux4 and imx6q+ chip, for the same commands, we still have a pulse on PWRON, but very strangely, the cpu hangs (no reboot).

If we disable wdog2 and enable wdog1 then the board reboots but without pulse on PWRON, a bit like a soft reset. It has been said many times that this way it not very reliable, so we don't wish to use it.

 

So, why something that fully worked on linux3 fails now on linux 4 ? What changes could happen ? And at the end, how to use watchdog2 to make the board correctly reboot ?

 

Best regards,

Christophe

Outcomes