xref: /linux/Documentation/devicetree/bindings/watchdog/snps,dw-wdt.yaml (revision 1080f8a54beff856988c47f9801a326d87c9c54f)
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:
17e629fffcSJohan Jonker    oneOf:
18e629fffcSJohan Jonker      - const: snps,dw-wdt
19e629fffcSJohan Jonker      - items:
20e629fffcSJohan Jonker          - enum:
21*1080f8a5SJohan Jonker              - rockchip,px30-wdt
22e629fffcSJohan Jonker              - rockchip,rk3066-wdt
23e629fffcSJohan Jonker              - rockchip,rk3188-wdt
24*1080f8a5SJohan Jonker              - rockchip,rk3228-wdt
25e629fffcSJohan Jonker              - rockchip,rk3288-wdt
26*1080f8a5SJohan Jonker              - rockchip,rk3308-wdt
27*1080f8a5SJohan Jonker              - rockchip,rk3328-wdt
28e629fffcSJohan Jonker              - rockchip,rk3368-wdt
29*1080f8a5SJohan Jonker              - rockchip,rk3399-wdt
30*1080f8a5SJohan Jonker              - rockchip,rv1108-wdt
31e629fffcSJohan Jonker          - const: snps,dw-wdt
329807a888SSerge Semin
339807a888SSerge Semin  reg:
349807a888SSerge Semin    maxItems: 1
359807a888SSerge Semin
369807a888SSerge Semin  interrupts:
379807a888SSerge Semin    description: DW Watchdog pre-timeout interrupt
389807a888SSerge Semin    maxItems: 1
399807a888SSerge Semin
409807a888SSerge Semin  clocks:
415b4f68f8SSerge Semin    minItems: 1
429807a888SSerge Semin    items:
439807a888SSerge Semin      - description: Watchdog timer reference clock
445b4f68f8SSerge Semin      - description: APB3 interface clock
455b4f68f8SSerge Semin
465b4f68f8SSerge Semin  clock-names:
475b4f68f8SSerge Semin    minItems: 1
485b4f68f8SSerge Semin    items:
495b4f68f8SSerge Semin      - const: tclk
505b4f68f8SSerge Semin      - const: pclk
519807a888SSerge Semin
529807a888SSerge Semin  resets:
539807a888SSerge Semin    description: Phandle to the DW Watchdog reset lane
549807a888SSerge Semin    maxItems: 1
559807a888SSerge Semin
564ce4e7fdSSerge Semin  snps,watchdog-tops:
574ce4e7fdSSerge Semin    $ref: /schemas/types.yaml#/definitions/uint32-array
584ce4e7fdSSerge Semin    description: |
594ce4e7fdSSerge Semin      DW APB Watchdog custom timer intervals - Timeout Period ranges (TOPs).
604ce4e7fdSSerge Semin      Each TOP is a number loaded into the watchdog counter at the moment of
614ce4e7fdSSerge Semin      the timer restart. The counter decrementing happens each tick of the
624ce4e7fdSSerge Semin      reference clock. Therefore the TOPs array is equivalent to an array of
634ce4e7fdSSerge Semin      the timer expiration intervals supported by the DW APB Watchdog. Note
644ce4e7fdSSerge Semin      DW APB Watchdog IP-core might be synthesized with fixed TOP values,
654ce4e7fdSSerge Semin      in which case this property is unnecessary with default TOPs utilized.
664ce4e7fdSSerge Semin    default: [0x0001000 0x0002000 0x0004000 0x0008000
674ce4e7fdSSerge Semin      0x0010000 0x0020000 0x0040000 0x0080000
684ce4e7fdSSerge Semin      0x0100000 0x0200000 0x0400000 0x0800000
694ce4e7fdSSerge Semin      0x1000000 0x2000000 0x4000000 0x8000000]
704ce4e7fdSSerge Semin    minItems: 16
714ce4e7fdSSerge Semin    maxItems: 16
724ce4e7fdSSerge Semin
739807a888SSerge SeminunevaluatedProperties: false
749807a888SSerge Semin
759807a888SSerge Seminrequired:
769807a888SSerge Semin  - compatible
779807a888SSerge Semin  - reg
789807a888SSerge Semin  - clocks
799807a888SSerge Semin
809807a888SSerge Seminexamples:
819807a888SSerge Semin  - |
829807a888SSerge Semin    watchdog@ffd02000 {
839807a888SSerge Semin      compatible = "snps,dw-wdt";
849807a888SSerge Semin      reg = <0xffd02000 0x1000>;
859807a888SSerge Semin      interrupts = <0 171 4>;
869807a888SSerge Semin      clocks = <&per_base_clk>;
879807a888SSerge Semin      resets = <&wdt_rst>;
889807a888SSerge Semin    };
894ce4e7fdSSerge Semin
904ce4e7fdSSerge Semin  - |
914ce4e7fdSSerge Semin    watchdog@ffd02000 {
924ce4e7fdSSerge Semin      compatible = "snps,dw-wdt";
934ce4e7fdSSerge Semin      reg = <0xffd02000 0x1000>;
944ce4e7fdSSerge Semin      interrupts = <0 171 4>;
954ce4e7fdSSerge Semin      clocks = <&per_base_clk>;
964ce4e7fdSSerge Semin      clock-names = "tclk";
974ce4e7fdSSerge Semin      snps,watchdog-tops = <0x000000FF 0x000001FF 0x000003FF
984ce4e7fdSSerge Semin                            0x000007FF 0x0000FFFF 0x0001FFFF
994ce4e7fdSSerge Semin                            0x0003FFFF 0x0007FFFF 0x000FFFFF
1004ce4e7fdSSerge Semin                            0x001FFFFF 0x003FFFFF 0x007FFFFF
1014ce4e7fdSSerge Semin                            0x00FFFFFF 0x01FFFFFF 0x03FFFFFF
1024ce4e7fdSSerge Semin                            0x07FFFFFF>;
1034ce4e7fdSSerge Semin    };
1049807a888SSerge Semin...
105