18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/watchdog/snps,dw-wdt.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: Synopsys Designware Watchdog Timer
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ciallOf:
108c2ecf20Sopenharmony_ci  - $ref: "watchdog.yaml#"
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_cimaintainers:
138c2ecf20Sopenharmony_ci  - Jamie Iles <jamie@jamieiles.com>
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ciproperties:
168c2ecf20Sopenharmony_ci  compatible:
178c2ecf20Sopenharmony_ci    const: snps,dw-wdt
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ci  reg:
208c2ecf20Sopenharmony_ci    maxItems: 1
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ci  interrupts:
238c2ecf20Sopenharmony_ci    description: DW Watchdog pre-timeout interrupt
248c2ecf20Sopenharmony_ci    maxItems: 1
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci  clocks:
278c2ecf20Sopenharmony_ci    minItems: 1
288c2ecf20Sopenharmony_ci    items:
298c2ecf20Sopenharmony_ci      - description: Watchdog timer reference clock
308c2ecf20Sopenharmony_ci      - description: APB3 interface clock
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci  clock-names:
338c2ecf20Sopenharmony_ci    minItems: 1
348c2ecf20Sopenharmony_ci    items:
358c2ecf20Sopenharmony_ci      - const: tclk
368c2ecf20Sopenharmony_ci      - const: pclk
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ci  resets:
398c2ecf20Sopenharmony_ci    description: Phandle to the DW Watchdog reset lane
408c2ecf20Sopenharmony_ci    maxItems: 1
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ci  snps,watchdog-tops:
438c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32-array
448c2ecf20Sopenharmony_ci    description: |
458c2ecf20Sopenharmony_ci      DW APB Watchdog custom timer intervals - Timeout Period ranges (TOPs).
468c2ecf20Sopenharmony_ci      Each TOP is a number loaded into the watchdog counter at the moment of
478c2ecf20Sopenharmony_ci      the timer restart. The counter decrementing happens each tick of the
488c2ecf20Sopenharmony_ci      reference clock. Therefore the TOPs array is equivalent to an array of
498c2ecf20Sopenharmony_ci      the timer expiration intervals supported by the DW APB Watchdog. Note
508c2ecf20Sopenharmony_ci      DW APB Watchdog IP-core might be synthesized with fixed TOP values,
518c2ecf20Sopenharmony_ci      in which case this property is unnecessary with default TOPs utilized.
528c2ecf20Sopenharmony_ci    default: [0x0001000 0x0002000 0x0004000 0x0008000
538c2ecf20Sopenharmony_ci      0x0010000 0x0020000 0x0040000 0x0080000
548c2ecf20Sopenharmony_ci      0x0100000 0x0200000 0x0400000 0x0800000
558c2ecf20Sopenharmony_ci      0x1000000 0x2000000 0x4000000 0x8000000]
568c2ecf20Sopenharmony_ci    minItems: 16
578c2ecf20Sopenharmony_ci    maxItems: 16
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ciunevaluatedProperties: false
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_cirequired:
628c2ecf20Sopenharmony_ci  - compatible
638c2ecf20Sopenharmony_ci  - reg
648c2ecf20Sopenharmony_ci  - clocks
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ciexamples:
678c2ecf20Sopenharmony_ci  - |
688c2ecf20Sopenharmony_ci    watchdog@ffd02000 {
698c2ecf20Sopenharmony_ci      compatible = "snps,dw-wdt";
708c2ecf20Sopenharmony_ci      reg = <0xffd02000 0x1000>;
718c2ecf20Sopenharmony_ci      interrupts = <0 171 4>;
728c2ecf20Sopenharmony_ci      clocks = <&per_base_clk>;
738c2ecf20Sopenharmony_ci      resets = <&wdt_rst>;
748c2ecf20Sopenharmony_ci    };
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ci  - |
778c2ecf20Sopenharmony_ci    watchdog@ffd02000 {
788c2ecf20Sopenharmony_ci      compatible = "snps,dw-wdt";
798c2ecf20Sopenharmony_ci      reg = <0xffd02000 0x1000>;
808c2ecf20Sopenharmony_ci      interrupts = <0 171 4>;
818c2ecf20Sopenharmony_ci      clocks = <&per_base_clk>;
828c2ecf20Sopenharmony_ci      clock-names = "tclk";
838c2ecf20Sopenharmony_ci      snps,watchdog-tops = <0x000000FF 0x000001FF 0x000003FF
848c2ecf20Sopenharmony_ci                            0x000007FF 0x0000FFFF 0x0001FFFF
858c2ecf20Sopenharmony_ci                            0x0003FFFF 0x0007FFFF 0x000FFFFF
868c2ecf20Sopenharmony_ci                            0x001FFFFF 0x003FFFFF 0x007FFFFF
878c2ecf20Sopenharmony_ci                            0x00FFFFFF 0x01FFFFFF 0x03FFFFFF
888c2ecf20Sopenharmony_ci                            0x07FFFFFF>;
898c2ecf20Sopenharmony_ci    };
908c2ecf20Sopenharmony_ci...
91