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
7title: Socionext UniPhier system controller
8
9maintainers:
10  - Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
11
12description: |+
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
17properties:
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
48allOf:
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
71additionalProperties: false
72
73required:
74  - compatible
75  - reg
76
77examples:
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    };
105