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

Commit 58f2d3b6 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "ARM: dts: msm: Use PSCI idle low power modes on 8996"

parents de0cb0e2 fd9ad3c6
Loading
Loading
Loading
Loading
+83 −399
Original line number Diff line number Diff line
@@ -18,312 +18,19 @@
		reg = <0x9A10000 0x1000>;
		qcom,name = "system-cbf"; /* CBF SAW */
		qcom,saw2-ver-reg = <0xFD0>;
		qcom,saw2-cfg = <0x01>;
		qcom,saw2-spm-dly = <0x3FF0C00A>;
		qcom,saw2-spm-ctl = <0x1>;
		qcom,cpu-vctl-list = <&CPU0 &CPU1 &CPU2 &CPU3>;
		qcom,vctl-timeout-us = <50>;
		qcom,vctl-port = <0x0>;
		qcom,phase-port = <0x1>;
		qcom,saw2-pmic-data0 = <0x00030000>; /* VDD_APC0 off */
		qcom,saw2-pmic-data1 = <0x04030080>; /* VDD_APC0 on  */
		qcom,saw2-avs-ctl = <0x1100>;
		qcom,pfm-port = <0x2>;
		qcom,supports-rpm-hs;

		qcom,mode0 {
			qcom,label = "qcom,saw2-spm-cmd-wfi";
			qcom,sequence = [03 0F]; /* M1 */
			qcom,event_sync = <0xFF>;
			qcom,spm_en;
		};

		qcom,mode1 {
			qcom,label = "qcom,saw2-spm-cmd-fpc";
			qcom,sequence = [60 E0 F0 B0 EB DB FB 00 08 C0 C0 10 80 90 A0 50
			1B 9B 20 01 03 11 90 A0 3F 3F 3F 8B 80 20 60 50 0B 08 44 42 08 D0 D0 08
			10 00 B0 F0 0F]; /* M4 */
			qcom,event_sync = <0xFF>;
			qcom,ret_mode;
			qcom,pc_mode;
			qcom,isar;
			qcom,slp_cmd_mode;
			qcom,spm_en;
		};
	};

	qcom,spm@9A00000 {
		compatible = "qcom,spm-v2";
		#address-cells = <1>;
		#size-cells = <1>;
		reg = <0x9A00000 0x1000>,
			<0x9A01048 0x4>,
			<0x6500200 0x4>;
		reg-names = "saw-base", "hw-flush", "slpreq";
		qcom,name = "system-l3"; /* L3 SAW */
		qcom,saw2-ver-reg = <0xFD0>;
		qcom,saw2-cfg = <0x01>;
		qcom,saw2-spm-dly = <0x3C102800>;
		qcom,saw2-spm-ctl = <0x1>;

		qcom,mode0 {
			qcom,label = "qcom,saw2-spm-cmd-wfi";
			qcom,sequence = [03 0B 0F]; /* E1 */
			qcom,event_sync = <0xFF>;
			qcom,spm_en;
		};

		qcom,mode1 {
			qcom,label = "qcom,saw2-spm-cmd-fpc";
			qcom,sequence = [E0 A0 B0 AB BB 02 C0 C0 20 10 80 70 5B 3B 03
			66 A0 1B 80 70 4B 2B 0B 40 04 42 02 D0 D0 00 20 14 B0 0F]; /* E4 */
			qcom,event_sync = <0xFF>;
			qcom,pc_mode;
			qcom,ret_mode;
			qcom,isar;
			qcom,spm_en;
		};
	};

	qcom,spm@99A0000 {
		compatible = "qcom,spm-v2";
		#address-cells = <1>;
		#size-cells = <1>;
		reg = <0x99A0000 0x1000>,
			<0x99A1060 0x4>;
		reg-names = "saw-base", "hw-flush";
		qcom,name = "pwr-l2"; /* Power L2 SAW */
		qcom,saw2-ver-reg = <0xFD0>;
		qcom,saw2-cfg = <0x04>;
		qcom,saw2-spm-dly = <0x3C102800>;
		qcom,saw2-spm-ctl = <0x0>;
		qcom,apm-ctrl = <&apc_apm>;

		qcom,mode0 {
			qcom,label = "qcom,saw2-spm-cmd-wfi";
			qcom,sequence = [03 0B 0F]; /* D1 */
			qcom,event_sync = <0xFF>;
		};

		qcom,mode1 {
			qcom,label = "qcom,saw2-spm-cmd-gdhs";
			qcom,sequence = [60 A8 78 72 8B 70 6B 98 00 88 20 10 E0 A0 5B 3B 03
			98 78 E0 A0 4B 2B 60 0B 7B 30 08 02 0E 20 10 88 80 32 CB 80 0F]; /* D3 */
			qcom,event_sync = <0xFF>;
			qcom,pc_mode;
			qcom,isar;
			qcom,spm_en;
		};

		qcom,mode2 {
			qcom,label = "qcom,saw2-spm-cmd-pc";
			qcom,sequence = [60 A8 78 50 6B 98 00 88 20 10 F0 D0 A0 5B 3B 03
			C4 98 78 1B D0 A0 4B 2B 60 0B F0 7B 30 08 EB 88 02 0E 20 10 30 0F]; /* D5 */
			qcom,event_sync = <0xFF>;
			qcom,pc_mode;
			qcom,isar;
			qcom,spm_en;
		};
	};

	qcom,spm@99D0000 {
		compatible = "qcom,spm-v2";
		#address-cells = <1>;
		#size-cells = <1>;
		reg = <0x99D0000 0x1000>,
			<0x99D1060 0x4>;
		reg-names = "saw-base", "hw-flush";
		qcom,name = "perf-l2"; /* Perf L2 SAW */
		qcom,saw2-ver-reg = <0xFD0>;
		qcom,saw2-cfg = <0x04>;
		qcom,saw2-spm-dly = <0x3C102800>;
		qcom,saw2-spm-ctl = <0x0>;

		qcom,mode0 {
			qcom,label = "qcom,saw2-spm-cmd-wfi";
			qcom,sequence = [03 0B 0F]; /* D1 */
			qcom,event_sync = <0xFF>;
		};

		qcom,mode1 {
			qcom,label = "qcom,saw2-spm-cmd-gdhs";
			qcom,sequence = [60 A8 78 72 8B 70 98 6B 00 88 20 10 E0 A0 5B 3B 03
			98 78 E0 A0 4B 2B 60 0B 7B 30 08 08 06 20 10 88 80 32 CB 80 0F]; /* D3 */
			qcom,event_sync = <0xFF>;
			qcom,pc_mode;
			qcom,isar;
			qcom,spm_en;
		};

		qcom,mode2 {
			qcom,label = "qcom,saw2-spm-cmd-pc";
			qcom,sequence = [60 A8 78 50 6B 98 00 88 20 10 F0 D0 A0 5B 3B 03
			C4 98 78 1B D0 A0 4B 2B 60 0B F0 7B 30 08 EB 88 02 0E 20 10 30 0F]; /* D5 */
			qcom,event_sync = <0xFF>;
			qcom,pc_mode;
			qcom,isar;
			qcom,spm_en;
		};
	};

	qcom,spm@9980000 {
		compatible = "qcom,spm-v2";
		#address-cells = <1>;
		#size-cells = <1>;
		reg = <0x9980000 0x1000>;
		qcom,name = "cpu0";
		qcom,cpu = <&CPU0>;
		qcom,saw2-ver-reg = <0xFD0>;
		qcom,saw2-cfg = <0x03>;
		qcom,saw2-spm-dly = <0X3C102803>;
		qcom,saw2-spm-ctl = <0x1>;

		qcom,mode0 {
			qcom,label = "qcom,saw2-spm-cmd-wfi";
			qcom,sequence = [50 AB 00 03 0B 00 52 BB 0F]; /* C1.5 */
			qcom,event_sync = <0xFF>;
		};

		qcom,mode1 {
			qcom,label = "qcom,saw2-spm-cmd-ret";
			qcom,sequence = [50 6A AB 60 00 58 20 10 48 90 5B 3B 03 48 4B 6B 90
			2B 20 10 0B 58 00 52 BB 0F]; /* C3 */
			qcom,event_sync = <0xFF>;
			qcom,pc_mode;
			qcom,spm_en;
		};

		qcom,mode@2 {
			qcom,label = "qcom,saw2-spm-cmd-pc";
			qcom,sequence = [50 68 AB 60 00 58 20 10 48 A0 5B 3B 03
			C6 1B 48 4B 6B A0 2B 0B 7B 30 06 20 12 58 30 52 BB 0F]; /* C5 */
			qcom,event_sync = <0xFF>;
			qcom,pc_mode;
			qcom,ret_mode;
			qcom,spm_en;
		};
	};

	qcom,spm@9990000 {
		compatible = "qcom,spm-v2";
		#address-cells = <1>;
		#size-cells = <1>;
		reg = <0x9990000 0x1000>;
		qcom,name = "cpu1";
		qcom,cpu = <&CPU1>;
		qcom,saw2-ver-reg = <0xFD0>;
		qcom,saw2-cfg = <0x03>;
		qcom,saw2-spm-dly = <0X3C102803>;
		qcom,saw2-spm-ctl = <0x1>;

		qcom,mode0 {
			qcom,label = "qcom,saw2-spm-cmd-wfi";
			qcom,sequence = [50 AB 00 03 0B 00 52 BB 0F]; /* C1.5 */
			qcom,event_sync = <0xFF>;
		};

		qcom,mode1 {
			qcom,label = "qcom,saw2-spm-cmd-ret";
			qcom,sequence = [50 6A AB 60 00 58 20 10 48 90 5B 3B 03 48 4B 6B 90
			2B 20 10 0B 58 00 52 BB 0F]; /* C3 */
			qcom,event_sync = <0xFF>;
			qcom,pc_mode;
			qcom,spm_en;
		};

		qcom,mode@2 {
			qcom,label = "qcom,saw2-spm-cmd-pc";
			qcom,sequence = [50 68 AB 60 00 58 20 10 48 A0 5B 3B 03
			C6 1B 48 4B 6B A0 2B 0B 7B 30 06 20 12 58 30 52 BB 0F]; /* C4 */
			qcom,event_sync = <0xFF>;
			qcom,pc_mode;
			qcom,ret_mode;
			qcom,spm_en;
		};
	};

	qcom,spm@99B0000 {
		compatible = "qcom,spm-v2";
		#address-cells = <1>;
		#size-cells = <1>;
		reg = <0x99B0000 0x1000>;
		qcom,name = "cpu2";
		qcom,cpu = <&CPU2>;
		qcom,saw2-ver-reg = <0xFD0>;
		qcom,saw2-cfg = <0x03>;
		qcom,saw2-spm-dly = <0X3C102803>;
		qcom,saw2-spm-ctl = <0x1>;

		qcom,mode0 {
			qcom,label = "qcom,saw2-spm-cmd-wfi";
			qcom,sequence = [50 AB 00 03 0B 00 52 BB 0F]; /* C1.5 */
			qcom,event_sync = <0xFF>;
		};

		qcom,mode1 {
			qcom,label = "qcom,saw2-spm-cmd-ret";
			qcom,sequence = [50 6A AB 60 00 58 20 10 48 90 5B 3B 03 48 4B 6B 90
			2B 20 10 0B 58 00 52 BB 0F]; /* C3 */
			qcom,event_sync = <0xFF>;
			qcom,pc_mode;
			qcom,spm_en;
		};

		qcom,mode@2 {
			qcom,label = "qcom,saw2-spm-cmd-pc";
			qcom,sequence = [50 68 AB 60 00 58 20 10 48 A0 5B 3B 03
			C6 1B 48 4B 6B A0 2B 0B 7B 30 06 20 12 58 30 52 BB 0F]; /* C4 */
			qcom,event_sync = <0xFF>;
			qcom,pc_mode;
			qcom,ret_mode;
			qcom,spm_en;
		};
	};

	qcom,spm@99C0000 {
		compatible = "qcom,spm-v2";
		#address-cells = <1>;
		#size-cells = <1>;
		reg = <0x99C0000 0x1000>;
		qcom,name = "cpu3";
		qcom,cpu = <&CPU3>;
		qcom,saw2-ver-reg = <0xFD0>;
		qcom,saw2-cfg = <0x03>;
		qcom,saw2-spm-dly = <0X3C102803>;
		qcom,saw2-spm-ctl = <0x1>;

		qcom,mode0 {
			qcom,label = "qcom,saw2-spm-cmd-wfi";
			qcom,sequence = [50 AB 00 03 0B 00 52 BB 0F]; /* C1.5 */
			qcom,event_sync = <0xFF>;
		};

		qcom,mode1 {
			qcom,label = "qcom,saw2-spm-cmd-ret";
			qcom,sequence = [50 6A AB 60 00 58 20 10 48 90 5B 3B 03 48 4B 6B 90
			2B 20 10 0B 58 00 52 BB 0F]; /* C3 */
			qcom,event_sync = <0xFF>;
			qcom,pc_mode;
			qcom,spm_en;
		};

		qcom,mode@2 {
			qcom,label = "qcom,saw2-spm-cmd-pc";
			qcom,sequence = [50 68 AB 60 00 58 20 10 48 A0 5B 3B 03
			C6 1B 48 4B 6B A0 2B 0B 7B 30 06 20 12 58 30 52 BB 0F]; /* C5 */
			qcom,event_sync = <0xFF>;
			qcom,pc_mode;
			qcom,ret_mode;
			qcom,spm_en;
		};
	};

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

		qcom,pm-cluster@0 {
			reg = <0>;
			#address-cells = <1>;
@@ -331,27 +38,28 @@
			label = "system";
			qcom,spm-device-names = "cbf", "l3";
			qcom,default-level = <0>;
			qcom,psci-mode-shift = <8>;
			qcom,psci-mode-mask = <0xff>;

			qcom,pm-cluster-level@0{
				reg = <0>;
				label = "system-wfi";
				qcom,spm-cbf-mode = "wfi";
				qcom,spm-l3-mode = "wfi";
				qcom,psci-mode = <0>;
				qcom,latency-us = <100>;
				qcom,ss-power = <1000>;
				qcom,energy-overhead = <3000>;
				qcom,time-overhead = <100>;
				qcom,ss-power = <1050>;
				qcom,energy-overhead = <23000>;
				qcom,time-overhead = <120>;
			};

			qcom,pm-cluster-level@1{
				reg = <1>;
				label = "system-fpc";
				qcom,spm-cbf-mode = "fpc";
				qcom,spm-l3-mode = "fpc";
				qcom,latency-us = <1000>;
				qcom,ss-power = <100>;
				qcom,energy-overhead = <30000>;
				qcom,time-overhead = <800>;
				qcom,psci-mode = <0x34>;
				qcom,latency-us = <11000>;
				qcom,ss-power = <72>;
				qcom,energy-overhead = <90000>;
				qcom,time-overhead = <3200>;
				qcom,min-child-idx = <2>;
				qcom,notify-rpm;
			};
@@ -364,69 +72,65 @@
				qcom,spm-device-names = "l2";
				qcom,default-level=<0>;
				qcom,cpu = <&CPU0 &CPU1>;
				qcom,psci-mode-shift = <4>;
				qcom,psci-mode-mask = <0xf>;

				qcom,pm-cluster-level@0{
				qcom,pm-cluster-level@0{ /* D1 */
					reg = <0>;
					label = "pwr-l2-wfi";
					qcom,spm-l2-mode = "wfi";
					qcom,latency-us = <100>;
					qcom,ss-power = <1000>;
					qcom,energy-overhead = <30000>;
					qcom,time-overhead = <100>;
					qcom,psci-mode = <1>;
					qcom,latency-us = <40>;
					qcom,ss-power = <800>;
					qcom,energy-overhead = <22000>;
					qcom,time-overhead = <85>;
				};

				qcom,pm-cluster-level@1{
				qcom,pm-cluster-level@1{ /* D3 */
					reg = <1>;
					label = "pwr-l2-gdhs";
					qcom,spm-l2-mode = "gdhs";
					qcom,latency-us = <500>;
					qcom,ss-power = <500>;
					qcom,psci-mode = <3>;
					qcom,latency-us = <600>;
					qcom,ss-power = <350>;
					qcom,energy-overhead = <30000>;
					qcom,time-overhead = <3500>;
					qcom,min-child-idx = <2>;
					qcom,time-overhead = <1250>;
					qcom,min-child-idx = <1>;
				};

				qcom,pm-cluster-level@2{
				qcom,pm-cluster-level@2{ /* D4 */
					reg = <2>;
					label = "pwr-l2-pc";
					qcom,spm-l2-mode = "pc";
					qcom,latency-us = <800>;
					qcom,ss-power = <100>;
					qcom,energy-overhead = <300000>;
					qcom,time-overhead = <5000>;
					qcom,min-child-idx = <2>;
					label = "pwr-l2-fpc";
					qcom,psci-mode = <4>;
					qcom,latency-us = <700>;
					qcom,ss-power = <180>;
					qcom,energy-overhead = <65000>;
					qcom,time-overhead = <1900>;
					qcom,min-child-idx = <1>;
				};

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

					qcom,pm-cpu-level@0 {
					qcom,pm-cpu-level@0 { /* C1 */
						reg = <0>;
						qcom,psci-cpu-mode = <1>;
						qcom,spm-cpu-mode = "wfi";
						qcom,latency-us = <1>;
						qcom,ss-power = <715>;
						qcom,energy-overhead = <17700>;
						qcom,time-overhead = <2>;
						qcom,latency-us = <20>;
						qcom,ss-power = <500>;
						qcom,energy-overhead = <15000>;
						qcom,time-overhead = <60>;
					};

					qcom,pm-cpu-level@1 {
					qcom,pm-cpu-level@1 {  /* C4 */
						reg = <1>;
						qcom,spm-cpu-mode = "retention";
						qcom,latency-us = <100>;
						qcom,ss-power = <476>;
						qcom,energy-overhead = <22530>;
						qcom,time-overhead = <350>;
					};

					qcom,pm-cpu-level@2 {
						reg = <2>;
						qcom,spm-cpu-mode = "pc";
						qcom,latency-us = <500>;
						qcom,ss-power = <100>;
						qcom,energy-overhead = <225300>;
						qcom,time-overhead = <5000>;
						qcom,use-broadcast-timer;
						qcom,spm-cpu-mode = "fpc";
						qcom,psci-cpu-mode = <4>;
						qcom,latency-us = <300>;
						qcom,ss-power = <180>;
						qcom,energy-overhead = <23000>;
						qcom,time-overhead = <550>;
					};
				};
			};
@@ -439,89 +143,69 @@
				qcom,spm-device-names = "l2";
				qcom,default-level=<0>;
				qcom,cpu = <&CPU2 &CPU3>;
				qcom,psci-mode-shift = <4>;
				qcom,psci-mode-mask = <0xf>;

				qcom,pm-cluster-level@0{
				qcom,pm-cluster-level@0{  /* D1 */
					reg = <0>;
					label = "perf-l2-wfi";
					qcom,spm-l2-mode = "wfi";
					qcom,latency-us = <100>;
					qcom,psci-mode = <1>;
					qcom,latency-us = <40>;
					qcom,ss-power = <1000>;
					qcom,energy-overhead = <30000>;
					qcom,time-overhead = <100>;
					qcom,energy-overhead = <24000>;
					qcom,time-overhead = <80>;
				};

				qcom,pm-cluster-level@2{
				qcom,pm-cluster-level@1{ /* D3 */
					reg = <1>;
					label = "perf-l2-gdhs";
					qcom,spm-l2-mode = "gdhs";
					qcom,latency-us = <400>;
					qcom,psci-mode = <3>;
					qcom,latency-us = <700>;
					qcom,ss-power = <500>;
					qcom,energy-overhead = <100000>;
					qcom,time-overhead = <500>;
					qcom,min-child-idx = <2>;
					qcom,energy-overhead = <33000>;
					qcom,time-overhead = <1350>;
					qcom,min-child-idx = <1>;
				};

				qcom,pm-cluster-level@1{
					reg = <1>;
					label = "perf-l2-pc";
					qcom,spm-l2-mode = "pc";
				qcom,pm-cluster-level@2{ /* D4 */
					reg = <2>;
					label = "perf-l2-fpc";
					qcom,psci-mode = <4>;
					qcom,latency-us = <800>;
					qcom,ss-power = <100>;
					qcom,energy-overhead = <300000>;
					qcom,time-overhead = <1000>;
					qcom,min-child-idx = <2>;
					qcom,ss-power = <250>;
					qcom,energy-overhead = <80000>;
					qcom,time-overhead = <2300>;
					qcom,min-child-idx = <1>;
				};

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

					qcom,pm-cpu-level@0 {
					qcom,pm-cpu-level@0 { /* C1 */
						reg = <0>;
						qcom,psci-cpu-mode = <1>;
						qcom,spm-cpu-mode = "wfi";
						qcom,latency-us = <1>;
						qcom,latency-us = <25>;
						qcom,ss-power = <715>;
						qcom,energy-overhead = <17700>;
						qcom,time-overhead = <2>;
						qcom,time-overhead = <50>;
					};

					qcom,pm-cpu-level@1 {
					qcom,pm-cpu-level@1 { /* C4 */
						reg = <1>;
						qcom,spm-cpu-mode = "retention";
						qcom,latency-us = <100>;
						qcom,ss-power = <476>;
						qcom,energy-overhead = <225300>;
						qcom,time-overhead = <350>;
					};

					qcom,pm-cpu-level@2 {
						reg = <2>;
						qcom,spm-cpu-mode = "pc";
						qcom,latency-us = <500>;
						qcom,ss-power = <100>;
						qcom,energy-overhead = <225300>;
						qcom,time-overhead = <5000>;
						qcom,use-broadcast-timer;
					};
						qcom,spm-cpu-mode = "fpc";
						qcom,psci-cpu-mode = <4>;
						qcom,latency-us = <250>;
						qcom,ss-power = <220>;
						qcom,energy-overhead = <28000>;
						qcom,time-overhead = <500>;
					};
				};
			};
		};

	qcom,pm@66bf664 {
		compatible = "qcom,pm";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;
		reg = <0x66bf664 0x40>;
		clock-names = "cpu0_clk", "cpu1_clk", "cpu2_clk",
				"cpu3_clk", "l2_clk";
		qcom,saw-turns-off-pll;
		clocks = <&clock_cpu clk_pwrcl_clk>,
			 <&clock_cpu clk_pwrcl_clk>,
			 <&clock_cpu clk_perfcl_clk>,
			 <&clock_cpu clk_perfcl_clk>,
			 <&clock_cpu clk_cbf_clk>;
	};

	qcom,mpm@681b8 {