diff --git a/qcom/sa6155.dtsi b/qcom/sa6155.dtsi index 33065727..027685ee 100644 --- a/qcom/sa6155.dtsi +++ b/qcom/sa6155.dtsi @@ -6,3 +6,181 @@ qcom,msm-name = "SA6155"; qcom,msm-id = <384 0x10000>; }; + +&thermal_zones { + cpuss-0 { + trips { + reset-mon-cfg { + temperature = <118000>; + }; + + cpu45-config { + temperature = <115000>; + }; + }; + }; + + cpuss-1 { + trips { + reset-mon-cfg { + temperature = <118000>; + }; + + cpu23-config { + temperature = <115000>; + }; + }; + }; + + cpuss-2 { + trips { + reset-mon-cfg { + temperature = <118000>; + }; + + cpu01-config { + temperature = <115000>; + }; + }; + }; + + cpu-1-0 { + trips { + reset-mon-cfg { + temperature = <118000>; + }; + + cpu6-0-config { + temperature = <115000>; + }; + }; + }; + + cpu-1-1 { + trips { + reset-mon-cfg { + temperature = <118000>; + }; + + cpu6-1-config { + temperature = <115000>; + }; + }; + }; + + cpu-1-2 { + trips { + reset-mon-cfg { + temperature = <118000>; + }; + + cpu7-0-config { + temperature = <115000>; + }; + }; + }; + + cpu-1-3 { + trips { + reset-mon-cfg { + temperature = <118000>; + }; + + cpu7-1-config { + temperature = <115000>; + }; + }; + }; + + gpu { + trips { + reset-mon-cfg { + temperature = <118000>; + }; + + gpu-trip { + temperature = <105000>; + }; + + gpu-cx-mon { + temperature = <110000>; + }; + }; + }; + + q6-hvx { + trips { + reset-mon-cfg { + temperature = <118000>; + }; + + q6-hvx-trip1 { + temperature = <105000>; + }; + + q6-hvx-cx-mon { + temperature = <110000>; + }; + }; + }; + + mdm-core { + trips { + reset-mon-cfg { + temperature = <118000>; + }; + + mdm-core-cx-mon { + temperature = <110000>; + }; + }; + }; + + camera { + trips { + reset-mon-cfg { + temperature = <118000>; + }; + + camera-cx-mon { + temperature = <110000>; + }; + }; + }; + + wlan { + trips { + reset-mon-cfg { + temperature = <118000>; + }; + + wlan-cx-mon { + temperature = <110000>; + }; + }; + }; + + display { + trips { + reset-mon-cfg { + temperature = <118000>; + }; + + display-cx-mon { + temperature = <110000>; + }; + }; + }; + + video { + trips { + reset-mon-cfg { + temperature = <118000>; + }; + + video-cx-mon { + temperature = <110000>; + }; + }; + }; +}; diff --git a/qcom/sa6155p.dtsi b/qcom/sa6155p.dtsi index b77b5f81..8cbd9fdf 100644 --- a/qcom/sa6155p.dtsi +++ b/qcom/sa6155p.dtsi @@ -5,3 +5,181 @@ qcom,msm-name = "SA6155P"; qcom,msm-id = <377 0>, <380 0>; }; + +&thermal_zones { + cpuss-0 { + trips { + reset-mon-cfg { + temperature = <118000>; + }; + + cpu45-config { + temperature = <115000>; + }; + }; + }; + + cpuss-1 { + trips { + reset-mon-cfg { + temperature = <118000>; + }; + + cpu23-config { + temperature = <115000>; + }; + }; + }; + + cpuss-2 { + trips { + reset-mon-cfg { + temperature = <118000>; + }; + + cpu01-config { + temperature = <115000>; + }; + }; + }; + + cpu-1-0 { + trips { + reset-mon-cfg { + temperature = <118000>; + }; + + cpu6-0-config { + temperature = <115000>; + }; + }; + }; + + cpu-1-1 { + trips { + reset-mon-cfg { + temperature = <118000>; + }; + + cpu6-1-config { + temperature = <115000>; + }; + }; + }; + + cpu-1-2 { + trips { + reset-mon-cfg { + temperature = <118000>; + }; + + cpu7-0-config { + temperature = <115000>; + }; + }; + }; + + cpu-1-3 { + trips { + reset-mon-cfg { + temperature = <118000>; + }; + + cpu7-1-config { + temperature = <115000>; + }; + }; + }; + + gpu { + trips { + reset-mon-cfg { + temperature = <118000>; + }; + + gpu-trip { + temperature = <105000>; + }; + + gpu-cx-mon { + temperature = <110000>; + }; + }; + }; + + q6-hvx { + trips { + reset-mon-cfg { + temperature = <118000>; + }; + + q6-hvx-trip1 { + temperature = <105000>; + }; + + q6-hvx-cx-mon { + temperature = <110000>; + }; + }; + }; + + mdm-core { + trips { + reset-mon-cfg { + temperature = <118000>; + }; + + mdm-core-cx-mon { + temperature = <110000>; + }; + }; + }; + + camera { + trips { + reset-mon-cfg { + temperature = <118000>; + }; + + camera-cx-mon { + temperature = <110000>; + }; + }; + }; + + wlan { + trips { + reset-mon-cfg { + temperature = <118000>; + }; + + wlan-cx-mon { + temperature = <110000>; + }; + }; + }; + + display { + trips { + reset-mon-cfg { + temperature = <118000>; + }; + + display-cx-mon { + temperature = <110000>; + }; + }; + }; + + video { + trips { + reset-mon-cfg { + temperature = <118000>; + }; + + video-cx-mon { + temperature = <110000>; + }; + }; + }; +}; diff --git a/qcom/sm6150-thermal.dtsi b/qcom/sm6150-thermal.dtsi new file mode 100644 index 00000000..2843d2ed --- /dev/null +++ b/qcom/sm6150-thermal.dtsi @@ -0,0 +1,789 @@ +#include + +&soc { + tsens0: tsens@c222000 { + compatible = "qcom,sm6150-tsens"; + reg = <0xc222000 0x8>, + <0xc263000 0x1ff>; + reg-names = "tsens_srot_physical", + "tsens_tm_physical"; + interrupts = , + ; + interrupt-names = "tsens-upper-lower", "tsens-critical"; + tsens-reinit-wa; + #thermal-sensor-cells = <1>; + }; + + qcom,cpu-pause { + compatible = "qcom,thermal-pause"; + + cpu0_pause: cpu0-pause { + qcom,cpus = <&CPU0>; + #cooling-cells = <2>; + }; + + cpu1_pause: cpu1-pause { + qcom,cpus = <&CPU1>; + #cooling-cells = <2>; + }; + + cpu2_pause: cpu2-pause { + qcom,cpus = <&CPU2>; + #cooling-cells = <2>; + }; + + cpu3_pause: cpu3-pause { + qcom,cpus = <&CPU3>; + #cooling-cells = <2>; + }; + + cpu4_pause: cpu4-pause { + qcom,cpus = <&CPU4>; + #cooling-cells = <2>; + }; + + cpu5_pause: cpu5-pause { + qcom,cpus = <&CPU5>; + #cooling-cells = <2>; + }; + + cpu6_pause: cpu6-pause { + qcom,cpus = <&CPU6>; + #cooling-cells = <2>; + }; + + cpu7_pause: cpu7-pause { + qcom,cpus = <&CPU7>; + #cooling-cells = <2>; + }; + + cpu_0_1_pause: cpu-0-1-pause { + qcom,cpus = <&CPU0 &CPU1>; + #cooling-cells = <2>; + }; + + cpu_2_3_pause: cpu-2-3-pause { + qcom,cpus = <&CPU2 &CPU3>; + #cooling-cells = <2>; + }; + + cpu_4_5_pause: cpu-4-5-pause { + qcom,cpus = <&CPU4 &CPU5>; + #cooling-cells = <2>; + }; + + /* Thermal-engine cooling devices */ + pause-cpu0 { + qcom,cpus = <&CPU0>; + qcom,cdev-alias = "pause-cpu0"; + }; + + pause-cpu1 { + qcom,cpus = <&CPU1>; + qcom,cdev-alias = "pause-cpu1"; + }; + + pause-cpu2 { + qcom,cpus = <&CPU2>; + qcom,cdev-alias = "pause-cpu2"; + }; + + pause-cpu3 { + qcom,cpus = <&CPU3>; + qcom,cdev-alias = "pause-cpu3"; + }; + + pause-cpu4 { + qcom,cpus = <&CPU4>; + qcom,cdev-alias = "pause-cpu4"; + }; + + pause-cpu5 { + qcom,cpus = <&CPU5>; + qcom,cdev-alias = "pause-cpu5"; + }; + + pause-cpu6 { + qcom,cpus = <&CPU6>; + qcom,cdev-alias = "pause-cpu6"; + }; + + pause-cpu7 { + qcom,cpus = <&CPU7>; + qcom,cdev-alias = "pause-cpu7"; + }; + }; + + qcom,cpu-hotplug { + compatible = "qcom,cpu-hotplug"; + + cpu0_hotplug: cpu0-hotplug { + qcom,cpu = <&CPU0>; + #cooling-cells = <2>; + }; + + cpu1_hotplug: cpu1-hotplug { + qcom,cpu = <&CPU1>; + #cooling-cells = <2>; + }; + + cpu2_hotplug: cpu2-hotplug { + qcom,cpu = <&CPU2>; + #cooling-cells = <2>; + }; + + cpu3_hotplug: cpu3-hotplug { + qcom,cpu = <&CPU3>; + #cooling-cells = <2>; + }; + + cpu4_hotplug: cpu4-hotplug { + qcom,cpu = <&CPU4>; + #cooling-cells = <2>; + }; + + cpu5_hotplug: cpu5-hotplug { + qcom,cpu = <&CPU5>; + #cooling-cells = <2>; + }; + + cpu6_hotplug: cpu6-hotplug { + qcom,cpu = <&CPU6>; + #cooling-cells = <2>; + }; + + cpu7_hotplug: cpu7-hotplug { + qcom,cpu = <&CPU7>; + #cooling-cells = <2>; + }; + }; + + qmi-tmd-devices { + compatible = "qcom,qmi-cooling-devices"; + + modem { + qcom,instance-id = ; + + 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_skin: modem_skin { + qcom,qmi-dev-name = "modem_skin"; + #cooling-cells = <2>; + }; + + modem_vdd: modem_vdd { + qcom,qmi-dev-name = "cpuv_restriction_cold"; + #cooling-cells = <2>; + }; + }; + + adsp { + qcom,instance-id = ; + + adsp_vdd: adsp_vdd { + qcom,qmi-dev-name = "cpuv_restriction_cold"; + #cooling-cells = <2>; + }; + }; + + cdsp { + qcom,instance-id = ; + + cdsp_vdd: cdsp_vdd { + qcom,qmi-dev-name = "cpuv_restriction_cold"; + #cooling-cells = <2>; + }; + }; + }; +}; + +&thermal_zones { + aoss { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&tsens0 0>; + trips { + thermal-engine-config { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + + reset-mon-cfg { + temperature = <115000>; + hysteresis = <5000>; + type = "passive"; + }; + }; + }; + + gpu { + polling-delay-passive = <10>; + polling-delay = <0>; + thermal-sensors = <&tsens0 9>; + trips { + thermal-engine-config { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + + thermal-hal-config { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + + reset-mon-cfg { + temperature = <115000>; + hysteresis = <5000>; + type = "passive"; + }; + + gpu_trip: gpu-trip { + temperature = <95000>; + hysteresis = <0>; + type = "passive"; + }; + + gpu_cx_mon: gpu-cx-mon { + temperature = <100000>; + hysteresis = <5000>; + type = "passive"; + }; + }; + + cooling-maps { + gpu-cx-cdev1 { + trip = <&gpu_cx_mon>; + cooling-device = <&modem_proc 3 3>; + }; + + gpu-cx-cdev2 { + trip = <&gpu_cx_mon>; + cooling-device = <&modem_pa 3 3>; + }; + }; + }; + + cpuss-0 { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&tsens0 1>; + trips { + thermal-engine-config { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + + reset-mon-cfg { + temperature = <115000>; + hysteresis = <5000>; + type = "passive"; + }; + + cpu45_config: cpu45-config { + temperature = <110000>; + hysteresis = <10000>; + type = "passive"; + }; + }; + + cooling-maps { + cpu45_cdev { + trip = <&cpu45_config>; + cooling-device = <&cpu_4_5_pause 1 1>; + }; + }; + }; + + cpuss-1 { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&tsens0 2>; + trips { + thermal-engine-config { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + + reset-mon-cfg { + temperature = <115000>; + hysteresis = <5000>; + type = "passive"; + }; + + cpu23_config: cpu23-config { + temperature = <110000>; + hysteresis = <10000>; + type = "passive"; + }; + }; + + cooling-maps { + cpu23_cdev { + trip = <&cpu23_config>; + cooling-device = <&cpu_2_3_pause 1 1>; + }; + }; + }; + + cpuss-2 { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&tsens0 3>; + trips { + thermal-engine-config { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + + reset-mon-cfg { + temperature = <115000>; + hysteresis = <5000>; + type = "passive"; + }; + + cpu01_config: cpu01-config { + temperature = <110000>; + hysteresis = <10000>; + type = "passive"; + }; + }; + + cooling-maps { + cpu01_cdev { + trip = <&cpu01_config>; + cooling-device = <&cpu_0_1_pause 1 1>; + }; + }; + }; + + cpuss-3 { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&tsens0 4>; + trips { + thermal-engine-config { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + + reset-mon-cfg { + temperature = <115000>; + hysteresis = <5000>; + type = "passive"; + }; + }; + }; + + cpu-1-0 { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&tsens0 5>; + trips { + thermal-engine-config { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + + thermal-hal-config { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + + reset-mon-cfg { + temperature = <115000>; + hysteresis = <5000>; + type = "passive"; + }; + + cpu6_0_config: cpu6-0-config { + temperature = <110000>; + hysteresis = <10000>; + type = "passive"; + }; + }; + + cooling-maps { + cpu6_cdev { + trip = <&cpu6_0_config>; + cooling-device = <&cpu6_pause 1 1>; + }; + }; + }; + + cpu-1-1 { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&tsens0 6>; + trips { + thermal-engine-config { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + + thermal-hal-config { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + + reset-mon-cfg { + temperature = <115000>; + hysteresis = <5000>; + type = "passive"; + }; + + cpu6_1_config: cpu6-1-config { + temperature = <110000>; + hysteresis = <10000>; + type = "passive"; + }; + }; + + cooling-maps { + cpu6_cdev { + trip = <&cpu6_1_config>; + cooling-device = <&cpu6_pause 1 1>; + }; + }; + }; + + cpu-1-2 { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&tsens0 7>; + trips { + thermal-engine-config { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + + thermal-hal-config { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + + reset-mon-cfg { + temperature = <115000>; + hysteresis = <5000>; + type = "passive"; + }; + + cpu7_0_config: cpu7-0-config { + temperature = <110000>; + hysteresis = <10000>; + type = "passive"; + }; + }; + + cooling-maps { + cpu7_cdev { + trip = <&cpu7_0_config>; + cooling-device = <&cpu7_pause 1 1>; + }; + }; + }; + + cpu-1-3 { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&tsens0 8>; + trips { + thermal-engine-config { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + + thermal-hal-config { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + + reset-mon-cfg { + temperature = <115000>; + hysteresis = <5000>; + type = "passive"; + }; + + cpu7_1_config: cpu7-1-config { + temperature = <110000>; + hysteresis = <10000>; + type = "passive"; + }; + }; + + cooling-maps { + cpu7_cdev { + trip = <&cpu7_1_config>; + cooling-device = <&cpu7_pause 1 1>; + }; + }; + }; + + + q6-hvx { + polling-delay-passive = <10>; + polling-delay = <0>; + thermal-sensors = <&tsens0 10>; + trips { + thermal-engine-config { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + + thermal-hal-config { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + + reset-mon-cfg { + temperature = <115000>; + hysteresis = <5000>; + type = "passive"; + }; + + q6_hvx_therm: q6-hvx-trip1 { + temperature = <95000>; + hysteresis = <0>; + type = "passive"; + }; + + q6_hvx_cx_mon: q6-hvx-cx-mon { + temperature = <100000>; + hysteresis = <5000>; + type = "passive"; + }; + }; + + cooling-maps { + hvx-cx-cdev1 { + trip = <&q6_hvx_cx_mon>; + cooling-device = <&modem_proc 3 3>; + }; + + hvx-cx-cdev2 { + trip = <&q6_hvx_cx_mon>; + cooling-device = <&modem_pa 3 3>; + }; + }; + }; + + mdm-core { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&tsens0 11>; + trips { + thermal-engine-config { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + + thermal-hal-config { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + + reset-mon-cfg { + temperature = <115000>; + hysteresis = <5000>; + type = "passive"; + }; + + mdm_core_cx_mon: mdm-core-cx-mon { + temperature = <100000>; + hysteresis = <5000>; + type = "passive"; + }; + }; + + cooling-maps { + mdm-cx-cdev1 { + trip = <&mdm_core_cx_mon>; + cooling-device = <&modem_proc 3 3>; + }; + + mdm-cx-cdev2 { + trip = <&mdm_core_cx_mon>; + cooling-device = <&modem_pa 3 3>; + }; + }; + }; + + camera { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&tsens0 12>; + trips { + thermal-engine-config { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + + reset-mon-cfg { + temperature = <115000>; + hysteresis = <5000>; + type = "passive"; + }; + + camera_cx_mon: camera-cx-mon { + temperature = <100000>; + hysteresis = <5000>; + type = "passive"; + }; + }; + + cooling-maps { + camera-cx-cdev1 { + trip = <&camera_cx_mon>; + cooling-device = <&modem_proc 3 3>; + }; + + camera-cx-cdev2 { + trip = <&camera_cx_mon>; + cooling-device = <&modem_pa 3 3>; + }; + }; + }; + + wlan { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&tsens0 13>; + trips { + thermal-engine-config { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + + reset-mon-cfg { + temperature = <115000>; + hysteresis = <5000>; + type = "passive"; + }; + + wlan_cx_mon: wlan-cx-mon { + temperature = <100000>; + hysteresis = <5000>; + type = "passive"; + }; + }; + + cooling-maps { + wlan-cx-cdev1 { + trip = <&wlan_cx_mon>; + cooling-device = <&modem_proc 3 3>; + }; + + wlan-cx-cdev2 { + trip = <&wlan_cx_mon>; + cooling-device = <&modem_pa 3 3>; + }; + }; + }; + + display { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&tsens0 14>; + trips { + thermal-engine-config { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + + reset-mon-cfg { + temperature = <115000>; + hysteresis = <5000>; + type = "passive"; + }; + + dispaly_cx_mon: display-cx-mon { + temperature = <100000>; + hysteresis = <5000>; + type = "passive"; + }; + }; + + cooling-maps { + display-cx-cdev1 { + trip = <&dispaly_cx_mon>; + cooling-device = <&modem_proc 3 3>; + }; + + display-cx-cdev2 { + trip = <&dispaly_cx_mon>; + cooling-device = <&modem_pa 3 3>; + }; + }; + }; + + video { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&tsens0 15>; + trips { + thermal-engine-config { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + + reset-mon-cfg { + temperature = <115000>; + hysteresis = <5000>; + type = "passive"; + }; + + video_cx_mon: video-cx-mon { + temperature = <100000>; + hysteresis = <5000>; + type = "passive"; + }; + }; + + cooling-maps { + video-cx-cdev1 { + trip = <&video_cx_mon>; + cooling-device = <&modem_proc 3 3>; + }; + + video-cx-cdev2 { + trip = <&video_cx_mon>; + cooling-device = <&modem_pa 3 3>; + }; + }; + }; +}; diff --git a/qcom/sm6150.dtsi b/qcom/sm6150.dtsi index 3823f62f..9080eff5 100644 --- a/qcom/sm6150.dtsi +++ b/qcom/sm6150.dtsi @@ -33,6 +33,7 @@ i-cache-size = <0x8000>; d-cache-size = <0x8000>; next-level-cache = <&L2_0>; + #cooling-cells = <2>; L2_0: l2-cache { compatible = "arm,arch-cache"; cache-size = <0x10000>; @@ -160,6 +161,7 @@ i-cache-size = <0x10000>; d-cache-size = <0x10000>; next-level-cache = <&L2_600>; + #cooling-cells = <2>; L2_600: l2-cache { compatible = "arm,arch-cache"; cache-size = <0x40000>; @@ -696,6 +698,9 @@ qcom,rtb-size = <0x100000>; }; + thermal_zones: thermal-zones { + }; + qupv3_id_1: geniqup@8c0000 { compatible = "qcom,geni-se-qup"; reg = <0xac0000 0x6000>; @@ -723,3 +728,4 @@ }; #include "sm6150-pinctrl.dtsi" +#include "sm6150-thermal.dtsi"