/* 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"
/include/ "msm9625-ion.dtsi"
/include/ "msm9625-pm.dtsi"
/include/ "msm9625-coresight.dtsi"
/include/ "msm9625-smp2p.dtsi"

/ {
	model = "Qualcomm MSM 9625";
	compatible = "qcom,msm9625";
	interrupt-parent = <&intc>;

	aliases {
		spi0 = &spi_0;
	};

	intc: interrupt-controller@F9000000 {
		compatible = "qcom,msm-qgic2";
		interrupt-controller;
		#interrupt-cells = <3>;
		reg = <0xF9000000 0x1000>,
		      <0xF9002000 0x1000>;
	};

	l2: cache-controller@f9040000 {
		compatible = "arm,pl310-cache";
		reg = <0xf9040000 0x1000>;
		cache-unified;
		cache-level = <2>;
	};

	msmgpio: gpio@fd510000 {
		compatible = "qcom,msm-gpio";
		gpio-controller;
		#gpio-cells = <2>;
		interrupt-controller;
		#interrupt-cells = <2>;
		reg = <0xfd510000 0x4000>;
		ngpio = <76>;
		interrupts = <0 208 0>;
		qcom,direct-connect-irqs = <8>;
	};

	qcom,mpm2-sleep-counter@fc4a3000 {
		compatible = "qcom,mpm2-sleep-counter";
		reg = <0xfc4a3000 0x1000>;
		clock-frequency = <32768>;
	};

	timer: msm-qtimer@f9021000 {
		compatible = "arm,armv7-timer";
		reg = <0xF9021000 0x1000>;
		interrupts = <0 7 0>;
		irq-is-not-percpu;
		clock-frequency = <19200000>;
	};

	qcom,sps@f9980000 {
		compatible = "qcom,msm_sps";
		reg = <0xf9984000 0x15000>,
		      <0xf9999000 0xb000>,
		      <0xfe803000 0x4800>;
		interrupts = <0 94 0>;
		qcom,device-type = <2>;
	};

	serial@f991f000 {
		compatible = "qcom,msm-lsuart-v14";
		reg = <0xf991f000 0x1000>;
		interrupts = <0 109 0>;
	};

	usb@f9a55000 {
		compatible = "qcom,hsusb-otg";
		reg = <0xf9a55000 0x400>;
		interrupts = <0 134 0 0 140 0>;
		interrupt-names = "core_irq", "async_irq";
		HSUSB_VDDCX-supply = <&pm8019_l12>;
		HSUSB_1p8-supply = <&pm8019_l2>;
		HSUSB_3p3-supply = <&pm8019_l4>;
		vbus_otg-supply = <&usb_vbus>;

		qcom,hsusb-otg-phy-type = <2>;
		qcom,hsusb-otg-mode = <3>;
		qcom,hsusb-otg-otg-control = <1>;
		qcom,hsusb-otg-disable-reset;
		qcom,hsusb-otg-lpm-on-dev-suspend;
		qcom,hsusb-otg-clk-always-on-workaround;
		qcom,hsusb-otg-delay-lpm;

		qcom,msm-bus,name = "usb2";
		qcom,msm-bus,num-cases = <2>;
		qcom,msm-bus,active-only = <0>;
		qcom,msm-bus,num-paths = <1>;
		qcom,msm-bus,vectors-KBps =
				<87 512 0 0>,
				<87 512 40000 640000>;
	};

	hsic@f9a15000 {
		compatible = "qcom,hsic-host";
		reg = <0xf9a15000 0x400>;
		interrupts = <0 136 0>, <0 148 0>;
		interrupt-names = "core_irq", "async_irq";
		HSIC_VDDCX-supply = <&pm8019_l12>;
		HSIC_GDSC-supply = <&gdsc_usb_hsic>;

		qcom,msm-bus,name = "hsic";
		qcom,msm-bus,num-cases = <2>;
		qcom,msm-bus,active-only = <0>;
		qcom,msm-bus,num-paths = <1>;
		qcom,msm-bus,vectors-KBps =
				<85 512 0 0>,
				<85 512 40000 640000>;
		qcom,pool-64-bit-align;
		qcom,enable-hbm;
	};

	qcom,usbbam@f9a44000 {
		compatible = "qcom,usb-bam-msm";
		reg = <0xf9a44000 0x11000>,
		      <0xf9a04000 0x11000>;
		reg-names = "hsusb", "hsic";
		interrupts = <0 135 0 0 255 0>;
		interrupt-names = "hsusb", "hsic";
		qcom,usb-bam-num-pipes = <16>;
		qcom,ignore-core-reset-ack;
		qcom,disable-clk-gating;

		qcom,pipe0 {
			label = "hsusb-ipa-out-0";
			qcom,usb-bam-mem-type = <0>;
			qcom,bam-type = <1>;
			qcom,dir = <0>;
			qcom,pipe-num = <0>;
			qcom,peer-bam = <2>;
			qcom,src-bam-physical-address = <0xf9a44000>;
			qcom,src-bam-pipe-index = <1>;
			qcom,data-fifo-offset = <0x2200>;
			qcom,data-fifo-size = <0x1e00>;
			qcom,descriptor-fifo-offset = <0x2100>;
			qcom,descriptor-fifo-size = <0x100>;
		};
		qcom,pipe1 {
			label = "hsusb-ipa-in-0";
			qcom,usb-bam-mem-type = <0>;
			qcom,bam-type = <1>;
			qcom,dir = <1>;
			qcom,pipe-num = <0>;
			qcom,peer-bam = <2>;
			qcom,dst-bam-physical-address = <0xf9a44000>;
			qcom,dst-bam-pipe-index = <0>;
			qcom,data-fifo-offset = <0x300>;
			qcom,data-fifo-size = <0x1e00>;
			qcom,descriptor-fifo-offset = <0>;
			qcom,descriptor-fifo-size = <0x300>;
		};
		qcom,pipe2 {
			label = "hsusb-qdss-in-0";
			qcom,usb-bam-mem-type = <0>;
			qcom,bam-type = <1>;
			qcom,dir = <1>;
			qcom,pipe-num = <0>;
			qcom,peer-bam = <1>;
			qcom,src-bam-physical-address = <0xfc37c000>;
			qcom,src-bam-pipe-index = <0>;
			qcom,dst-bam-physical-address = <0xf9a44000>;
			qcom,dst-bam-pipe-index = <2>;
			qcom,data-fifo-offset = <0x4100>;
			qcom,data-fifo-size = <0x400>;
			qcom,descriptor-fifo-offset = <0x4000>;
			qcom,descriptor-fifo-size = <0x400>;
		};
		qcom,pipe3 {
			label = "hsic-ipa-in-0";
			qcom,usb-bam-mem-type = <2>;
			qcom,bam-type = <2>;
			qcom,dir = <1>;
			qcom,pipe-num = <0>;
			qcom,peer-bam = <2>;
			qcom,dst-bam-physical-address = <0xf9a04000>;
			qcom,dst-bam-pipe-index = <3>;
			qcom,data-fifo-size = <0xD480>;
			qcom,descriptor-fifo-size = <0x1A80>;
		};
		qcom,pipe4 {
			label = "hsic-ipa-in-1";
			qcom,bam-type = <2>;
			qcom,dir = <1>;
			qcom,pipe-num = <1>;
			qcom,peer-bam = <2>;
			qcom,usb-bam-mem-type = <2>;
			qcom,dst-bam-physical-address = <0xf9a04000>;
			qcom,dst-bam-pipe-index = <4>;
			qcom,data-fifo-size = <0xD480>;
			qcom,descriptor-fifo-size = <0x1A80>;
		};
		qcom,pipe5 {
			label = "hsic-ipa-in-2";
			qcom,usb-bam-mem-type = <2>;
			qcom,bam-type = <2>;
			qcom,dir = <1>;
			qcom,pipe-num = <2>;
			qcom,peer-bam = <2>;
			qcom,dst-bam-physical-address = <0xf9a04000>;
			qcom,dst-bam-pipe-index = <5>;
			qcom,data-fifo-size = <0xD480>;
			qcom,descriptor-fifo-size = <0x1A80>;
		};
		qcom,pipe6 {
			label = "hsic-ipa-in-3";
			qcom,usb-bam-mem-type = <2>;
			qcom,bam-type = <2>;
			qcom,dir = <1>;
			qcom,pipe-num = <3>;
			qcom,peer-bam = <2>;
			qcom,dst-bam-physical-address = <0xf9a04000>;
			qcom,dst-bam-pipe-index = <6>;
			qcom,data-fifo-size = <0xD480>;
			qcom,descriptor-fifo-size = <0x1A80>;
		};
		qcom,pipe7 {
			label = "hsic-ipa-out-0";
			qcom,usb-bam-mem-type = <2>;
			qcom,bam-type = <2>;
			qcom,dir = <0>;
			qcom,pipe-num = <0>;
			qcom,peer-bam = <2>;
			qcom,src-bam-physical-address = <0xf9a04000>;
			qcom,src-bam-pipe-index = <7>;
			qcom,data-fifo-size = <0xD480>;
			qcom,descriptor-fifo-size = <0x1A80>;
		};
	};

	qcom,nand@f9ac0000 {
		compatible = "qcom,msm-nand";
		reg = <0xf9ac0000 0x1000>,
		      <0xf9ac4000 0x8000>;
		reg-names = "nand_phys",
			    "bam_phys";
		interrupts = <0 247 0>;
		interrupt-names = "bam_irq";
	};

	spi_0: spi@f9924000 {
		compatible = "qcom,spi-qup-v2";
		reg = <0xf9924000 0x1000>;
		interrupts = <0 96 0>;
		spi-max-frequency = <25000000>;
		#address-cells = <1>;
		#size-cells = <0>;
		gpios = <&msmgpio 7 0>, /* CLK  */
			<&msmgpio 5 0>, /* MISO */
			<&msmgpio 4 0>; /* MOSI */

		cs-gpios = <&msmgpio 6 0>;

		ethernet-switch@0 {
			compatible = "simtec,ks8851";
			reg = <0>;
			interrupt-parent = <&msmgpio>;
			interrupts = <75 0>;
			spi-max-frequency = <4800000>;
		};
	};

	qcom,wdt@f9017000 {
		compatible = "qcom,msm-watchdog";
		reg = <0xf9017000 0x1000>;
		interrupts = <1 2 0>, <1 1 0>;
		qcom,bark-time = <11000>;
		qcom,pet-time = <10000>;
	};

	rpm_bus: qcom,rpm-smd {
		compatible = "qcom,rpm-smd";
		rpm-channel-name = "rpm_requests";
		rpm-channel-type = <15>; /* SMD_APPS_RPM */
	};

	spmi_bus: qcom,spmi@fc4c0000 {
		cell-index = <0>;
		compatible = "qcom,spmi-pmic-arb";
		reg-names = "core", "intr", "cnfg";
		reg = <0xfc4cf000 0x1000>,
		      <0Xfc4cb000 0x1000>,
		      <0Xfc4ca000 0x1000>;
		/* 190,ee0_krait_hlos_spmi_periph_irq */
		/* 187,channel_0_krait_hlos_trans_done_irq */
		interrupts = <0 190 0 0 187 0>;
		qcom,pmic-arb-ee = <0>;
		qcom,pmic-arb-channel = <0>;
	};

	i2c@f9925000 {
		cell-index = <3>;
		compatible = "qcom,i2c-qup";
		reg = <0xf9925000 0x1000>;
		#address-cells = <1>;
		#size-cells = <0>;
		reg-names = "qup_phys_addr";
		interrupts = <0 97 0>;
		interrupt-names = "qup_err_intr";
		qcom,i2c-bus-freq = <100000>;
		qcom,i2c-src-freq = <24000000>;
	};

	sdcc2: qcom,sdcc@f98a4000 {
		cell-index = <2>; /* SDC2 SD card slot */
		compatible = "qcom,msm-sdcc";
		reg = <0xf98a4000 0x800>,
		      <0xf98a4800 0x100>,
		      <0xf9884000 0x7000>;
		reg-names = "core_mem", "dml_mem", "bam_mem";

		vdd-supply = <&ext_2p95v>;

		vdd-io-supply = <&pm8019_l13>;
		qcom,vdd-io-always-on;
		qcom,vdd-io-lpm-sup;
		qcom,vdd-io-voltage-level = <1800000 2950000>;
		qcom,vdd-io-current-level = <6 22000>;

		qcom,pad-pull-on = <0x0 0x3 0x3>;
		qcom,pad-pull-off = <0x0 0x3 0x3>;
		qcom,pad-drv-on = <0x7 0x4 0x4>;
		qcom,pad-drv-off = <0x0 0x0 0x0>;

		qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>;
		qcom,sup-voltages = <2950 2950>;
		qcom,bus-width = <4>;
		qcom,xpc;
		qcom,bus-speed-mode = "SDR12", "SDR25", "SDR50", "DDR50", "SDR104";
		qcom,current-limit = <800>;

		interrupt-parent = <&sdcc2>;
		#address-cells = <0>;
		interrupts = <0 1 2>;
		#interrupt-cells = <1>;
		interrupt-map-mask = <0xffffffff>;
		interrupt-map = <0 &intc 0 125 0
				 1 &intc 0 220 0
				 2 &msmgpio 66 0x3>;
		interrupt-names = "core_irq", "bam_irq", "status_irq";
		cd-gpios = <&msmgpio 66 0>;
	};

	sdcc3: qcom,sdcc@f9864000 {
		cell-index = <3>; /* SDC3 SDIO slot */
		compatible = "qcom,msm-sdcc";
		reg = <0xf9864000 0x800>,
		      <0xf9864800 0x100>,
		      <0xf9844000 0x7000>;
		reg-names = "core_mem", "dml_mem", "bam_mem";
		interrupts = <0 127 0>, <0 223 0>;
		interrupt-names = "core_irq", "bam_irq";

		gpios = <&msmgpio 25 0>,
			<&msmgpio 24 0>,
			<&msmgpio 16 0>,
			<&msmgpio 17 0>,
			<&msmgpio 18 0>,
			<&msmgpio 19 0>;
		qcom,gpio-names = "CLK", "CMD", "DAT0", "DAT1", "DAT2", "DAT3";

		qcom,clk-rates = <400000 25000000 50000000 100000000>;
		qcom,sup-voltages = <2950 2950>;
		qcom,bus-width = <4>;
		qcom,bus-speed-mode = "SDR12", "SDR25", "SDR50", "DDR50";
	};

	ipa_hw: qcom,ipa@fd4c0000 {
		compatible = "qcom,ipa";
		reg = <0xfd4c0000 0x26000>,
		      <0xfd4c4000 0x14818>,
		      <0xfc834000 0x7000>;
		reg-names = "ipa-base", "bam-base", "a2-bam-base";
		interrupts = <0 252 0>,
		             <0 253 0>,
		             <0 29 1>;
		interrupt-names = "ipa-irq", "bam-irq", "a2-bam-irq";

		qcom,pipe1 {
			label = "a2-to-ipa";
			qcom,src-bam-physical-address = <0xfc834000>;
			qcom,ipa-bam-mem-type = <0>;
			qcom,src-bam-pipe-index = <1>;
			qcom,dst-bam-physical-address = <0xfd4c0000>;
			qcom,dst-bam-pipe-index = <6>;
			qcom,data-fifo-offset = <0x1000>;
			qcom,data-fifo-size = <0xd00>;
			qcom,descriptor-fifo-offset = <0x1d00>;
			qcom,descriptor-fifo-size = <0x300>;
		};

		qcom,pipe2 {
			label = "ipa-to-a2";
			qcom,src-bam-physical-address = <0xfd4c0000>;
			qcom,ipa-bam-mem-type = <0>;
			qcom,src-bam-pipe-index = <7>;
			qcom,dst-bam-physical-address = <0xfc834000>;
			qcom,dst-bam-pipe-index = <0>;
			qcom,data-fifo-offset = <0x00>;
			qcom,data-fifo-size = <0xd00>;
			qcom,descriptor-fifo-offset = <0xd00>;
			qcom,descriptor-fifo-size = <0x300>;
		};
	};

	qcom,acpuclk@f9010000 {
		compatible = "qcom,acpuclk-9625";
		reg = <0xf9010008 0x10>,
		      <0xf9008004 0x4>;
		reg-names = "rcg_base", "pwr_base";
		a5_cpu-supply = <&pm8019_l10_corner_ao>;
		a5_mem-supply = <&pm8019_l12_ao>;
	};

	gdsc_usb_hsic: qcom,gdsc@fc400404 {
		compatible = "qcom,gdsc";
		reg = <0xfc400404 0x4>;
		regulator-name = "gdsc_usb_hsic";
	};

	tsens@fc4a8000 {
		compatible = "qcom,msm-tsens";
		reg = <0xfc4a8000 0x2000>,
		      <0xfc4b8000 0x1000>;
		reg-names = "tsens_physical", "tsens_eeprom_physical";
		interrupts = <0 184 0>;
		qcom,sensors = <5>;
		qcom,slope = <3200 3200 3200 3200 3200>;
		qcom,calib-mode = "fuse_map1";
	};

	qcom,msm-rng@f9bff000 {
                compatible = "qcom,msm-rng";
                reg = <0xf9bff000 0x200>;
                qcom,msm-rng-iface-clk;
	};

	wcd9xxx_intc: wcd9xxx-irq {
		compatible = "qcom,wcd9xxx-irq";
		interrupt-controller;
		#interrupt-cells = <1>;
		interrupt-parent = <&msmgpio>;
		interrupts = <20 0>;
		interrupt-names = "cdc-int";
	};

	i2c@f9925000 {
		cell-index = <3>;
		compatible = "qcom,i2c-qup";
		reg = <0xf9925000 0x1000>;
		#address-cells = <1>;
		#size-cells = <0>;
		reg-names = "qup_phys_addr";
		interrupts = <0 97 0>;
		interrupt-names = "qup_err_intr";
		qcom,i2c-bus-freq = <100000>;
		qcom,i2c-src-freq = <24000000>;

		wcd9xxx_codec@0d{
			compatible = "qcom,wcd9xxx-i2c";
			reg = <0x0d>;
			qcom,cdc-reset-gpio = <&msmgpio 22 0>;
			interrupt-parent = <&wcd9xxx_intc>;
			interrupts = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28>;
			cdc-vdd-buck-supply = <&pm8019_l11>;
			qcom,cdc-vdd-buck-voltage = <1800000 1800000>;
			qcom,cdc-vdd-buck-current = <25000>;

			cdc-vdd-tx-h-supply = <&pm8019_l11>;
			qcom,cdc-vdd-tx-h-voltage = <1800000 1800000>;
			qcom,cdc-vdd-tx-h-current = <25000>;

			cdc-vdd-rx-h-supply = <&pm8019_l11>;
			qcom,cdc-vdd-rx-h-voltage = <1800000 1800000>;
			qcom,cdc-vdd-rx-h-current = <25000>;

			cdc-vddpx-1-supply = <&pm8019_l11>;
			qcom,cdc-vddpx-1-voltage = <1800000 1800000>;
			qcom,cdc-vddpx-1-current = <10000>;

			cdc-vdd-a-1p2v-supply = <&pm8019_l9>;
			qcom,cdc-vdd-a-1p2v-voltage = <1200000 1200000>;
			qcom,cdc-vdd-a-1p2v-current = <10000>;

			cdc-vddcx-1-supply = <&pm8019_l9>;
			qcom,cdc-vddcx-1-voltage = <1200000 1200000>;
			qcom,cdc-vddcx-1-current = <10000>;

			cdc-vddcx-2-supply = <&pm8019_l9>;
			qcom,cdc-vddcx-2-voltage = <1200000 1200000>;
			qcom,cdc-vddcx-2-current = <10000>;

			qcom,cdc-micbias-ldoh-v = <0x3>;
			qcom,cdc-micbias-cfilt1-mv = <1800>;
			qcom,cdc-micbias-cfilt2-mv = <2700>;
			qcom,cdc-micbias-cfilt3-mv = <1800>;
			qcom,cdc-micbias1-cfilt-sel = <0x0>;
			qcom,cdc-micbias2-cfilt-sel = <0x1>;
			qcom,cdc-micbias3-cfilt-sel = <0x2>;
			qcom,cdc-micbias4-cfilt-sel = <0x2>;
			qcom,cdc-mclk-clk-rate = <12288000>;
		};

		wcd9xxx_codec@77{
			compatible = "qcom,wcd9xxx-i2c";
			reg = <0x77>;
		};

		wcd9xxx_codec@66{
			compatible = "qcom,wcd9xxx-i2c";
			reg = <0x66>;
		};

		wcd9xxx_codec@55{
			compatible = "qcom,wcd9xxx-i2c";
			reg = <0x55>;
		};
	};

	sound {
		compatible = "qcom,mdm9625-audio-taiko";
		qcom,model = "mdm9625-taiko-i2s-snd-card";

		qcom,audio-routing =
			"RX_BIAS", "MCLK",
			"LDO_H", "MCLK",
			"Ext Spk Bottom Pos", "LINEOUT1",
			"Ext Spk Bottom Neg", "LINEOUT3",
			"Ext Spk Top Pos", "LINEOUT2",
			"Ext Spk Top Neg", "LINEOUT4",
			"AMIC1", "MIC BIAS1 External",
			"MIC BIAS1 External", "Handset Mic",
			"AMIC2", "MIC BIAS2 External",
			"MIC BIAS2 External", "Headset Mic",
			"AMIC3", "MIC BIAS3 Internal1",
			"MIC BIAS3 Internal1", "ANCRight Headset Mic",
			"AMIC4", "MIC BIAS1 Internal2",
			"MIC BIAS1 Internal2", "ANCLeft Headset Mic",
			"DMIC1", "MIC BIAS1 External",
			"MIC BIAS1 External", "Digital Mic1",
			"DMIC2", "MIC BIAS1 External",
			"MIC BIAS1 External", "Digital Mic2",
			"DMIC3", "MIC BIAS3 External",
			"MIC BIAS3 External", "Digital Mic3",
			"DMIC4", "MIC BIAS3 External",
			"MIC BIAS3 External", "Digital Mic4",
			"DMIC5", "MIC BIAS4 External",
			"MIC BIAS4 External", "Digital Mic5",
			"DMIC6", "MIC BIAS4 External",
			"MIC BIAS4 External", "Digital Mic6";
			qcom,taiko-mclk-clk-freq = <12288000>;
			prim-i2s-gpio-ws   = <&msmgpio 12 0>;
			prim-i2s-gpio-din  = <&msmgpio 13 0>;
			prim-i2s-gpio-dout = <&msmgpio 14 0>;
			prim-i2s-gpio-sclk = <&msmgpio 15 0>;
			prim-i2s-gpio-mclk = <&msmgpio 71 0>;
	};

	qcom,msm-adsp-loader {
		compatible = "qcom,adsp-loader";
		qcom,adsp-state = <2>;
	};

	qcom,msm-pcm {
		compatible = "qcom,msm-pcm-dsp";
		qcom,msm-pcm-dsp-id = <0>;
	};

	qcom,msm-pcm-routing {
		compatible = "qcom,msm-pcm-routing";
	};

	qcom,msm-compr-dsp {
		compatible = "qcom,msm-compr-dsp";
	};

	qcom,msm-voip-dsp {
		compatible = "qcom,msm-voip-dsp";
	};

	qcom,msm-pcm-voice {
		compatible = "qcom,msm-pcm-voice";
	};

	qcom,msm-stub-codec {
		compatible = "qcom,msm-stub-codec";
	};

	qcom,msm-dai-fe {
		compatible = "qcom,msm-dai-fe";
	};

	qcom,msm-pcm-afe {
		compatible = "qcom,msm-pcm-afe";
	};

	qcom,msm-pcm-hostless {
		compatible = "qcom,msm-pcm-hostless";
	};

	qcom,msm-dai-q6 {
		compatible = "qcom,msm-dai-q6";
		qcom,msm-dai-q6-be-afe-pcm-rx {
			compatible = "qcom,msm-dai-q6-dev";
			qcom,msm-dai-q6-dev-id = <224>;
		};

		qcom,msm-dai-q6-be-afe-pcm-tx {
			compatible = "qcom,msm-dai-q6-dev";
			qcom,msm-dai-q6-dev-id = <225>;
		};

		qcom,msm-dai-q6-afe-proxy-rx {
			compatible = "qcom,msm-dai-q6-dev";
			qcom,msm-dai-q6-dev-id = <241>;
		};

		qcom,msm-dai-q6-afe-proxy-tx {
			compatible = "qcom,msm-dai-q6-dev";
			qcom,msm-dai-q6-dev-id = <240>;
		};
	};
	qcom,msm-pcm-dtmf {
		compatible = "qcom,msm-pcm-dtmf";
	};

	qcom,msm-dai-stub {
		compatible = "qcom,msm-dai-stub";
	};

	qcom,msm-stub-codec {
		compatible = "qcom,msm-stub-codec";
	};

	qcom,msm-auxpcm {
		compatible = "qcom,msm-auxpcm-resource";
		qcom,msm-cpudai-auxpcm-clk = "pcm_clk";
		qcom,msm-cpudai-auxpcm-mode = <0>, <0>;
		qcom,msm-cpudai-auxpcm-sync = <1>, <1>;
		qcom,msm-cpudai-auxpcm-frame = <5>, <4>;
		qcom,msm-cpudai-auxpcm-quant = <2>, <2>;
		qcom,msm-cpudai-auxpcm-slot = <1>, <1>;
		qcom,msm-cpudai-auxpcm-data = <0>, <0>;
		qcom,msm-cpudai-auxpcm-pcm-clk-rate = <2048000>, <2048000>;

		qcom,msm-auxpcm-rx {
			qcom,msm-auxpcm-dev-id = <4106>;
			compatible = "qcom,msm-auxpcm-dev";
		};

		qcom,msm-auxpcm-tx {
			qcom,msm-auxpcm-dev-id = <4107>;
			compatible = "qcom,msm-auxpcm-dev";
		};
	};

	qcom,msm-dai-mi2s {
		compatible = "qcom,msm-dai-mi2s";
		qcom,msm-dai-q6-mi2s-prim {
			compatible = "qcom,msm-dai-q6-mi2s";
			qcom,msm-dai-q6-mi2s-dev-id = <0>;
			qcom,msm-mi2s-rx-lines = <2>;
			qcom,msm-mi2s-tx-lines = <1>;
		};
	};

	qcom,msm-dai-q6 {
		compatible = "qcom,msm-dai-q6";
	};

	qcom,mss {
		compatible = "qcom,pil-q6v5-mss";
		interrupts = <0 24 1>;

		/* GPIO input from mss */
		qcom,gpio-err-fatal = <&smp2pgpio_ssr_smp2p_1_in 0 0>;

		/* GPIO output to mss */
		qcom,gpio-force-stop = <&smp2pgpio_ssr_smp2p_1_out 0 0>;
	};

	qcom,smem@fa00000 {
		compatible = "qcom,smem";
		reg = <0xfa00000 0x200000>,
			<0xf9011000 0x1000>,
			<0xfc428000 0x4000>;
		reg-names = "smem", "irq-reg-base", "aux-mem1";

		qcom,smd-modem {
			compatible = "qcom,smd";
			qcom,smd-edge = <0>;
			qcom,smd-irq-offset = <0x8>;
			qcom,smd-irq-bitmask = <0x1000>;
			qcom,pil-string = "modem";
			interrupts = <0 25 1>;
		};

		qcom,smsm-modem {
			compatible = "qcom,smsm";
			qcom,smsm-edge = <0>;
			qcom,smsm-irq-offset = <0x8>;
			qcom,smsm-irq-bitmask = <0x2000>;
			interrupts = <0 26 1>;
		};

		qcom,smd-adsp {
			compatible = "qcom,smd";
			qcom,smd-edge = <1>;
			qcom,smd-irq-offset = <0x8>;
			qcom,smd-irq-bitmask = <0x100>;
			qcom,pil-string = "adsp";
			interrupts = <0 156 1>;
		};

		qcom,smsm-adsp {
			compatible = "qcom,smsm";
			qcom,smsm-edge = <1>;
			qcom,smsm-irq-offset = <0x8>;
			qcom,smsm-irq-bitmask = <0x200>;
			interrupts = <0 157 1>;
		};

		qcom,smd-rpm {
			compatible = "qcom,smd";
			qcom,smd-edge = <15>;
			qcom,smd-irq-offset = <0x8>;
			qcom,smd-irq-bitmask = <0x1>;
			interrupts = <0 168 1>;
			qcom,irq-no-suspend;
		};
	};

	qcom,qcedev@fd400000 {
		compatible = "qcom,qcedev";
		reg = <0xfd400000 0x20000>,
			  <0xfd404000 0x8000>;
		reg-names = "crypto-base","crypto-bam-base";
		interrupts = <0 207 0>;
		qcom,bam-pipe-pair = <1>;
	};

	qcom,qcrypto@fd440000 {
		compatible = "qcom,qcrypto";
		reg = <0xfd400000 0x20000>,
			  <0xfd404000 0x8000>;
		reg-names = "crypto-base","crypto-bam-base";
		interrupts = <0 207 0>;
		qcom,bam-pipe-pair = <2>;
	};

	jtag_mm: jtagmm@fc332000 {
		compatible = "qcom,jtag-mm";
		reg = <0xfc332000 0x1000>,
			<0xfc330000 0x1000>;
		reg-names = "etm-base","debug-base";
	};

	qcom,msm-rtb {
		compatible = "qcom,msm-rtb";
		qcom,memory-reservation-type = "EBI1";
		qcom,memory-reservation-size = <0x1000>; /* 4K EBI1 buffer */
	};

        qcom,msm-mem-hole {
                compatible = "qcom,msm-mem-hole";
                qcom,memblock-remove = <0x1f00000 0x5700000>; /* Address and Size of Hole */
        };

	sfpb_spinlock: qcom,ipc-spinlock@fd484000 {
		compatible = "qcom,ipc-spinlock-sfpb";
		reg = <0xfd484000 0x400>;
		qcom,num-locks = <8>;
	};

	ldrex_spinlock: qcom,ipc-spinlock@fa00000 {
		compatible = "qcom,ipc-spinlock-ldrex";
		reg = <0xfa00000 0x200000>;
		status = "disable";
	};

	cpu-pmu {
                compatible = "arm,cortex-a5-pmu";
                qcom,irq-is-percpu;
                interrupts = <1 7 0x00>;
        };

        l2-pmu {
                compatible = "qcom,l2-pmu";
                interrupts = <0 1 0>;
        };

};

/include/ "msm-pm8019-rpm-regulator.dtsi"
/include/ "msm-pm8019.dtsi"
/include/ "msm9625-regulator.dtsi"

&pm8019_vadc {
	chan@31 {
		label = "batt_id_therm";
		reg = <0x31>;
		qcom,decimation = <0>;
		qcom,pre-div-channel-scaling = <0>;
		qcom,calibration-type = "ratiometric";
		qcom,scale-function = <0>;
		qcom,hw-settle-time = <2>;
		qcom,fast-avg-setup = <0>;
	};

	chan@33 {
		label = "pa_therm1";
		reg = <0x33>;
		qcom,decimation = <0>;
		qcom,pre-div-channel-scaling = <0>;
		qcom,calibration-type = "ratiometric";
		qcom,scale-function = <2>;
		qcom,hw-settle-time = <2>;
		qcom,fast-avg-setup = <0>;
	};

	chan@34 {
		label = "pa_therm2";
		reg = <0x34>;
		qcom,decimation = <0>;
		qcom,pre-div-channel-scaling = <0>;
		qcom,calibration-type = "ratiometric";
		qcom,scale-function = <2>;
		qcom,hw-settle-time = <2>;
		qcom,fast-avg-setup = <0>;
	};

	chan@32 {
		label = "xo_therm";
		reg = <0x32>;
		qcom,decimation = <0>;
		qcom,pre-div-channel-scaling = <0>;
		qcom,calibration-type = "ratiometric";
		qcom,scale-function = <4>;
		qcom,hw-settle-time = <2>;
		qcom,fast-avg-setup = <0>;
	};

	chan@3c {
		label = "xo_therm_amux";
		reg = <0x3c>;
		qcom,decimation = <0>;
		qcom,pre-div-channel-scaling = <0>;
		qcom,calibration-type = "ratiometric";
		qcom,scale-function = <4>;
		qcom,hw-settle-time = <2>;
		qcom,fast-avg-setup = <0>;
	};
};
