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 65if: 66 properties: 67 compatible: 68 contains: 69 enum: 70 - renesas,thermal-r8a73a4 # R-Mobile APE6 71 - renesas,thermal-r8a7779 # R-Car H1 72then: 73 required: 74 - compatible 75 - reg 76else: 77 required: 78 - compatible 79 - reg 80 - interrupts 81 - clocks 82 - power-domains 83 - resets 84 85additionalProperties: false 86 87examples: 88 # Example (non interrupt support) 89 - | 90 thermal@ffc48000 { 91 compatible = "renesas,thermal-r8a7779", "renesas,rcar-thermal"; 92 reg = <0xffc48000 0x38>; 93 }; 94 95 # Example (interrupt support) 96 - | 97 #include <dt-bindings/clock/r8a73a4-clock.h> 98 #include <dt-bindings/interrupt-controller/arm-gic.h> 99 #include <dt-bindings/interrupt-controller/irq.h> 100 101 thermal@e61f0000 { 102 compatible = "renesas,thermal-r8a73a4", "renesas,rcar-thermal"; 103 reg = <0xe61f0000 0x14>, <0xe61f0100 0x38>, 104 <0xe61f0200 0x38>, <0xe61f0300 0x38>; 105 interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; 106 clocks = <&mstp5_clks R8A73A4_CLK_THERMAL>; 107 power-domains = <&pd_c5>; 108 }; 109 110 # Example (with thermal-zone) 111 - | 112 #include <dt-bindings/clock/r8a7790-cpg-mssr.h> 113 #include <dt-bindings/interrupt-controller/arm-gic.h> 114 #include <dt-bindings/power/r8a7790-sysc.h> 115 116 thermal: thermal@e61f0000 { 117 compatible = "renesas,thermal-r8a7790", 118 "renesas,rcar-gen2-thermal", 119 "renesas,rcar-thermal"; 120 reg = <0xe61f0000 0x10>, <0xe61f0100 0x38>; 121 interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; 122 clocks = <&cpg CPG_MOD 522>; 123 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 124 resets = <&cpg 522>; 125 #thermal-sensor-cells = <0>; 126 }; 127 128 thermal-zones { 129 cpu_thermal: cpu-thermal { 130 polling-delay-passive = <1000>; 131 polling-delay = <5000>; 132 133 thermal-sensors = <&thermal>; 134 135 trips { 136 cpu-crit { 137 temperature = <115000>; 138 hysteresis = <0>; 139 type = "critical"; 140 }; 141 }; 142 cooling-maps { 143 }; 144 }; 145 }; 146