arm64: dts: qcom: sm8550: add TRNG node
[linux-modified.git] / Documentation / devicetree / 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     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       - samsung,exynosautov9-wdt              # for Exynosautov9
27
28   reg:
29     maxItems: 1
30
31   clocks:
32     minItems: 1
33     maxItems: 2
34
35   clock-names:
36     minItems: 1
37     maxItems: 2
38
39   interrupts:
40     maxItems: 1
41
42   samsung,cluster-index:
43     $ref: /schemas/types.yaml#/definitions/uint32
44     description:
45       Index of CPU cluster on which watchdog is running (in case of Exynos850)
46
47   samsung,syscon-phandle:
48     $ref: /schemas/types.yaml#/definitions/phandle
49     description:
50       Phandle to the PMU system controller node (in case of Exynos5250,
51       Exynos5420, Exynos7 and Exynos850).
52
53 required:
54   - compatible
55   - clocks
56   - clock-names
57   - interrupts
58   - reg
59
60 allOf:
61   - $ref: watchdog.yaml#
62   - if:
63       properties:
64         compatible:
65           contains:
66             enum:
67               - samsung,exynos5250-wdt
68               - samsung,exynos5420-wdt
69               - samsung,exynos7-wdt
70               - samsung,exynos850-wdt
71               - samsung,exynosautov9-wdt
72     then:
73       required:
74         - samsung,syscon-phandle
75   - if:
76       properties:
77         compatible:
78           contains:
79             enum:
80               - samsung,exynos850-wdt
81               - samsung,exynosautov9-wdt
82     then:
83       properties:
84         clocks:
85           items:
86             - description: Bus clock, used for register interface
87             - description: Source clock (driving watchdog counter)
88         clock-names:
89           items:
90             - const: watchdog
91             - const: watchdog_src
92         samsung,cluster-index:
93           enum: [0, 1]
94       required:
95         - samsung,cluster-index
96     else:
97       properties:
98         clocks:
99           items:
100             - description: Bus clock, which is also a source clock
101         clock-names:
102           items:
103             - const: watchdog
104         samsung,cluster-index: false
105
106 unevaluatedProperties: false
107
108 examples:
109   - |
110     watchdog@101d0000 {
111         compatible = "samsung,exynos5250-wdt";
112         reg = <0x101D0000 0x100>;
113         interrupts = <0 42 0>;
114         clocks = <&clock 336>;
115         clock-names = "watchdog";
116         samsung,syscon-phandle = <&pmu_syscon>;
117     };