/* 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= <0x20000400>;
		qcom,saw2-spm-ctl = <0x1>;
		qcom,saw2-spm-cmd-wfi = [60 03 60 76 76 0b 0f];
		qcom,saw2-spm-cmd-spc = [00 20 10 80 90 5b 60 03 60 3b 76 76 94
				5b 80 10 2b 30 06 26 30 0f];
		qcom,saw2-spm-cmd-pc = [00 20 10 80 90 5b 60 07 3b 76 76 0b 94
				5b 80 10 2b 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-spm-dly= <0x20000400>;
		qcom,saw2-spm-ctl = <0x1>;
		qcom,saw2-spm-cmd-wfi = [60 03 60 76 76 0b 0f];
		qcom,saw2-spm-cmd-spc = [00 20 10 80 90 5b 60 03 60 3b 76 76 94
				5b 80 10 2b 30 06 26 30 0f];
		qcom,saw2-spm-cmd-pc = [00 20 10 80 90 5b 60 07 3b 76 76 0b 94
				5b 80 10 2b 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-spm-dly= <0x20000400>;
		qcom,saw2-spm-ctl = <0x1>;
		qcom,saw2-spm-cmd-wfi = [60 03 60 76 76 0b 0f];
		qcom,saw2-spm-cmd-spc = [00 20 10 80 90 5b 60 03 60 3b 76 76 94
				5b 80 10 2b 30 06 26 30 0f];
		qcom,saw2-spm-cmd-pc = [00 20 10 80 90 5b 60 07 3b 76 76 0b 94
				5b 80 10 2b 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-spm-dly= <0x20000400>;
		qcom,saw2-spm-ctl = <0x1>;
		qcom,saw2-spm-cmd-wfi = [60 03 60 76 76 0b 0f];
		qcom,saw2-spm-cmd-spc = [00 20 10 80 90 5b 60 03 60 3b 76 76 94
				5b 80 10 2b 30 06 26 30 0f];
		qcom,saw2-spm-cmd-pc = [00 20 10 80 90 5b 60 07 3b 76 76 0b 94
				5b 80 10 2b 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-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 = [0b 00 03 00 7b 0f];
		qcom,saw2-spm-cmd-gdhs = [00 20 32 60 70 80 0b 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 0b 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 = <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,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 161>, /* lpass_irq_out_spare[4] /
			<0xff 162>, /* lpass_irq_out_spare[5]*/
			<0xff 234>, /* lpass_irq_out_spare[6]*/
			<0xff 235>, /* lpass_irq_out_spare[7]*/
			<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 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>;
	};
};
