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

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

Merge "ARM: dts: msm: Add power management devices for sdxlemur"

parents dc169885 4b199156
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@
		interrupt-controller;
		interrupt-parent = <&intc>;
		#interrupt-cells = <2>;
		wakeup-parent = <&pdc>;

		uart3_console_active: uart3_console_active {
			mux {

qcom/sdxlemur-pm.dtsi

0 → 100644
+104 −0
Original line number Diff line number Diff line
#include <dt-bindings/interrupt-controller/arm-gic.h>

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

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

			CX_ACTIVE: qcom,pm-cluster-level@0 {
				reg = <0>;
				idle-state-name = "cx-active";
				compatible = "arm,idle-state";
				qcom,psci-mode = <0>;
				arm,psci-suspend-param = <0x40000004>;
				entry-latency-us = <120>;
				exit-latency-us = <150>;
				min-residency-us = <6488>;
			};

			CX_MIN: qcom,pm-cluster-level@1 {/* C8=>XO off in f/w */
				reg = <1>;
				idle-state-name = "cx-min";
				compatible = "arm,idle-state";
				qcom,psci-mode = <0x4>;
				arm,psci-suspend-param = <0x40000008>;
				entry-latency-us = <140>;
				exit-latency-us = <200>;
				min-residency-us = <8000>;
				local-timer-stop;
				qcom,min-child-idx = <2>;
				qcom,notify-rpm;
				qcom,is-reset;
			};

			qcom,pm-cpu@0 {
				#address-cells = <1>;
				#size-cells = <0>;
				qcom,psci-mode-shift = <0>;
				qcom,psci-mode-mask = <0xf>;
				qcom,disable-ipi-prediction;
				qcom,cpu = <&CPU0>;

				qcom,pm-cpu-level@0 {
					reg = <0>;
					idle-state-name = "wfi";
					compatible = "arm,idle-state";
					qcom,psci-cpu-mode = <0x1>;
					arm,psci-suspend-param = <0x1>;
					entry-latency-us = <57>;
					exit-latency-us = <43>;
					min-residency-us = <83>;
				};

				A7_SPC: qcom,pm-cpu-level@1 {/* C3 */
					reg = <1>;
					idle-state-name ="standalone-pc";
					compatible = "arm,idle-state";
					qcom,psci-cpu-mode = <0x3>;
					arm,psci-suspend-param = <0x40000003>;
					entry-latency-us = <120>;
					exit-latency-us = <120>;
					min-residency-us = <4488>;
					local-timer-stop;
					qcom,use-broadcast-timer;
					qcom,is-reset;
				};

				A7_PC: qcom,pm-cpu-level@2 { /* C4 */
					reg = <2>;
					idle-state-name = "pc";
					compatible = "arm,idle-state";
					qcom,psci-cpu-mode = <0x4>;
					arm,psci-suspend-param = <0x40000004>;
					entry-latency-us = <120>;
					exit-latency-us = <150>;
					min-residency-us = <6488>;
					local-timer-stop;
					qcom,use-broadcast-timer;
					qcom,is-reset;
				};

			};
		};
	};

	rpmh-master-stats@b211200 {
		compatible = "qcom,rpmh-master-stats-v1";
		reg = <0xb211200 0x60>;
	};

	soc-sleep-stats@C370000 {
		compatible = "qcom,rpmh-sleep-stats";
		reg = <0xc370000 0x400>;
	};

};
+39 −0
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@
#include <dt-bindings/clock/qcom,rpmh.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/interconnect/qcom,sdxlemur.h>
#include <dt-bindings/soc/qcom,rpmh-rsc.h>

/ {
	#address-cells = <1>;
@@ -25,6 +26,12 @@
		#size-cells = <1>;
		ranges;

	cmd_db: reserved-memory@8fe20000 {
		compatible = "qcom,cmd-db";
		no-map;
		reg = <0x8fe20000 0x20000>;
	};

		peripheral2_mem: peripheral2_region@8fd00000 {
			no-map;
			reg = <0x8fd00000 0x140000>;
@@ -46,6 +53,8 @@
			device_type = "cpu";
			compatible = "arm,cortex-a7";
			reg = <0x0>;
			enable-method = "psci";
			cpu-idle-states = <&A7_SPC &A7_PC &CX_MIN>;
		};
	};

@@ -274,6 +283,35 @@
		#reset-cells = <1>;
	};

	apps_rsc: rsc@17830000 {
		label = "apps_rsc";
		compatible = "qcom,rpmh-rsc";
		reg = <0x17830000 0x10000>,
		      <0x17840000 0x10000>;
		reg-names = "drv-0", "drv-1";
		interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
		qcom,tcs-offset = <0xd00>;
		qcom,drv-id = <1>;
		qcom,tcs-config = <ACTIVE_TCS  2>,
				  <SLEEP_TCS   2>,
				  <WAKE_TCS    2>,
				  <CONTROL_TCS 1>;

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

	pdc: interrupt-controller@b210000 {
		compatible = "qcom,sdxlemur-pdc";
		reg = <0xb210000 0x30000>;
		qcom,pdc-ranges = <0 147 52>, <52 266 32>;
		#interrupt-cells = <3>;
		interrupt-parent = <&intc>;
		interrupt-controller;
	};

	 /* GCC GDSCs */
	gcc_pcie_gdsc: qcom,gdsc@143004 {
		compatible = "regulator-fixed";
@@ -470,3 +508,4 @@
#include "sdxlemur-pinctrl.dtsi"
#include "sdxlemur-stub-regulator.dtsi"
#include "sdxlemur-usb.dtsi"
#include "sdxlemur-pm.dtsi"