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

Commit 28cab856 authored by Manaf Meethalavalappu Pallikunhi's avatar Manaf Meethalavalappu Pallikunhi
Browse files

ARM: dts: msm: enable thermal efuse driver for qrb5165

Enable thermal efuse driver to selectively enable or disable
thermal zones based on thermal QFPROM nvmem cell value for
qrb5165.

Add dependent QFPROM driver devicetree config to read efuse data.

Change-Id: Ifd49525317c7b0a16541e8b0c2baca2ba60e80a9
parent 8aae5434
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -4966,20 +4966,25 @@

	qfprom: qfprom@780000 {
		compatible = "qcom,qfprom";
		reg = <0x00784000 0x3000>;
		reg = <0x00780000 0x5000>;
		#address-cells = <1>;
		#size-cells = <1>;
		read-only;
		ranges;

		gpu_lm_efuse: gpu_lm_efuse@5c8 {
			reg = <0x5c8 0x4>;
		gpu_lm_efuse: gpu_lm_efuse@45c8 {
			reg = <0x45c8 0x4>;
		};

		gpu_speed_bin: gpu_speed_bin@19b {
			reg = <0x19b 0x1>;
		gpu_speed_bin: gpu_speed_bin@419b {
			reg = <0x419b 0x1>;
			bits = <5 3>;
		};

		thermal_speed_bin: thermal-speed-bin@1a2 {
			reg = <0x1a2 0x1>;
			bits = <7 1>;
		};
	};
};

+758 −0
Original line number Diff line number Diff line
@@ -8,3 +8,761 @@
};

#include "kona-v2.1-gpu.dtsi"

&soc {
	qcom-thermal-qfprom {
		compatible = "qcom,thermal-qfprom-device";
		nvmem-cells = <&thermal_speed_bin>;
		nvmem-cell-names = "thermal_speed_bin";
		qcom,thermal-qfprom-bit-values = <0x1>;
		qcom,thermal-zone-enable-list = "gpuss-max-iot-step",
						"cpu-0-0-iot-step",
						"cpu-0-1-iot-step",
						"cpu-0-2-iot-step",
						"cpu-0-3-iot-step",
						"cpu-1-0-iot-step",
						"cpu-1-1-iot-step",
						"cpu-1-2-iot-step",
						"cpu-1-3-iot-step",
						"cpu-1-4-iot-step",
						"cpu-1-5-iot-step",
						"cpu-1-6-iot-step",
						"cpu-1-7-iot-step",
						"cwlan-iot-step",
						"video-iot-step",
						"ddr-iot-step",
						"q6-hvx-iot-step",
						"camera-iot-step",
						"cmpss-iot-step",
						"npu-iot-step";
		qcom,thermal-zone-disable-list = "gpuss-max-step",
						"cpu-0-0-step",
						"cpu-0-1-step",
						"cpu-0-2-step",
						"cpu-0-3-step",
						"cpu-1-0-step",
						"cpu-1-1-step",
						"cpu-1-2-step",
						"cpu-1-3-step",
						"cpu-1-4-step",
						"cpu-1-5-step",
						"cpu-1-6-step",
						"cpu-1-7-step",
						"cwlan-step",
						"video-step",
						"ddr-step",
						"q6-hvx-step",
						"camera-step",
						"cmpss-step",
						"npu-step";
	};
};

&thermal_zones {
	gpuss-max-iot-step {
		polling-delay-passive = <10>;
		polling-delay = <100>;
		thermal-governor = "step_wise";
		wake-capable-sensor;
		disable-thermal-zone;

		trips {
			gpu_iot_trip0: gpu-trip0 {
				temperature = <110000>;
				hysteresis = <0>;
				type = "passive";
			};
		};

		cooling-maps {
			gpu_cdev {
				trip = <&gpu_iot_trip0>;
				cooling-device = <&msm_gpu THERMAL_NO_LIMIT
							THERMAL_NO_LIMIT>;
			};
		};
	};

	pop-mem-step {
		status = "disabled";
	};

	cpu-0-0-iot-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "step_wise";
		thermal-sensors = <&tsens0 1>;
		wake-capable-sensor;
		disable-thermal-zone;
		trips {
			cpu00_iot_config: cpu00-config {
				temperature = <122000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

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

	cpu-0-1-iot-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "step_wise";
		thermal-sensors = <&tsens0 2>;
		wake-capable-sensor;
		disable-thermal-zone;
		trips {
			cpu01_iot_config: cpu01-config {
				temperature = <122000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

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

	cpu-0-2-iot-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "step_wise";
		thermal-sensors = <&tsens0 3>;
		wake-capable-sensor;
		disable-thermal-zone;
		trips {
			cpu02_iot_config: cpu02-config {
				temperature = <122000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

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

	cpu-0-3-iot-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens0 4>;
		thermal-governor = "step_wise";
		wake-capable-sensor;
		disable-thermal-zone;
		trips {
			cpu03_iot_config: cpu03-config {
				temperature = <122000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

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

	cpu-1-0-iot-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens0 7>;
		thermal-governor = "step_wise";
		wake-capable-sensor;
		disable-thermal-zone;
		trips {
			cpufreq_10_iot_config: cpufreq-10-config {
				temperature = <75000>;
				hysteresis = <5000>;
				type = "passive";
			};

			cpu10_iot_config: cpu10-config {
				temperature = <122000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpufreq_cdev {
				trip = <&cpufreq_10_iot_config>;
				cooling-device = <&cpu7_notify 1 1>;
			};

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

	cpu-1-1-iot-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens0 8>;
		thermal-governor = "step_wise";
		wake-capable-sensor;
		disable-thermal-zone;
		trips {
			cpufreq_11_iot_config: cpufreq-11-config {
				temperature = <75000>;
				hysteresis = <5000>;
				type = "passive";
			};

			cpu11_iot_config: cpu11-config {
				temperature = <122000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpufreq_cdev {
				trip = <&cpufreq_11_iot_config>;
				cooling-device = <&cpu7_notify 1 1>;
			};

			cpu11_cdev {
				trip = <&cpu11_iot_config>;
				cooling-device = <&cpu5_isolate 1 1>;
			};
		};
	};

	cpu-1-2-iot-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens0 9>;
		thermal-governor = "step_wise";
		wake-capable-sensor;
		disable-thermal-zone;
		trips {
			cpufreq_12_iot_config: cpufreq-12-config {
				temperature = <75000>;
				hysteresis = <5000>;
				type = "passive";
			};

			cpu12_iot_config: cpu12-config {
				temperature = <122000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpufreq_cdev {
				trip = <&cpufreq_12_iot_config>;
				cooling-device = <&cpu7_notify 1 1>;
			};

			cpu12_cdev {
				trip = <&cpu12_iot_config>;
				cooling-device = <&cpu6_isolate 1 1>;
			};
		};
	};

	cpu-1-3-iot-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens0 10>;
		thermal-governor = "step_wise";
		wake-capable-sensor;
		disable-thermal-zone;
		trips {
			cpufreq_13_iot_config: cpufreq-13-config {
				temperature = <75000>;
				hysteresis = <5000>;
				type = "passive";
			};

			cpu13_iot_config: cpu13-config {
				temperature = <122000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpufreq_cdev {
				trip = <&cpufreq_13_iot_config>;
				cooling-device = <&cpu7_notify 1 1>;
			};

			cpu13_cdev {
				trip = <&cpu13_iot_config>;
				cooling-device = <&cpu7_isolate 1 1>;
			};
		};
	};

	cpu-1-4-iot-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens0 11>;
		thermal-governor = "step_wise";
		wake-capable-sensor;
		disable-thermal-zone;
		trips {
			cpufreq_14_iot_config: cpufreq-14-config {
				temperature = <75000>;
				hysteresis = <5000>;
				type = "passive";
			};

			cpu14_iot_config: cpu14-config {
				temperature = <122000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpufreq_cdev {
				trip = <&cpufreq_14_iot_config>;
				cooling-device = <&cpu7_notify 1 1>;
			};

			cpu14_cdev {
				trip = <&cpu14_iot_config>;
				cooling-device = <&cpu4_isolate 1 1>;
			};
		};
	};

	cpu-1-5-iot-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens0 12>;
		thermal-governor = "step_wise";
		wake-capable-sensor;
		disable-thermal-zone;
		trips {
			cpufreq_15_iot_config: cpufreq-15-config {
				temperature = <75000>;
				hysteresis = <5000>;
				type = "passive";
			};

			cpu15_iot_config: cpu15-config {
				temperature = <122000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpufreq_cdev {
				trip = <&cpufreq_15_iot_config>;
				cooling-device = <&cpu7_notify 1 1>;
			};

			cpu15_cdev {
				trip = <&cpu15_iot_config>;
				cooling-device = <&cpu5_isolate 1 1>;
			};
		};
	};

	cpu-1-6-iot-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens0 13>;
		thermal-governor = "step_wise";
		wake-capable-sensor;
		disable-thermal-zone;
		trips {
			cpufreq_16_iot_config: cpufreq-16-config {
				temperature = <75000>;
				hysteresis = <5000>;
				type = "passive";
			};

			cpu16_iot_config: cpu16-config {
				temperature = <122000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpufreq_cdev {
				trip = <&cpufreq_16_iot_config>;
				cooling-device = <&cpu7_notify 1 1>;
			};

			cpu16_cdev {
				trip = <&cpu16_iot_config>;
				cooling-device = <&cpu6_isolate 1 1>;
			};
		};
	};

	cpu-1-7-iot-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens0 14>;
		thermal-governor = "step_wise";
		wake-capable-sensor;
		disable-thermal-zone;
		trips {
			cpufreq_17_iot_config: cpufreq-17-config {
				temperature = <75000>;
				hysteresis = <5000>;
				type = "passive";
			};

			cpu17_iot_config: cpu17-config {
				temperature = <122000>;
				hysteresis = <10000>;
				type = "passive";
			};
		};

		cooling-maps {
			cpufreq_cdev {
				trip = <&cpufreq_17_iot_config>;
				cooling-device = <&cpu7_notify 1 1>;
			};

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

	cwlan-iot-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens1 1>;
		thermal-governor = "step_wise";
		wake-capable-sensor;
		disable-thermal-zone;
		trips {
			cwlan_iot_trip0: cwlan-trip0 {
				temperature = <120000>;
				hysteresis = <5000>;
				type = "passive";
			};
		};

		cooling-maps {
			cdsp-cdev {
				trip = <&cwlan_iot_trip0>;
				cooling-device = <&msm_cdsp_rm 3 3>;
			};

			gpu-cdev {
				trip = <&cwlan_iot_trip0>;
				cooling-device = <&msm_gpu (THERMAL_MAX_LIMIT-1)
							(THERMAL_MAX_LIMIT-1)>;
			};

			modem-pa-cdev {
				trip = <&cwlan_iot_trip0>;
				cooling-device = <&modem_pa 3 3>;
			};

			modem-tj-cdev {
				trip = <&cwlan_iot_trip0>;
				cooling-device = <&modem_tj 3 3>;
			};

			npu_cdev {
				trip = <&cwlan_iot_trip0>;
				cooling-device = <&msm_npu (THERMAL_MAX_LIMIT-3)
							(THERMAL_MAX_LIMIT-3)>;
			};
		};
	};

	video-iot-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens1 2>;
		thermal-governor = "step_wise";
		wake-capable-sensor;
		disable-thermal-zone;
		trips {
			video_iot_trip0: video-trip0 {
				temperature = <120000>;
				hysteresis = <5000>;
				type = "passive";
			};
		};

		cooling-maps {
			cdsp-cdev {
				trip = <&video_iot_trip0>;
				cooling-device = <&msm_cdsp_rm 3 3>;
			};

			gpu-cdev {
				trip = <&video_iot_trip0>;
				cooling-device = <&msm_gpu (THERMAL_MAX_LIMIT-1)
							(THERMAL_MAX_LIMIT-1)>;
			};

			modem-pa-cdev {
				trip = <&video_iot_trip0>;
				cooling-device = <&modem_pa 3 3>;
			};

			modem-tj-cdev {
				trip = <&video_iot_trip0>;
				cooling-device = <&modem_tj 3 3>;
			};

			npu_cdev {
				trip = <&video_iot_trip0>;
				cooling-device = <&msm_npu (THERMAL_MAX_LIMIT-3)
							(THERMAL_MAX_LIMIT-3)>;
			};
		};
	};

	ddr-iot-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens1 3>;
		thermal-governor = "step_wise";
		wake-capable-sensor;
		disable-thermal-zone;
		trips {
			ddr_iot_trip0: ddr-trip0 {
				temperature = <120000>;
				hysteresis = <5000>;
				type = "passive";
			};
		};

		cooling-maps {
			cdsp-cdev {
				trip = <&ddr_iot_trip0>;
				cooling-device = <&msm_cdsp_rm 3 3>;
			};

			gpu-cdev {
				trip = <&ddr_iot_trip0>;
				cooling-device = <&msm_gpu (THERMAL_MAX_LIMIT-1)
							(THERMAL_MAX_LIMIT-1)>;
			};

			modem-pa-cdev {
				trip = <&ddr_iot_trip0>;
				cooling-device = <&modem_pa 3 3>;
			};

			modem-tj-cdev {
				trip = <&ddr_iot_trip0>;
				cooling-device = <&modem_tj 3 3>;
			};

			npu_cdev {
				trip = <&ddr_iot_trip0>;
				cooling-device = <&msm_npu (THERMAL_MAX_LIMIT-3)
							(THERMAL_MAX_LIMIT-3)>;
			};
		};
	};

	q6-hvx-iot-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens1 4>;
		thermal-governor = "step_wise";
		wake-capable-sensor;
		disable-thermal-zone;
		trips {
			q6_hvx_iot_trip0: q6-hvx-trip0 {
				temperature = <120000>;
				hysteresis = <5000>;
				type = "passive";
			};
		};

		cooling-maps {
			cdsp-cdev {
				trip = <&q6_hvx_iot_trip0>;
				cooling-device = <&msm_cdsp_rm 3 3>;
			};

			gpu-cdev {
				trip = <&q6_hvx_iot_trip0>;
				cooling-device = <&msm_gpu (THERMAL_MAX_LIMIT-1)
							(THERMAL_MAX_LIMIT-1)>;
			};

			modem-pa-cdev {
				trip = <&q6_hvx_iot_trip0>;
				cooling-device = <&modem_pa 3 3>;
			};

			modem-tj-cdev {
				trip = <&q6_hvx_iot_trip0>;
				cooling-device = <&modem_tj 3 3>;
			};

			npu_cdev {
				trip = <&q6_hvx_iot_trip0>;
				cooling-device = <&msm_npu (THERMAL_MAX_LIMIT-3)
							(THERMAL_MAX_LIMIT-3)>;
			};
		};
	};

	camera-iot-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens1 5>;
		thermal-governor = "step_wise";
		wake-capable-sensor;
		disable-thermal-zone;
		trips {
			camera_iot_trip0: camera-trip0 {
				temperature = <120000>;
				hysteresis = <5000>;
				type = "passive";
			};
		};

		cooling-maps {
			cdsp-cdev {
				trip = <&camera_iot_trip0>;
				cooling-device = <&msm_cdsp_rm 3 3>;
			};

			gpu-cdev {
				trip = <&camera_iot_trip0>;
				cooling-device = <&msm_gpu (THERMAL_MAX_LIMIT-1)
							(THERMAL_MAX_LIMIT-1)>;
			};

			modem-pa-cdev {
				trip = <&camera_iot_trip0>;
				cooling-device = <&modem_pa 3 3>;
			};

			modem-tj-cdev {
				trip = <&camera_iot_trip0>;
				cooling-device = <&modem_tj 3 3>;
			};

			npu_cdev {
				trip = <&camera_iot_trip0>;
				cooling-device = <&msm_npu (THERMAL_MAX_LIMIT-3)
							(THERMAL_MAX_LIMIT-3)>;
			};
		};
	};

	cmpss-iot-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens1 6>;
		thermal-governor = "step_wise";
		wake-capable-sensor;
		disable-thermal-zone;
		trips {
			cmpss_iot_trip0: cmpss-trip0 {
				temperature = <120000>;
				hysteresis = <5000>;
				type = "passive";
			};
		};

		cooling-maps {
			cdsp-cdev {
				trip = <&cmpss_iot_trip0>;
				cooling-device = <&msm_cdsp_rm 3 3>;
			};

			gpu-cdev {
				trip = <&cmpss_iot_trip0>;
				cooling-device = <&msm_gpu (THERMAL_MAX_LIMIT-1)
							(THERMAL_MAX_LIMIT-1)>;
			};

			modem-pa-cdev {
				trip = <&cmpss_iot_trip0>;
				cooling-device = <&modem_pa 3 3>;
			};

			modem-tj-cdev {
				trip = <&cmpss_iot_trip0>;
				cooling-device = <&modem_tj 3 3>;
			};

			npu_cdev {
				trip = <&cmpss_iot_trip0>;
				cooling-device = <&msm_npu (THERMAL_MAX_LIMIT-3)
							(THERMAL_MAX_LIMIT-3)>;
			};
		};
	};

	npu-iot-step {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-sensors = <&tsens1 7>;
		thermal-governor = "step_wise";
		wake-capable-sensor;
		disable-thermal-zone;
		trips {
			npu_iot_trip0: npu-trip0 {
				temperature = <120000>;
				hysteresis = <5000>;
				type = "passive";
			};
		};

		cooling-maps {
			cdsp-cdev {
				trip = <&npu_iot_trip0>;
				cooling-device = <&msm_cdsp_rm 3 3>;
			};

			gpu-cdev {
				trip = <&npu_iot_trip0>;
				cooling-device = <&msm_gpu (THERMAL_MAX_LIMIT-1)
							(THERMAL_MAX_LIMIT-1)>;
			};

			modem-pa-cdev {
				trip = <&npu_iot_trip0>;
				cooling-device = <&modem_pa 3 3>;
			};

			modem-tj-cdev {
				trip = <&npu_iot_trip0>;
				cooling-device = <&modem_tj 3 3>;
			};

			npu_cdev {
				trip = <&npu_iot_trip0>;
				cooling-device = <&msm_npu (THERMAL_MAX_LIMIT-3)
							(THERMAL_MAX_LIMIT-3)>;
			};
		};
	};
};