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

Commit d0e40c09 authored by Ram Chandrasekar's avatar Ram Chandrasekar
Browse files

ARM: dts: msm: Add BCL configuration for kona



Add BCL configuration to monitor battery voltage, battery current,
state of charge. When the thresholds are reached, the configuration
is defined to mitigate CPUs and GPU.

Change-Id: I9a073c00a38006d07639a0130a40882576145707
Signed-off-by: default avatarRam Chandrasekar <rkumbako@codeaurora.org>
parent 089e9f7e
Loading
Loading
Loading
Loading
+163 −0
Original line number Diff line number Diff line
@@ -8,3 +8,166 @@
&mdss_mdp {
	#cooling-cells = <2>;
};

&thermal_zones {
	soc {
		cooling-maps {
			soc_cpu4 {
				trip = <&soc_trip>;
				cooling-device = <&cpu4_isolate 1 1>;
			};

			soc_cpu5 {
				trip = <&soc_trip>;
				cooling-device = <&cpu5_isolate 1 1>;
			};

			soc_cpu6 {
				trip = <&soc_trip>;
				cooling-device = <&cpu6_isolate 1 1>;
			};

			soc_cpu7 {
				trip = <&soc_trip>;
				cooling-device = <&cpu7_isolate 1 1>;
			};
		};
	};

	pm8150b-vbat-lvl0 {
		cooling-maps {
			vbat_cpu4 {
				trip = <&vbat_lvl0>;
				cooling-device = <&cpu4_isolate 1 1>;
			};

			vbat_cpu5 {
				trip = <&vbat_lvl0>;
				cooling-device = <&cpu5_isolate 1 1>;
			};

			vbat_gpu0 {
				trip = <&vbat_lvl0>;
				cooling-device = <&msm_gpu 2 2>;
			};
		};
	};

	pm8150b-vbat-lvl1 {
		cooling-maps {
			vbat_cpu6 {
				trip = <&vbat_lvl1>;
				cooling-device = <&cpu6_isolate 1 1>;
			};

			vbat_cpu7 {
				trip = <&vbat_lvl1>;
				cooling-device = <&cpu7_isolate 1 1>;
			};

			vbat_gpu1 {
				trip = <&vbat_lvl1>;
				cooling-device = <&msm_gpu 4 4>;
			};
		};
	};

	pm8150b-vbat-lvl2 {
		cooling-maps {
			vbat_gpu2 {
				trip = <&vbat_lvl2>;
				cooling-device = <&msm_gpu THERMAL_MAX_LIMIT
							THERMAL_MAX_LIMIT>;
			};
		};
	};

	pm8150b-ibat-lvl0 {
		cooling-maps {
			ibat_cpu4 {
				trip = <&ibat_lvl0>;
				cooling-device = <&cpu4_isolate 1 1>;
			};

			ibat_cpu5 {
				trip = <&ibat_lvl0>;
				cooling-device = <&cpu5_isolate 1 1>;
			};

			ibat_gpu0 {
				trip = <&ibat_lvl0>;
				cooling-device = <&msm_gpu 2 2>;
			};
		};
	};

	pm8150b-ibat-lvl1 {
		cooling-maps {
			ibat_cpu6 {
				trip = <&ibat_lvl1>;
				cooling-device = <&cpu6_isolate 1 1>;
			};

			ibat_cpu7 {
				trip = <&ibat_lvl1>;
				cooling-device = <&cpu7_isolate 1 1>;
			};

			ibat_gpu1 {
				trip = <&ibat_lvl1>;
				cooling-device = <&msm_gpu 4 4>;
			};
		};
	};

	pm8150l-vph-lvl0 {
		disable-thermal-zone;
		cooling-maps {
			vph_cpu4 {
				trip = <&vph_lvl0>;
				cooling-device = <&cpu4_isolate 1 1>;
			};

			vph_cpu5 {
				trip = <&vph_lvl0>;
				cooling-device = <&cpu5_isolate 1 1>;
			};

			vph_gpu0 {
				trip = <&vph_lvl0>;
				cooling-device = <&msm_gpu 2 2>;
			};
		};
	};

	pm8150l-vph-lvl1 {
		disable-thermal-zone;
		cooling-maps {
			vph_cpu6 {
				trip = <&vph_lvl1>;
				cooling-device = <&cpu6_isolate 1 1>;
			};

			vph_cpu7 {
				trip = <&vph_lvl1>;
				cooling-device = <&cpu7_isolate 1 1>;
			};

			vph_gpu1 {
				trip = <&vph_lvl1>;
				cooling-device = <&msm_gpu 4 4>;
			};
		};
	};

	pm8150l-vph-lvl2 {
		disable-thermal-zone;
		cooling-maps {
			vph_gpu2 {
				trip = <&vph_lvl2>;
				cooling-device = <&msm_gpu THERMAL_MAX_LIMIT
							THERMAL_MAX_LIMIT>;
			};
		};
	};
};
+115 −0
Original line number Diff line number Diff line
@@ -258,6 +258,27 @@
						 <12000 2250>; /* 12V @ 2.25A */
		};

		pm8150b_bcl: bcl@1d00 {
			compatible = "qcom,bcl-v5";
			reg = <0x1d00 0x100>;
			interrupts = <0x2 0x1d 0x0 IRQ_TYPE_NONE>,
					<0x2 0x1d 0x1 IRQ_TYPE_NONE>,
					<0x2 0x1d 0x0 IRQ_TYPE_NONE>,
					<0x2 0x1d 0x1 IRQ_TYPE_NONE>,
					<0x2 0x1d 0x2 IRQ_TYPE_NONE>;
			interrupt-names = "bcl-ibat-lvl0",
						"bcl-ibat-lvl1",
						"bcl-vbat-lvl0",
						"bcl-vbat-lvl1",
						"bcl-vbat-lvl2";
			#thermal-sensor-cells = <1>;
		};

		bcl_soc:bcl-soc {
			compatible = "qcom,msm-bcl-soc";
			#thermal-sensor-cells = <0>;
		};

		pm8150b_fg: qpnp,fg {
			compatible = "qcom,fg-gen4";
			#address-cells = <1>;
@@ -533,4 +554,98 @@
			};
		};
	};

	pm8150b-ibat-lvl0 {
		polling-delay-passive = <100>;
		polling-delay = <0>;
		thermal-governor = "step_wise";
		thermal-sensors = <&pm8150b_bcl 0>;

		trips {
			ibat_lvl0:ibat-lvl0 {
				temperature = <4500>;
				hysteresis = <200>;
				type = "passive";
			};
		};
	};

	pm8150b-ibat-lvl1 {
		polling-delay-passive = <100>;
		polling-delay = <0>;
		thermal-governor = "step_wise";
		thermal-sensors = <&pm8150b_bcl 1>;

		trips {
			ibat_lvl1:ibat-lvl1 {
				temperature = <5000>;
				hysteresis = <200>;
				type = "passive";
			};
		};
	};

	pm8150b-vbat-lvl0 {
		polling-delay-passive = <100>;
		polling-delay = <0>;
		thermal-governor = "low_limits_cap";
		thermal-sensors = <&pm8150b_bcl 2>;
		tracks-low;

		trips {
			vbat_lvl0: vbat-lvl0 {
				temperature = <3000>;
				hysteresis = <200>;
				type = "passive";
			};
		};
	};

	pm8150b-vbat-lvl1 {
		polling-delay-passive = <100>;
		polling-delay = <0>;
		thermal-governor = "low_limits_cap";
		thermal-sensors = <&pm8150b_bcl 3>;
		tracks-low;

		trips {
			vbat_lvl1:vbat-lvl1 {
				temperature = <2800>;
				hysteresis = <200>;
				type = "passive";
			};
		};
	};

	pm8150b-vbat-lvl2 {
		polling-delay-passive = <100>;
		polling-delay = <0>;
		thermal-governor = "low_limits_cap";
		thermal-sensors = <&pm8150b_bcl 4>;
		tracks-low;

		trips {
			vbat_lvl2:vbat-lvl2 {
				temperature = <2600>;
				hysteresis = <200>;
				type = "passive";
			};
		};
	};

	soc {
		polling-delay-passive = <100>;
		polling-delay = <0>;
		thermal-governor = "low_limits_cap";
		thermal-sensors = <&bcl_soc>;
		tracks-low;

		trips {
			soc_trip:soc-trip {
				temperature = <10>;
				hysteresis = <0>;
				type = "passive";
			};
		};
	};
};
+60 −0
Original line number Diff line number Diff line
@@ -98,6 +98,18 @@
			};
		};

		pm8150l_bcl: bcl@3d00 {
			compatible = "qcom,bcl-v5";
			reg = <0x3d00 0x100>;
			interrupts = <0x4 0x3d 0x0 IRQ_TYPE_NONE>,
					<0x4 0x3d 0x1 IRQ_TYPE_NONE>,
					<0x4 0x3d 0x2 IRQ_TYPE_NONE>;
			interrupt-names = "bcl-vbat-lvl0",
						"bcl-vbat-lvl1",
						"bcl-vbat-lvl2";
			#thermal-sensor-cells = <1>;
		};

		pm8150l_adc_tm: adc_tm@3500 {
			compatible = "qcom,adc-tm5";
			reg = <0x3500 0x100>;
@@ -436,4 +448,52 @@
			};
		};
	};

	pm8150l-vph-lvl0 {
		polling-delay-passive = <100>;
		polling-delay = <0>;
		thermal-governor = "low_limits_cap";
		thermal-sensors = <&pm8150l_bcl 2>;
		tracks-low;

		trips {
			vph_lvl0: vph-lvl0 {
				temperature = <3000>;
				hysteresis = <200>;
				type = "passive";
			};
		};
	};

	pm8150l-vph-lvl1 {
		polling-delay-passive = <100>;
		polling-delay = <0>;
		thermal-governor = "low_limits_cap";
		thermal-sensors = <&pm8150l_bcl 3>;
		tracks-low;

		trips {
			vph_lvl1:vph-lvl1 {
				temperature = <2750>;
				hysteresis = <200>;
				type = "passive";
			};
		};
	};

	pm8150l-vph-lvl2 {
		polling-delay-passive = <100>;
		polling-delay = <0>;
		thermal-governor = "low_limits_cap";
		thermal-sensors = <&pm8150l_bcl 4>;
		tracks-low;

		trips {
			vph_lvl2:vph-lvl2 {
				temperature = <2500>;
				hysteresis = <200>;
				type = "passive";
			};
		};
	};
};