/* 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.
 */

&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 = <0x00>;
		qcom,saw2-spm-dly= <0x3c102800>;
		qcom,saw2-spm-ctl = <0x8>;
		qcom,saw2-spm-cmd-wfi = [60 03 60 0b 0f];
		qcom,saw2-spm-cmd-spc = [20 10 80 30 90 5b 60 03 60 3b 76 76
				0b 94 5b 80 10 26 30 0f];
		qcom,saw2-spm-cmd-pc = [20 10 80 30 90 5b 60 03 60 3b 76 76
				0b 94 5b 80 10 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 = <0x00>;
		qcom,saw2-spm-dly= <0x3c102800>;
		qcom,saw2-spm-ctl = <0x8>;
		qcom,saw2-spm-cmd-wfi = [60 03 60 0b 0f];
		qcom,saw2-spm-cmd-spc = [20 10 80 30 90 5b 60 03 60 3b 76 76
				0b 94 5b 80 10 26 30 0f];
		qcom,saw2-spm-cmd-pc = [20 10 80 30 90 5b 60 03 60 3b 76 76
				0b 94 5b 80 10 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 = <0x00>;
		qcom,saw2-spm-dly= <0x3c102800>;
		qcom,saw2-spm-ctl = <0x8>;
		qcom,saw2-spm-cmd-wfi = [60 03 60 0b 0f];
		qcom,saw2-spm-cmd-spc = [20 10 80 30 90 5b 60 03 60 3b 76 76
				0b 94 5b 80 10 26 30 0f];
		qcom,saw2-spm-cmd-pc = [20 10 80 30 90 5b 60 03 60 3b 76 76
				0b 94 5b 80 10 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 = <0x00>;
		qcom,saw2-spm-dly= <0x3c102800>;
		qcom,saw2-spm-ctl = <0x8>;
		qcom,saw2-spm-cmd-wfi = [60 03 60 0b 0f];
		qcom,saw2-spm-cmd-spc = [20 10 80 30 90 5b 60 03 60 3b 76 76
				0b 94 5b 80 10 26 30 0f];
		qcom,saw2-spm-cmd-pc = [20 10 80 30 90 5b 60 03 60 3b 76 76
				0b 94 5b 80 10 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 = <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 = [00 03 00 0f];
		qcom,saw2-spm-cmd-gdhs = [00 20 32 6b c0 e0 d0 42 07 50
				4e 02 02 d0 e0 c0 22 6b 02 32 50 0f];
		qcom,saw2-spm-cmd-pc-no-rpm = [00 32 b0 10 e0 d0 6b c0 42 f0
				11 03 01 b0 50 4e 02 02 c0 d0 12 e0 6b 02 32
				50 f0 0f]; /*APCS_PMIC_OFF_L2RAM_OFF*/
		qcom,saw2-spm-cmd-pc = [00 32 b0 10 e0 d0 6b c0 42 f0
				11 07 01 b0 50 4e 02 02 c0 d0 12 e0 6b 02 32
				50 f0 0f]; /*APCS_PMIC_OFF_L2RAM_OFF*/
		qcom,L2-spm-is-apcs-master;
	};

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

		qcm,cpu-modes {
			compatible = "qcom,cpu-modes";

			qcom,cpu-modes@0 {
				qcom,mode = "wfi";
				qcom,latency-us = <1>;
				qcom,ss-power = <530>;
				qcom,energy-overhead = <52800>;
				qcom,time-overhead = <100>;
			};

			qcom,cpu-modes@1 {
				qcom,mode = "standalone_pc";
				qcom,latency-us = <500>;
				qcom,ss-power = <410>;
				qcom,energy-overhead = <603400>;
				qcom,time-overhead = <1200>;
				qcom,use-broadcast-timer;
			};

			qcom,cpu-modes@2 {
				qcom,mode = "pc";
				qcom,latency-us = <550>;
				qcom,ss-power = <372>;
				qcom,energy-overhead = <700000>;
				qcom,time-overhead = <1410>;
				qcom,use-broadcast-timer;
			};
		};

		qcom,system-modes {
			compatible = "qcom,system-modes";

			qcom,system-modes@0 {
				qcom,l2 = "l2_cache_gdhs";
				qcom,latency-us = <10700>;
				qcom,ss-power = <372>;
				qcom,energy-overhead = <738750>;
				qcom,time-overhead = <1410>;
				qcom,min-cpu-mode= "pc";
				qcom,sync-cpus;
			};

			qcom,system-modes@1 {
				qcom,l2 = "l2_cache_pc_no_rpm";
				qcom,latency-us = <1000>;
				qcom,ss-power = <315>;
				qcom,energy-overhead = <1027150>;
				qcom,time-overhead = <2400>;
				qcom,min-cpu-mode= "spc";
				qcom,sync-cpus;
			};

			qcom,system-modes@2 {
				qcom,l2 = "l2_cache_pc";
				qcom,latency-us = <12700>;
				qcom,ss-power = <315>;
				qcom,energy-overhead = <1027150>;
				qcom,time-overhead = <2400>;
				qcom,min-cpu-mode= "pc";
				qcom,sync-cpus;
			};
		};
	};

	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 */
			<2 216>, /* tsens_upper_lower_int */
			<0xff 18>,  /* APC_qgicQTmrSecPhysIrptReq */
			<0xff 19>,  /* APC_qgicQTmrNonSecPhysIrptReq */
			<0xff 35>,  /* WDT_barkInt */
			<0xff 40>,  /* qtmr_phy_irq[0] */
			<0xff 47>,  /* rbif_irq[0] */
			<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 65>,  /* o_gc_sys_irq[0] */
			<0xff 74>,  /* venus0_mmu_cirpt[1] */
			<0xff 75>,  /* venus0_mmu_cirpt[0] */
			<0xff 78>,  /* mdss_mmu_cirpt[0] */
			<0xff 79>,  /* mdss_mmu_cirpt[1] */
			<0xff 97>,  /* camss_vfe_mmu_cirpt[1] */
			<0xff 102>, /* camss_jpeg_mmu_cirpt[1] */
			<0xff 109>, /* ocmem_dm_nonsec_irq */
			<0xff 131>, /* blsp1_qup_5_irq */
			<0xff 141>, /* blsp1_uart_3_irq */
			<0xff 155>, /* sdc1_irq(0) */
			<0xff 157>, /* sdc2_irq(0) */
			<0xff 161>, /* lpass_irq_out_spare[4] */
			<0xff 162>, /* lpass_irq_out_spare[5]*/
			<0xff 170>, /* sdc1_pwr_cmd_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 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 234>, /* lpass_irq_out_spare[6]*/
			<0xff 235>, /* lpass_irq_out_spare[7]*/
			<0xff 240>, /* summary_irq_kpss */
			<0xff 253>, /* sdc2_pwr_cmd_irq */
			<0xff 258>, /* rpm_ipc(28) */
			<0xff 259>, /* rpm_ipc(29) */
			<0xff 269>, /* rpm_wdog_expired_irq */
			<0xff 270>, /* blsp1_bam_irq[0] */
			<0xff 275>, /* rpm_ipc(30) */
			<0xff 276>; /* rpm_ipc(31) */

		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>,
			<41  115>,
			<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,pc-resets-timer;
		qcom,cpus-as-clocks;
		qcom,synced-clocks;
	};

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

	qcom,rpm-rbcpr-stats@fc000000 {
		compatible = "qcom,rpmrbcpr-stats";
		reg = <0xfc000000 0x1a0000>;
		qcom,start-offset = <0x190010>;
	};

	qcom,rpm-master-stats@fc428150 {
		compatible = "qcom,rpm-master-stats";
		reg = <0xfc428150 0x3200>;
		qcom,masters = "APSS", "MPSS", "LPSS", "PRONTO";
		qcom,master-stats-version = <2>;
		qcom,master-offset = <2560>;
	};
};
