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