Merge tag 'ktest-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt...
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / thermal / exynos-thermal.txt
1 * Exynos Thermal Management Unit (TMU)
2
3 ** Required properties:
4
5 - compatible : One of the following:
6                "samsung,exynos4412-tmu"
7                "samsung,exynos4210-tmu"
8                "samsung,exynos5250-tmu"
9                "samsung,exynos5260-tmu"
10                "samsung,exynos5420-tmu" for TMU channel 0, 1 on Exynos5420
11                "samsung,exynos5420-tmu-ext-triminfo" for TMU channels 2, 3 and 4
12                         Exynos5420 (Must pass triminfo base and triminfo clock)
13                "samsung,exynos5440-tmu"
14 - interrupt-parent : The phandle for the interrupt controller
15 - reg : Address range of the thermal registers. For soc's which has multiple
16         instances of TMU and some registers are shared across all TMU's like
17         interrupt related then 2 set of register has to supplied. First set
18         belongs to register set of TMU instance and second set belongs to
19         registers shared with the TMU instance.
20
21   NOTE: On Exynos5420, the TRIMINFO register is misplaced for TMU
22         channels 2, 3 and 4
23         Use "samsung,exynos5420-tmu-ext-triminfo" in cases, there is a misplaced
24         register, also provide clock to access that base.
25
26         TRIMINFO at 0x1006c000 contains data for TMU channel 3
27         TRIMINFO at 0x100a0000 contains data for TMU channel 4
28         TRIMINFO at 0x10068000 contains data for TMU channel 2
29
30 - interrupts : Should contain interrupt for thermal system
31 - clocks : The main clocks for TMU device
32         -- 1. operational clock for TMU channel
33         -- 2. optional clock to access the shared registers of TMU channel
34 - clock-names : Thermal system clock name
35         -- "tmu_apbif" operational clock for current TMU channel
36         -- "tmu_triminfo_apbif" clock to access the shared triminfo register
37                 for current TMU channel
38 - vtmu-supply: This entry is optional and provides the regulator node supplying
39                 voltage to TMU. If needed this entry can be placed inside
40                 board/platform specific dts file.
41
42 Example 1):
43
44         tmu@100C0000 {
45                 compatible = "samsung,exynos4412-tmu";
46                 interrupt-parent = <&combiner>;
47                 reg = <0x100C0000 0x100>;
48                 interrupts = <2 4>;
49                 clocks = <&clock 383>;
50                 clock-names = "tmu_apbif";
51                 status = "disabled";
52                 vtmu-supply = <&tmu_regulator_node>;
53         };
54
55 Example 2):
56
57         tmuctrl_0: tmuctrl@160118 {
58                 compatible = "samsung,exynos5440-tmu";
59                 reg = <0x160118 0x230>, <0x160368 0x10>;
60                 interrupts = <0 58 0>;
61                 clocks = <&clock 21>;
62                 clock-names = "tmu_apbif";
63         };
64
65 Example 3): (In case of Exynos5420 "with misplaced TRIMINFO register")
66         tmu_cpu2: tmu@10068000 {
67                 compatible = "samsung,exynos5420-tmu-ext-triminfo";
68                 reg = <0x10068000 0x100>, <0x1006c000 0x4>;
69                 interrupts = <0 184 0>;
70                 clocks = <&clock 318>, <&clock 318>;
71                 clock-names = "tmu_apbif", "tmu_triminfo_apbif";
72         };
73
74         tmu_cpu3: tmu@1006c000 {
75                 compatible = "samsung,exynos5420-tmu-ext-triminfo";
76                 reg = <0x1006c000 0x100>, <0x100a0000 0x4>;
77                 interrupts = <0 185 0>;
78                 clocks = <&clock 318>, <&clock 319>;
79                 clock-names = "tmu_apbif", "tmu_triminfo_apbif";
80         };
81
82         tmu_gpu: tmu@100a0000 {
83                 compatible = "samsung,exynos5420-tmu-ext-triminfo";
84                 reg = <0x100a0000 0x100>, <0x10068000 0x4>;
85                 interrupts = <0 215 0>;
86                 clocks = <&clock 319>, <&clock 318>;
87                 clock-names = "tmu_apbif", "tmu_triminfo_apbif";
88         };
89
90 Note: For multi-instance tmu each instance should have an alias correctly
91 numbered in "aliases" node.
92
93 Example:
94
95 aliases {
96         tmuctrl0 = &tmuctrl_0;
97         tmuctrl1 = &tmuctrl_1;
98         tmuctrl2 = &tmuctrl_2;
99 };