]>
Commit | Line | Data |
---|---|---|
53633a89 TR |
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: | |
93743d24 TR |
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 | |
53633a89 TR |
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: | |
93743d24 TR |
51 | Index of CPU cluster on which watchdog is running (in case of Exynos850 |
52 | or Google gs101). | |
53633a89 TR |
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, | |
93743d24 | 58 | Exynos5420, Exynos7, Exynos850 and gs101). |
53633a89 TR |
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: | |
93743d24 | 74 | - google,gs101-wdt |
53633a89 TR |
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: | |
93743d24 | 88 | - google,gs101-wdt |
53633a89 TR |
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 | }; |