blob: 221a58d18cad1ea7b91ae8f34ed9728eba715f47 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: GPL-2.0-only
2# Copyright (C) 2020 Renesas Electronics Corp.
3%YAML 1.2
4---
5$id: http://devicetree.org/schemas/thermal/rcar-thermal.yaml#
6$schema: http://devicetree.org/meta-schemas/core.yaml#
7
8title: Renesas R-Car Thermal
9
10maintainers:
11 - Niklas Söderlund <niklas.soderlund@ragnatech.se>
12
13properties:
14 compatible:
15 oneOf:
16 - items:
17 - enum:
18 - renesas,thermal-r8a73a4 # R-Mobile APE6
19 - renesas,thermal-r8a7779 # R-Car H1
20 - const: renesas,rcar-thermal # Generic without thermal-zone
21 - items:
22 - enum:
23 - renesas,thermal-r8a7742 # RZ/G1H
24 - renesas,thermal-r8a7743 # RZ/G1M
25 - renesas,thermal-r8a7744 # RZ/G1N
26 - const: renesas,rcar-gen2-thermal # Generic thermal-zone
27 - items:
28 - enum:
29 - renesas,thermal-r8a7790 # R-Car H2
30 - renesas,thermal-r8a7791 # R-Car M2-W
31 - renesas,thermal-r8a7792 # R-Car V2H
32 - renesas,thermal-r8a7793 # R-Car M2-N
33 - const: renesas,rcar-gen2-thermal # Generic thermal-zone
34 - const: renesas,rcar-thermal # Generic without thermal-zone
35 - items:
36 - enum:
37 - renesas,thermal-r8a774c0 # RZ/G2E
38 - renesas,thermal-r8a77970 # R-Car V3M
39 - renesas,thermal-r8a77990 # R-Car E3
40 - renesas,thermal-r8a77995 # R-Car D3
41 reg:
42 description:
43 Address ranges of the thermal registers. If more then one range is given
44 the first one must be the common registers followed by each sensor
45 according to the datasheet.
46 minItems: 1
47 maxItems: 4
48
49 interrupts:
50 minItems: 1
51 maxItems: 3
52
53 clocks:
54 maxItems: 1
55
56 power-domains:
57 maxItems: 1
58
59 resets:
60 maxItems: 1
61
62 "#thermal-sensor-cells":
63 const: 0
64
65required:
66 - compatible
67 - reg
68
69allOf:
70 - if:
71 not:
72 properties:
73 compatible:
74 contains:
75 enum:
76 - renesas,thermal-r8a73a4 # R-Mobile APE6
77 - renesas,thermal-r8a7779 # R-Car H1
78 then:
79 required:
80 - resets
81 - '#thermal-sensor-cells'
82
83 - if:
84 not:
85 properties:
86 compatible:
87 contains:
88 const: renesas,thermal-r8a7779 # R-Car H1
89 then:
90 required:
91 - interrupts
92 - clocks
93 - power-domains
94
95additionalProperties: false
96
97examples:
98 # Example (non interrupt support)
99 - |
100 thermal@ffc48000 {
Tom Rini6b642ac2024-10-01 12:20:28 -0600101 compatible = "renesas,thermal-r8a7779", "renesas,rcar-thermal";
102 reg = <0xffc48000 0x38>;
Tom Rini53633a82024-02-29 12:33:36 -0500103 };
104
105 # Example (interrupt support)
106 - |
107 #include <dt-bindings/clock/r8a73a4-clock.h>
108 #include <dt-bindings/interrupt-controller/arm-gic.h>
109 #include <dt-bindings/interrupt-controller/irq.h>
110
111 thermal@e61f0000 {
Tom Rini6b642ac2024-10-01 12:20:28 -0600112 compatible = "renesas,thermal-r8a73a4", "renesas,rcar-thermal";
113 reg = <0xe61f0000 0x14>, <0xe61f0100 0x38>,
114 <0xe61f0200 0x38>, <0xe61f0300 0x38>;
115 interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
116 clocks = <&mstp5_clks R8A73A4_CLK_THERMAL>;
117 power-domains = <&pd_c5>;
Tom Rini53633a82024-02-29 12:33:36 -0500118 };
119
120 # Example (with thermal-zone)
121 - |
122 #include <dt-bindings/clock/r8a7790-cpg-mssr.h>
123 #include <dt-bindings/interrupt-controller/arm-gic.h>
124 #include <dt-bindings/power/r8a7790-sysc.h>
125
126 thermal: thermal@e61f0000 {
Tom Rini6b642ac2024-10-01 12:20:28 -0600127 compatible = "renesas,thermal-r8a7790",
128 "renesas,rcar-gen2-thermal",
129 "renesas,rcar-thermal";
130 reg = <0xe61f0000 0x10>, <0xe61f0100 0x38>;
131 interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
132 clocks = <&cpg CPG_MOD 522>;
133 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
134 resets = <&cpg 522>;
135 #thermal-sensor-cells = <0>;
Tom Rini53633a82024-02-29 12:33:36 -0500136 };
137
138 thermal-zones {
Tom Rini6b642ac2024-10-01 12:20:28 -0600139 cpu_thermal: cpu-thermal {
140 polling-delay-passive = <1000>;
141 polling-delay = <5000>;
Tom Rini53633a82024-02-29 12:33:36 -0500142
Tom Rini6b642ac2024-10-01 12:20:28 -0600143 thermal-sensors = <&thermal>;
Tom Rini53633a82024-02-29 12:33:36 -0500144
Tom Rini6b642ac2024-10-01 12:20:28 -0600145 trips {
146 cpu-crit {
147 temperature = <115000>;
148 hysteresis = <0>;
149 type = "critical";
150 };
Tom Rini53633a82024-02-29 12:33:36 -0500151 };
Tom Rini6b642ac2024-10-01 12:20:28 -0600152 cooling-maps {
153 };
154 };
Tom Rini53633a82024-02-29 12:33:36 -0500155 };