xref: /freebsd/sys/contrib/device-tree/Bindings/thermal/exynos-thermal.txt (revision fe6060f10f634930ff71b7c50291ddc610da2475)
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,exynos5433-tmu"
15	       "samsung,exynos7-tmu"
16- reg : Address range of the thermal registers. For soc's which has multiple
17	instances of TMU and some registers are shared across all TMU's like
18	interrupt related then 2 set of register has to supplied. First set
19	belongs	to register set of TMU instance and second set belongs to
20	registers shared with the TMU instance.
21
22  NOTE: On Exynos5420, the TRIMINFO register is misplaced for TMU
23	channels 2, 3 and 4
24	Use "samsung,exynos5420-tmu-ext-triminfo" in cases, there is a misplaced
25	register, also provide clock to access that base.
26
27	TRIMINFO at 0x1006c000 contains data for TMU channel 3
28	TRIMINFO at 0x100a0000 contains data for TMU channel 4
29	TRIMINFO at 0x10068000 contains data for TMU channel 2
30
31- interrupts : Should contain interrupt for thermal system
32- clocks : The main clocks for TMU device
33	-- 1. operational clock for TMU channel
34	-- 2. optional clock to access the shared registers of TMU channel
35	-- 3. optional special clock for functional operation
36- clock-names : Thermal system clock name
37	-- "tmu_apbif" operational clock for current TMU channel
38	-- "tmu_triminfo_apbif" clock to access the shared triminfo register
39		for current TMU channel
40	-- "tmu_sclk" clock for functional operation of the current TMU
41		channel
42
43The Exynos TMU supports generating interrupts when reaching given
44temperature thresholds. Number of supported thermal trip points depends
45on the SoC (only first trip points defined in DT will be configured):
46 - most of SoC: 4
47 - samsung,exynos5433-tmu: 8
48 - samsung,exynos7-tmu: 8
49
50** Optional properties:
51
52- vtmu-supply: This entry is optional and provides the regulator node supplying
53		voltage to TMU. If needed this entry can be placed inside
54		board/platform specific dts file.
55
56Example 1):
57
58	tmu@100c0000 {
59		compatible = "samsung,exynos4412-tmu";
60		interrupt-parent = <&combiner>;
61		reg = <0x100C0000 0x100>;
62		interrupts = <2 4>;
63		clocks = <&clock 383>;
64		clock-names = "tmu_apbif";
65		vtmu-supply = <&tmu_regulator_node>;
66		#thermal-sensor-cells = <0>;
67	};
68
69Example 2): (In case of Exynos5420 "with misplaced TRIMINFO register")
70	tmu_cpu2: tmu@10068000 {
71		compatible = "samsung,exynos5420-tmu-ext-triminfo";
72		reg = <0x10068000 0x100>, <0x1006c000 0x4>;
73		interrupts = <0 184 0>;
74		clocks = <&clock 318>, <&clock 318>;
75		clock-names = "tmu_apbif", "tmu_triminfo_apbif";
76		#thermal-sensor-cells = <0>;
77	};
78
79	tmu_cpu3: tmu@1006c000 {
80		compatible = "samsung,exynos5420-tmu-ext-triminfo";
81		reg = <0x1006c000 0x100>, <0x100a0000 0x4>;
82		interrupts = <0 185 0>;
83		clocks = <&clock 318>, <&clock 319>;
84		clock-names = "tmu_apbif", "tmu_triminfo_apbif";
85		#thermal-sensor-cells = <0>;
86	};
87
88	tmu_gpu: tmu@100a0000 {
89		compatible = "samsung,exynos5420-tmu-ext-triminfo";
90		reg = <0x100a0000 0x100>, <0x10068000 0x4>;
91		interrupts = <0 215 0>;
92		clocks = <&clock 319>, <&clock 318>;
93		clock-names = "tmu_apbif", "tmu_triminfo_apbif";
94		#thermal-sensor-cells = <0>;
95	};
96
97Note: For multi-instance tmu each instance should have an alias correctly
98numbered in "aliases" node.
99
100Example:
101
102aliases {
103	tmuctrl0 = &tmuctrl_0;
104	tmuctrl1 = &tmuctrl_1;
105	tmuctrl2 = &tmuctrl_2;
106};
107