aspeed/watchdog: Correct timeout value
authorJoel Stanley <joel@jms.id.au>
Thu, 6 Jun 2019 07:38:45 +0000 (17:08 +0930)
committerTom Rini <trini@konsulko.com>
Thu, 20 Jun 2019 14:57:08 +0000 (10:57 -0400)
commit894e235f145b4f397a474f22c7c604ae925eb114
tree95cd9dd0502f2cad2ee496cee8cd1cf46798bd30
parentf2f83b2fd0b233ca971dfa5f4ddf8cd8a0cf33e3
aspeed/watchdog: Correct timeout value

The driver was using milliseconds and programming it into a register
which takes ticks of the watchdog clock, which runs at 1MHz. This meant
we were off by 1000 with the desired value.

When 06985289d452 ("watchdog: Implement generic watchdog_reset()
version") was added the aspeed board would leave the watchdog running,
causing it to bite before u-boot was done.

Discovered by booting in qemu:

  $ qemu-system-arm -M ast2500-evb -drive file=test.img,format=raw,if=mtd -nographic -no-reboot -d cpu_reset

  U-Boot 2019.07-rc3-00091-g2253e40caef5 (Jun 06 2019 - 16:53:23 +0930)

  Model: Aspeed BMC
  DRAM:  496 MiB
  WDT:   Started with servicing (60s timeout)
  MMC:
  In:    serial@1e784000
  Out:   serial@1e784000
  Err:   serial@1e784000
  Watchdog timer expired.

Fixes: 06985289d452 ("watchdog: Implement generic watchdog_reset() version")
Signed-off-by: Joel Stanley <joel@jms.id.au>
drivers/watchdog/ast_wdt.c