# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/watchdog/alphascale,asm9260-wdt.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Alphascale asm9260 Watchdog timer

maintainers:
  - Oleksij Rempel <linux@rempel-privat.de>

allOf:
  - $ref: watchdog.yaml#

properties:
  compatible:
    const: alphascale,asm9260-wdt

  reg:
    maxItems: 1

  clocks:
    items:
      - description: source clock, used for tick counter
      - description: ahb gate

  clock-names:
    items:
      - const: mod
      - const: ahb

  interrupts:
    maxItems: 1

  resets:
    maxItems: 1

  reset-names:
    items:
      - const: wdt_rst

  alphascale,mode:
    description: |
      Specifies the reset mode of operation. If set to sw, then reset is handled
      via interrupt request, if set to debug, then it does nothing and logs.
    $ref: /schemas/types.yaml#/definitions/string
    enum: [hw, sw, debug]
    default: hw

required:
  - compatible
  - reg
  - clocks
  - clock-names
  - interrupts

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/clock/alphascale,asm9260.h>
    watchdog0: watchdog@80048000 {
      compatible = "alphascale,asm9260-wdt";
      reg = <0x80048000 0x10>;
      clocks = <&acc CLKID_SYS_WDT>, <&acc CLKID_AHB_WDT>;
      clock-names = "mod", "ahb";
      interrupts = <55>;
      timeout-sec = <30>;
      alphascale,mode = "hw";
    };
