/* Copyright (c) 2012-2013, 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/ "skeleton.dtsi"

&soc {
	qcom,spm@f9089000 {
		compatible = "qcom,spm-v2";
		#address-cells = <1>;
		#size-cells = <1>;
		reg = <0xf9089000 0x1000>;
		qcom,core-id = <0>;
		qcom,saw2-ver-reg = <0xfd0>;
		qcom,saw2-cfg = <0x01>;
		qcom,saw2-avs-ctl = <0>;
		qcom,saw2-avs-hysteresis = <0>;
		qcom,saw2-avs-limit = <0>;
		qcom,saw2-avs-dly= <0>;
		qcom,saw2-spm-dly= <0x20000400>;
		qcom,saw2-spm-ctl = <0x1>;
		qcom,saw2-spm-cmd-wfi = [03 0b 0f];
		qcom,saw2-spm-cmd-ret = [42 1b 00 d0 c0 a0 90 03 d0 98 a2 c0
				0b 00 42 1b 0f];
		qcom,saw2-spm-cmd-spc = [00 20 80 10 90 a0 b0 03 3b 98 a2 b0 82
				10 0b 30 06 26 30 0f];
		qcom,saw2-spm-cmd-pc = [00 20 80 10 90 a0 b0 07 3b 98 a2 b0 82
				10 0b 30 06 26 30 0f];
	};

	qcom,spm@f9099000 {
		compatible = "qcom,spm-v2";
		#address-cells = <1>;
		#size-cells = <1>;
		reg = <0xf9099000 0x1000>;
		qcom,core-id = <1>;
		qcom,saw2-ver-reg = <0xfd0>;
		qcom,saw2-cfg = <0x01>;
		qcom,saw2-avs-ctl = <0>;
		qcom,saw2-avs-hysteresis = <0>;
		qcom,saw2-avs-limit = <0>;
		qcom,saw2-avs-dly= <0>;
		qcom,saw2-spm-dly= <0x20000400>;
		qcom,saw2-spm-ctl = <0x1>;
		qcom,saw2-spm-cmd-wfi = [03 0b 0f];
		qcom,saw2-spm-cmd-ret = [42 1b 00 d0 c0 a0 90 03 d0 98 a2 c0
				0b 00 42 1b 0f];
		qcom,saw2-spm-cmd-spc = [00 20 80 10 90 a0 b0 03 3b 98 a2 b0 82
				10 0b 30 06 26 30 0f];
		qcom,saw2-spm-cmd-pc = [00 20 80 10 90 a0 b0 07 3b 98 a2 b0 82
				10 0b 30 06 26 30 0f];
	};

	qcom,spm@f90a9000 {
		compatible = "qcom,spm-v2";
		#address-cells = <1>;
		#size-cells = <1>;
		reg = <0xf90a9000 0x1000>;
		qcom,core-id = <2>;
		qcom,saw2-ver-reg = <0xfd0>;
		qcom,saw2-cfg = <0x01>;
		qcom,saw2-avs-ctl = <0>;
		qcom,saw2-avs-hysteresis = <0>;
		qcom,saw2-avs-limit = <0>;
		qcom,saw2-avs-dly= <0>;
		qcom,saw2-spm-dly= <0x20000400>;
		qcom,saw2-spm-ctl = <0x1>;
		qcom,saw2-spm-cmd-wfi = [03 0b 0f];
		qcom,saw2-spm-cmd-ret = [42 1b 00 d0 c0 a0 90 03 d0 98 a2 c0
				0b 00 42 1b 0f];
		qcom,saw2-spm-cmd-spc = [00 20 80 10 90 a0 b0 03 3b 98 a2 b0 82
				10 0b 30 06 26 30 0f];
		qcom,saw2-spm-cmd-pc = [00 20 80 10 90 a0 b0 07 3b 98 a2 b0 82
				10 0b 30 06 26 30 0f];
	};

	qcom,spm@f90b9000 {
		compatible = "qcom,spm-v2";
		#address-cells = <1>;
		#size-cells = <1>;
		reg = <0xf90b9000 0x1000>;
		qcom,core-id = <3>;
		qcom,saw2-ver-reg = <0xfd0>;
		qcom,saw2-cfg = <0x01>;
		qcom,saw2-avs-ctl = <0>;
		qcom,saw2-avs-hysteresis = <0>;
		qcom,saw2-avs-limit = <0>;
		qcom,saw2-avs-dly= <0>;
		qcom,saw2-spm-dly= <0x20000400>;
		qcom,saw2-spm-ctl = <0x1>;
		qcom,saw2-spm-cmd-wfi = [03 0b 0f];
		qcom,saw2-spm-cmd-ret = [42 1b 00 d0 c0 a0 90 03 d0 98 a2 c0
				0b 00 42 1b 0f];
		qcom,saw2-spm-cmd-spc = [00 20 80 10 90 a0 b0 03 3b 98 a2 b0 82
				10 0b 30 06 26 30 0f];
		qcom,saw2-spm-cmd-pc = [00 20 80 10 90 a0 b0 07 3b 98 a2 b0 82
				10 0b 30 06 26 30 0f];
	};

	qcom,spm@f9012000 {
		compatible = "qcom,spm-v2";
		#address-cells = <1>;
		#size-cells = <1>;
		reg = <0xf9012000 0x1000>;
		qcom,core-id = <0xffff>; /* L2/APCS SAW */
		qcom,saw2-ver-reg = <0xfd0>;
		qcom,saw2-cfg = <0x14>;
		qcom,saw2-avs-ctl = <0>;
		qcom,saw2-avs-hysteresis = <0>;
		qcom,saw2-avs-limit = <0>;
		qcom,saw2-avs-dly= <0>;
		qcom,saw2-spm-dly= <0x20000400>;
		qcom,saw2-spm-ctl = <0x1>;
		qcom,saw2-pmic-data0 = <0x02030080>;
		qcom,saw2-pmic-data1 = <0x00030000>;
		qcom,vctl-timeout-us = <50>;
		qcom,vctl-port = <0x0>;
		qcom,phase-port = <0x1>;
		qcom,pfm-port = <0x2>;
		qcom,saw2-spm-cmd-ret = [1f 00 20 03 22 00 0f];
		qcom,saw2-spm-cmd-gdhs = [00 20 32 42 07 44 22 50 02 32 50 0f];
		qcom,saw2-spm-cmd-pc = [00 10 32 b0 11 42 07 01 b0 12 44
				50 02 32 50 0f];
	};

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

		qcom,lpm-resources@0 {
			reg = <0x0>;
			qcom,name = "vdd-dig";
			qcom,type = <0x62706d73>;	/* "smpb" */
			qcom,id = <0x02>;
			qcom,key = <0x6e726f63>;	/* "corn" */
			qcom,init-value = <6>;		/* Super Turbo */
		};

		qcom,lpm-resources@1 {
			reg = <0x1>;
			qcom,name = "vdd-mem";
			qcom,type = <0x62706d73>;	/* "smpb" */
			qcom,id = <0x01>;
			qcom,key = <0x7675>;		/* "uv" */
			qcom,init-value = <1050000>;	/* Super Turbo */
		};

		qcom,lpm-resources@2 {
			reg = <0x2>;
			qcom,name = "pxo";
			qcom,type = <0x306b6c63>;	/* "clk0" */
			qcom,id = <0x00>;
			qcom,key = <0x62616e45>;	/* "Enab" */
			qcom,init-value = "xo_on";
		};

		qcom,lpm-resources@3 {
			reg = <0x3>;
			qcom,name = "l2";
			qcom,local-resource-type;
			qcom,init-value = "l2_cache_retention";
		};
	};

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

		qcom,use-qtimer;

		qcom,lpm-level@0 {
			reg = <0x0>;
			qcom,mode = "wfi";
			qcom,xo = "xo_on";
			qcom,l2 = "l2_cache_active";
			qcom,vdd-mem-upper-bound = <1050000>; /* SUPER TURBO */
			qcom,vdd-mem-lower-bound = <950000>; /* NORMAL */
			qcom,vdd-dig-upper-bound = <6>; /* SUPER TURBO */
			qcom,vdd-dig-lower-bound = <4>;  /* NORMAL */
			qcom,irqs-detectable;
			qcom,gpio-detectable;
			qcom,latency-us = <1>;
			qcom,ss-power = <784>;
			qcom,energy-overhead = <190000>;
			qcom,time-overhead = <100>;
		};

		qcom,lpm-level@1 {
			reg = <0x1>;
			qcom,mode = "retention";
			qcom,xo = "xo_on";
			qcom,l2 = "l2_cache_active";
			qcom,vdd-mem-upper-bound = <1050000>; /* SUPER TURBO */
			qcom,vdd-mem-lower-bound = <950000>; /* NORMAL */
			qcom,vdd-dig-upper-bound = <6>; /* SUPER TURBO */
			qcom,vdd-dig-lower-bound = <4>;  /* NORMAL */
			qcom,irqs-detectable;
			qcom,gpio-detectable;
			qcom,latency-us = <75>;
			qcom,ss-power = <735>;
			qcom,energy-overhead = <77341>;
			qcom,time-overhead = <105>;
		};


		qcom,lpm-level@2 {
			reg = <0x2>;
			qcom,mode = "standalone_pc";
			qcom,xo = "xo_on";
			qcom,l2 = "l2_cache_active";
			qcom,vdd-mem-upper-bound = <1050000>; /* SUPER TURBO */
			qcom,vdd-mem-lower-bound = <950000>; /* NORMAL */
			qcom,vdd-dig-upper-bound = <6>; /* SUPER TURBO */
			qcom,vdd-dig-lower-bound = <4>;  /* NORMAL */
			qcom,irqs-detectable;
			qcom,gpio-detectable;
			qcom,latency-us = <95>;
			qcom,ss-power = <725>;
			qcom,energy-overhead = <99500>;
			qcom,time-overhead = <130>;
		};

		qcom,lpm-level@3 {
			reg = <0x3>;
			qcom,mode = "pc";
			qcom,xo = "xo_on";
			qcom,l2 = "l2_cache_gdhs";
			qcom,vdd-mem-upper-bound = <1050000>; /* SUPER TURBO */
			qcom,vdd-mem-lower-bound = <950000>; /* NORMAL */
			qcom,vdd-dig-upper-bound = <6>; /* SUPER TURBO */
			qcom,vdd-dig-lower-bound = <4>;  /* NORMAL */
			qcom,irqs-detectable;
			qcom,gpio-detectable;
			qcom,latency-us = <2000>;
			qcom,ss-power = <138>;
			qcom,energy-overhead = <1208400>;
			qcom,time-overhead = <3200>;
		};

		qcom,lpm-level@4 {
			reg = <0x4>;
			qcom,mode = "pc";
			qcom,xo = "xo_on";
			qcom,l2 = "l2_cache_pc";
			qcom,vdd-mem-upper-bound = <1050000>; /* SUPER TURBO */
			qcom,vdd-mem-lower-bound = <950000>; /* SVS SOC */
			qcom,vdd-dig-upper-bound = <6>; /* SUPER TURBO  */
			qcom,vdd-dig-lower-bound = <3>;  /* SVS SOC */
			qcom,irqs-detectable;
			qcom,gpio-detectable;
			qcom,latency-us = <3000>;
			qcom,ss-power = <110>;
			qcom,energy-overhead = <1250300>;
			qcom,time-overhead = <3500>;
		};

		qcom,lpm-level@5 {
			reg = <0x5>;
			qcom,mode = "pc";
			qcom,xo = "xo_off";
			qcom,l2 = "l2_cache_gdhs";
			qcom,vdd-mem-upper-bound = <1050000>; /* SUPER TURBO */
			qcom,vdd-mem-lower-bound = <950000>; /* NORMAL */
			qcom,vdd-dig-upper-bound = <6>; /* SUPER TURBO */
			qcom,vdd-dig-lower-bound = <4>;  /* NORMAL */
			qcom,latency-us = <3000>;
			qcom,ss-power = <68>;
			qcom,energy-overhead = <1350200>;
			qcom,time-overhead = <4000>;
		};

		qcom,lpm-level@6 {
			reg = <0x6>;
			qcom,mode = "pc";
			qcom,xo = "xo_off";
			qcom,l2 = "l2_cache_pc";
			qcom,vdd-mem-upper-bound = <1050000>; /* SUPER TURBO */
			qcom,vdd-mem-lower-bound = <950000>; /* NORMAL */
			qcom,vdd-dig-upper-bound = <6>; /* SUPER TURBO */
			qcom,vdd-dig-lower-bound = <4>;  /* NORMAL */
			qcom,latency-us = <10300>;
			qcom,ss-power = <63>;
			qcom,energy-overhead = <2128000>;
			qcom,time-overhead = <18200>;
		};

		qcom,lpm-level@7 {
			reg = <0x7>;
			qcom,mode= "pc";
			qcom,xo = "xo_off";
			qcom,l2 = "l2_cache_pc";
			qcom,vdd-mem-upper-bound = <950000>; /* NORMAL */
			qcom,vdd-mem-lower-bound = <950000>;  /* SVS SOC */
			qcom,vdd-dig-upper-bound = <4>;  /* NORMAL */
			qcom,vdd-dig-lower-bound = <3>;  /* SVS SOC */
			qcom,latency-us = <18000>;
			qcom,ss-power = <10>;
			qcom,energy-overhead = <3202600>;
			qcom,time-overhead = <27000>;
		};

		qcom,lpm-level@8 {
			reg = <0x8>;
			qcom,mode= "pc";
			qcom,xo = "xo_off";
			qcom,l2 = "l2_cache_pc";
			qcom,vdd-mem-upper-bound = <950000>; /* SVS SOC */
			qcom,vdd-mem-lower-bound = <675000>; /* RETENTION */
			qcom,vdd-dig-upper-bound = <3>; /* SVS SOC */
			qcom,vdd-dig-lower-bound = <1>; /* RETENTION */
			qcom,latency-us = <20000>;
			qcom,ss-power = <2>;
			qcom,energy-overhead = <4252000>;
			qcom,time-overhead = <32000>;
		};
	};

	qcom,pm-boot {
		compatible = "qcom,pm-boot";
		qcom,mode = "tz";
	};

	qcom,mpm@fc4281d0 {
		compatible = "qcom,mpm-v2";
		reg = <0xfc4281d0 0x1000>, /* MSM_RPM_MPM_BASE 4K */
		    <0xf9011008 0x4>;   /* MSM_APCS_GCC_BASE 4K */
		reg-names = "vmpm", "ipc";
		interrupts = <0 171 1>;

		qcom,ipc-bit-offset = <1>;

		qcom,gic-parent = <&intc>;
		qcom,gic-map = <2 216>, /* tsens_upper_lower_int */
			<47 165>, /* usb30_hs_phy_irq */
			<50 172>, /* usb1_hs_async_wakeup_irq */
			<53 104>, /* mdss_irq */
			<62 222>, /* ee0_krait_hlos_spmi_periph_irq */
			<0xff 57>,  /* mss_to_apps_irq(0) */
			<0xff 58>,  /* mss_to_apps_irq(1) */
			<0xff 59>,  /* mss_to_apps_irq(2) */
			<0xff 60>,  /* mss_to_apps_irq(3) */
			<0xff 173>, /* o_wcss_apss_smd_hi */
			<0xff 174>, /* o_wcss_apss_smd_med */
			<0xff 175>, /* o_wcss_apss_smd_low */
			<0xff 176>, /* o_wcss_apss_smsm_irq */
			<0xff 177>, /* o_wcss_apss_wlan_data_xfer_done */
			<0xff 178>, /* o_wcss_apss_wlan_rx_data_avail */
			<0xff 179>, /* o_wcss_apss_asic_intr

			<0xff 188>, /* lpass_irq_out_apcs(0) */
			<0xff 189>, /* lpass_irq_out_apcs(1) */
			<0xff 190>, /* lpass_irq_out_apcs(2) */
			<0xff 191>, /* lpass_irq_out_apcs(3) */
			<0xff 192>, /* lpass_irq_out_apcs(4) */
			<0xff 193>, /* lpass_irq_out_apcs(5) */
			<0xff 194>, /* lpass_irq_out_apcs(6) */
			<0xff 195>, /* lpass_irq_out_apcs(7) */
			<0xff 196>, /* lpass_irq_out_apcs(8) */
			<0xff 197>, /* lpass_irq_out_apcs(9) */
			<0xff 200>, /* rpm_ipc(4) */
			<0xff 201>, /* rpm_ipc(5) */
			<0xff 202>, /* rpm_ipc(6) */
			<0xff 203>, /* rpm_ipc(7) */
			<0xff 204>, /* rpm_ipc(24) */
			<0xff 205>, /* rpm_ipc(25) */
			<0xff 206>, /* rpm_ipc(26) */
			<0xff 207>, /* rpm_ipc(27) */
			<0xff 240>; /* summary_irq_kpss */

		qcom,gpio-parent = <&msmgpio>;
		qcom,gpio-map = <3  102>,
			<4  1 >,
			<5  5 >,
			<6  9 >,
			<7  18>,
			<8  20>,
			<9  24>,
			<10  27>,
			<11  28>,
			<12  34>,
			<13  35>,
			<14  37>,
			<15  42>,
			<16  44>,
			<17  46>,
			<18  50>,
			<19  54>,
			<20  59>,
			<21  61>,
			<22  62>,
			<23  64>,
			<24  65>,
			<25  66>,
			<26  67>,
			<27  68>,
			<28  71>,
			<29  72>,
			<30  73>,
			<31  74>,
			<32  75>,
			<33  77>,
			<34  79>,
			<35  80>,
			<36  82>,
			<37  86>,
			<38  92>,
			<39  93>,
			<40  95>,
			<41  144>;
	};

	qcom,pm-8x60@fe805664 {
		compatible = "qcom,pm-8x60";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;
		reg = <0xfe805664 0x40>;
		qcom,pc-mode = "tz_l2_int";
		qcom,use-sync-timer;

		qcom,cpu-sleep-status@f9088008 {
			compatible = "qcom,cpu-sleep-status";
			reg = <0xf9088008 0x4>;
			qcom,cpu-alias-addr = <0x10000>;
			qcom,sleep-status-mask= <0x80000>;
		};
	};

	qcom,rpm-log@fc19dc00 {
		compatible = "qcom,rpm-log";
		reg = <0xfc19dc00 0x4000>;
		qcom,rpm-addr-phys = <0xfc000000>;
		qcom,offset-version = <4>;
		qcom,offset-page-buffer-addr = <36>;
		qcom,offset-log-len = <40>;
		qcom,offset-log-len-mask = <44>;
		qcom,offset-page-indices = <56>;
	};

	qcom,rpm-stats@fc19dba0 {
		compatible = "qcom,rpm-stats";
		reg = <0xfc19dba0 0x1000>;
		reg-names = "phys_addr_base";
		qcom,sleep-stats-version = <2>;
	};
};
