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