18c2ecf20Sopenharmony_ci* ZTE zx2967 family Thermal
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciRequired Properties:
48c2ecf20Sopenharmony_ci- compatible: should be one of the following.
58c2ecf20Sopenharmony_ci    * zte,zx296718-thermal
68c2ecf20Sopenharmony_ci- reg: physical base address of the controller and length of memory mapped
78c2ecf20Sopenharmony_ci    region.
88c2ecf20Sopenharmony_ci- clocks : Pairs of phandle and specifier referencing the controller's clocks.
98c2ecf20Sopenharmony_ci- clock-names: "topcrm" for the topcrm clock.
108c2ecf20Sopenharmony_ci	       "apb" for the apb clock.
118c2ecf20Sopenharmony_ci- #thermal-sensor-cells: must be 0.
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ciPlease note: slope coefficient defined in thermal-zones section need to be
148c2ecf20Sopenharmony_cimultiplied by 1000.
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ciExample for tempsensor:
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ci	tempsensor: tempsensor@148a000 {
198c2ecf20Sopenharmony_ci		compatible = "zte,zx296718-thermal";
208c2ecf20Sopenharmony_ci		reg = <0x0148a000 0x20>;
218c2ecf20Sopenharmony_ci		clocks = <&topcrm TEMPSENSOR_GATE>, <&audiocrm AUDIO_TS_PCLK>;
228c2ecf20Sopenharmony_ci		clock-names = "topcrm", "apb";
238c2ecf20Sopenharmony_ci		#thermal-sensor-cells = <0>;
248c2ecf20Sopenharmony_ci	};
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ciExample for cooling device:
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci	cooling_dev: cooling_dev {
298c2ecf20Sopenharmony_ci		cluster0_cooling_dev: cluster0-cooling-dev {
308c2ecf20Sopenharmony_ci			#cooling-cells = <2>;
318c2ecf20Sopenharmony_ci			cpumask = <0xf>;
328c2ecf20Sopenharmony_ci			capacitance = <1500>;
338c2ecf20Sopenharmony_ci		};
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ci	cluster1_cooling_dev: cluster1-cooling-dev {
368c2ecf20Sopenharmony_ci			#cooling-cells = <2>;
378c2ecf20Sopenharmony_ci			cpumask = <0x30>;
388c2ecf20Sopenharmony_ci			capacitance = <2000>;
398c2ecf20Sopenharmony_ci		};
408c2ecf20Sopenharmony_ci	};
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ciExample for thermal zones:
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ci	thermal-zones {
458c2ecf20Sopenharmony_ci		zx296718_thermal: zx296718_thermal {
468c2ecf20Sopenharmony_ci			polling-delay-passive = <500>;
478c2ecf20Sopenharmony_ci			polling-delay = <1000>;
488c2ecf20Sopenharmony_ci			sustainable-power = <6500>;
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci			thermal-sensors = <&tempsensor 0>;
518c2ecf20Sopenharmony_ci			/*
528c2ecf20Sopenharmony_ci			 * slope need to be multiplied by 1000.
538c2ecf20Sopenharmony_ci			 */
548c2ecf20Sopenharmony_ci			coefficients = <1951 (-922)>;
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ci			trips {
578c2ecf20Sopenharmony_ci				trip0: switch_on_temperature {
588c2ecf20Sopenharmony_ci					temperature = <90000>;
598c2ecf20Sopenharmony_ci					hysteresis = <2000>;
608c2ecf20Sopenharmony_ci					type = "passive";
618c2ecf20Sopenharmony_ci				};
628c2ecf20Sopenharmony_ci
638c2ecf20Sopenharmony_ci				trip1: desired_temperature {
648c2ecf20Sopenharmony_ci					temperature = <100000>;
658c2ecf20Sopenharmony_ci					hysteresis = <2000>;
668c2ecf20Sopenharmony_ci					type = "passive";
678c2ecf20Sopenharmony_ci				};
688c2ecf20Sopenharmony_ci
698c2ecf20Sopenharmony_ci				crit: critical_temperature {
708c2ecf20Sopenharmony_ci					temperature = <110000>;
718c2ecf20Sopenharmony_ci					hysteresis = <2000>;
728c2ecf20Sopenharmony_ci					type = "critical";
738c2ecf20Sopenharmony_ci				};
748c2ecf20Sopenharmony_ci			};
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ci			cooling-maps {
778c2ecf20Sopenharmony_ci				map0 {
788c2ecf20Sopenharmony_ci					trip = <&trip0>;
798c2ecf20Sopenharmony_ci					cooling-device = <&gpu 2 5>;
808c2ecf20Sopenharmony_ci				};
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ci				map1 {
838c2ecf20Sopenharmony_ci					trip = <&trip0>;
848c2ecf20Sopenharmony_ci					cooling-device = <&cluster0_cooling_dev 1 2>;
858c2ecf20Sopenharmony_ci				};
868c2ecf20Sopenharmony_ci
878c2ecf20Sopenharmony_ci				map2 {
888c2ecf20Sopenharmony_ci					trip = <&trip1>;
898c2ecf20Sopenharmony_ci					cooling-device = <&cluster0_cooling_dev 1 2>;
908c2ecf20Sopenharmony_ci				};
918c2ecf20Sopenharmony_ci
928c2ecf20Sopenharmony_ci				map3 {
938c2ecf20Sopenharmony_ci					trip = <&crit>;
948c2ecf20Sopenharmony_ci					cooling-device = <&cluster0_cooling_dev 1 2>;
958c2ecf20Sopenharmony_ci				};
968c2ecf20Sopenharmony_ci
978c2ecf20Sopenharmony_ci				map4 {
988c2ecf20Sopenharmony_ci					trip = <&trip0>;
998c2ecf20Sopenharmony_ci					cooling-device = <&cluster1_cooling_dev 1 2>;
1008c2ecf20Sopenharmony_ci					contribution = <9000>;
1018c2ecf20Sopenharmony_ci				};
1028c2ecf20Sopenharmony_ci
1038c2ecf20Sopenharmony_ci				map5 {
1048c2ecf20Sopenharmony_ci					trip = <&trip1>;
1058c2ecf20Sopenharmony_ci					cooling-device = <&cluster1_cooling_dev 1 2>;
1068c2ecf20Sopenharmony_ci					contribution = <4096>;
1078c2ecf20Sopenharmony_ci				};
1088c2ecf20Sopenharmony_ci
1098c2ecf20Sopenharmony_ci				map6 {
1108c2ecf20Sopenharmony_ci					trip = <&crit>;
1118c2ecf20Sopenharmony_ci					cooling-device = <&cluster1_cooling_dev 1 2>;
1128c2ecf20Sopenharmony_ci					contribution = <4096>;
1138c2ecf20Sopenharmony_ci				};
1148c2ecf20Sopenharmony_ci			};
1158c2ecf20Sopenharmony_ci		};
1168c2ecf20Sopenharmony_ci	};
117