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

title: Renesas Watchdog Timer (WDT) Controller

maintainers:
  - Wolfram Sang <wsa+renesas@sang-engineering.com>
  - Geert Uytterhoeven <geert+renesas@glider.be>

properties:
  compatible:
    oneOf:
      - items:
          - enum:
              - renesas,r7s72100-wdt     # RZ/A1
              - renesas,r7s9210-wdt      # RZ/A2
          - const: renesas,rza-wdt       # RZ/A

      - items:
          - enum:
              - renesas,r9a06g032-wdt    # RZ/N1D
          - const: renesas,rzn1-wdt      # RZ/N1

      - items:
          - enum:
              - renesas,r9a07g043-wdt    # RZ/G2UL and RZ/Five
              - renesas,r9a07g044-wdt    # RZ/G2{L,LC}
              - renesas,r9a07g054-wdt    # RZ/V2L
          - const: renesas,rzg2l-wdt

      - items:
          - enum:
              - renesas,r9a09g011-wdt    # RZ/V2M
          - const: renesas,rzv2m-wdt     # RZ/V2M

      - items:
          - enum:
              - renesas,r8a7742-wdt      # RZ/G1H
              - renesas,r8a7743-wdt      # RZ/G1M
              - renesas,r8a7744-wdt      # RZ/G1N
              - renesas,r8a7745-wdt      # RZ/G1E
              - renesas,r8a77470-wdt     # RZ/G1C
              - renesas,r8a7790-wdt      # R-Car H2
              - renesas,r8a7791-wdt      # R-Car M2-W
              - renesas,r8a7792-wdt      # R-Car V2H
              - renesas,r8a7793-wdt      # R-Car M2-N
              - renesas,r8a7794-wdt      # R-Car E2
          - const: renesas,rcar-gen2-wdt # R-Car Gen2 and RZ/G1

      - items:
          - enum:
              - renesas,r8a774a1-wdt     # RZ/G2M
              - renesas,r8a774b1-wdt     # RZ/G2N
              - renesas,r8a774c0-wdt     # RZ/G2E
              - renesas,r8a774e1-wdt     # RZ/G2H
              - renesas,r8a7795-wdt      # R-Car H3
              - renesas,r8a7796-wdt      # R-Car M3-W
              - renesas,r8a77961-wdt     # R-Car M3-W+
              - renesas,r8a77965-wdt     # R-Car M3-N
              - renesas,r8a77970-wdt     # R-Car V3M
              - renesas,r8a77980-wdt     # R-Car V3H
              - renesas,r8a77990-wdt     # R-Car E3
              - renesas,r8a77995-wdt     # R-Car D3
          - const: renesas,rcar-gen3-wdt # R-Car Gen3 and RZ/G2

      - items:
          - enum:
              - renesas,r8a779a0-wdt     # R-Car V3U
              - renesas,r8a779f0-wdt     # R-Car S4-8
              - renesas,r8a779g0-wdt     # R-Car V4H
          - const: renesas,rcar-gen4-wdt # R-Car Gen4

  reg:
    maxItems: 1

  interrupts:
    minItems: 1
    items:
      - description: Timeout
      - description: Parity error

  interrupt-names:
    minItems: 1
    items:
      - const: wdt
      - const: perrout

  clocks:
    minItems: 1
    items:
      - description: Register access clock
      - description: Main clock

  clock-names:
    minItems: 1
    items:
      - const: pclk
      - const: oscclk

  power-domains:
    maxItems: 1

  resets:
    maxItems: 1

  timeout-sec: true

required:
  - compatible
  - reg
  - interrupts
  - clocks

allOf:
  - $ref: "watchdog.yaml#"

  - if:
      not:
        properties:
          compatible:
            contains:
              enum:
                - renesas,rza-wdt
                - renesas,rzn1-wdt
    then:
      required:
        - power-domains
        - resets

  - if:
      properties:
        compatible:
          contains:
            enum:
              - renesas,rzg2l-wdt
              - renesas,rzv2m-wdt
    then:
      properties:
        clocks:
          minItems: 2
        clock-names:
          minItems: 2
      required:
        - clock-names
    else:
      properties:
        clocks:
          maxItems: 1

  - if:
      properties:
        compatible:
          contains:
            enum:
              - renesas,rzg2l-wdt
    then:
      properties:
        interrupts:
          minItems: 2
        interrupt-names:
          minItems: 2
      required:
        - interrupt-names
    else:
      properties:
        interrupts:
          maxItems: 1

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/r8a7795-cpg-mssr.h>
    #include <dt-bindings/power/r8a7795-sysc.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    wdt0: watchdog@e6020000 {
            compatible = "renesas,r8a7795-wdt", "renesas,rcar-gen3-wdt";
            reg = <0xe6020000 0x0c>;
            interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
            clocks = <&cpg CPG_MOD 402>;
            power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
            resets = <&cpg 402>;
            timeout-sec = <60>;
    };
