GNU Linux-libre 6.8.9-gnu
[releases.git] / Documentation / devicetree / bindings / soc / socionext / socionext,uniphier-sysctrl.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/soc/socionext/socionext,uniphier-sysctrl.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Socionext UniPhier system controller
8
9 maintainers:
10   - Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
11
12 description: |+
13   System controller implemented on Socionext UniPhier SoCs has multiple
14   functions such as clock control, reset control, internal watchdog timer,
15   thermal management, and so on.
16
17 properties:
18   compatible:
19     items:
20       - enum:
21           - socionext,uniphier-ld4-sysctrl
22           - socionext,uniphier-pro4-sysctrl
23           - socionext,uniphier-pro5-sysctrl
24           - socionext,uniphier-pxs2-sysctrl
25           - socionext,uniphier-sld8-sysctrl
26           - socionext,uniphier-ld11-sysctrl
27           - socionext,uniphier-ld20-sysctrl
28           - socionext,uniphier-pxs3-sysctrl
29           - socionext,uniphier-nx1-sysctrl
30       - const: simple-mfd
31       - const: syscon
32
33   reg:
34     maxItems: 1
35
36   clock-controller:
37     $ref: /schemas/clock/socionext,uniphier-clock.yaml#
38
39   reset-controller:
40     $ref: /schemas/reset/socionext,uniphier-reset.yaml#
41
42   watchdog:
43     $ref: /schemas/watchdog/socionext,uniphier-wdt.yaml#
44
45   thermal-sensor:
46     $ref: /schemas/thermal/socionext,uniphier-thermal.yaml#
47
48 allOf:
49   - if:
50       properties:
51         compatible:
52           contains:
53             const: socionext,uniphier-ld4-sysctrl
54     then:
55       properties:
56         watchdog: false
57
58   - if:
59       properties:
60         compatible:
61           contains:
62             enum:
63               - socionext,uniphier-ld4-sysctrl
64               - socionext,uniphier-pro4-sysctrl
65               - socionext,uniphier-sld8-sysctrl
66               - socionext,uniphier-ld11-sysctrl
67     then:
68       properties:
69         thermal-sensor: false
70
71 additionalProperties: false
72
73 required:
74   - compatible
75   - reg
76
77 examples:
78   - |
79     #include <dt-bindings/interrupt-controller/arm-gic.h>
80     syscon@61840000 {
81         compatible = "socionext,uniphier-ld20-sysctrl",
82                      "simple-mfd", "syscon";
83         reg = <0x61840000 0x4000>;
84
85         clock-controller {
86             compatible = "socionext,uniphier-ld20-clock";
87             #clock-cells = <1>;
88         };
89
90         reset-controller {
91             compatible = "socionext,uniphier-ld20-reset";
92             #reset-cells = <1>;
93         };
94
95         watchdog {
96             compatible = "socionext,uniphier-wdt";
97         };
98
99         thermal-sensor {
100             compatible = "socionext,uniphier-ld20-thermal";
101             interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
102             #thermal-sensor-cells = <0>;
103         };
104     };