Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 68b92868 authored by Ram Chandrasekar's avatar Ram Chandrasekar
Browse files

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
parent 89ec7264
Loading
Loading
Loading
Loading
+632 −0
Original line number Diff line number Diff line
#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";
			};
		};
	};
};
+230 −0
Original line number Diff line number Diff line
#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>;