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

Commit 76f02ef9 authored by Arjun Bagla's avatar Arjun Bagla Committed by Lina Iyer
Browse files

ARM: dts: msm: add initial device tree for kona low power modes



Add initial device tree to support CPU and cluster low power modes on
Kona.

Also, enable apps RSC controller for flushing RPMH sleep and wake sets.

Change-Id: Ic4936e7a6adcab03dd38a5a7a0bc6ac0e89eea4b
Signed-off-by: default avatarArjun Bagla <arbagla@codeaurora.org>
Signed-off-by: default avatarLina Iyer <ilina@codeaurora.org>
parent 13174698
Loading
Loading
Loading
Loading
+115 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright (c) 2018, The Linux Foundation. All rights reserved.
 */

&soc {
	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 = "L3";
			qcom,clstr-tmr-add = <1000>;
			qcom,psci-mode-shift = <4>;
			qcom,psci-mode-mask = <0xfff>;

			qcom,pm-cluster-level@0 { /* D1 */
				reg = <0>;
				label = "l3-wfi";
				qcom,psci-mode = <0x1>;
				qcom,entry-latency-us = <48>;
				qcom,exit-latency-us = <51>;
				qcom,min-residency-us = <99>;
			};

			qcom,pm-cluster-level@1 { /* LLCC off, AOSS sleep */
				reg = <1>;
				label = "llcc-off";
				qcom,psci-mode = <0xC24>;
				qcom,entry-latency-us = <3263>;
				qcom,exit-latency-us = <6562>;
				qcom,min-residency-us = <9987>;
				qcom,min-child-idx = <1>;
				qcom,is-reset;
				qcom,notify-rpm;
			};

			qcom,pm-cpu@0 {
				reg = <0>;
				#address-cells = <1>;
				#size-cells = <0>;
				qcom,psci-mode-shift = <0>;
				qcom,psci-mode-mask = <0xf>;
				qcom,ref-stddev = <500>;
				qcom,tmr-add = <1000>;
				qcom,ref-premature-cnt = <1>;
				qcom,cpu = <&CPU0 &CPU1 &CPU2 &CPU3>;

				qcom,pm-cpu-level@0 { /* C1 */
					reg = <0>;
					label = "wfi";
					qcom,psci-cpu-mode = <0x1>;
					qcom,entry-latency-us = <57>;
					qcom,exit-latency-us = <43>;
					qcom,min-residency-us = <100>;
				};

				qcom,pm-cpu-level@1 {  /* C4 */
					reg = <1>;
					label = "rail-pc";
					qcom,psci-cpu-mode = <0x4>;
					qcom,entry-latency-us = <360>;
					qcom,exit-latency-us = <531>;
					qcom,min-residency-us = <3934>;
					qcom,is-reset;
					qcom,use-broadcast-timer;
				};
			};

			qcom,pm-cpu@1 {
				reg = <1>;
				#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@2 { /* C1 */
					reg = <2>;
					label = "wfi";
					qcom,psci-cpu-mode = <0x1>;
					qcom,entry-latency-us = <57>;
					qcom,exit-latency-us = <43>;
					qcom,min-residency-us = <83>;
				};

				qcom,pm-cpu-level@3 {  /* C4 */
					reg = <3>;
					label = "rail-pc";
					qcom,psci-cpu-mode = <0x4>;
					qcom,entry-latency-us = <702>;
					qcom,exit-latency-us = <1061>;
					qcom,min-residency-us = <4488>;
					qcom,is-reset;
					qcom,use-broadcast-timer;
				};
			};
		};
	};

	qcom,rpm-stats@c300000 {
		compatible = "qcom,rpm-stats";
		reg = <0xc300000 0x1000>, <0xc3f0004 0x4>;
		reg-names = "phys_addr_base", "offset_addr";
		qcom,num-records = <3>;
	};

	qcom,rpmh-master-stats@b221200 {
		compatible = "qcom,rpmh-master-stats-v1";
		reg = <0xb221200 0x60>;
	};
};
+18 −9
Original line number Diff line number Diff line
@@ -40,7 +40,7 @@
			device_type = "cpu";
			compatible = "qcom,kryo";
			reg = <0x0 0x0>;
			enable-method = "spin-table";
			enable-method = "psci";
			cache-size = <0x8000>;
			cpu-release-addr = <0x0 0x90000000>;
			next-level-cache = <&L2_0>;
@@ -63,7 +63,7 @@
			device_type = "cpu";
			compatible = "qcom,kryo";
			reg = <0x0 0x100>;
			enable-method = "spin-table";
			enable-method = "psci";
			cache-size = <0x8000>;
			cpu-release-addr = <0x0 0x90000000>;
			next-level-cache = <&L2_1>;
@@ -80,7 +80,7 @@
			device_type = "cpu";
			compatible = "qcom,kryo";
			reg = <0x0 0x200>;
			enable-method = "spin-table";
			enable-method = "psci";
			cache-size = <0x8000>;
			cpu-release-addr = <0x0 0x90000000>;
			next-level-cache = <&L2_2>;
@@ -97,7 +97,7 @@
			device_type = "cpu";
			compatible = "qcom,kryo";
			reg = <0x0 0x300>;
			enable-method = "spin-table";
			enable-method = "psci";
			cache-size = <0x8000>;
			cpu-release-addr = <0x0 0x90000000>;
			next-level-cache = <&L2_3>;
@@ -114,7 +114,7 @@
			device_type = "cpu";
			compatible = "qcom,kryo";
			reg = <0x0 0x400>;
			enable-method = "spin-table";
			enable-method = "psci";
			cache-size = <0x10000>;
			cpu-release-addr = <0x0 0x90000000>;
			next-level-cache = <&L2_4>;
@@ -131,7 +131,7 @@
			device_type = "cpu";
			compatible = "qcom,kryo";
			reg = <0x0 0x500>;
			enable-method = "spin-table";
			enable-method = "psci";
			cache-size = <0x10000>;
			cpu-release-addr = <0x0 0x90000000>;
			next-level-cache = <&L2_5>;
@@ -148,7 +148,7 @@
			device_type = "cpu";
			compatible = "qcom,kryo";
			reg = <0x0 0x600>;
			enable-method = "spin-table";
			enable-method = "psci";
			cache-size = <0x10000>;
			cpu-release-addr = <0x0 0x90000000>;
			next-level-cache = <&L2_6>;
@@ -165,7 +165,7 @@
			device_type = "cpu";
			compatible = "qcom,kryo";
			reg = <0x0 0x700>;
			enable-method = "spin-table";
			enable-method = "psci";
			cache-size = <0x10000>;
			cpu-release-addr = <0x0 0x90000000>;
			next-level-cache = <&L2_7>;
@@ -239,6 +239,11 @@
		};
	};

	psci {
		compatible = "arm,psci-1.0";
		method = "smc";
	};

	firmware: firmware {
		android {
			compatible = "android,firmware";
@@ -1067,12 +1072,15 @@
				  <SLEEP_TCS   3>,
				  <WAKE_TCS    3>,
				  <CONTROL_TCS 1>;
		status = "disabled";

		msm_bus_apps_rsc {
			compatible = "qcom,msm-bus-rsc";
			qcom,msm-bus-id = <MSM_BUS_RSC_APPS>;
		};

		system_pm {
			compatible = "qcom,system-pm";
		};
	};

	disp_rsc: rsc@af20000 {
@@ -1507,3 +1515,4 @@
#include "kona-sde-pll.dtsi"
#include "kona-sde-display.dtsi"
#include "kona-audio.dtsi"
#include "kona-pm.dtsi"