xref: /linux/Documentation/devicetree/bindings/watchdog/snps,dw-wdt.yaml (revision 4ce4e7fdc3c924ea3e6d5d68178127b46568d8df)
19807a888SSerge Semin# SPDX-License-Identifier: GPL-2.0-only
29807a888SSerge Semin%YAML 1.2
39807a888SSerge Semin---
49807a888SSerge Semin$id: http://devicetree.org/schemas/watchdog/snps,dw-wdt.yaml#
59807a888SSerge Semin$schema: http://devicetree.org/meta-schemas/core.yaml#
69807a888SSerge Semin
79807a888SSerge Semintitle: Synopsys Designware Watchdog Timer
89807a888SSerge Semin
99807a888SSerge SeminallOf:
109807a888SSerge Semin  - $ref: "watchdog.yaml#"
119807a888SSerge Semin
129807a888SSerge Seminmaintainers:
139807a888SSerge Semin  - Jamie Iles <jamie@jamieiles.com>
149807a888SSerge Semin
159807a888SSerge Seminproperties:
169807a888SSerge Semin  compatible:
179807a888SSerge Semin    const: snps,dw-wdt
189807a888SSerge Semin
199807a888SSerge Semin  reg:
209807a888SSerge Semin    maxItems: 1
219807a888SSerge Semin
229807a888SSerge Semin  interrupts:
239807a888SSerge Semin    description: DW Watchdog pre-timeout interrupt
249807a888SSerge Semin    maxItems: 1
259807a888SSerge Semin
269807a888SSerge Semin  clocks:
275b4f68f8SSerge Semin    minItems: 1
289807a888SSerge Semin    items:
299807a888SSerge Semin      - description: Watchdog timer reference clock
305b4f68f8SSerge Semin      - description: APB3 interface clock
315b4f68f8SSerge Semin
325b4f68f8SSerge Semin  clock-names:
335b4f68f8SSerge Semin    minItems: 1
345b4f68f8SSerge Semin    items:
355b4f68f8SSerge Semin      - const: tclk
365b4f68f8SSerge Semin      - const: pclk
379807a888SSerge Semin
389807a888SSerge Semin  resets:
399807a888SSerge Semin    description: Phandle to the DW Watchdog reset lane
409807a888SSerge Semin    maxItems: 1
419807a888SSerge Semin
42*4ce4e7fdSSerge Semin  snps,watchdog-tops:
43*4ce4e7fdSSerge Semin    $ref: /schemas/types.yaml#/definitions/uint32-array
44*4ce4e7fdSSerge Semin    description: |
45*4ce4e7fdSSerge Semin      DW APB Watchdog custom timer intervals - Timeout Period ranges (TOPs).
46*4ce4e7fdSSerge Semin      Each TOP is a number loaded into the watchdog counter at the moment of
47*4ce4e7fdSSerge Semin      the timer restart. The counter decrementing happens each tick of the
48*4ce4e7fdSSerge Semin      reference clock. Therefore the TOPs array is equivalent to an array of
49*4ce4e7fdSSerge Semin      the timer expiration intervals supported by the DW APB Watchdog. Note
50*4ce4e7fdSSerge Semin      DW APB Watchdog IP-core might be synthesized with fixed TOP values,
51*4ce4e7fdSSerge Semin      in which case this property is unnecessary with default TOPs utilized.
52*4ce4e7fdSSerge Semin    default: [0x0001000 0x0002000 0x0004000 0x0008000
53*4ce4e7fdSSerge Semin      0x0010000 0x0020000 0x0040000 0x0080000
54*4ce4e7fdSSerge Semin      0x0100000 0x0200000 0x0400000 0x0800000
55*4ce4e7fdSSerge Semin      0x1000000 0x2000000 0x4000000 0x8000000]
56*4ce4e7fdSSerge Semin    minItems: 16
57*4ce4e7fdSSerge Semin    maxItems: 16
58*4ce4e7fdSSerge Semin
599807a888SSerge SeminunevaluatedProperties: false
609807a888SSerge Semin
619807a888SSerge Seminrequired:
629807a888SSerge Semin  - compatible
639807a888SSerge Semin  - reg
649807a888SSerge Semin  - clocks
659807a888SSerge Semin
669807a888SSerge Seminexamples:
679807a888SSerge Semin  - |
689807a888SSerge Semin    watchdog@ffd02000 {
699807a888SSerge Semin      compatible = "snps,dw-wdt";
709807a888SSerge Semin      reg = <0xffd02000 0x1000>;
719807a888SSerge Semin      interrupts = <0 171 4>;
729807a888SSerge Semin      clocks = <&per_base_clk>;
739807a888SSerge Semin      resets = <&wdt_rst>;
749807a888SSerge Semin    };
75*4ce4e7fdSSerge Semin
76*4ce4e7fdSSerge Semin  - |
77*4ce4e7fdSSerge Semin    watchdog@ffd02000 {
78*4ce4e7fdSSerge Semin      compatible = "snps,dw-wdt";
79*4ce4e7fdSSerge Semin      reg = <0xffd02000 0x1000>;
80*4ce4e7fdSSerge Semin      interrupts = <0 171 4>;
81*4ce4e7fdSSerge Semin      clocks = <&per_base_clk>;
82*4ce4e7fdSSerge Semin      clock-names = "tclk";
83*4ce4e7fdSSerge Semin      snps,watchdog-tops = <0x000000FF 0x000001FF 0x000003FF
84*4ce4e7fdSSerge Semin                            0x000007FF 0x0000FFFF 0x0001FFFF
85*4ce4e7fdSSerge Semin                            0x0003FFFF 0x0007FFFF 0x000FFFFF
86*4ce4e7fdSSerge Semin                            0x001FFFFF 0x003FFFFF 0x007FFFFF
87*4ce4e7fdSSerge Semin                            0x00FFFFFF 0x01FFFFFF 0x03FFFFFF
88*4ce4e7fdSSerge Semin                            0x07FFFFFF>;
89*4ce4e7fdSSerge Semin    };
909807a888SSerge Semin...
91