AnsweredAssumed Answered

SWRST Not Clearing on Read (BF527)

Question asked by c.b. on Apr 29, 2014
Latest reply on May 5, 2014 by jobo23

Hi --

 

I'm running uClinux on a BF527 and I noticed today that the SWRST register (bit 14, "RESET_WDOG," in particular) is not being cleared after the register is read.

 

Steps to reproduce:

  • Force watchdog to trigger
  • Send WDIOC_GETBOOTSTATUS ioctl to watchdog
  • See bit 14 is set
  • Insert extra read of SWRST register by calling bfin_read_SWRST()
  • Send WDIOC_GETBOOTSTATUS ioctl to watchdog
  • See bit 14 is still set
  • Perform soft reboot
  • Send WDIOC_GETBOOTSTATUS ioctl to watchdog
  • See bit 14 is still set
  • Insert extra read of SWRST register by calling bfin_read_SWRST()
  • Send WDIOC_GETBOOTSTATUS ioctl to watchdog
  • See bit 14 is still set

 

It seems the only way to clear SWRST is to power cycle the board.

Outcomes