Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

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
Code Block
themeMidnight
¦ Symbol: XILINX_WATCHDOG [=y] ¦
¦ Type : tristate ¦
¦ Prompt: Xilinx Watchdog timer ¦
¦ Location: ¦
¦ -> Device Drivers ¦
¦ (4) -> Watchdog Timer Support (WATCHDOG [=y]) ¦
¦ Defined at drivers/watchdog/Kconfig:171 ¦
¦ Depends on: WATCHDOG [=y] && HAS_IOMEM [=y] ¦
¦ Selects: WATCHDOG_CORE [=y]

Devicetree

For more details, please refer
Documentation/devicetree/bindings/watchdog/of-xilinx-wdt.txt
Example:
Code Block
themeMidnight
watchdog {
 
        compatible = "xlnx,xps-timebase-wdt-1.0.a";
        reg = <0x42600000 0x1000>;
        xlnx-wdt-enable-once = <0>;
        xlnx-wdt-interval = <0x1b>;
};


Test procedure

Change the parameters using IOCTLs and see if reported values is correct.
Code Block
themeMidnight
# /bin/wdt_app /dev/watchdog1
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 mainline kernel

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

...