| * ZTE zx2967 family Thermal |
| |
| Required Properties: |
| - compatible: should be one of the following. |
| * zte,zx296718-thermal |
| - reg: physical base address of the controller and length of memory mapped |
| region. |
| - clocks : Pairs of phandle and specifier referencing the controller's clocks. |
| - clock-names: "topcrm" for the topcrm clock. |
| "apb" for the apb clock. |
| - #thermal-sensor-cells: must be 0. |
| |
| Please note: slope coefficient defined in thermal-zones section need to be |
| multiplied by 1000. |
| |
| Example for tempsensor: |
| |
| tempsensor: tempsensor@148a000 { |
| compatible = "zte,zx296718-thermal"; |
| reg = <0x0148a000 0x20>; |
| clocks = <&topcrm TEMPSENSOR_GATE>, <&audiocrm AUDIO_TS_PCLK>; |
| clock-names = "topcrm", "apb"; |
| #thermal-sensor-cells = <0>; |
| }; |
| |
| Example for cooling device: |
| |
| cooling_dev: cooling_dev { |
| cluster0_cooling_dev: cluster0-cooling-dev { |
| #cooling-cells = <2>; |
| cpumask = <0xf>; |
| capacitance = <1500>; |
| }; |
| |
| cluster1_cooling_dev: cluster1-cooling-dev { |
| #cooling-cells = <2>; |
| cpumask = <0x30>; |
| capacitance = <2000>; |
| }; |
| }; |
| |
| Example for thermal zones: |
| |
| thermal-zones { |
| zx296718_thermal: zx296718_thermal { |
| polling-delay-passive = <500>; |
| polling-delay = <1000>; |
| sustainable-power = <6500>; |
| |
| thermal-sensors = <&tempsensor 0>; |
| /* |
| * slope need to be multiplied by 1000. |
| */ |
| coefficients = <1951 (-922)>; |
| |
| trips { |
| trip0: switch_on_temperature { |
| temperature = <90000>; |
| hysteresis = <2000>; |
| type = "passive"; |
| }; |
| |
| trip1: desired_temperature { |
| temperature = <100000>; |
| hysteresis = <2000>; |
| type = "passive"; |
| }; |
| |
| crit: critical_temperature { |
| temperature = <110000>; |
| hysteresis = <2000>; |
| type = "critical"; |
| }; |
| }; |
| |
| cooling-maps { |
| map0 { |
| trip = <&trip0>; |
| cooling-device = <&gpu 2 5>; |
| }; |
| |
| map1 { |
| trip = <&trip0>; |
| cooling-device = <&cluster0_cooling_dev 1 2>; |
| }; |
| |
| map2 { |
| trip = <&trip1>; |
| cooling-device = <&cluster0_cooling_dev 1 2>; |
| }; |
| |
| map3 { |
| trip = <&crit>; |
| cooling-device = <&cluster0_cooling_dev 1 2>; |
| }; |
| |
| map4 { |
| trip = <&trip0>; |
| cooling-device = <&cluster1_cooling_dev 1 2>; |
| contribution = <9000>; |
| }; |
| |
| map5 { |
| trip = <&trip1>; |
| cooling-device = <&cluster1_cooling_dev 1 2>; |
| contribution = <4096>; |
| }; |
| |
| map6 { |
| trip = <&crit>; |
| cooling-device = <&cluster1_cooling_dev 1 2>; |
| contribution = <4096>; |
| }; |
| }; |
| }; |
| }; |