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

Commit 017c99cf authored by Ram Chandrasekar's avatar Ram Chandrasekar
Browse files

ARM: dts: msm: Add CPU thermal configuration for lahaina

Add CPU frequency and CPU isolation cooling device configuration. Add
thermal emergency mitigation configuration to mitigate CPU at high
temperatures for lahaina.

Change-Id: I2a168b279d883d8ee4644d5e1c269c9d76a25937
parent 68e82f77
Loading
Loading
Loading
Loading
+363 −29
Original line number Diff line number Diff line
#include <dt-bindings/thermal/thermal_qti.h>
#include "lahaina-thermal-modem.dtsi"

&cpufreq_hw {
	qcom,cpu-isolation {
		compatible = "qcom,cpu-isolate";
		cpu0_isolate: cpu0-isolate {
			qcom,cpu = <&CPU0>;
			#cooling-cells = <2>;
		};

		cpu1_isolate: cpu1-isolate {
			qcom,cpu = <&CPU1>;
			#cooling-cells = <2>;
		};

		cpu2_isolate: cpu2-isolate {
			qcom,cpu = <&CPU2>;
			#cooling-cells = <2>;
		};

		cpu3_isolate: cpu3-isolate {
			qcom,cpu = <&CPU3>;
			#cooling-cells = <2>;
		};

		cpu4_isolate: cpu4-isolate {
			qcom,cpu = <&CPU4>;
			#cooling-cells = <2>;
		};

		cpu5_isolate: cpu5-isolate {
			qcom,cpu = <&CPU5>;
			#cooling-cells = <2>;
		};

		cpu6_isolate: cpu6-isolate {
			qcom,cpu = <&CPU6>;
			#cooling-cells = <2>;
		};

		cpu7_isolate: cpu7-isolate {
			qcom,cpu = <&CPU7>;
			#cooling-cells = <2>;
		};
	};
};

&thermal_zones {
	aoss-0-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens0 0>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
@@ -28,7 +72,6 @@
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens0 1>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
@@ -49,7 +92,6 @@
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens0 2>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
@@ -70,7 +112,6 @@
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens0 3>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
@@ -91,7 +132,6 @@
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens0 4>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
@@ -112,7 +152,6 @@
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens0 5>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
@@ -133,7 +172,6 @@
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens0 6>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
@@ -154,7 +192,6 @@
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens0 7>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
@@ -175,7 +212,6 @@
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens0 8>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
@@ -196,7 +232,6 @@
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens0 9>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
@@ -217,7 +252,6 @@
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens0 10>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
@@ -238,7 +272,6 @@
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens0 11>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
@@ -259,7 +292,6 @@
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens0 12>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
@@ -280,7 +312,6 @@
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens0 13>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
@@ -301,7 +332,6 @@
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens0 14>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
@@ -322,7 +352,6 @@
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens1 0>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
@@ -343,7 +372,6 @@
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens1 1>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
@@ -364,7 +392,6 @@
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens1 2>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
@@ -385,7 +412,6 @@
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens1 3>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
@@ -406,7 +432,6 @@
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens1 4>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
@@ -427,7 +452,6 @@
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens1 5>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
@@ -448,7 +472,6 @@
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens1 6>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
@@ -469,7 +492,6 @@
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens1 7>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
@@ -490,7 +512,6 @@
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens1 8>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
@@ -511,7 +532,6 @@
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens1 9>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
@@ -532,7 +552,6 @@
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens1 10>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
@@ -553,7 +572,6 @@
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens1 11>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
@@ -574,7 +592,6 @@
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens1 12>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
@@ -595,7 +612,6 @@
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&tsens1 13>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
@@ -610,5 +626,323 @@
			};
		};
	};

	pop-mem-step {
		polling-delay-passive = <10>;
		polling-delay = <0>;
		thermal-sensors = <&tsens1 7>;
		thermal-governor = "step_wise";
		trips {
			pop_trip: pop-trip {
				temperature = <95000>;
				hysteresis = <0>;
				type = "passive";
			};
		};

		cooling-maps {
			pop_cdev4 {
				trip = <&pop_trip>;
				cooling-device =
					<&CPU4 THERMAL_NO_LIMIT
						THERMAL_NO_LIMIT>;
			};

			pop_cdev7 {
				trip = <&pop_trip>;
				cooling-device =
					<&CPU7 THERMAL_NO_LIMIT
						THERMAL_NO_LIMIT>;
			};
		};
	};

	cpu-0-0-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "step_wise";
		thermal-sensors = <&tsens0 1>;
		trips {
			cpu00_config: cpu00-config {
				temperature = <110000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpu00_cdev {
				trip = <&cpu00_config>;
				cooling-device = <&cpu0_isolate 1 1>;
			};
		};
	};

	cpu-0-1-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "step_wise";
		thermal-sensors = <&tsens0 2>;
		trips {
			cpu01_config: cpu01-config {
				temperature = <110000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpu01_cdev {
				trip = <&cpu01_config>;
				cooling-device = <&cpu1_isolate 1 1>;
			};
		};
	};

	cpu-0-2-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "step_wise";
		thermal-sensors = <&tsens0 3>;
		trips {
			cpu02_config: cpu02-config {
				temperature = <110000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpu02_cdev {
				trip = <&cpu02_config>;
				cooling-device = <&cpu2_isolate 1 1>;
			};
		};
	};

	cpu-0-3-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens0 4>;
		thermal-governor = "step_wise";
		trips {
			cpu03_config: cpu03-config {
				temperature = <110000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpu03_cdev {
				trip = <&cpu03_config>;
				cooling-device = <&cpu3_isolate 1 1>;
			};
		};
	};

	cpu-1-0-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens0 7>;
		thermal-governor = "step_wise";
		trips {
			cpu10_config: cpu10-config {
				temperature = <110000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpu10_cdev {
				trip = <&cpu10_config>;
				cooling-device = <&cpu4_isolate 1 1>;
			};

			cpu10_cdev1 {
				trip = <&cpu10_config>;
				cooling-device = <&CPU4 THERMAL_MAX_LIMIT
							THERMAL_MAX_LIMIT>;
			};
		};
	};

	cpu-1-1-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens0 8>;
		thermal-governor = "step_wise";
		trips {
			cpu11_config: cpu11-config {
				temperature = <110000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpu11_cdev {
				trip = <&cpu11_config>;
				cooling-device = <&cpu4_isolate 1 1>;
			};

			cpu11_cdev1 {
				trip = <&cpu11_config>;
				cooling-device = <&CPU4 THERMAL_MAX_LIMIT
							THERMAL_MAX_LIMIT>;
			};
		};
	};

	cpu-1-2-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens0 9>;
		thermal-governor = "step_wise";
		trips {
			cpu12_config: cpu12-config {
				temperature = <110000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpu12_cdev {
				trip = <&cpu12_config>;
				cooling-device = <&cpu5_isolate 1 1>;
			};

			cpu12_cdev1 {
				trip = <&cpu12_config>;
				cooling-device = <&CPU4 THERMAL_MAX_LIMIT
							THERMAL_MAX_LIMIT>;
			};
		};
	};

	cpu-1-3-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens0 10>;
		thermal-governor = "step_wise";
		trips {
			cpu13_config: cpu13-config {
				temperature = <110000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpu13_cdev {
				trip = <&cpu13_config>;
				cooling-device = <&cpu5_isolate 1 1>;
			};

			cpu13_cdev1 {
				trip = <&cpu13_config>;
				cooling-device = <&CPU4 THERMAL_MAX_LIMIT
							THERMAL_MAX_LIMIT>;
			};
		};
	};

	cpu-1-4-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens0 11>;
		thermal-governor = "step_wise";
		trips {
			cpu14_config: cpu14-config {
				temperature = <110000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpu14_cdev {
				trip = <&cpu14_config>;
				cooling-device = <&cpu6_isolate 1 1>;
			};

			cpu14_cdev1 {
				trip = <&cpu14_config>;
				cooling-device = <&CPU4 THERMAL_MAX_LIMIT
							THERMAL_MAX_LIMIT>;
			};
		};
	};

	cpu-1-5-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens0 12>;
		thermal-governor = "step_wise";
		trips {
			cpu15_config: cpu15-config {
				temperature = <110000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpu15_cdev {
				trip = <&cpu15_config>;
				cooling-device = <&cpu6_isolate 1 1>;
			};

			cpu15_cdev1 {
				trip = <&cpu15_config>;
				cooling-device = <&CPU4 THERMAL_MAX_LIMIT
							THERMAL_MAX_LIMIT>;
			};
		};
	};

	cpu-1-6-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens0 13>;
		thermal-governor = "step_wise";
		trips {
			cpu16_config: cpu16-config {
				temperature = <110000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpu16_cdev {
				trip = <&cpu16_config>;
				cooling-device = <&cpu7_isolate 1 1>;
			};
		};
	};

	cpu-1-7-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens0 14>;
		thermal-governor = "step_wise";
		trips {
			cpu17_config: cpu17-config {
				temperature = <110000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpu17_cdev {
				trip = <&cpu17_config>;
				cooling-device = <&cpu7_isolate 1 1>;
			};
		};
	};
};