ARM: dts: msm: Add thermal configuration for sdxlemur

Add thermal configuration to,
1. enable all the modem QMI based sensors
2. add modem junction temperature rule
3. enable all the modem QMI based mitigation devices
4. add CPU junction temperature rule.

Change-Id: Ieb6cc3feaf81c74f9248aef47a79260af6d656e0
This commit is contained in:
Ram Chandrasekar 2021-04-23 10:34:08 -07:00
commit eda0bf7358
2 changed files with 862 additions and 0 deletions

View file

@ -0,0 +1,632 @@
#include <dt-bindings/thermal/thermal_qti.h>
&soc {
qmi-tmd-devices {
compatible = "qcom,qmi-cooling-devices";
modem {
qcom,instance-id = <QMI_MODEM_INST_ID>;
modem_lte_dsc: modem_lte_dsc {
qcom,qmi-dev-name = "modem_lte_dsc";
#cooling-cells = <2>;
};
modem_nr_dsc: modem_nr_dsc {
qcom,qmi-dev-name = "modem_nr_dsc";
#cooling-cells = <2>;
};
modem_nr_scg_dsc: modem_nr_scg_dsc {
qcom,qmi-dev-name = "modem_nr_scg_dsc";
#cooling-cells = <2>;
};
sdr0_lte_dsc: sdr0_lte_dsc {
qcom,qmi-dev-name = "sdr0_lte_dsc";
#cooling-cells = <2>;
};
sdr1_lte_dsc: sdr1_lte_dsc {
qcom,qmi-dev-name = "sdr1_lte_dsc";
#cooling-cells = <2>;
};
sdr0_nr_dsc: sdr0_nr_dsc {
qcom,qmi-dev-name = "sdr0_nr_dsc";
#cooling-cells = <2>;
};
sdr1_nr_dsc: sdr1_nr_dsc {
qcom,qmi-dev-name = "sdr1_nr_dsc";
#cooling-cells = <2>;
};
pa_sdr0_dsc: pa_sdr0_dsc {
qcom,qmi-dev-name = "pa_sdr0_dsc";
#cooling-cells = <2>;
};
pa_sdr1_dsc: pa_sdr1_dsc {
qcom,qmi-dev-name = "pa_sdr1_dsc";
#cooling-cells = <2>;
};
pa_fr1_sdr0_dsc: pa_fr1_sdr0_dsc {
qcom,qmi-dev-name = "pa_fr1_sdr0_dsc";
#cooling-cells = <2>;
};
pa_fr1_sdr1_dsc: pa_fr1_sdr1_dsc {
qcom,qmi-dev-name = "pa_fr1_sdr1_dsc";
#cooling-cells = <2>;
};
pa_fr1_sdr0_scg_dsc: pa_fr1_sdr0_scg_dsc {
qcom,qmi-dev-name = "pa_fr1_sdr0_scg_dsc";
#cooling-cells = <2>;
};
pa_fr1_sdr1_scg_dsc: pa_fr1_sdr1_scg_dsc {
qcom,qmi-dev-name = "pa_fr1_sdr1_scg_dsc";
#cooling-cells = <2>;
};
mmw0_dsc: mmw0_dsc {
qcom,qmi-dev-name = "mmw0_dsc";
#cooling-cells = <2>;
};
mmw1_dsc: mmw1_dsc {
qcom,qmi-dev-name = "mmw1_dsc";
#cooling-cells = <2>;
};
mmw2_dsc: mmw2_dsc {
qcom,qmi-dev-name = "mmw2_dsc";
#cooling-cells = <2>;
};
mmw3_dsc: mmw3_dsc {
qcom,qmi-dev-name = "mmw3_dsc";
#cooling-cells = <2>;
};
mmw_ul_throttling_dsc: mmw_ul_throttling_dsc {
qcom,qmi-dev-name = "mmw_ul_throttling_dsc";
#cooling-cells = <2>;
};
mmw_ific_dsc: mmw_ific_dsc {
qcom,qmi-dev-name = "mmw_ific_dsc";
#cooling-cells = <2>;
};
qmi_wlan: wlan {
qcom,qmi-dev-name = "wlan";
#cooling-cells = <2>;
};
wlan_bw: wlan_bw {
qcom,qmi-dev-name = "wlan_bw";
#cooling-cells = <2>;
};
modem_vdd: modem_vdd {
qcom,qmi-dev-name = "cpuv_restriction_cold";
#cooling-cells = <2>;
};
};
};
qmi_sensor: qmi-ts-sensors {
compatible = "qcom,qmi-sensors";
#thermal-sensor-cells = <1>;
modem {
qcom,instance-id = <QMI_MODEM_INST_ID>;
qcom,qmi-sensor-names = "pa",
"pa_1",
"qtm_therm",
"sys_therm1",
"sys_therm2",
"modem_bcl_warn",
"modem_tsens",
"modem_tsens1",
"sdr0_pa0",
"sdr0_pa1",
"sdr0_pa2",
"sdr0_pa3",
"sdr0_pa4",
"sdr0",
"sdr1_pa0",
"sdr1_pa1",
"sdr1_pa2",
"sdr1_pa3",
"sdr1_pa4",
"sdr1_pa5",
"sdr1",
"mmw0",
"mmw1",
"mmw2",
"mmw3",
"mmw_ific0";
};
};
};
&thermal_zones {
modem-lte-sub6-pa1 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&qmi_sensor
(QMI_MODEM_INST_ID+QMI_PA)>;
trips {
thermal-engine-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
thermal-hal-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
modem-lte-sub6 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&qmi_sensor
(QMI_MODEM_INST_ID+QMI_PA_1)>;
trips {
thermal-engine-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
thermal-hal-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
modem-beamer {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&qmi_sensor
(QMI_MODEM_INST_ID+QMI_QTM_THERM)>;
trips {
thermal-engine-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
thermal-hal-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
modem-wifi {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&qmi_sensor
(QMI_MODEM_INST_ID+QMI_SYS_THERM_1)>;
trips {
thermal-engine-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
thermal-hal-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
modem-ambient {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&qmi_sensor
(QMI_MODEM_INST_ID+QMI_SYS_THERM_2)>;
trips {
thermal-engine-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
thermal-hal-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
modem-bcl-warn {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&qmi_sensor
(QMI_MODEM_INST_ID+QMI_BCL_WARN)>;
trips {
thermal-engine-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
thermal-hal-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
modem-sdr0-pa0 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&qmi_sensor
(QMI_MODEM_INST_ID+QMI_SDR0_PA0)>;
trips {
thermal-engine-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
thermal-hal-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
modem-sdr0-pa1 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&qmi_sensor
(QMI_MODEM_INST_ID+QMI_SDR0_PA1)>;
trips {
thermal-engine-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
thermal-hal-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
modem-sdr0-pa2 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&qmi_sensor
(QMI_MODEM_INST_ID+QMI_SDR0_PA2)>;
trips {
thermal-engine-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
thermal-hal-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
modem-sdr0-pa3 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&qmi_sensor
(QMI_MODEM_INST_ID+QMI_SDR0_PA3)>;
trips {
thermal-engine-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
thermal-hal-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
modem-sdr0-pa4 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&qmi_sensor
(QMI_MODEM_INST_ID+QMI_SDR0_PA4)>;
trips {
thermal-engine-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
thermal-hal-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
modem-sdr0 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&qmi_sensor
(QMI_MODEM_INST_ID+QMI_SDR0)>;
trips {
thermal-engine-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
thermal-hal-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
modem-sdr1-pa0 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&qmi_sensor
(QMI_MODEM_INST_ID+QMI_SDR1_PA0)>;
trips {
thermal-engine-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
thermal-hal-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
modem-sdr1-pa1 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&qmi_sensor
(QMI_MODEM_INST_ID+QMI_SDR1_PA1)>;
trips {
thermal-engine-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
thermal-hal-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
modem-sdr1-pa2 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&qmi_sensor
(QMI_MODEM_INST_ID+QMI_SDR1_PA2)>;
trips {
thermal-engine-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
thermal-hal-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
modem-sdr1-pa3 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&qmi_sensor
(QMI_MODEM_INST_ID+QMI_SDR1_PA3)>;
trips {
thermal-engine-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
thermal-hal-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
modem-sdr1-pa4 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&qmi_sensor
(QMI_MODEM_INST_ID+QMI_SDR1_PA4)>;
trips {
thermal-engine-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
thermal-hal-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
modem-sdr1-pa5 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&qmi_sensor
(QMI_MODEM_INST_ID+QMI_SDR1_PA5)>;
trips {
thermal-engine-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
thermal-hal-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
modem-sdr1 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&qmi_sensor
(QMI_MODEM_INST_ID+QMI_SDR1)>;
trips {
thermal-engine-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
thermal-hal-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
modem-mmw0 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&qmi_sensor
(QMI_MODEM_INST_ID+QMI_MMW0)>;
trips {
thermal-engine-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
thermal-hal-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
modem-mmw1 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&qmi_sensor
(QMI_MODEM_INST_ID+QMI_MMW1)>;
trips {
thermal-engine-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
thermal-hal-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
modem-mmw2 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&qmi_sensor
(QMI_MODEM_INST_ID+QMI_MMW2)>;
trips {
thermal-engine-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
thermal-hal-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
modem-mmw3 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&qmi_sensor
(QMI_MODEM_INST_ID+QMI_MMW3)>;
trips {
thermal-engine-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
thermal-hal-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
modem-mmw-ific0 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&qmi_sensor
(QMI_MODEM_INST_ID+QMI_MMW_IFIC0)>;
trips {
thermal-engine-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
};

View file

@ -1,3 +1,5 @@
#include <dt-bindings/thermal/thermal_qti.h>
&soc {
tsens0: tsens@c222000 {
compatible = "qcom,tsens24xx";
@ -12,7 +14,235 @@
};
};
#include "sdxlemur-thermal-modem.dtsi"
&thermal_zones {
cpuss-0-step {
polling-delay-passive = <10>;
polling-delay = <0>;
thermal-governor = "step_wise";
thermal-sensors = <&tsens0 1>;
trips {
cpu_config: active-config0 {
temperature = <95000>;
hysteresis = <0>;
type = "passive";
};
};
cooling-maps {
cpu_cdev {
trip = <&cpu_config>;
cooling-device = <&CPU0 THERMAL_NO_LIMIT
THERMAL_NO_LIMIT>;
};
};
};
mdmss-1-step {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "step_wise";
thermal-sensors = <&tsens0 3>;
trips {
mdmss1_config0: mdmss1-config0 {
temperature = <95000>;
hysteresis = <5000>;
type = "passive";
};
mdmss1_config1: mdmss1-config1 {
temperature = <100000>;
hysteresis = <5000>;
type = "passive";
};
mdmss1_config2: mdmss1-config2 {
temperature = <105000>;
hysteresis = <5000>;
type = "passive";
};
};
cooling-maps {
lte_cdev0 {
trip = <&mdmss1_config0>;
cooling-device = <&modem_lte_dsc 7 7>;
};
nr_scg_cdev0 {
trip = <&mdmss1_config0>;
cooling-device = <&modem_nr_scg_dsc 2 2>;
};
nr_cdev0 {
trip = <&mdmss1_config0>;
cooling-device = <&modem_nr_dsc 4 4>;
};
lte_cdev1 {
trip = <&mdmss1_config1>;
cooling-device = <&modem_lte_dsc 8 8>;
};
nr_scg_cdev1 {
trip = <&mdmss1_config1>;
cooling-device = <&modem_nr_scg_dsc 10 10>;
};
nr_cdev1 {
trip = <&mdmss1_config1>;
cooling-device = <&modem_nr_dsc 6 6>;
};
lte_cdev2 {
trip = <&mdmss1_config2>;
cooling-device = <&modem_lte_dsc 255 255>;
};
nr_cdev2 {
trip = <&mdmss1_config2>;
cooling-device = <&modem_nr_dsc 255 255>;
};
};
};
mdmss-2-step {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "step_wise";
thermal-sensors = <&tsens0 4>;
trips {
mdmss2_config0: mdmss2-config0 {
temperature = <95000>;
hysteresis = <5000>;
type = "passive";
};
mdmss2_config1: mdmss2-config1 {
temperature = <100000>;
hysteresis = <5000>;
type = "passive";
};
mdmss2_config2: mdmss2-config2 {
temperature = <105000>;
hysteresis = <5000>;
type = "passive";
};
};
cooling-maps {
lte_cdev0 {
trip = <&mdmss2_config0>;
cooling-device = <&modem_lte_dsc 7 7>;
};
nr_scg_cdev0 {
trip = <&mdmss2_config0>;
cooling-device = <&modem_nr_scg_dsc 2 2>;
};
nr_cdev0 {
trip = <&mdmss2_config0>;
cooling-device = <&modem_nr_dsc 4 4>;
};
lte_cdev1 {
trip = <&mdmss2_config1>;
cooling-device = <&modem_lte_dsc 8 8>;
};
nr_scg_cdev1 {
trip = <&mdmss2_config1>;
cooling-device = <&modem_nr_scg_dsc 10 10>;
};
nr_cdev1 {
trip = <&mdmss2_config1>;
cooling-device = <&modem_nr_dsc 6 6>;
};
lte_cdev2 {
trip = <&mdmss2_config2>;
cooling-device = <&modem_lte_dsc 255 255>;
};
nr_cdev2 {
trip = <&mdmss2_config2>;
cooling-device = <&modem_nr_dsc 255 255>;
};
};
};
mdmss-3-step {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "step_wise";
thermal-sensors = <&tsens0 5>;
trips {
mdmss3_config0: mdmss3-config0 {
temperature = <95000>;
hysteresis = <5000>;
type = "passive";
};
mdmss3_config1: mdmss3-config1 {
temperature = <100000>;
hysteresis = <5000>;
type = "passive";
};
mdmss3_config2: mdmss3-config2 {
temperature = <105000>;
hysteresis = <5000>;
type = "passive";
};
};
cooling-maps {
lte_cdev0 {
trip = <&mdmss3_config0>;
cooling-device = <&modem_lte_dsc 7 7>;
};
nr_scg_cdev0 {
trip = <&mdmss3_config0>;
cooling-device = <&modem_nr_scg_dsc 2 2>;
};
nr_cdev0 {
trip = <&mdmss3_config0>;
cooling-device = <&modem_nr_dsc 4 4>;
};
lte_cdev1 {
trip = <&mdmss3_config1>;
cooling-device = <&modem_lte_dsc 8 8>;
};
nr_scg_cdev1 {
trip = <&mdmss3_config1>;
cooling-device = <&modem_nr_scg_dsc 10 10>;
};
nr_cdev1 {
trip = <&mdmss3_config1>;
cooling-device = <&modem_nr_dsc 6 6>;
};
lte_cdev2 {
trip = <&mdmss3_config2>;
cooling-device = <&modem_lte_dsc 255 255>;
};
nr_cdev2 {
trip = <&mdmss3_config2>;
cooling-device = <&modem_nr_dsc 255 255>;
};
};
};
aoss-0-usr {
polling-delay-passive = <0>;
polling-delay = <0>;