1# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/watchdog/samsung-wdt.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Samsung SoC Watchdog Timer Controller
8
9maintainers:
10  - Krzysztof Kozlowski <krzk@kernel.org>
11
12description: |+
13  The Samsung's Watchdog controller is used for resuming system operation
14  after a preset amount of time during which the WDT reset event has not
15  occurred.
16
17properties:
18  compatible:
19    enum:
20      - samsung,s3c2410-wdt                   # for S3C2410
21      - samsung,s3c6410-wdt                   # for S3C6410, S5PV210 and Exynos4
22      - samsung,exynos5250-wdt                # for Exynos5250
23      - samsung,exynos5420-wdt                # for Exynos5420
24      - samsung,exynos7-wdt                   # for Exynos7
25      - samsung,exynos850-wdt                 # for Exynos850
26
27  reg:
28    maxItems: 1
29
30  clocks:
31    minItems: 1
32    maxItems: 2
33
34  clock-names:
35    minItems: 1
36    maxItems: 2
37
38  interrupts:
39    maxItems: 1
40
41  samsung,cluster-index:
42    $ref: /schemas/types.yaml#/definitions/uint32
43    description:
44      Index of CPU cluster on which watchdog is running (in case of Exynos850)
45
46  samsung,syscon-phandle:
47    $ref: /schemas/types.yaml#/definitions/phandle
48    description:
49      Phandle to the PMU system controller node (in case of Exynos5250,
50      Exynos5420, Exynos7 and Exynos850).
51
52required:
53  - compatible
54  - clocks
55  - clock-names
56  - interrupts
57  - reg
58
59allOf:
60  - $ref: watchdog.yaml#
61  - if:
62      properties:
63        compatible:
64          contains:
65            enum:
66              - samsung,exynos5250-wdt
67              - samsung,exynos5420-wdt
68              - samsung,exynos7-wdt
69              - samsung,exynos850-wdt
70    then:
71      required:
72        - samsung,syscon-phandle
73  - if:
74      properties:
75        compatible:
76          contains:
77            enum:
78              - samsung,exynos850-wdt
79    then:
80      properties:
81        clocks:
82          items:
83            - description: Bus clock, used for register interface
84            - description: Source clock (driving watchdog counter)
85        clock-names:
86          items:
87            - const: watchdog
88            - const: watchdog_src
89        samsung,cluster-index:
90          enum: [0, 1]
91      required:
92        - samsung,cluster-index
93    else:
94      properties:
95        clocks:
96          items:
97            - description: Bus clock, which is also a source clock
98        clock-names:
99          items:
100            - const: watchdog
101        samsung,cluster-index: false
102
103unevaluatedProperties: false
104
105examples:
106  - |
107    watchdog@101d0000 {
108        compatible = "samsung,exynos5250-wdt";
109        reg = <0x101D0000 0x100>;
110        interrupts = <0 42 0>;
111        clocks = <&clock 336>;
112        clock-names = "watchdog";
113        samsung,syscon-phandle = <&pmu_syscon>;
114    };
115