1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/thermal/samsung,exynos-thermal.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Samsung Exynos SoC Thermal Management Unit (TMU) 8 9maintainers: 10 - Krzysztof Kozlowski <krzk@kernel.org> 11 12description: | 13 For multi-instance tmu each instance should have an alias correctly numbered 14 in "aliases" node. 15 16properties: 17 compatible: 18 enum: 19 - samsung,exynos3250-tmu 20 - samsung,exynos4412-tmu 21 - samsung,exynos4210-tmu 22 - samsung,exynos5250-tmu 23 - samsung,exynos5260-tmu 24 # For TMU channel 0, 1 on Exynos5420: 25 - samsung,exynos5420-tmu 26 # For TMU channels 2, 3 and 4 of Exynos5420: 27 - samsung,exynos5420-tmu-ext-triminfo 28 - samsung,exynos5433-tmu 29 - samsung,exynos7-tmu 30 31 clocks: 32 minItems: 1 33 maxItems: 3 34 35 clock-names: 36 minItems: 1 37 maxItems: 3 38 39 interrupts: 40 description: | 41 The Exynos TMU supports generating interrupts when reaching given 42 temperature thresholds. Number of supported thermal trip points depends 43 on the SoC (only first trip points defined in DT will be configured):: 44 - most of SoC: 4 45 - samsung,exynos5433-tmu: 8 46 - samsung,exynos7-tmu: 8 47 maxItems: 1 48 49 reg: 50 items: 51 - description: TMU instance registers. 52 - description: | 53 Shared TMU registers. 54 55 Note:: On Exynos5420, the TRIMINFO register is misplaced for TMU 56 channels 2, 3 and 4 Use "samsung,exynos5420-tmu-ext-triminfo" in 57 cases, there is a misplaced register, also provide clock to access 58 that base. 59 TRIMINFO at 0x1006c000 contains data for TMU channel 3 60 TRIMINFO at 0x100a0000 contains data for TMU channel 4 61 TRIMINFO at 0x10068000 contains data for TMU channel 2 62 minItems: 1 63 64 '#thermal-sensor-cells': 65 const: 0 66 67 vtmu-supply: 68 description: The regulator node supplying voltage to TMU. 69 70required: 71 - compatible 72 - clocks 73 - clock-names 74 - interrupts 75 - reg 76 77allOf: 78 - $ref: /schemas/thermal/thermal-sensor.yaml 79 - if: 80 properties: 81 compatible: 82 contains: 83 const: samsung,exynos5420-tmu-ext-triminfo 84 then: 85 properties: 86 clocks: 87 items: 88 - description: 89 Operational clock for TMU channel. 90 - description: 91 Optional clock to access the shared registers (e.g. TRIMINFO) of TMU 92 channel. 93 clock-names: 94 items: 95 - const: tmu_apbif 96 - const: tmu_triminfo_apbif 97 reg: 98 minItems: 2 99 maxItems: 2 100 - if: 101 properties: 102 compatible: 103 contains: 104 enum: 105 - samsung,exynos5433-tmu 106 - samsung,exynos7-tmu 107 then: 108 properties: 109 clocks: 110 items: 111 - description: 112 Operational clock for TMU channel. 113 - description: 114 Optional special clock for functional operation of TMU channel. 115 clock-names: 116 items: 117 - const: tmu_apbif 118 - const: tmu_sclk 119 reg: 120 minItems: 1 121 maxItems: 1 122 123 - if: 124 properties: 125 compatible: 126 contains: 127 enum: 128 - samsung,exynos3250-tmu 129 - samsung,exynos4412-tmu 130 - samsung,exynos4210-tmu 131 - samsung,exynos5250-tmu 132 - samsung,exynos5260-tmu 133 - samsung,exynos5420-tmu 134 then: 135 properties: 136 clocks: 137 minItems: 1 138 maxItems: 1 139 reg: 140 minItems: 1 141 maxItems: 1 142 143additionalProperties: false 144 145examples: 146 - | 147 #include <dt-bindings/clock/exynos4.h> 148 149 tmu@100c0000 { 150 compatible = "samsung,exynos4412-tmu"; 151 reg = <0x100C0000 0x100>; 152 interrupt-parent = <&combiner>; 153 interrupts = <2 4>; 154 #thermal-sensor-cells = <0>; 155 clocks = <&clock CLK_TMU_APBIF>; 156 clock-names = "tmu_apbif"; 157 vtmu-supply = <&ldo10_reg>; 158 }; 159 160 - | 161 #include <dt-bindings/interrupt-controller/arm-gic.h> 162 163 tmu@10068000 { 164 compatible = "samsung,exynos5420-tmu-ext-triminfo"; 165 reg = <0x10068000 0x100>, <0x1006c000 0x4>; 166 interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>; 167 #thermal-sensor-cells = <0>; 168 clocks = <&clock 318>, <&clock 318>; /* CLK_TMU */ 169 clock-names = "tmu_apbif", "tmu_triminfo_apbif"; 170 vtmu-supply = <&ldo7_reg>; 171 }; 172 173 - | 174 #include <dt-bindings/interrupt-controller/arm-gic.h> 175 176 tmu@10060000 { 177 compatible = "samsung,exynos5433-tmu"; 178 reg = <0x10060000 0x200>; 179 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 180 #thermal-sensor-cells = <0>; 181 clocks = <&cmu_peris 3>, /* CLK_PCLK_TMU0_APBIF */ 182 <&cmu_peris 35>; /* CLK_SCLK_TMU0 */ 183 clock-names = "tmu_apbif", "tmu_sclk"; 184 vtmu-supply = <&ldo3_reg>; 185 }; 186