1* Exynos Thermal Management Unit (TMU) 2 3** Required properties: 4 5- compatible : One of the following: 6 "samsung,exynos3250-tmu" 7 "samsung,exynos4412-tmu" 8 "samsung,exynos4210-tmu" 9 "samsung,exynos5250-tmu" 10 "samsung,exynos5260-tmu" 11 "samsung,exynos5420-tmu" for TMU channel 0, 1 on Exynos5420 12 "samsung,exynos5420-tmu-ext-triminfo" for TMU channels 2, 3 and 4 13 Exynos5420 (Must pass triminfo base and triminfo clock) 14 "samsung,exynos5440-tmu" 15 "samsung,exynos7-tmu" 16- interrupt-parent : The phandle for the interrupt controller 17- reg : Address range of the thermal registers. For soc's which has multiple 18 instances of TMU and some registers are shared across all TMU's like 19 interrupt related then 2 set of register has to supplied. First set 20 belongs to register set of TMU instance and second set belongs to 21 registers shared with the TMU instance. 22 23 NOTE: On Exynos5420, the TRIMINFO register is misplaced for TMU 24 channels 2, 3 and 4 25 Use "samsung,exynos5420-tmu-ext-triminfo" in cases, there is a misplaced 26 register, also provide clock to access that base. 27 28 TRIMINFO at 0x1006c000 contains data for TMU channel 3 29 TRIMINFO at 0x100a0000 contains data for TMU channel 4 30 TRIMINFO at 0x10068000 contains data for TMU channel 2 31 32- interrupts : Should contain interrupt for thermal system 33- clocks : The main clocks for TMU device 34 -- 1. operational clock for TMU channel 35 -- 2. optional clock to access the shared registers of TMU channel 36 -- 3. optional special clock for functional operation 37- clock-names : Thermal system clock name 38 -- "tmu_apbif" operational clock for current TMU channel 39 -- "tmu_triminfo_apbif" clock to access the shared triminfo register 40 for current TMU channel 41 -- "tmu_sclk" clock for functional operation of the current TMU 42 channel 43- vtmu-supply: This entry is optional and provides the regulator node supplying 44 voltage to TMU. If needed this entry can be placed inside 45 board/platform specific dts file. 46Following properties are mandatory (depending on SoC): 47- samsung,tmu_gain: Gain value for internal TMU operation. 48- samsung,tmu_reference_voltage: Value of TMU IP block's reference voltage 49- samsung,tmu_noise_cancel_mode: Mode for noise cancellation 50- samsung,tmu_efuse_value: Default level of temperature - it is needed when 51 in factory fusing produced wrong value 52- samsung,tmu_min_efuse_value: Minimum temperature fused value 53- samsung,tmu_max_efuse_value: Maximum temperature fused value 54- samsung,tmu_first_point_trim: First point trimming value 55- samsung,tmu_second_point_trim: Second point trimming value 56- samsung,tmu_default_temp_offset: Default temperature offset 57- samsung,tmu_cal_type: Callibration type 58 59Example 1): 60 61 tmu@100C0000 { 62 compatible = "samsung,exynos4412-tmu"; 63 interrupt-parent = <&combiner>; 64 reg = <0x100C0000 0x100>; 65 interrupts = <2 4>; 66 clocks = <&clock 383>; 67 clock-names = "tmu_apbif"; 68 status = "disabled"; 69 vtmu-supply = <&tmu_regulator_node>; 70 #include "exynos4412-tmu-sensor-conf.dtsi" 71 }; 72 73Example 2): 74 75 tmuctrl_0: tmuctrl@160118 { 76 compatible = "samsung,exynos5440-tmu"; 77 reg = <0x160118 0x230>, <0x160368 0x10>; 78 interrupts = <0 58 0>; 79 clocks = <&clock 21>; 80 clock-names = "tmu_apbif"; 81 #include "exynos5440-tmu-sensor-conf.dtsi" 82 }; 83 84Example 3): (In case of Exynos5420 "with misplaced TRIMINFO register") 85 tmu_cpu2: tmu@10068000 { 86 compatible = "samsung,exynos5420-tmu-ext-triminfo"; 87 reg = <0x10068000 0x100>, <0x1006c000 0x4>; 88 interrupts = <0 184 0>; 89 clocks = <&clock 318>, <&clock 318>; 90 clock-names = "tmu_apbif", "tmu_triminfo_apbif"; 91 #include "exynos4412-tmu-sensor-conf.dtsi" 92 }; 93 94 tmu_cpu3: tmu@1006c000 { 95 compatible = "samsung,exynos5420-tmu-ext-triminfo"; 96 reg = <0x1006c000 0x100>, <0x100a0000 0x4>; 97 interrupts = <0 185 0>; 98 clocks = <&clock 318>, <&clock 319>; 99 clock-names = "tmu_apbif", "tmu_triminfo_apbif"; 100 #include "exynos4412-tmu-sensor-conf.dtsi" 101 }; 102 103 tmu_gpu: tmu@100a0000 { 104 compatible = "samsung,exynos5420-tmu-ext-triminfo"; 105 reg = <0x100a0000 0x100>, <0x10068000 0x4>; 106 interrupts = <0 215 0>; 107 clocks = <&clock 319>, <&clock 318>; 108 clock-names = "tmu_apbif", "tmu_triminfo_apbif"; 109 #include "exynos4412-tmu-sensor-conf.dtsi" 110 }; 111 112Note: For multi-instance tmu each instance should have an alias correctly 113numbered in "aliases" node. 114 115Example: 116 117aliases { 118 tmuctrl0 = &tmuctrl_0; 119 tmuctrl1 = &tmuctrl_1; 120 tmuctrl2 = &tmuctrl_2; 121}; 122