1# 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 the 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 { 101 compatible = "renesas,thermal-r8a7779", "renesas,rcar-thermal"; 102 reg = <0xffc48000 0x38>; 103 }; 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 { 112 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>; 118 }; 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 { 127 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>; 136 }; 137 138 thermal-zones { 139 cpu_thermal: cpu-thermal { 140 polling-delay-passive = <1000>; 141 polling-delay = <5000>; 142 143 thermal-sensors = <&thermal>; 144 145 trips { 146 cpu-crit { 147 temperature = <115000>; 148 hysteresis = <0>; 149 type = "critical"; 150 }; 151 }; 152 cooling-maps { 153 }; 154 }; 155 }; 156