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