Loading arch/arm64/boot/dts/qcom/pm660.dtsi +100 −0 Original line number Diff line number Diff line Loading @@ -551,6 +551,106 @@ }; &thermal_zones { ibat-high { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "step_wise"; thermal-sensors = <&bcl_sensor 0>; wake-capable-sensor; trips { ibat-high { temperature = <4200>; hysteresis = <200>; type = "passive"; }; }; }; ibat-vhigh { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "step_wise"; thermal-sensors = <&bcl_sensor 1>; wake-capable-sensor; trips { ibat-vhigh { temperature = <4300>; hysteresis = <100>; type = "passive"; }; }; }; vbat_adc { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_cap"; thermal-sensors = <&bcl_sensor 2>; wake-capable-sensor; tracks-low; trips { pm660_vbat_adc: vbat-adc { temperature = <3200>; hysteresis = <100>; type = "passive"; }; }; }; vbat_low { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_cap"; thermal-sensors = <&bcl_sensor 3>; wake-capable-sensor; tracks-low; trips { vbat-low { temperature = <2800>; hysteresis = <0>; type = "passive"; }; }; }; vbat_too_low { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_cap"; thermal-sensors = <&bcl_sensor 4>; wake-capable-sensor; tracks-low; trips { vbat-too-low { temperature = <2600>; hysteresis = <0>; type = "passive"; }; }; }; soc { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_cap"; thermal-sensors = <&bcl_sensor 5>; wake-capable-sensor; tracks-low; trips { pm660_low_soc: low-soc { temperature = <10>; hysteresis = <0>; type = "passive"; }; }; }; pm660_temp_alarm: pm660-tz { polling-delay-passive = <0>; polling-delay = <0>; Loading arch/arm64/boot/dts/qcom/sdm429-thermal.dtsi 0 → 100644 +706 −0 Original line number Diff line number Diff line /* Copyright (c) 2018-2020, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and * only version 2 as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ #include <dt-bindings/thermal/thermal.h> &soc { qmi-tmd-devices { compatible = "qcom,qmi-cooling-devices"; modem { qcom,instance-id = <0x0>; modem_pa: modem_pa { qcom,qmi-dev-name = "pa"; #cooling-cells = <2>; }; modem_proc: modem_proc { qcom,qmi-dev-name = "modem"; #cooling-cells = <2>; }; modem_current: modem_current { qcom,qmi-dev-name = "modem_current"; #cooling-cells = <2>; }; modem_vdd: modem_vdd { qcom,qmi-dev-name = "cpuv_restriction_cold"; #cooling-cells = <2>; }; }; }; }; &thermal_zones { aoss0-usr { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "user_space"; thermal-sensors = <&tsens0 0>; wake-capable-sensor; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; }; }; mdm-core-usr { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "user_space"; thermal-sensors = <&tsens0 1>; wake-capable-sensor; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; }; }; lpass-usr { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "user_space"; thermal-sensors = <&tsens0 2>; wake-capable-sensor; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; }; }; camera-usr { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "user_space"; thermal-sensors = <&tsens0 3>; wake-capable-sensor; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; }; }; cpuss1-usr { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 4>; thermal-governor = "user_space"; wake-capable-sensor; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; }; }; apc1-cpu0-usr { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 5>; thermal-governor = "user_space"; wake-capable-sensor; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; }; }; apc1-cpu1-usr { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 6>; thermal-governor = "user_space"; wake-capable-sensor; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; }; }; apc1-cpu2-usr { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 7>; thermal-governor = "user_space"; wake-capable-sensor; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; }; }; apc1-cpu3-usr { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 8>; thermal-governor = "user_space"; wake-capable-sensor; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; }; }; cpuss0-usr { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 9>; thermal-governor = "user_space"; wake-capable-sensor; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; }; }; gpu-usr { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 10>; thermal-governor = "user_space"; wake-capable-sensor; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; }; }; gpu-step { polling-delay-passive = <250>; polling-delay = <0>; thermal-sensors = <&tsens0 10>; thermal-governor = "step_wise"; wake-capable-sensor; trips { gpu_step_trip: gpu-step-trip { temperature = <95000>; hysteresis = <0>; type = "passive"; }; }; cooling-maps { gpu_cdev0 { trip = <&gpu_step_trip>; cooling-device = <&msm_gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; }; }; }; hexa-cpu-max-step { polling-delay-passive = <50>; polling-delay = <100>; thermal-governor = "step_wise"; wake-capable-sensor; trips { cpu_trip:cpu-trip { temperature = <85000>; hysteresis = <0>; type = "passive"; }; }; cooling-maps { cpu0_cdev { trip = <&cpu_trip>; cooling-device = <&CPU0 THERMAL_NO_LIMIT (THERMAL_MAX_LIMIT-1)>; }; cpu1_cdev { trip = <&cpu_trip>; cooling-device = <&CPU1 THERMAL_NO_LIMIT (THERMAL_MAX_LIMIT-1)>; }; cpu2_cdev { trip = <&cpu_trip>; cooling-device = <&CPU2 THERMAL_NO_LIMIT (THERMAL_MAX_LIMIT-1)>; }; cpu3_cdev { trip = <&cpu_trip>; cooling-device = <&CPU3 THERMAL_NO_LIMIT (THERMAL_MAX_LIMIT-1)>; }; }; }; apc1-cpu0-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 5>; thermal-governor = "step_wise"; wake-capable-sensor; trips { apc1_cpu0_trip: apc1-cpu0-trip { temperature = <105000>; hysteresis = <15000>; type = "passive"; }; }; cooling-maps { cpu0_cdev { trip = <&apc1_cpu0_trip>; cooling-device = <&CPU0 THERMAL_MAX_LIMIT THERMAL_MAX_LIMIT>; }; }; }; apc1-cpu1-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 6>; thermal-governor = "step_wise"; wake-capable-sensor; trips { apc1_cpu1_trip: apc1-cpu1-trip { temperature = <105000>; hysteresis = <15000>; type = "passive"; }; }; cooling-maps { cpu1_cdev { trip = <&apc1_cpu1_trip>; cooling-device = <&CPU1 THERMAL_MAX_LIMIT THERMAL_MAX_LIMIT>; }; }; }; apc1-cpu2-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 7>; thermal-governor = "step_wise"; wake-capable-sensor; trips { apc1_cpu2_trip: apc1-cpu2-trip { temperature = <105000>; hysteresis = <15000>; type = "passive"; }; }; cooling-maps { cpu2_cdev { trip = <&apc1_cpu2_trip>; cooling-device = <&CPU2 THERMAL_MAX_LIMIT THERMAL_MAX_LIMIT>; }; }; }; apc1-cpu3-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 8>; thermal-governor = "step_wise"; wake-capable-sensor; trips { apc1_cpu3_trip: apc1-cpu3-trip { temperature = <105000>; hysteresis = <15000>; type = "passive"; }; }; cooling-maps { cpu3_cdev { trip = <&apc1_cpu3_trip>; cooling-device = <&CPU3 THERMAL_MAX_LIMIT THERMAL_MAX_LIMIT>; }; }; }; aoss0-lowf { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_floor"; thermal-sensors = <&tsens0 0>; wake-capable-sensor; tracks-low; trips { aoss0_trip: aoss-trip { temperature = <5000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { cpu0_vdd_cdev { trip = <&aoss0_trip>; cooling-device = <&CPU0 (THERMAL_MAX_LIMIT-2) (THERMAL_MAX_LIMIT-2)>; }; cx_vdd_cdev { trip = <&aoss0_trip>; cooling-device = <&pm660_cx_cdev 0 0>; }; modem_vdd_cdev { trip = <&aoss0_trip>; cooling-device = <&modem_vdd 0 0>; }; }; }; mdm-core-lowf { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_floor"; thermal-sensors = <&tsens0 1>; wake-capable-sensor; tracks-low; trips { mdm_core_trip: mdm-core-trip { temperature = <5000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { cpu0_vdd_cdev { trip = <&mdm_core_trip>; cooling-device = <&CPU0 (THERMAL_MAX_LIMIT-2) (THERMAL_MAX_LIMIT-2)>; }; cx_vdd_cdev { trip = <&mdm_core_trip>; cooling-device = <&pm660_cx_cdev 0 0>; }; modem_vdd_cdev { trip = <&mdm_core_trip>; cooling-device = <&modem_vdd 0 0>; }; }; }; lpass-lowf { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_floor"; thermal-sensors = <&tsens0 2>; wake-capable-sensor; tracks-low; trips { qdsp_trip: qdsp-trip { temperature = <5000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { cpu0_vdd_cdev { trip = <&qdsp_trip>; cooling-device = <&CPU0 (THERMAL_MAX_LIMIT-2) (THERMAL_MAX_LIMIT-2)>; }; cx_vdd_cdev { trip = <&qdsp_trip>; cooling-device = <&pm660_cx_cdev 0 0>; }; modem_vdd_cdev { trip = <&qdsp_trip>; cooling-device = <&modem_vdd 0 0>; }; }; }; camera-lowf { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_floor"; thermal-sensors = <&tsens0 3>; wake-capable-sensor; tracks-low; trips { camera_trip: camera-trip { temperature = <5000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { cpu0_vdd_cdev { trip = <&camera_trip>; cooling-device = <&CPU0 (THERMAL_MAX_LIMIT-2) (THERMAL_MAX_LIMIT-2)>; }; cx_vdd_cdev { trip = <&camera_trip>; cooling-device = <&pm660_cx_cdev 0 0>; }; modem_vdd_cdev { trip = <&camera_trip>; cooling-device = <&modem_vdd 0 0>; }; }; }; cpuss1-lowf { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_floor"; thermal-sensors = <&tsens0 4>; wake-capable-sensor; tracks-low; trips { cpuss1_trip: cpuss1-trip { temperature = <5000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { cpu0_vdd_cdev { trip = <&cpuss1_trip>; cooling-device = <&CPU0 (THERMAL_MAX_LIMIT-2) (THERMAL_MAX_LIMIT-2)>; }; cx_vdd_cdev { trip = <&cpuss1_trip>; cooling-device = <&pm660_cx_cdev 0 0>; }; modem_vdd_cdev { trip = <&cpuss1_trip>; cooling-device = <&modem_vdd 0 0>; }; }; }; apc1-cpu0-lowf { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_floor"; thermal-sensors = <&tsens0 5>; wake-capable-sensor; tracks-low; trips { cpu0_trip: apc1-cpu0-trip { temperature = <5000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { cpu0_vdd_cdev { trip = <&cpu0_trip>; cooling-device = <&CPU0 (THERMAL_MAX_LIMIT-2) (THERMAL_MAX_LIMIT-2)>; }; cx_vdd_cdev { trip = <&cpu0_trip>; cooling-device = <&pm660_cx_cdev 0 0>; }; modem_vdd_cdev { trip = <&cpu0_trip>; cooling-device = <&modem_vdd 0 0>; }; }; }; apc1-cpu1-lowf { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_floor"; thermal-sensors = <&tsens0 6>; wake-capable-sensor; tracks-low; trips { cpu1_trip: apc1-cpu1-trip { temperature = <5000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { cpu0_vdd_cdev { trip = <&cpu1_trip>; cooling-device = <&CPU0 (THERMAL_MAX_LIMIT-2) (THERMAL_MAX_LIMIT-2)>; }; cx_vdd_cdev { trip = <&cpu1_trip>; cooling-device = <&pm660_cx_cdev 0 0>; }; modem_vdd_cdev { trip = <&cpu1_trip>; cooling-device = <&modem_vdd 0 0>; }; }; }; apc1-cpu2-lowf { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_floor"; thermal-sensors = <&tsens0 7>; wake-capable-sensor; tracks-low; trips { cpu2_trip: apc1-cpu2-trip { temperature = <5000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { cpu0_vdd_cdev { trip = <&cpu2_trip>; cooling-device = <&CPU0 (THERMAL_MAX_LIMIT-2) (THERMAL_MAX_LIMIT-2)>; }; cx_vdd_cdev { trip = <&cpu2_trip>; cooling-device = <&pm660_cx_cdev 0 0>; }; modem_vdd_cdev { trip = <&cpu2_trip>; cooling-device = <&modem_vdd 0 0>; }; }; }; apc1-cpu3-lowf { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_floor"; thermal-sensors = <&tsens0 8>; wake-capable-sensor; tracks-low; trips { cpu3_trip: apc1-cpu3-trip { temperature = <5000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { cpu0_vdd_cdev { trip = <&cpu3_trip>; cooling-device = <&CPU0 (THERMAL_MAX_LIMIT-2) (THERMAL_MAX_LIMIT-2)>; }; cx_vdd_cdev { trip = <&cpu3_trip>; cooling-device = <&pm660_cx_cdev 0 0>; }; modem_vdd_cdev { trip = <&cpu3_trip>; cooling-device = <&modem_vdd 0 0>; }; }; }; cpuss0-lowf { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_floor"; thermal-sensors = <&tsens0 9>; wake-capable-sensor; tracks-low; trips { cpuss0_lowf_trip: cpuss0-lowf-trip { temperature = <5000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { cpu0_vdd_cdev { trip = <&cpuss0_lowf_trip>; cooling-device = <&CPU0 (THERMAL_MAX_LIMIT-2) (THERMAL_MAX_LIMIT-2)>; }; cx_vdd_cdev { trip = <&cpuss0_lowf_trip>; cooling-device = <&pm660_cx_cdev 0 0>; }; modem_vdd_cdev { trip = <&cpuss0_lowf_trip>; cooling-device = <&modem_vdd 0 0>; }; }; }; gpu-lowf { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_floor"; thermal-sensors = <&tsens0 10>; wake-capable-sensor; tracks-low; trips { gpu_lowf_trip: gpu-lowf-trip { temperature = <5000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { cpu0_vdd_cdev { trip = <&gpu_lowf_trip>; cooling-device = <&CPU0 (THERMAL_MAX_LIMIT-2) (THERMAL_MAX_LIMIT-2)>; }; cx_vdd_cdev { trip = <&gpu_lowf_trip>; cooling-device = <&pm660_cx_cdev 0 0>; }; modem_vdd_cdev { trip = <&gpu_lowf_trip>; cooling-device = <&modem_vdd 0 0>; }; }; }; }; arch/arm64/boot/dts/qcom/sdm429.dtsi +12 −0 Original line number Diff line number Diff line Loading @@ -1420,6 +1420,17 @@ < 1708800 MHZ_TO_MBPS( 749, 8) >; }; tsens0: tsens@4a8000 { compatible = "qcom,msm8937-tsens"; reg = <0x4a8000 0x1000>, <0x4a9000 0x1000>, <0xa4000 0x1000>; reg-names = "tsens_srot_physical", "tsens_tm_physical", "tsens_eeprom_physical"; interrupts = <0 184 0>; interrupt-names = "tsens-upper-lower"; #thermal-sensor-cells = <1>; }; }; #include "sdm429-gdsc.dtsi" Loading @@ -1428,6 +1439,7 @@ #include "sdm429-mdss.dtsi" #include "sdm429-mdss-pll.dtsi" #include "sdm429-audio.dtsi" #include "sdm429-thermal.dtsi" &venus_gdsc { clock-names = "bus_clk", "core_clk"; Loading arch/arm64/boot/dts/qcom/sdm429w-pm660.dtsi +160 −0 Original line number Diff line number Diff line Loading @@ -165,6 +165,8 @@ }; }; #include <dt-bindings/thermal/thermal.h> &thermal_zones { xo-therm-adc { polling-delay-passive = <0>; Loading Loading @@ -245,6 +247,164 @@ }; }; }; quiet-therm-step { polling-delay-passive = <1000>; polling-delay = <0>; thermal-sensors = <&pm660_adc_tm 0x51>; thermal-governor = "step_wise"; wake-capable-sensor; trips { quiet_batt_439_trip1: quiet-batt-trip1 { temperature = <38000>; hysteresis = <2000>; type = "passive"; }; quiet_batt_439_trip2: quiet-batt-trip2 { temperature = <40000>; hysteresis = <2000>; type = "passive"; }; quiet_batt_439_trip3: quiet-batt-trip3 { temperature = <42000>; hysteresis = <2000>; type = "passive"; }; quiet_batt_439_trip4: quiet-batt-trip4 { temperature = <44000>; hysteresis = <2000>; type = "passive"; }; quiet_modem_439_trip1: quiet-modem-trip0 { temperature = <44000>; hysteresis = <4000>; type = "passive"; }; quiet_modem_439_trip2: quiet-modem-trip1 { temperature = <46000>; hysteresis = <4000>; type = "passive"; }; quiet_batt_439_trip5: quiet-batt-trip5 { temperature = <46000>; hysteresis = <2000>; type = "passive"; }; quiet_modem_439_trip3: quiet-modem-trp3 { temperature = <48000>; hysteresis = <2000>; type = "passive"; }; quiet_cpus_439_trip: quiet-cpus-trip { temperature = <48000>; hysteresis = <0>; type = "passive"; }; quiet_batt_439_trip6: quiet-batt-trip6 { temperature = <55000>; hysteresis = <2000>; type = "passive"; }; quiet_modem_439_trip4: quiet-modem-trip3 { temperature = <55000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { skin_cpu0 { trip = <&quiet_cpus_439_trip>; /* throttle from fmax to 1497600KHz */ cooling-device = <&CPU0 THERMAL_NO_LIMIT (THERMAL_MAX_LIMIT-3)>; }; skin_cpu1 { trip = <&quiet_cpus_439_trip>; cooling-device = <&CPU1 THERMAL_NO_LIMIT (THERMAL_MAX_LIMIT-3)>; }; skin_cpu2 { trip = <&quiet_cpus_439_trip>; cooling-device = <&CPU2 THERMAL_NO_LIMIT (THERMAL_MAX_LIMIT-3)>; }; skin_cpu3 { trip = <&quiet_cpus_439_trip>; cooling-device = <&CPU3 THERMAL_NO_LIMIT (THERMAL_MAX_LIMIT-3)>; }; modem_proc_lvl1 { trip = <&quiet_modem_439_trip1>; cooling-device = <&modem_proc 1 1>; }; modem_proc_lvl2 { trip = <&quiet_modem_439_trip4>; cooling-device = <&modem_proc 3 3>; }; modem_lvl1 { trip = <&quiet_modem_439_trip2>; cooling-device = <&modem_pa 1 1>; }; modem_lvl2 { trip = <&quiet_modem_439_trip3>; cooling-device = <&modem_pa 2 2>; }; modem_lvl3 { trip = <&quiet_modem_439_trip4>; cooling-device = <&modem_pa 3 3>; }; battery_lvl1 { trip = <&quiet_batt_439_trip1>; cooling-device = <&pm660_charger 1 1>; }; battery_lvl2 { trip = <&quiet_batt_439_trip2>; cooling-device = <&pm660_charger 2 2>; }; battery_lvl3 { trip = <&quiet_batt_439_trip3>; cooling-device = <&pm660_charger 3 3>; }; battery_lvl4 { trip = <&quiet_batt_439_trip4>; cooling-device = <&pm660_charger 4 4>; }; battery_lvl5 { trip = <&quiet_batt_439_trip5>; cooling-device = <&pm660_charger 5 5>; }; battery_lvl6 { trip = <&quiet_batt_439_trip6>; cooling-device = <&pm660_charger 6 6>; }; }; }; }; &usb_otg { Loading Loading
arch/arm64/boot/dts/qcom/pm660.dtsi +100 −0 Original line number Diff line number Diff line Loading @@ -551,6 +551,106 @@ }; &thermal_zones { ibat-high { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "step_wise"; thermal-sensors = <&bcl_sensor 0>; wake-capable-sensor; trips { ibat-high { temperature = <4200>; hysteresis = <200>; type = "passive"; }; }; }; ibat-vhigh { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "step_wise"; thermal-sensors = <&bcl_sensor 1>; wake-capable-sensor; trips { ibat-vhigh { temperature = <4300>; hysteresis = <100>; type = "passive"; }; }; }; vbat_adc { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_cap"; thermal-sensors = <&bcl_sensor 2>; wake-capable-sensor; tracks-low; trips { pm660_vbat_adc: vbat-adc { temperature = <3200>; hysteresis = <100>; type = "passive"; }; }; }; vbat_low { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_cap"; thermal-sensors = <&bcl_sensor 3>; wake-capable-sensor; tracks-low; trips { vbat-low { temperature = <2800>; hysteresis = <0>; type = "passive"; }; }; }; vbat_too_low { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_cap"; thermal-sensors = <&bcl_sensor 4>; wake-capable-sensor; tracks-low; trips { vbat-too-low { temperature = <2600>; hysteresis = <0>; type = "passive"; }; }; }; soc { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_cap"; thermal-sensors = <&bcl_sensor 5>; wake-capable-sensor; tracks-low; trips { pm660_low_soc: low-soc { temperature = <10>; hysteresis = <0>; type = "passive"; }; }; }; pm660_temp_alarm: pm660-tz { polling-delay-passive = <0>; polling-delay = <0>; Loading
arch/arm64/boot/dts/qcom/sdm429-thermal.dtsi 0 → 100644 +706 −0 Original line number Diff line number Diff line /* Copyright (c) 2018-2020, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and * only version 2 as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ #include <dt-bindings/thermal/thermal.h> &soc { qmi-tmd-devices { compatible = "qcom,qmi-cooling-devices"; modem { qcom,instance-id = <0x0>; modem_pa: modem_pa { qcom,qmi-dev-name = "pa"; #cooling-cells = <2>; }; modem_proc: modem_proc { qcom,qmi-dev-name = "modem"; #cooling-cells = <2>; }; modem_current: modem_current { qcom,qmi-dev-name = "modem_current"; #cooling-cells = <2>; }; modem_vdd: modem_vdd { qcom,qmi-dev-name = "cpuv_restriction_cold"; #cooling-cells = <2>; }; }; }; }; &thermal_zones { aoss0-usr { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "user_space"; thermal-sensors = <&tsens0 0>; wake-capable-sensor; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; }; }; mdm-core-usr { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "user_space"; thermal-sensors = <&tsens0 1>; wake-capable-sensor; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; }; }; lpass-usr { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "user_space"; thermal-sensors = <&tsens0 2>; wake-capable-sensor; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; }; }; camera-usr { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "user_space"; thermal-sensors = <&tsens0 3>; wake-capable-sensor; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; }; }; cpuss1-usr { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 4>; thermal-governor = "user_space"; wake-capable-sensor; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; }; }; apc1-cpu0-usr { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 5>; thermal-governor = "user_space"; wake-capable-sensor; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; }; }; apc1-cpu1-usr { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 6>; thermal-governor = "user_space"; wake-capable-sensor; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; }; }; apc1-cpu2-usr { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 7>; thermal-governor = "user_space"; wake-capable-sensor; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; }; }; apc1-cpu3-usr { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 8>; thermal-governor = "user_space"; wake-capable-sensor; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; }; }; cpuss0-usr { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 9>; thermal-governor = "user_space"; wake-capable-sensor; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; }; }; gpu-usr { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 10>; thermal-governor = "user_space"; wake-capable-sensor; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; }; }; gpu-step { polling-delay-passive = <250>; polling-delay = <0>; thermal-sensors = <&tsens0 10>; thermal-governor = "step_wise"; wake-capable-sensor; trips { gpu_step_trip: gpu-step-trip { temperature = <95000>; hysteresis = <0>; type = "passive"; }; }; cooling-maps { gpu_cdev0 { trip = <&gpu_step_trip>; cooling-device = <&msm_gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; }; }; }; hexa-cpu-max-step { polling-delay-passive = <50>; polling-delay = <100>; thermal-governor = "step_wise"; wake-capable-sensor; trips { cpu_trip:cpu-trip { temperature = <85000>; hysteresis = <0>; type = "passive"; }; }; cooling-maps { cpu0_cdev { trip = <&cpu_trip>; cooling-device = <&CPU0 THERMAL_NO_LIMIT (THERMAL_MAX_LIMIT-1)>; }; cpu1_cdev { trip = <&cpu_trip>; cooling-device = <&CPU1 THERMAL_NO_LIMIT (THERMAL_MAX_LIMIT-1)>; }; cpu2_cdev { trip = <&cpu_trip>; cooling-device = <&CPU2 THERMAL_NO_LIMIT (THERMAL_MAX_LIMIT-1)>; }; cpu3_cdev { trip = <&cpu_trip>; cooling-device = <&CPU3 THERMAL_NO_LIMIT (THERMAL_MAX_LIMIT-1)>; }; }; }; apc1-cpu0-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 5>; thermal-governor = "step_wise"; wake-capable-sensor; trips { apc1_cpu0_trip: apc1-cpu0-trip { temperature = <105000>; hysteresis = <15000>; type = "passive"; }; }; cooling-maps { cpu0_cdev { trip = <&apc1_cpu0_trip>; cooling-device = <&CPU0 THERMAL_MAX_LIMIT THERMAL_MAX_LIMIT>; }; }; }; apc1-cpu1-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 6>; thermal-governor = "step_wise"; wake-capable-sensor; trips { apc1_cpu1_trip: apc1-cpu1-trip { temperature = <105000>; hysteresis = <15000>; type = "passive"; }; }; cooling-maps { cpu1_cdev { trip = <&apc1_cpu1_trip>; cooling-device = <&CPU1 THERMAL_MAX_LIMIT THERMAL_MAX_LIMIT>; }; }; }; apc1-cpu2-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 7>; thermal-governor = "step_wise"; wake-capable-sensor; trips { apc1_cpu2_trip: apc1-cpu2-trip { temperature = <105000>; hysteresis = <15000>; type = "passive"; }; }; cooling-maps { cpu2_cdev { trip = <&apc1_cpu2_trip>; cooling-device = <&CPU2 THERMAL_MAX_LIMIT THERMAL_MAX_LIMIT>; }; }; }; apc1-cpu3-step { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&tsens0 8>; thermal-governor = "step_wise"; wake-capable-sensor; trips { apc1_cpu3_trip: apc1-cpu3-trip { temperature = <105000>; hysteresis = <15000>; type = "passive"; }; }; cooling-maps { cpu3_cdev { trip = <&apc1_cpu3_trip>; cooling-device = <&CPU3 THERMAL_MAX_LIMIT THERMAL_MAX_LIMIT>; }; }; }; aoss0-lowf { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_floor"; thermal-sensors = <&tsens0 0>; wake-capable-sensor; tracks-low; trips { aoss0_trip: aoss-trip { temperature = <5000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { cpu0_vdd_cdev { trip = <&aoss0_trip>; cooling-device = <&CPU0 (THERMAL_MAX_LIMIT-2) (THERMAL_MAX_LIMIT-2)>; }; cx_vdd_cdev { trip = <&aoss0_trip>; cooling-device = <&pm660_cx_cdev 0 0>; }; modem_vdd_cdev { trip = <&aoss0_trip>; cooling-device = <&modem_vdd 0 0>; }; }; }; mdm-core-lowf { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_floor"; thermal-sensors = <&tsens0 1>; wake-capable-sensor; tracks-low; trips { mdm_core_trip: mdm-core-trip { temperature = <5000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { cpu0_vdd_cdev { trip = <&mdm_core_trip>; cooling-device = <&CPU0 (THERMAL_MAX_LIMIT-2) (THERMAL_MAX_LIMIT-2)>; }; cx_vdd_cdev { trip = <&mdm_core_trip>; cooling-device = <&pm660_cx_cdev 0 0>; }; modem_vdd_cdev { trip = <&mdm_core_trip>; cooling-device = <&modem_vdd 0 0>; }; }; }; lpass-lowf { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_floor"; thermal-sensors = <&tsens0 2>; wake-capable-sensor; tracks-low; trips { qdsp_trip: qdsp-trip { temperature = <5000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { cpu0_vdd_cdev { trip = <&qdsp_trip>; cooling-device = <&CPU0 (THERMAL_MAX_LIMIT-2) (THERMAL_MAX_LIMIT-2)>; }; cx_vdd_cdev { trip = <&qdsp_trip>; cooling-device = <&pm660_cx_cdev 0 0>; }; modem_vdd_cdev { trip = <&qdsp_trip>; cooling-device = <&modem_vdd 0 0>; }; }; }; camera-lowf { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_floor"; thermal-sensors = <&tsens0 3>; wake-capable-sensor; tracks-low; trips { camera_trip: camera-trip { temperature = <5000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { cpu0_vdd_cdev { trip = <&camera_trip>; cooling-device = <&CPU0 (THERMAL_MAX_LIMIT-2) (THERMAL_MAX_LIMIT-2)>; }; cx_vdd_cdev { trip = <&camera_trip>; cooling-device = <&pm660_cx_cdev 0 0>; }; modem_vdd_cdev { trip = <&camera_trip>; cooling-device = <&modem_vdd 0 0>; }; }; }; cpuss1-lowf { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_floor"; thermal-sensors = <&tsens0 4>; wake-capable-sensor; tracks-low; trips { cpuss1_trip: cpuss1-trip { temperature = <5000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { cpu0_vdd_cdev { trip = <&cpuss1_trip>; cooling-device = <&CPU0 (THERMAL_MAX_LIMIT-2) (THERMAL_MAX_LIMIT-2)>; }; cx_vdd_cdev { trip = <&cpuss1_trip>; cooling-device = <&pm660_cx_cdev 0 0>; }; modem_vdd_cdev { trip = <&cpuss1_trip>; cooling-device = <&modem_vdd 0 0>; }; }; }; apc1-cpu0-lowf { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_floor"; thermal-sensors = <&tsens0 5>; wake-capable-sensor; tracks-low; trips { cpu0_trip: apc1-cpu0-trip { temperature = <5000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { cpu0_vdd_cdev { trip = <&cpu0_trip>; cooling-device = <&CPU0 (THERMAL_MAX_LIMIT-2) (THERMAL_MAX_LIMIT-2)>; }; cx_vdd_cdev { trip = <&cpu0_trip>; cooling-device = <&pm660_cx_cdev 0 0>; }; modem_vdd_cdev { trip = <&cpu0_trip>; cooling-device = <&modem_vdd 0 0>; }; }; }; apc1-cpu1-lowf { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_floor"; thermal-sensors = <&tsens0 6>; wake-capable-sensor; tracks-low; trips { cpu1_trip: apc1-cpu1-trip { temperature = <5000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { cpu0_vdd_cdev { trip = <&cpu1_trip>; cooling-device = <&CPU0 (THERMAL_MAX_LIMIT-2) (THERMAL_MAX_LIMIT-2)>; }; cx_vdd_cdev { trip = <&cpu1_trip>; cooling-device = <&pm660_cx_cdev 0 0>; }; modem_vdd_cdev { trip = <&cpu1_trip>; cooling-device = <&modem_vdd 0 0>; }; }; }; apc1-cpu2-lowf { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_floor"; thermal-sensors = <&tsens0 7>; wake-capable-sensor; tracks-low; trips { cpu2_trip: apc1-cpu2-trip { temperature = <5000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { cpu0_vdd_cdev { trip = <&cpu2_trip>; cooling-device = <&CPU0 (THERMAL_MAX_LIMIT-2) (THERMAL_MAX_LIMIT-2)>; }; cx_vdd_cdev { trip = <&cpu2_trip>; cooling-device = <&pm660_cx_cdev 0 0>; }; modem_vdd_cdev { trip = <&cpu2_trip>; cooling-device = <&modem_vdd 0 0>; }; }; }; apc1-cpu3-lowf { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_floor"; thermal-sensors = <&tsens0 8>; wake-capable-sensor; tracks-low; trips { cpu3_trip: apc1-cpu3-trip { temperature = <5000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { cpu0_vdd_cdev { trip = <&cpu3_trip>; cooling-device = <&CPU0 (THERMAL_MAX_LIMIT-2) (THERMAL_MAX_LIMIT-2)>; }; cx_vdd_cdev { trip = <&cpu3_trip>; cooling-device = <&pm660_cx_cdev 0 0>; }; modem_vdd_cdev { trip = <&cpu3_trip>; cooling-device = <&modem_vdd 0 0>; }; }; }; cpuss0-lowf { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_floor"; thermal-sensors = <&tsens0 9>; wake-capable-sensor; tracks-low; trips { cpuss0_lowf_trip: cpuss0-lowf-trip { temperature = <5000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { cpu0_vdd_cdev { trip = <&cpuss0_lowf_trip>; cooling-device = <&CPU0 (THERMAL_MAX_LIMIT-2) (THERMAL_MAX_LIMIT-2)>; }; cx_vdd_cdev { trip = <&cpuss0_lowf_trip>; cooling-device = <&pm660_cx_cdev 0 0>; }; modem_vdd_cdev { trip = <&cpuss0_lowf_trip>; cooling-device = <&modem_vdd 0 0>; }; }; }; gpu-lowf { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "low_limits_floor"; thermal-sensors = <&tsens0 10>; wake-capable-sensor; tracks-low; trips { gpu_lowf_trip: gpu-lowf-trip { temperature = <5000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { cpu0_vdd_cdev { trip = <&gpu_lowf_trip>; cooling-device = <&CPU0 (THERMAL_MAX_LIMIT-2) (THERMAL_MAX_LIMIT-2)>; }; cx_vdd_cdev { trip = <&gpu_lowf_trip>; cooling-device = <&pm660_cx_cdev 0 0>; }; modem_vdd_cdev { trip = <&gpu_lowf_trip>; cooling-device = <&modem_vdd 0 0>; }; }; }; };
arch/arm64/boot/dts/qcom/sdm429.dtsi +12 −0 Original line number Diff line number Diff line Loading @@ -1420,6 +1420,17 @@ < 1708800 MHZ_TO_MBPS( 749, 8) >; }; tsens0: tsens@4a8000 { compatible = "qcom,msm8937-tsens"; reg = <0x4a8000 0x1000>, <0x4a9000 0x1000>, <0xa4000 0x1000>; reg-names = "tsens_srot_physical", "tsens_tm_physical", "tsens_eeprom_physical"; interrupts = <0 184 0>; interrupt-names = "tsens-upper-lower"; #thermal-sensor-cells = <1>; }; }; #include "sdm429-gdsc.dtsi" Loading @@ -1428,6 +1439,7 @@ #include "sdm429-mdss.dtsi" #include "sdm429-mdss-pll.dtsi" #include "sdm429-audio.dtsi" #include "sdm429-thermal.dtsi" &venus_gdsc { clock-names = "bus_clk", "core_clk"; Loading
arch/arm64/boot/dts/qcom/sdm429w-pm660.dtsi +160 −0 Original line number Diff line number Diff line Loading @@ -165,6 +165,8 @@ }; }; #include <dt-bindings/thermal/thermal.h> &thermal_zones { xo-therm-adc { polling-delay-passive = <0>; Loading Loading @@ -245,6 +247,164 @@ }; }; }; quiet-therm-step { polling-delay-passive = <1000>; polling-delay = <0>; thermal-sensors = <&pm660_adc_tm 0x51>; thermal-governor = "step_wise"; wake-capable-sensor; trips { quiet_batt_439_trip1: quiet-batt-trip1 { temperature = <38000>; hysteresis = <2000>; type = "passive"; }; quiet_batt_439_trip2: quiet-batt-trip2 { temperature = <40000>; hysteresis = <2000>; type = "passive"; }; quiet_batt_439_trip3: quiet-batt-trip3 { temperature = <42000>; hysteresis = <2000>; type = "passive"; }; quiet_batt_439_trip4: quiet-batt-trip4 { temperature = <44000>; hysteresis = <2000>; type = "passive"; }; quiet_modem_439_trip1: quiet-modem-trip0 { temperature = <44000>; hysteresis = <4000>; type = "passive"; }; quiet_modem_439_trip2: quiet-modem-trip1 { temperature = <46000>; hysteresis = <4000>; type = "passive"; }; quiet_batt_439_trip5: quiet-batt-trip5 { temperature = <46000>; hysteresis = <2000>; type = "passive"; }; quiet_modem_439_trip3: quiet-modem-trp3 { temperature = <48000>; hysteresis = <2000>; type = "passive"; }; quiet_cpus_439_trip: quiet-cpus-trip { temperature = <48000>; hysteresis = <0>; type = "passive"; }; quiet_batt_439_trip6: quiet-batt-trip6 { temperature = <55000>; hysteresis = <2000>; type = "passive"; }; quiet_modem_439_trip4: quiet-modem-trip3 { temperature = <55000>; hysteresis = <5000>; type = "passive"; }; }; cooling-maps { skin_cpu0 { trip = <&quiet_cpus_439_trip>; /* throttle from fmax to 1497600KHz */ cooling-device = <&CPU0 THERMAL_NO_LIMIT (THERMAL_MAX_LIMIT-3)>; }; skin_cpu1 { trip = <&quiet_cpus_439_trip>; cooling-device = <&CPU1 THERMAL_NO_LIMIT (THERMAL_MAX_LIMIT-3)>; }; skin_cpu2 { trip = <&quiet_cpus_439_trip>; cooling-device = <&CPU2 THERMAL_NO_LIMIT (THERMAL_MAX_LIMIT-3)>; }; skin_cpu3 { trip = <&quiet_cpus_439_trip>; cooling-device = <&CPU3 THERMAL_NO_LIMIT (THERMAL_MAX_LIMIT-3)>; }; modem_proc_lvl1 { trip = <&quiet_modem_439_trip1>; cooling-device = <&modem_proc 1 1>; }; modem_proc_lvl2 { trip = <&quiet_modem_439_trip4>; cooling-device = <&modem_proc 3 3>; }; modem_lvl1 { trip = <&quiet_modem_439_trip2>; cooling-device = <&modem_pa 1 1>; }; modem_lvl2 { trip = <&quiet_modem_439_trip3>; cooling-device = <&modem_pa 2 2>; }; modem_lvl3 { trip = <&quiet_modem_439_trip4>; cooling-device = <&modem_pa 3 3>; }; battery_lvl1 { trip = <&quiet_batt_439_trip1>; cooling-device = <&pm660_charger 1 1>; }; battery_lvl2 { trip = <&quiet_batt_439_trip2>; cooling-device = <&pm660_charger 2 2>; }; battery_lvl3 { trip = <&quiet_batt_439_trip3>; cooling-device = <&pm660_charger 3 3>; }; battery_lvl4 { trip = <&quiet_batt_439_trip4>; cooling-device = <&pm660_charger 4 4>; }; battery_lvl5 { trip = <&quiet_batt_439_trip5>; cooling-device = <&pm660_charger 5 5>; }; battery_lvl6 { trip = <&quiet_batt_439_trip6>; cooling-device = <&pm660_charger 6 6>; }; }; }; }; &usb_otg { Loading