Mention branches and keyring.
[releases.git] / bindings / watchdog / samsung-wdt.yaml
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
7 title: Samsung SoC Watchdog Timer Controller
8
9 maintainers:
10   - Krzysztof Kozlowski <krzk@kernel.org>
11
12 description: |+
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
17 properties:
18   compatible:
19     oneOf:
20       - enum:
21           - google,gs101-wdt                      # for Google gs101
22           - samsung,s3c2410-wdt                   # for S3C2410
23           - samsung,s3c6410-wdt                   # for S3C6410, S5PV210 and Exynos4
24           - samsung,exynos5250-wdt                # for Exynos5250
25           - samsung,exynos5420-wdt                # for Exynos5420
26           - samsung,exynos7-wdt                   # for Exynos7
27           - samsung,exynos850-wdt                 # for Exynos850
28           - samsung,exynosautov9-wdt              # for Exynosautov9
29       - items:
30           - enum:
31               - tesla,fsd-wdt
32           - const: samsung,exynos7-wdt
33
34   reg:
35     maxItems: 1
36
37   clocks:
38     minItems: 1
39     maxItems: 2
40
41   clock-names:
42     minItems: 1
43     maxItems: 2
44
45   interrupts:
46     maxItems: 1
47
48   samsung,cluster-index:
49     $ref: /schemas/types.yaml#/definitions/uint32
50     description:
51       Index of CPU cluster on which watchdog is running (in case of Exynos850
52       or Google gs101).
53
54   samsung,syscon-phandle:
55     $ref: /schemas/types.yaml#/definitions/phandle
56     description:
57       Phandle to the PMU system controller node (in case of Exynos5250,
58       Exynos5420, Exynos7, Exynos850 and gs101).
59
60 required:
61   - compatible
62   - clocks
63   - clock-names
64   - interrupts
65   - reg
66
67 allOf:
68   - $ref: watchdog.yaml#
69   - if:
70       properties:
71         compatible:
72           contains:
73             enum:
74               - google,gs101-wdt
75               - samsung,exynos5250-wdt
76               - samsung,exynos5420-wdt
77               - samsung,exynos7-wdt
78               - samsung,exynos850-wdt
79               - samsung,exynosautov9-wdt
80     then:
81       required:
82         - samsung,syscon-phandle
83   - if:
84       properties:
85         compatible:
86           contains:
87             enum:
88               - google,gs101-wdt
89               - samsung,exynos850-wdt
90               - samsung,exynosautov9-wdt
91     then:
92       properties:
93         clocks:
94           items:
95             - description: Bus clock, used for register interface
96             - description: Source clock (driving watchdog counter)
97         clock-names:
98           items:
99             - const: watchdog
100             - const: watchdog_src
101         samsung,cluster-index:
102           enum: [0, 1]
103       required:
104         - samsung,cluster-index
105     else:
106       properties:
107         clocks:
108           items:
109             - description: Bus clock, which is also a source clock
110         clock-names:
111           items:
112             - const: watchdog
113         samsung,cluster-index: false
114
115 unevaluatedProperties: false
116
117 examples:
118   - |
119     watchdog@101d0000 {
120         compatible = "samsung,exynos5250-wdt";
121         reg = <0x101D0000 0x100>;
122         interrupts = <0 42 0>;
123         clocks = <&clock 336>;
124         clock-names = "watchdog";
125         samsung,syscon-phandle = <&pmu_syscon>;
126     };