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

Commit e0b22c94 authored by Raju P.L.S.S.S.N's avatar Raju P.L.S.S.S.N Committed by Gerrit - the friendly Code Review server
Browse files

ARM: dts: msm: Add PM and SPM support for msm8953



Add SPM and initial PM configuration necessary for LPM
to support msm8953.

Change-Id: Icd88c05078bcd331b814f9a612dffbc146e36a46
Signed-off-by: default avatarRaju P.L.S.S.S.N <rplsssn@codeaurora.org>
parent 786994d6
Loading
Loading
Loading
Loading
+267 −0
Original line number Diff line number Diff line
/* Copyright (c) 2015-2017, 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
 * only version 2 as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

#include <dt-bindings/msm/pm.h>

&soc {
	qcom,spm@b1d2000 {
		compatible = "qcom,spm-v2";
		#address-cells = <1>;
		#size-cells = <1>;
		reg = <0xb1d2000 0x1000>;
		reg-names = "saw-base";
		qcom,name = "system-cci";
		qcom,saw2-ver-reg = <0xfd0>;
		qcom,saw2-cfg = <0x14>;
		qcom,saw2-spm-dly= <0x3C102800>;
		qcom,saw2-spm-ctl = <0xe>;
		qcom,saw2-avs-ctl = <0x10>;
		qcom,cpu-vctl-list = <&CPU0 &CPU1 &CPU2 &CPU3
					&CPU4 &CPU5 &CPU6 &CPU7>;
		qcom,vctl-timeout-us = <500>;
		qcom,vctl-port = <0x0>;
		qcom,phase-port = <0x1>;
		qcom,pfm-port = <0x2>;
	};

	qcom,lpm-levels {
		compatible = "qcom,lpm-levels";
		#address-cells = <1>;
		#size-cells = <0>;

		qcom,pm-cluster@0 {
			reg = <0>;
			#address-cells = <1>;
			#size-cells = <0>;
			label = "system";
			qcom,psci-mode-shift = <8>;
			qcom,psci-mode-mask = <0xf>;

			qcom,pm-cluster-level@0 {
				reg = <0>;
				label = "system-active";
				qcom,psci-mode = <0>;
				qcom,latency-us = <423>;
				qcom,ss-power = <349>;
				qcom,energy-overhead = <299110>;
				qcom,time-overhead = <719>;
			};

			qcom,pm-cluster-level@1 {
				reg = <1>;
				label = "system-wfi";
				qcom,psci-mode = <1>;
				qcom,latency-us = <480>;
				qcom,ss-power = <348>;
				qcom,energy-overhead = <313989>;
				qcom,time-overhead = <753>;
				qcom,min-child-idx = <3>;
			};

			qcom,pm-cluster-level@2 {
				reg = <2>;
				label = "system-pc";
				qcom,psci-mode = <3>;
				qcom,latency-us = <11027>;
				qcom,ss-power = <340>;
				qcom,energy-overhead = <616035>;
				qcom,time-overhead = <1495>;
				qcom,min-child-idx = <3>;
				qcom,notify-rpm;
				qcom,is-reset;
				qcom,reset-level = <LPM_RESET_LVL_PC>;
			};

			qcom,pm-cluster@0{
				reg = <0>;
				#address-cells = <1>;
				#size-cells = <0>;
				label = "pwr";
				qcom,psci-mode-shift = <4>;
				qcom,psci-mode-mask = <0xf>;

				qcom,pm-cluster-level@0{
					reg = <0>;
					label = "pwr-l2-wfi";
					qcom,psci-mode = <1>;
					qcom,latency-us = <180>;
					qcom,ss-power = <361>;
					qcom,energy-overhead = <113215>;
					qcom,time-overhead = <270>;
				};

				qcom,pm-cluster-level@1{
					reg = <1>;
					label = "pwr-l2-retention";
					qcom,psci-mode = <3>;
					qcom,latency-us = <188>;
					qcom,ss-power = <360>;
					qcom,energy-overhead = <121271>;
					qcom,time-overhead = <307>;
					qcom,min-child-idx = <1>;
					qcom,reset-level =
						<LPM_RESET_LVL_RET>;
				};

				qcom,pm-cluster-level@2{
					reg = <2>;
					label = "pwr-l2-gdhs";
					qcom,psci-mode = <4>;
					qcom,latency-us = <212>;
					qcom,ss-power = <354>;
					qcom,energy-overhead = <150748>;
					qcom,time-overhead = <363>;
					qcom,min-child-idx = <1>;
					qcom,reset-level =
						<LPM_RESET_LVL_GDHS>;
				};

				qcom,pm-cluster-level@3{
					reg = <3>;
					label = "pwr-l2-pc";
					qcom,psci-mode = <5>;
					qcom,latency-us = <421>;
					qcom,ss-power = <350>;
					qcom,energy-overhead = <277479>;
					qcom,time-overhead = <690>;
					qcom,min-child-idx = <1>;
					qcom,is-reset;
					qcom,reset-level =
						<LPM_RESET_LVL_PC>;
				};

				qcom,pm-cpu {
					#address-cells = <1>;
					#size-cells = <0>;
					qcom,psci-mode-shift = <0>;
					qcom,psci-mode-mask = <0xf>;
					qcom,cpu = <&CPU0 &CPU1 &CPU2 &CPU3>;

					qcom,pm-cpu-level@0 {
						reg = <0>;
						label = "wfi";
						qcom,psci-cpu-mode = <1>;
						qcom,latency-us = <1>;
						qcom,ss-power = <395>;
						qcom,energy-overhead = <30424>;
						qcom,time-overhead = <61>;
					};

					qcom,pm-cpu-level@1 {
						reg = <1>;
						label = "pc";
						qcom,psci-cpu-mode = <3>;
						qcom,latency-us = <180>;
						qcom,ss-power = <361>;
						qcom,energy-overhead = <113215>;
						qcom,time-overhead = <270>;
						qcom,use-broadcast-timer;
						qcom,is-reset;
						qcom,reset-level =
							<LPM_RESET_LVL_PC>;
					};
				};
			};

			qcom,pm-cluster@1{
				reg = <1>;
				#address-cells = <1>;
				#size-cells = <0>;
				label = "perf";
				qcom,psci-mode-shift = <4>;
				qcom,psci-mode-mask = <0xf>;

				qcom,pm-cluster-level@0{
					reg = <0>;
					label = "perf-l2-wfi";
					qcom,psci-mode = <1>;
					qcom,latency-us = <179>;
					qcom,ss-power = <362>;
					qcom,energy-overhead = <113242>;
					qcom,time-overhead = <268>;
				};

				qcom,pm-cluster-level@1{
					reg = <1>;
					label = "perf-l2-retention";
					qcom,psci-mode = <3>;
					qcom,latency-us = <186>;
					qcom,ss-power = <361>;
					qcom,energy-overhead = <125982>;
					qcom,time-overhead = <306>;
					qcom,min-child-idx = <1>;
					qcom,reset-level =
						<LPM_RESET_LVL_RET>;
				};

				qcom,pm-cluster-level@2{
					reg = <2>;
					label = "perf-l2-gdhs";
					qcom,psci-mode = <4>;
					qcom,latency-us = <210>;
					qcom,ss-power = <355>;
					qcom,energy-overhead = <155728>;
					qcom,time-overhead = <361>;
					qcom,min-child-idx = <1>;
					qcom,reset-level =
						<LPM_RESET_LVL_GDHS>;
				};

				qcom,pm-cluster-level@3{
					reg = <3>;
					label = "perf-l2-pc";
					qcom,psci-mode = <5>;
					qcom,latency-us = <423>;
					qcom,ss-power = <349>;
					qcom,energy-overhead = <299110>;
					qcom,time-overhead = <719>;
					qcom,min-child-idx = <1>;
					qcom,is-reset;
					qcom,reset-level =
						<LPM_RESET_LVL_PC>;
				};

				qcom,pm-cpu {
					#address-cells = <1>;
					#size-cells = <0>;
					qcom,psci-mode-shift = <0>;
					qcom,psci-mode-mask = <0xf>;
					qcom,cpu = <&CPU4 &CPU5 &CPU6 &CPU7>;

					qcom,pm-cpu-level@0 {
						reg = <0>;
						label = "wfi";
						qcom,psci-cpu-mode = <1>;
						qcom,latency-us = <1>;
						qcom,ss-power = <397>;
						qcom,energy-overhead = <30424>;
						qcom,time-overhead = <61>;
					};

					qcom,pm-cpu-level@1 {
						reg = <1>;
						label = "pc";
						qcom,psci-cpu-mode = <3>;
						qcom,latency-us = <179>;
						qcom,ss-power = <362>;
						qcom,energy-overhead = <113242>;
						qcom,time-overhead = <268>;
						qcom,use-broadcast-timer;
						qcom,is-reset;
						qcom,reset-level =
							<LPM_RESET_LVL_PC>;
					};
				};
			};
		};
	};
};
+1 −0
Original line number Diff line number Diff line
@@ -124,6 +124,7 @@

#include "msm8953-pinctrl.dtsi"
#include "msm8953-cpu.dtsi"
#include "msm8953-pm.dtsi"


&soc {