/* Copyright (c) 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"

/ {
	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= <0x3C102800>;
		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= <0x3C102800>;
		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= <0x3C102800>;
		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= <0x3C102800>;
		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= <0x3C102800>;
		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 = <5>;		/* 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.gpios-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.gpios-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.gpios-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.gpios-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.gpios-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 = <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 0x100>;
			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@0xfc19dbd0{
		compatible = "qcom,rpm-stats";
		reg = <0xfc19dbd0 0x1000>;
		reg-names = "phys_addr_base";
		qcom,sleep-stats-version = <2>;
	};
};
