Hi all, On 14/09/19 12:55, Sam Protsenko wrote: > Hi Grygorii, > > On Fri, Sep 13, 2019 at 8:58 PM Grygorii Strashko > <grygorii.stras...@ti.com> wrote: >> >> >> >> On 12/09/2019 19:33, Sam Protsenko wrote: >>> Hi Stefan, >>> >>> On Thu, Sep 12, 2019 at 5:38 PM Stefan Roese <s...@denx.de> wrote: >>>> >>>> Hi Sam, >>>> >>>> On 12.09.19 15:45, Sam Protsenko wrote: >>>>> Hi Suniel, >>>>> >>>>> After transition to DM WDT, watchdog timer on BeagleBone Black resets >>>>> the board after 1 minute or so. I'm using this defconfig: [1]. After >>>>> disabling CONFIG_WDT and CONFIG_WATCHDOG options the board doesn't >>>>> reset. I guess it might be happening on other boards using >>>>> CONFIG_WDT_OMAP3 as well. The issue can be reproduced by stopping in >>>>> U-Boot shell (=>) and waiting for 1 minute. >>>>> >>>>> Do you know by chance why it might be happening, or maybe some fix >>>>> already exists? >>>>> >>>>> Thanks! >>>>> >>>>> [1] https://pastebin.ubuntu.com/p/Zz5bY6cYXS/ >>>> >>>> So you have enabled the watchdog and should see something like this >>>> upon bootup: >>>> >>>> WDT: Started without servicing (60s timeout) >>>> >>>> Is this correct? Then you need to enable the U-Boot internal WDT >>>> servicing by enabling CONFIG_WATCHDOG as well, as this will >>>> result in the internal U-Boot servicing of the watchdog. Then >>>> you should see this upon bootup and no reset will appear in >>>> U-Boot: >>>> >>>> WDT: Started with servicing (60s timeout) >>>> >>> >>> I'm seeing this ("with servicing") line, and CONFIG_WATCHDOG is >>> already enabled in am335x_evm_defconfig. So I think it's an issue, >>> which *probably* appeared when watchdog drivers were converted to >>> Driver Model (this defconfig is using CONFIG_WDT + CONFIG_WDT_OMAP3 >>> options). Any clues what can be wrong? >>> >>>> Does this help? >> It seems logic of hw_watchdog_reset() and omap3_wdt_reset() is different. >> Pay attention at wdt_trgr_pattern. >> >> It seems that >> priv->wdt_trgr_pattern = 0x1234; >> need to be moved in omap3_wdt_probe() >> > > Thanks a lot for the investigation. I'll check that once I have some spare > time.
I have done some investigation and I am unable to conclude the behaviour(though the problem got fixed) Here are my observations: watchdog timer doesn't reset the board if booted via sd-card and serial. https://paste.ubuntu.com/p/tjcPhv4FMQ/ (sd card boot) https://pastebin.ubuntu.com/p/X4tkp4ngMK/ (serial boot) https://pastebin.ubuntu.com/p/WvS9PZb45p/ (serial boot with print messages) Sam was right. watchdog timer is resetting the board after conversion to DM, but only if we booted via emmc. earlier for some reason I couldn't concentrate on emmc booting. "my bad". analyzed the behaviour, the count is getting reset in the register when ever watchdog_reset is called but for some reason at around < 60s, the board gets reset (this shouldn't happen...!!). please go through the pastebin link: https://pastebin.ubuntu.com/p/td6c4SQmnm/ (emmc boot) As pointed by Grygorii, I just moved priv->wdt_trgr_pattern into probe and the problem disappears. didn't understand how that change made a difference. Generally as per documentation all initializations are to be done in probe (but still). Why this is not happening on the other two bootmodes (sd-card and serial) ? Can some body shed some light for this behaviour ? The problem seems to be fixed, I will be patching u-boot in a while. Request Sam if possible to check/test/deploy the change on the board and acknowledge. (I have already tested the changeset and its fixed at my end) Thanks Suniel > >> >> -- >> Best regards, >> grygorii _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot