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