Axi Watchdog

Introduction

This page describes the AXI WDT/Window watch dog driver which is available in mainline and Xilinx Linux distribution as
drivers/watchdog/of_xilinx_wdt.c

HW IP Features

  • Connects as a 32-bit slave on a AXI4-Lite interface
  • Watchdog timer with selectable timeout period and interrupt
  • Configurable WDT enable: enable-once or enable-repeatedly
  • One 32-bit free-running timebase counter with rollover interrupt-dual control register
  • Generic watch dog timer feature implemented.

Known Issues and Limitations

  • None

Kernel Configuration

The following config options should be enabled in order to build the xilinx watchdog driver:
CONFIG_XILINX_WATCHDOG
CONFIG_WATCHDOG

Devicetree

For more details, please refer
Documentation/devicetree/bindings/watchdog/of-xilinx-wdt.txt
Example:

Test procedure

Change the parameters using IOCTLs and see if reported values is correct.
Last boot is caused by : Power-On-Reset
The timeout was is 42 seconds
root@uart:~#

Mainline Status

  • This driver is currently in sync with the mainline kernel except the Window Watchdog driver.
     watchdog: of_xilinx_wdt: Add comment to spinlock
    watchdog: of_xilinx_wdt: Used BIT macro
    watchdog: of_xilinx_wdt: Used dev_dbg()
    watchdog: of_xilinx_wdt: Initialize watchdog via data structure
    watchdog: of_xilinx_wdt: Introduce wdttype enum for identification
    watchdog: of_xilinx_wdt: Wire setting up timeout via module parameter/DT
    watchdog: of_xilinx_wdt: Use a proper variable to handle overflow
    watchdog: of_xilinx_wdt: Remove passing null pointer
    watchdog: of_xilinx_wdt: Skip printing pointer value
    watchdog: of_xilinx_wdt: Add Versal Window watchdog support

Change Log

  • 2020.2
    • Summary
      • watchdog: of_xilinx_wdt: Initialize watchdog via data structure
      • watchdog: of_xilinx_wdt: Introduce wdttype enum for identification
      • watchdog: of_xilinx_wdt: Add Versal support
      • watchdog: of_xilinx_wdt: Wire setting up timeout via module parameter/DT
      • watchdog: of_xilinx_wdt: Add Versal Window watchdog support
    • Commits


  • 2020.1
    • None
  • 2019.2
    • Summary
      • watchdog: of_xilinx_wdt: Fix Typo mistake in macro
      • watchdog: of_xilinx_wdt: Changed dev_err to dev_warn
    • Commits
      • dc9c7a11 watchdog: of_xilinx_wdt: Fix Typo mistake in macro
      • 2291066b watchdog: of_xilinx_wdt: Changed dev_err to dev_warn
  • 2019.1
    • Summary
      • watchdog: of_xilinx_wdt: Add comment to spinlock
      • watchdog: of_xilinx_wdt: Used BIT macro
      • watchdog: of_xilinx_wdt: Used dev_dbg()
      • watchdog: of_xilinx_wdt: Initialize watchdog via data structure
      • watchdog: of_xilinx_wdt: Introduce wdttype enum for identification
      • watchdog: of_xilinx_wdt: Wire setting up timeout via module parameter/DT
    • Commits
      • 685a0c8 watchdog: of_xilinx_wdt: Add comment to spinlock 
      • 7c8ad55 watchdog: of_xilinx_wdt: Used BIT macro
      • fa1a0ce watchdog: of_xilinx_wdt: Fix Typo mistake in macro
      • f15a615 watchdog: of_xilinx_wdt: Used dev_dbg()
      • abd20c4 watchdog: of_xilinx_wdt: Initialize watchdog via data structure
      • d00b686 watchdog: of_xilinx_wdt: Introduce wdttype enum for identification
      • 594a62d watchdog: of_xilinx_wdt: Wire setting up timeout via module parameter/DT
  • 2018.1
    • Summary
      • watchdog: of_xilinx_wdt: Add support for reading freq via CCF
      • watchdog: of_xilinx_wdt: Add suspend/resume support
    • Commits
      • b6bc416 watchdog: of_xilinx_wdt: Add support for reading freq via CCF
      • 6f671c6 watchdog: of_xilinx_wdt: Add suspend/resume support
  • 2018.2
    • None
  • 2018.3
    • None
  • 2017.4
    • None
  • 2017.3
    • None
  • 2017.2
    • None
  • 2017.1
    • Summary
      • watchdog: xilinx: Add clock support.
      • watchdog: of_xilinx_wdt: Add clock adaptation support.

    • Commits
      • 9d6b4ef watchdog: xilinx: Add clock support.
      • 7f6adda watchdog: of_xilinx_wdt: Add clock adaptation support.
  • 2016.4
    • None
  • 2016.3
    • None

Related Links