xref: /linux/Documentation/devicetree/bindings/watchdog/snps,dw-wdt.yaml (revision ab93e0dd72c37d378dd936f031ffb83ff2bd87ce)
1# SPDX-License-Identifier: GPL-2.0-only
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/watchdog/snps,dw-wdt.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Synopsys Designware Watchdog Timer
8
9maintainers:
10  - Jamie Iles <jamie@jamieiles.com>
11
12allOf:
13  - $ref: watchdog.yaml#
14
15properties:
16  compatible:
17    oneOf:
18      - const: snps,dw-wdt
19      - items:
20          - enum:
21              - rockchip,px30-wdt
22              - rockchip,rk3066-wdt
23              - rockchip,rk3128-wdt
24              - rockchip,rk3188-wdt
25              - rockchip,rk3228-wdt
26              - rockchip,rk3288-wdt
27              - rockchip,rk3308-wdt
28              - rockchip,rk3328-wdt
29              - rockchip,rk3368-wdt
30              - rockchip,rk3399-wdt
31              - rockchip,rk3562-wdt
32              - rockchip,rk3568-wdt
33              - rockchip,rk3576-wdt
34              - rockchip,rk3588-wdt
35              - rockchip,rv1108-wdt
36              - rockchip,rv1126-wdt
37          - const: snps,dw-wdt
38
39  reg:
40    maxItems: 1
41
42  interrupts:
43    description: DW Watchdog pre-timeout interrupt
44    maxItems: 1
45
46  clocks:
47    minItems: 1
48    items:
49      - description: Watchdog timer reference clock
50      - description: APB3 interface clock
51
52  clock-names:
53    minItems: 1
54    items:
55      - const: tclk
56      - const: pclk
57
58  resets:
59    description: Phandle to the DW Watchdog reset lane
60    maxItems: 1
61
62  snps,watchdog-tops:
63    $ref: /schemas/types.yaml#/definitions/uint32-array
64    description: |
65      DW APB Watchdog custom timer intervals - Timeout Period ranges (TOPs).
66      Each TOP is a number loaded into the watchdog counter at the moment of
67      the timer restart. The counter decrementing happens each tick of the
68      reference clock. Therefore the TOPs array is equivalent to an array of
69      the timer expiration intervals supported by the DW APB Watchdog. Note
70      DW APB Watchdog IP-core might be synthesized with fixed TOP values,
71      in which case this property is unnecessary with default TOPs utilized.
72    default: [0x0001000 0x0002000 0x0004000 0x0008000
73      0x0010000 0x0020000 0x0040000 0x0080000
74      0x0100000 0x0200000 0x0400000 0x0800000
75      0x1000000 0x2000000 0x4000000 0x8000000]
76    minItems: 16
77    maxItems: 16
78
79required:
80  - compatible
81  - reg
82  - clocks
83
84unevaluatedProperties: false
85
86examples:
87  - |
88    watchdog@ffd02000 {
89        compatible = "snps,dw-wdt";
90        reg = <0xffd02000 0x1000>;
91        interrupts = <0 171 4>;
92        clocks = <&per_base_clk>;
93        resets = <&wdt_rst>;
94    };
95
96  - |
97    watchdog@ffd02000 {
98        compatible = "snps,dw-wdt";
99        reg = <0xffd02000 0x1000>;
100        interrupts = <0 171 4>;
101        clocks = <&per_base_clk>;
102        clock-names = "tclk";
103        snps,watchdog-tops = <0x000000FF 0x000001FF 0x000003FF
104                              0x000007FF 0x0000FFFF 0x0001FFFF
105                              0x0003FFFF 0x0007FFFF 0x000FFFFF
106                              0x001FFFFF 0x003FFFFF 0x007FFFFF
107                              0x00FFFFFF 0x01FFFFFF 0x03FFFFFF
108                              0x07FFFFFF>;
109    };
110...
111