Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[cascardo/linux.git] / Documentation / devicetree / bindings / thermal / exynos-thermal.txt
index 284f530..c949092 100644 (file)
@@ -6,16 +6,35 @@
               "samsung,exynos4412-tmu"
               "samsung,exynos4210-tmu"
               "samsung,exynos5250-tmu"
+              "samsung,exynos5260-tmu"
+              "samsung,exynos5420-tmu" for TMU channel 0, 1 on Exynos5420
+              "samsung,exynos5420-tmu-ext-triminfo" for TMU channels 2, 3 and 4
+                       Exynos5420 (Must pass triminfo base and triminfo clock)
               "samsung,exynos5440-tmu"
 - interrupt-parent : The phandle for the interrupt controller
 - reg : Address range of the thermal registers. For soc's which has multiple
        instances of TMU and some registers are shared across all TMU's like
        interrupt related then 2 set of register has to supplied. First set
-       belongs to each instance of TMU and second set belongs to common TMU
-       registers.
+       belongs to register set of TMU instance and second set belongs to
+       registers shared with the TMU instance.
+
+  NOTE: On Exynos5420, the TRIMINFO register is misplaced for TMU
+       channels 2, 3 and 4
+       Use "samsung,exynos5420-tmu-ext-triminfo" in cases, there is a misplaced
+       register, also provide clock to access that base.
+
+       TRIMINFO at 0x1006c000 contains data for TMU channel 3
+       TRIMINFO at 0x100a0000 contains data for TMU channel 4
+       TRIMINFO at 0x10068000 contains data for TMU channel 2
+
 - interrupts : Should contain interrupt for thermal system
-- clocks : The main clock for TMU device
+- clocks : The main clocks for TMU device
+       -- 1. operational clock for TMU channel
+       -- 2. optional clock to access the shared registers of TMU channel
 - clock-names : Thermal system clock name
+       -- "tmu_apbif" operational clock for current TMU channel
+       -- "tmu_triminfo_apbif" clock to access the shared triminfo register
+               for current TMU channel
 - vtmu-supply: This entry is optional and provides the regulator node supplying
                voltage to TMU. If needed this entry can be placed inside
                board/platform specific dts file.
@@ -43,6 +62,31 @@ Example 2):
                clock-names = "tmu_apbif";
        };
 
+Example 3): (In case of Exynos5420 "with misplaced TRIMINFO register")
+       tmu_cpu2: tmu@10068000 {
+               compatible = "samsung,exynos5420-tmu-ext-triminfo";
+               reg = <0x10068000 0x100>, <0x1006c000 0x4>;
+               interrupts = <0 184 0>;
+               clocks = <&clock 318>, <&clock 318>;
+               clock-names = "tmu_apbif", "tmu_triminfo_apbif";
+       };
+
+       tmu_cpu3: tmu@1006c000 {
+               compatible = "samsung,exynos5420-tmu-ext-triminfo";
+               reg = <0x1006c000 0x100>, <0x100a0000 0x4>;
+               interrupts = <0 185 0>;
+               clocks = <&clock 318>, <&clock 319>;
+               clock-names = "tmu_apbif", "tmu_triminfo_apbif";
+       };
+
+       tmu_gpu: tmu@100a0000 {
+               compatible = "samsung,exynos5420-tmu-ext-triminfo";
+               reg = <0x100a0000 0x100>, <0x10068000 0x4>;
+               interrupts = <0 215 0>;
+               clocks = <&clock 319>, <&clock 318>;
+               clock-names = "tmu_apbif", "tmu_triminfo_apbif";
+       };
+
 Note: For multi-instance tmu each instance should have an alias correctly
 numbered in "aliases" node.