About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / devicetree / bindings / thermal / exynos-thermal.txt




Custom Search

Based on kernel version 4.1. Page generated on 2015-06-28 12:11 EST.

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.
46	Following 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	
59	Example 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	
73	Example 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	
84	Example 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	
112	Note: For multi-instance tmu each instance should have an alias correctly
113	numbered in "aliases" node.
114	
115	Example:
116	
117	aliases {
118		tmuctrl0 = &tmuctrl_0;
119		tmuctrl1 = &tmuctrl_1;
120		tmuctrl2 = &tmuctrl_2;
121	};
Hide Line Numbers
About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Information is copyright its respective author. All material is available from the Linux Kernel Source distributed under a GPL License. This page is provided as a free service by mjmwired.net.