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