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

Commit 9bbd0836 authored by Raju P.L.S.S.S.N's avatar Raju P.L.S.S.S.N Committed by Andy Gross
Browse files

arm64: dts: qcom: sdm845: Add PSCI cpuidle low power states



Add device bindings for cpuidle states for cpu devices.

Cc: <mkshah@codeaurora.org>
Acked-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: default avatarEvan Green <evgreen@chromium.org>
Signed-off-by: default avatarRaju P.L.S.S.S.N <rplsssn@codeaurora.org>
[amit: rename the idle-states to more generic names and fixups]
Signed-off-by: default avatarAmit Kucheria <amit.kucheria@linaro.org>
Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>

Signed-off-by: default avatarAndy Gross <agross@kernel.org>
parent 2aefca80
Loading
Loading
Loading
Loading
+78 −0
Original line number Diff line number Diff line
@@ -190,6 +190,9 @@
			compatible = "qcom,kryo385";
			reg = <0x0 0x0>;
			enable-method = "psci";
			cpu-idle-states = <&LITTLE_CPU_SLEEP_0
					   &LITTLE_CPU_SLEEP_1
					   &CLUSTER_SLEEP_0>;
			capacity-dmips-mhz = <607>;
			qcom,freq-domain = <&cpufreq_hw 0>;
			#cooling-cells = <2>;
@@ -208,6 +211,9 @@
			compatible = "qcom,kryo385";
			reg = <0x0 0x100>;
			enable-method = "psci";
			cpu-idle-states = <&LITTLE_CPU_SLEEP_0
					   &LITTLE_CPU_SLEEP_1
					   &CLUSTER_SLEEP_0>;
			capacity-dmips-mhz = <607>;
			qcom,freq-domain = <&cpufreq_hw 0>;
			#cooling-cells = <2>;
@@ -223,6 +229,9 @@
			compatible = "qcom,kryo385";
			reg = <0x0 0x200>;
			enable-method = "psci";
			cpu-idle-states = <&LITTLE_CPU_SLEEP_0
					   &LITTLE_CPU_SLEEP_1
					   &CLUSTER_SLEEP_0>;
			capacity-dmips-mhz = <607>;
			qcom,freq-domain = <&cpufreq_hw 0>;
			#cooling-cells = <2>;
@@ -238,6 +247,9 @@
			compatible = "qcom,kryo385";
			reg = <0x0 0x300>;
			enable-method = "psci";
			cpu-idle-states = <&LITTLE_CPU_SLEEP_0
					   &LITTLE_CPU_SLEEP_1
					   &CLUSTER_SLEEP_0>;
			capacity-dmips-mhz = <607>;
			qcom,freq-domain = <&cpufreq_hw 0>;
			#cooling-cells = <2>;
@@ -254,6 +266,9 @@
			reg = <0x0 0x400>;
			enable-method = "psci";
			capacity-dmips-mhz = <1024>;
			cpu-idle-states = <&BIG_CPU_SLEEP_0
					   &BIG_CPU_SLEEP_1
					   &CLUSTER_SLEEP_0>;
			qcom,freq-domain = <&cpufreq_hw 1>;
			#cooling-cells = <2>;
			next-level-cache = <&L2_400>;
@@ -269,6 +284,9 @@
			reg = <0x0 0x500>;
			enable-method = "psci";
			capacity-dmips-mhz = <1024>;
			cpu-idle-states = <&BIG_CPU_SLEEP_0
					   &BIG_CPU_SLEEP_1
					   &CLUSTER_SLEEP_0>;
			qcom,freq-domain = <&cpufreq_hw 1>;
			#cooling-cells = <2>;
			next-level-cache = <&L2_500>;
@@ -284,6 +302,9 @@
			reg = <0x0 0x600>;
			enable-method = "psci";
			capacity-dmips-mhz = <1024>;
			cpu-idle-states = <&BIG_CPU_SLEEP_0
					   &BIG_CPU_SLEEP_1
					   &CLUSTER_SLEEP_0>;
			qcom,freq-domain = <&cpufreq_hw 1>;
			#cooling-cells = <2>;
			next-level-cache = <&L2_600>;
@@ -299,6 +320,9 @@
			reg = <0x0 0x700>;
			enable-method = "psci";
			capacity-dmips-mhz = <1024>;
			cpu-idle-states = <&BIG_CPU_SLEEP_0
					   &BIG_CPU_SLEEP_1
					   &CLUSTER_SLEEP_0>;
			qcom,freq-domain = <&cpufreq_hw 1>;
			#cooling-cells = <2>;
			next-level-cache = <&L2_700>;
@@ -343,6 +367,60 @@
				};
			};
		};

		idle-states {
			entry-method = "psci";

			LITTLE_CPU_SLEEP_0: cpu-sleep-0-0 {
				compatible = "arm,idle-state";
				idle-state-name = "little-power-down";
				arm,psci-suspend-param = <0x40000003>;
				entry-latency-us = <350>;
				exit-latency-us = <461>;
				min-residency-us = <1890>;
				local-timer-stop;
			};

			LITTLE_CPU_SLEEP_1: cpu-sleep-0-1 {
				compatible = "arm,idle-state";
				idle-state-name = "little-rail-power-down";
				arm,psci-suspend-param = <0x40000004>;
				entry-latency-us = <360>;
				exit-latency-us = <531>;
				min-residency-us = <3934>;
				local-timer-stop;
			};

			BIG_CPU_SLEEP_0: cpu-sleep-1-0 {
				compatible = "arm,idle-state";
				idle-state-name = "big-power-down";
				arm,psci-suspend-param = <0x40000003>;
				entry-latency-us = <264>;
				exit-latency-us = <621>;
				min-residency-us = <952>;
				local-timer-stop;
			};

			BIG_CPU_SLEEP_1: cpu-sleep-1-1 {
				compatible = "arm,idle-state";
				idle-state-name = "big-rail-power-down";
				arm,psci-suspend-param = <0x40000004>;
				entry-latency-us = <702>;
				exit-latency-us = <1061>;
				min-residency-us = <4488>;
				local-timer-stop;
			};

			CLUSTER_SLEEP_0: cluster-sleep-0 {
				compatible = "arm,idle-state";
				idle-state-name = "cluster-power-down";
				arm,psci-suspend-param = <0x400000F4>;
				entry-latency-us = <3263>;
				exit-latency-us = <6562>;
				min-residency-us = <9987>;
				local-timer-stop;
			};
		};
	};

	pmu {