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