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

Commit 02899c18 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "ARM: dts: msm: add bcl_sensors thermal zones"

parents d1de518e dceafdf4
Loading
Loading
Loading
Loading
+13 −8
Original line number Diff line number Diff line
/* Copyright (c) 2016-2017, 2019, The Linux Foundation. All rights reserved.
/* Copyright (c) 2016-2017, 2019,2020 The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -448,18 +448,23 @@
			};
		};

		bcl@4200 {
		bcl_sensor:bcl@4200 {
			compatible = "qcom,msm-bcl-lmh";
			reg = <0x4200 0xff>,
				<0x4300 0xff>;
			reg-names = "fg_user_adc",
					"fg_lmh";
			interrupts = <0x0 0x42 0x0 IRQ_TYPE_NONE>,
					<0x0 0x42 0x2 IRQ_TYPE_NONE>;
			interrupt-names = "bcl-high-ibat-int",
					"bcl-low-vbat-int";
			qcom,vbat-polling-delay-ms = <100>;
			qcom,ibat-polling-delay-ms = <100>;
					<0x0 0x42 0x1 IRQ_TYPE_NONE>,
					<0x0 0x42 0x2 IRQ_TYPE_NONE>,
					<0x0 0x42 0x3 IRQ_TYPE_NONE>,
					<0x0 0x42 0x4 IRQ_TYPE_NONE>;
			interrupt-names = "bcl-high-ibat",
						"bcl-very-high-ibat",
						"bcl-low-vbat",
						"bcl-very-low-vbat",
						"bcl-crit-low-vbat";
			#thermal-sensor-cells = <1>;
		};
	};

@@ -557,7 +562,7 @@
				hysteresis = <0>;
				type = "passive";
			};
			trip2 {
			pm660_trip2: trip2 {
				temperature = <145000>;
				hysteresis = <0>;
				type = "passive";
+168 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@
#include <dt-bindings/regulator/qcom,rpm-smd-regulator.h>
#include <dt-bindings/msm/msm-bus-ids.h>
#include <dt-bindings/clock/qcom,cpu-osm.h>
#include <dt-bindings/thermal/thermal.h>

#define MHZ_TO_MBPS(mhz, w) ((mhz * 1000000 * w) / (1024 * 1024))
#define BW_OPP_ENTRY(mhz, w) opp-mhz {opp-hz = /bits/ 64 <MHZ_TO_MBPS(mhz, w)>;}
@@ -62,6 +63,7 @@
			qcom,ea = <&ea0>;
			efficiency = <1024>;
			next-level-cache = <&L2_0>;
			#cooling-cells = <2>;
			L2_0: l2-cache {
				compatible = "arm,arch-cache";
				cache-level = <2>;
@@ -88,6 +90,7 @@
			enable-method = "psci";
			qcom,limits-info = <&mitigation_profile0>;
			qcom,lmh-dcvs = <&lmh_dcvs0>;
			#cooling-cells = <2>;
			qcom,ea = <&ea1>;
			efficiency = <1024>;
			next-level-cache = <&L2_0>;
@@ -114,6 +117,7 @@
			qcom,ea = <&ea2>;
			efficiency = <1024>;
			next-level-cache = <&L2_0>;
			#cooling-cells = <2>;
			L1_I_2: l1-icache {
				compatible = "arm,arch-cache";
				qcom,dump-size = <0x9040>;
@@ -137,6 +141,7 @@
			qcom,ea = <&ea3>;
			efficiency = <1024>;
			next-level-cache = <&L2_0>;
			#cooling-cells = <2>;
			L1_I_3: l1-icache {
				compatible = "arm,arch-cache";
				qcom,dump-size = <0x9040>;
@@ -160,6 +165,7 @@
			qcom,ea = <&ea4>;
			efficiency = <1638>;
			next-level-cache = <&L2_1>;
			#cooling-cells = <2>;
			L2_1: l2-cache {
				compatible = "arm,arch-cache";
				cache-level = <2>;
@@ -184,6 +190,7 @@
			enable-method = "psci";
			qcom,limits-info = <&mitigation_profile2>;
			qcom,lmh-dcvs = <&lmh_dcvs1>;
			#cooling-cells = <2>;
			qcom,ea = <&ea5>;
			efficiency = <1638>;
			next-level-cache = <&L2_1>;
@@ -207,6 +214,7 @@
			enable-method = "psci";
			qcom,limits-info = <&mitigation_profile3>;
			qcom,lmh-dcvs = <&lmh_dcvs1>;
			#cooling-cells = <2>;
			qcom,ea = <&ea6>;
			efficiency = <1638>;
			next-level-cache = <&L2_1>;
@@ -230,6 +238,7 @@
			enable-method = "psci";
			qcom,limits-info = <&mitigation_profile4>;
			qcom,lmh-dcvs = <&lmh_dcvs1>;
			#cooling-cells = <2>;
			qcom,ea = <&ea7>;
			efficiency = <1638>;
			next-level-cache = <&L2_1>;
@@ -2997,6 +3006,165 @@
			};
		};
	};
	ibat-high {
		polling-delay-passive = <100>;
		polling-delay = <0>;
		thermal-governor = "step_wise";
		thermal-sensors = <&bcl_sensor 0>;

		trips {
			pm660_ibat_high: ibat-high {
				temperature = <4200>;
				hysteresis = <200>;
				type = "passive";
			};
		};
		cooling-maps {
			ibat_map6 {
				trip = <&pm660_ibat_high>;
				cooling-device =
					<&CPU6 THERMAL_MAX_LIMIT
						THERMAL_MAX_LIMIT>;
			};
			ibat_map7 {
				trip = <&pm660_ibat_high>;
				cooling-device =
					<&CPU7 THERMAL_MAX_LIMIT
						THERMAL_MAX_LIMIT>;
			};
		};
	};

	ibat-vhigh {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "step_wise";
		thermal-sensors = <&bcl_sensor 1>;

		trips {
			pm660_ibat_vhigh: ibat-vhigh {
				temperature = <4300>;
				hysteresis = <100>;
				type = "passive";
			};
		};
	};

	vbat_adc {
		polling-delay-passive = <100>;
		polling-delay = <0>;
		thermal-governor = "low_limits_cap";
		thermal-sensors = <&bcl_sensor 2>;
		tracks-low;

		trips {
			pm660_vbat_adc: vbat-adc {
				temperature = <3500>;
				hysteresis = <100>;
				type = "passive";
			};
		};
		cooling-maps {
			vbat_map4 {
				trip = <&pm660_vbat_adc>;
				cooling-device =
					<&CPU4 THERMAL_MAX_LIMIT
						THERMAL_MAX_LIMIT>;
			};
			vbat_map5 {
				trip = <&pm660_vbat_adc>;
				cooling-device =
					<&CPU5 THERMAL_MAX_LIMIT
						THERMAL_MAX_LIMIT>;
			};
			vbat_map6 {
				trip = <&pm660_vbat_adc>;
				cooling-device =
					<&CPU6 THERMAL_MAX_LIMIT
						THERMAL_MAX_LIMIT>;
			};
			vbat_map7 {
				trip = <&pm660_vbat_adc>;
				cooling-device =
					<&CPU7 THERMAL_MAX_LIMIT
						THERMAL_MAX_LIMIT>;
			};
		};
	};

	vbat_low {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "low_limits_cap";
		thermal-sensors = <&bcl_sensor 3>;
		tracks-low;

		trips {
			pm660_vbat_low: vbat-low {
				temperature = <2800>;
				hysteresis = <0>;
				type = "passive";
			};
		};
	};

	vbat_too_low {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "low_limits_cap";
		thermal-sensors = <&bcl_sensor 4>;
		tracks-low;

		trips {
			pm660_vbat_too_low: vbat-too-low {
				temperature = <2600>;
				hysteresis = <0>;
				type = "passive";
			};
		};
	};

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

		trips {
			pm660_low_soc: low-soc {
				temperature = <10>;
				hysteresis = <0>;
				type = "passive";
			};
		};
		cooling-maps {
			soc_map4 {
				trip = <&pm660_low_soc>;
				cooling-device =
					<&CPU4 THERMAL_MAX_LIMIT
						THERMAL_MAX_LIMIT>;
			};
			soc_map5 {
				trip = <&pm660_low_soc>;
				cooling-device =
					<&CPU5 THERMAL_MAX_LIMIT
						THERMAL_MAX_LIMIT>;
			};
			soc_map6 {
				trip = <&pm660_low_soc>;
				cooling-device =
					<&CPU6 THERMAL_MAX_LIMIT
						THERMAL_MAX_LIMIT>;
			};
			soc_map7 {
				trip = <&pm660_low_soc>;
				cooling-device =
					<&CPU7 THERMAL_MAX_LIMIT
						THERMAL_MAX_LIMIT>;
			};
		};
	};
};
#include "sdm660-mdss.dtsi"
#include "sdm660-mdss-pll.dtsi"