/* 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-spm-dly= <0x3c102800>;
		qcom,saw2-spm-ctl = <0x0>;
		qcom,saw2-spm-cmd-wfi = [60 03 60 0b 0f];
		qcom,saw2-spm-cmd-spc = [00 20 10 80 30 90 5b 60 03 60 3b 76 76
				0b 94 5b 80 10 2b 06 26 30 0f];
		qcom,saw2-spm-cmd-pc = [00 20 10 80 30 90 5b 60 07 60 3b 76 76
				0b 94 5b 80 10 2b 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-spm-dly= <0x3c102800>;
		qcom,saw2-spm-ctl = <0x0>;
		qcom,saw2-spm-cmd-wfi = [60 03 60 0b 0f];
		qcom,saw2-spm-cmd-spc = [00 20 10 80 30 90 5b 60 03 60 3b 76 76
				0b 94 5b 80 10 2b 06 26 30 0f];
		qcom,saw2-spm-cmd-pc = [00 20 10 80 30 90 5b 60 07 60 3b 76 76
				0b 94 5b 80 10 2b 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-spm-dly= <0x3c102800>;
		qcom,saw2-spm-ctl = <0x0>;
		qcom,saw2-spm-cmd-wfi = [60 03 60 76 76 0b 0f];
		qcom,saw2-spm-cmd-spc = [00 20 10 80 30 90 5b 60 03 60 3b 76 76
				0b 94 5b 80 10 2b 06 26 30 0f];
		qcom,saw2-spm-cmd-pc = [00 20 10 80 30 90 5b 60 07 60 3b 76 76
				0b 94 5b 80 10 2b 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-spm-dly= <0x3c102800>;
		qcom,saw2-spm-ctl = <0x0>;
		qcom,saw2-spm-cmd-wfi = [60 03 60 76 76 0b 0f];
		qcom,saw2-spm-cmd-spc = [00 20 10 80 30 90 5b 60 03 60 3b 76 76
				0b 94 5b 80 10 2b 06 26 30 0f];
		qcom,saw2-spm-cmd-pc = [00 20 10 80 30 90 5b 60 07 60 3b 76 76
				0b 94 5b 80 10 2b 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-spm-dly= <0x3c102800>;
		qcom,saw2-spm-ctl = <0x0>;
		qcom,saw2-pmic-data0 = <0x0400009c>;
		qcom,saw2-pmic-data1 = <0x0000001c>;
		qcom,vctl-timeout-us = <50>;
		qcom,vctl-port = <0x0>;
		qcom,phase-port = <0x1>;
		qcom,pfm-port = <0x2>;
		qcom,saw2-spm-cmd-ret = [00 03 00 7b 0f];
		qcom,saw2-spm-cmd-gdhs = [00 20 32 60 70 80 6b c0 e0 d0 42 07
				78 1f 80 4e d0 e0 c0 22 6b 50 4b 60 02 32 50 7b
				0f];
		qcom,saw2-spm-cmd-pc = [00 32 60 70 80 b0 10 e0 d0 6b c0
				42 f0 11 07 01 b0 78 1f 80 4e c0 d0 12 e0 6b 50 4b
				60 02 32 50 f0 7b 0f]; /*APCS_PMIC_OFF_L2RAM_OFF*/
	};

	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 = <0x61706d73>;	/* "smpa" */
			qcom,id = <0x01>;
			qcom,key = <0x6e726f63>;	/* "corn" */
			qcom,init-value = <5>;		/* Super Turbo */
		};

		qcom,lpm-resources@1 {
			reg = <0x1>;
			qcom,name = "vdd-mem";
			qcom,type = <0x616F646C>;	/* "ldoa" */
			qcom,id = <0x03>;
			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,lpm-level@0 {
			reg = <0x0>;
			qcom,mode = "wfi";
			qcom,xo = "xo_on";
			qcom,l2 = "l2_cache_active";
			qcom,vdd-mem-upper-bound = <1150000>; /* MAX */
			qcom,vdd-mem-lower-bound = <1050000>; /* ACTIVE */
			qcom,vdd-dig-upper-bound = <5>; /* MAX */
			qcom,vdd-dig-lower-bound = <3>;  /* ACTIVE */
			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 = <1150000>; /* MAX */
			qcom,vdd-mem-lower-bound = <1050000>; /* ACTIVE */
			qcom,vdd-dig-upper-bound = <5>; /* MAX */
			qcom,vdd-dig-lower-bound = <3>;  /* ACTIVE */
			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 = <1150000>; /* MAX */
			qcom,vdd-mem-lower-bound = <1050000>; /* ACTIVE */
			qcom,vdd-dig-upper-bound = <5>; /* MAX */
			qcom,vdd-dig-lower-bound = <3>;  /* ACTIVE */
			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 = <1150000>; /* MAX */
			qcom,vdd-mem-lower-bound = <1050000>; /* ACTIVE */
			qcom,vdd-dig-upper-bound = <5>; /* MAX */
			qcom,vdd-dig-lower-bound = <3>;  /* ACTIVE */
			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>; /* ACTIVE */
			qcom,vdd-mem-lower-bound = <750000>;  /* RETENTION HIGH */
			qcom,vdd-dig-upper-bound = <3>;  /* ACTIVE */
			qcom,vdd-dig-lower-bound = <2>;  /* RETENTION HIGH */
			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 = <1150000>; /* MAX */
			qcom,vdd-mem-lower-bound = <1050000>; /* ACTIVE */
			qcom,vdd-dig-upper-bound = <5>; /* MAX */
			qcom,vdd-dig-lower-bound = <3>;  /* ACTIVE */
			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 = <1150000>; /* MAX */
			qcom,vdd-mem-lower-bound = <1050000>; /* ACTIVE */
			qcom,vdd-dig-upper-bound = <5>; /* MAX */
			qcom,vdd-dig-lower-bound = <3>;  /* ACTIVE */
			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 = <1050000>; /* ACTIVE */
			qcom,vdd-mem-lower-bound = <750000>;  /* RETENTION HIGH */
			qcom,vdd-dig-upper-bound = <3>;  /* ACTIVE */
			qcom,vdd-dig-lower-bound = <2>;  /* RETIONTION HIGH */
			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 = <750000>; /* RETENTION HIGH */
			qcom,vdd-mem-lower-bound = <750000>; /* RETENTION LOW */
			qcom,vdd-dig-upper-bound = <2>; /* RETENTION HIGH */
			qcom,vdd-dig-lower-bound = <0>; /* RETENTION LOW */
			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 172>, /* usb2_hsic_async_wakeup_irq */
			<53 104>, /* mdss_irq */
			<62 222>, /* ee0_krait_hlos_spmi_periph_irq */
			<0xff 56>,  /* q6_wdog_expired_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 61>,  /* mss_a2_bam_irq */
			<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 181>, /* o_wcss_apss_wdog_bite_and_reset_rdy */
			<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 194>, /* lpass_irq_out_apcs[6] */
			<0xff 195>, /* lpass_irq_out_apcs[7] */
			<0xff 196>, /* lpass_irq_out_apcs[8] */
			<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 258>, /* rpm_ipc(28) */
			<0xff 259>, /* rpm_ipc(29) */
			<0xff 275>, /* rpm_ipc(30) */
			<0xff 276>, /* rpm_ipc(31) */
			<0xff 269>, /* rpm_wdog_expired_irq */
			<0xff 240>; /* summary_irq_kpss */

		qcom,gpio-parent = <&msmgpio>;
		qcom,gpio-map = <3  1>,
			<4  4 >,
			<5  5 >,
			<6  9 >,
			<7  13>,
			<8  17>,
			<9  21>,
			<10  27>,
			<11  29>,
			<12  31>,
			<13  33>,
			<14  35>,
			<15  37>,
			<16  38>,
			<17  39>,
			<18  41>,
			<19  46>,
			<20  48>,
			<21  49>,
			<22  50>,
			<23  51>,
			<24  52>,
			<25  54>,
			<26  62>,
			<27  63>,
			<28  64>,
			<29  65>,
			<30  66>,
			<31  67>,
			<32  68>,
			<33  69>,
			<34  71>,
			<35  72>,
			<36  106>,
			<37  107>,
			<38  108>,
			<39  109>,
			<40  110>,
			<54  111>,
			<55  113>;
	};

	qcom,pm-8x60@fe805664 {
		compatible = "qcom,pm-8x60";
		reg = <0xfe805664 0x40>;
		qcom,pc-mode = "tz_l2_int";
		qcom,use-sync-timer;
	};

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