This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Direct Control of AM3358 Watchdog

Other Parts Discussed in Thread: AM3358

We are the AM3358 processor in our Gateway design (designed around BeagleBone Black core).  We were using the Angstrom Linux interface to trigger the on-board processor watchdog, but we had board hang in the field.  We suspect that Linux stopped running our program and thus also turned off the on-board watchdog.  We have tested the watchdog by putting our program into an infinite loop and our board rebooted.  Therefore, something happened to our program and the board had to be power cycled.  I know what was causing our program to die, but I have lost confidence in the processors watchdog/Linux interface to watchdog. 

 

I thought fine I will just write the code myself to control the watchdog directly.  So I looked up in the watchdog in the Technical Reference to get the address of the register address and it said the Physical Address is “L4 Wakeup slave port”.  I cannot find any real description of the port or a physical address and register specifics.  I looked for sample code – struck out with that.

 

Bottom line I need technical help on controlling the on-board watchdog on the AM3358 processor from our code. 

  • John Aggers said:
    So I looked up in the watchdog in the Technical Reference to get the address of the register address and it said the Physical Address is “L4 Wakeup slave port”.  I cannot find any real description of the port or a physical address and register specifics.

    The base address of the watchdog timer is documented in the TRM in Section 2 “Memory Map”.  Here’s a snippet:

    The Watchdog registers are documented in the TRM Section 20.4.4 "Watchdog Registers".  The offsets listed there are relative to the peripheral base address, 0x44E35000.

    John Aggers said:
    We suspect that Linux stopped running our program and thus also turned off the on-board watchdog.

    Does your design have any kind of suspend/resume capability?  We disable the watchdog when entering standby so that it does not timeout and reset the processor (or require us to continually wake up and pet it).  This can be seen in drivers/watchdog/omap_wdt.c.  Here are a couple related e2e threads:

    https://e2e.ti.com/support/arm/sitara_arm/f/791/t/250805
    https://e2e.ti.com/support/arm/sitara_arm/int_sitara_am335x/f/425/t/313817