xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/thermal/brcm,sr-thermal.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun* Broadcom Stingray Thermal
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunThis binding describes thermal sensors that is part of Stingray SoCs.
4*4882a593Smuzhiyun
5*4882a593SmuzhiyunRequired properties:
6*4882a593Smuzhiyun- compatible : Must be "brcm,sr-thermal"
7*4882a593Smuzhiyun- reg : Memory where tmon data will be available.
8*4882a593Smuzhiyun- brcm,tmon-mask: A one cell bit mask of valid TMON sources.
9*4882a593Smuzhiyun                  Each bit represents single TMON source.
10*4882a593Smuzhiyun- #thermal-sensor-cells : Thermal sensor phandler
11*4882a593Smuzhiyun- polling-delay: Max number of milliseconds to wait between polls.
12*4882a593Smuzhiyun- thermal-sensors: A list of thermal sensor phandles and specifier.
13*4882a593Smuzhiyun                   specifier value is tmon ID and it should be
14*4882a593Smuzhiyun                   in correspond with brcm,tmon-mask.
15*4882a593Smuzhiyun- temperature: trip temperature threshold in millicelsius.
16*4882a593Smuzhiyun
17*4882a593SmuzhiyunExample:
18*4882a593Smuzhiyun	tmons {
19*4882a593Smuzhiyun		compatible = "simple-bus";
20*4882a593Smuzhiyun		#address-cells = <1>;
21*4882a593Smuzhiyun		#size-cells = <1>;
22*4882a593Smuzhiyun		ranges = <0x0 0x0 0x8f100000 0x100>;
23*4882a593Smuzhiyun
24*4882a593Smuzhiyun		tmon: tmon@0 {
25*4882a593Smuzhiyun			compatible = "brcm,sr-thermal";
26*4882a593Smuzhiyun			reg = <0x0 0x40>;
27*4882a593Smuzhiyun			brcm,tmon-mask = <0x3f>;
28*4882a593Smuzhiyun			#thermal-sensor-cells = <1>;
29*4882a593Smuzhiyun		};
30*4882a593Smuzhiyun	};
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun	thermal-zones {
33*4882a593Smuzhiyun		ihost0_thermal: ihost0-thermal {
34*4882a593Smuzhiyun			polling-delay-passive = <0>;
35*4882a593Smuzhiyun			polling-delay = <1000>;
36*4882a593Smuzhiyun			thermal-sensors = <&tmon 0>;
37*4882a593Smuzhiyun			trips {
38*4882a593Smuzhiyun				cpu-crit {
39*4882a593Smuzhiyun					temperature = <105000>;
40*4882a593Smuzhiyun					hysteresis = <0>;
41*4882a593Smuzhiyun					type = "critical";
42*4882a593Smuzhiyun				};
43*4882a593Smuzhiyun			};
44*4882a593Smuzhiyun		};
45*4882a593Smuzhiyun		ihost1_thermal: ihost1-thermal {
46*4882a593Smuzhiyun			polling-delay-passive = <0>;
47*4882a593Smuzhiyun			polling-delay = <1000>;
48*4882a593Smuzhiyun			thermal-sensors = <&tmon 1>;
49*4882a593Smuzhiyun			trips {
50*4882a593Smuzhiyun				cpu-crit {
51*4882a593Smuzhiyun					temperature = <105000>;
52*4882a593Smuzhiyun					hysteresis = <0>;
53*4882a593Smuzhiyun					type = "critical";
54*4882a593Smuzhiyun				};
55*4882a593Smuzhiyun			};
56*4882a593Smuzhiyun		};
57*4882a593Smuzhiyun		ihost2_thermal: ihost2-thermal {
58*4882a593Smuzhiyun			polling-delay-passive = <0>;
59*4882a593Smuzhiyun			polling-delay = <1000>;
60*4882a593Smuzhiyun			thermal-sensors = <&tmon 2>;
61*4882a593Smuzhiyun			trips {
62*4882a593Smuzhiyun				cpu-crit {
63*4882a593Smuzhiyun					temperature = <105000>;
64*4882a593Smuzhiyun					hysteresis = <0>;
65*4882a593Smuzhiyun					type = "critical";
66*4882a593Smuzhiyun				};
67*4882a593Smuzhiyun			};
68*4882a593Smuzhiyun		};
69*4882a593Smuzhiyun		ihost3_thermal: ihost3-thermal {
70*4882a593Smuzhiyun			polling-delay-passive = <0>;
71*4882a593Smuzhiyun			polling-delay = <1000>;
72*4882a593Smuzhiyun			thermal-sensors = <&tmon 3>;
73*4882a593Smuzhiyun			trips {
74*4882a593Smuzhiyun				cpu-crit {
75*4882a593Smuzhiyun					temperature = <105000>;
76*4882a593Smuzhiyun					hysteresis = <0>;
77*4882a593Smuzhiyun					type = "critical";
78*4882a593Smuzhiyun				};
79*4882a593Smuzhiyun			};
80*4882a593Smuzhiyun		};
81*4882a593Smuzhiyun		crmu_thermal: crmu-thermal {
82*4882a593Smuzhiyun			polling-delay-passive = <0>;
83*4882a593Smuzhiyun			polling-delay = <1000>;
84*4882a593Smuzhiyun			thermal-sensors = <&tmon 4>;
85*4882a593Smuzhiyun			trips {
86*4882a593Smuzhiyun				cpu-crit {
87*4882a593Smuzhiyun					temperature = <105000>;
88*4882a593Smuzhiyun					hysteresis = <0>;
89*4882a593Smuzhiyun					type = "critical";
90*4882a593Smuzhiyun				};
91*4882a593Smuzhiyun			};
92*4882a593Smuzhiyun		};
93*4882a593Smuzhiyun		nitro_thermal: nitro-thermal {
94*4882a593Smuzhiyun			polling-delay-passive = <0>;
95*4882a593Smuzhiyun			polling-delay = <1000>;
96*4882a593Smuzhiyun			thermal-sensors = <&tmon 5>;
97*4882a593Smuzhiyun			trips {
98*4882a593Smuzhiyun				cpu-crit {
99*4882a593Smuzhiyun					temperature = <105000>;
100*4882a593Smuzhiyun					hysteresis = <0>;
101*4882a593Smuzhiyun					type = "critical";
102*4882a593Smuzhiyun				};
103*4882a593Smuzhiyun			};
104*4882a593Smuzhiyun		};
105*4882a593Smuzhiyun	};
106