/* Copyright (c) 2017-2018, 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 <dt-bindings/soc/qcom,tcs-mbox.h>
#include "skeleton.dtsi"
#include <dt-bindings/clock/qcom,rpmh.h>
#include <dt-bindings/clock/qcom,cpu-a7.h>
#include <dt-bindings/clock/qcom,gcc-sdxpoorwills.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include <dt-bindings/clock/qcom,aop-qmp.h>

/ {
	model = "Qualcomm Technologies, Inc. SDX POORWILLS";
	compatible = "qcom,sdxpoorwills";
	qcom,msm-id = <334 0x0>, <335 0x0>;
	interrupt-parent = <&pdc>;

	reserved-memory {
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

		peripheral2_mem: peripheral2_region@8fe00000 {
			compatible = "removed-dma-pool";
			no-map;
			reg = <0x8fe00000 0x200000>;
			label = "peripheral2_mem";
		};

		sbl_region: sbl_region@8fd00000 {
			no-map;
			reg = <0x8fd00000 0x100000>;
			label = "sbl_mem";
		};

		hyp_region: hyp_region@8fc00000 {
			no-map;
			reg = <0x8fc00000 0x80000>;
			label = "hyp_mem";
		};

		mss_mem: mss_region@87400000 {
			compatible = "removed-dma-pool";
			no-map;
			reg = <0x87400000 0x8300000>;
			label = "mss_mem";
		};

		audio_mem: audio_region@0 {
			compatible = "shared-dma-pool";
			reusable;
			size = <0x400000>;
		 };
	};

	cpus {
		#size-cells = <0>;
		#address-cells = <1>;

		CPU0: cpu@0 {
			device_type = "cpu";
			compatible = "arm,cortex-a7";
			enable-method = "psci";
			reg = <0x0>;
			#cooling-cells = <2>;
		};
	};

	aliases {
		qpic_nand1 = &qnand_1;
		pci-domain0 = &pcie0;
		sdhc1 = &sdhc_1; /* SDC1 eMMC/SD/SDIO slot */
	};

	psci {
		compatible = "arm,psci-1.0";
		method = "smc";
	};

	soc: soc { };
};


&soc {
	#address-cells = <1>;
	#size-cells = <1>;
	ranges;

	intc: interrupt-controller@17800000 {
		compatible = "qcom,msm-qgic2";
		interrupt-controller;
		#interrupt-cells = <3>;
		reg = <0x17800000 0x1000>,
		      <0x17802000 0x1000>;
		interrupt-parent = <&intc>;
	};

	pdc: interrupt-controller@b210000{
		compatible = "qcom,pdc-sdxpoorwills";
		reg = <0xb210000 0x30000>;
		#interrupt-cells = <3>;
		interrupt-parent = <&intc>;
		interrupt-controller;
	};

	timer {
		compatible = "arm,armv7-timer";
		interrupts = <1 13 0xf08>,
			<1 12 0xf08>,
			<1 10 0xf08>,
			<1 11 0xf08>;
		clock-frequency = <19200000>;
	};

	timer@17820000 {
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;
		compatible = "arm,armv7-timer-mem";
		reg = <0x17820000 0x1000>;
		clock-frequency = <19200000>;

		frame@17821000 {
			frame-number = <0>;
			interrupts = <0 7 0x4>,
				     <0 6 0x4>;
			reg = <0x17821000 0x1000>,
			      <0x17822000 0x1000>;
		};

		frame@17823000 {
			frame-number = <1>;
			interrupts = <0 8 0x4>;
			reg = <0x17823000 0x1000>;
			status = "disabled";
		};

		frame@17824000 {
			frame-number = <2>;
			interrupts = <0 9 0x4>;
			reg = <0x17824000 0x1000>;
			status = "disabled";
		};

		frame@17825000 {
			frame-number = <3>;
			interrupts = <0 10 0x4>;
			reg = <0x17825000 0x1000>;
			status = "disabled";
		};

		frame@17826000 {
			frame-number = <4>;
			interrupts = <0 11 0x4>;
			reg = <0x17826000 0x1000>;
			status = "disabled";
		};

		frame@17827000 {
			frame-number = <5>;
			interrupts = <0 12 0x4>;
			reg = <0x17827000 0x1000>;
			status = "disabled";
		};

		frame@17828000 {
			frame-number = <6>;
			interrupts = <0 13 0x4>;
			reg = <0x17828000 0x1000>;
			status = "disabled";
		};

		frame@17829000 {
			frame-number = <7>;
			interrupts = <0 14 0x4>;
			reg = <0x17829000 0x1000>;
			status = "disabled";
		};
	};

	msm_cpufreq: qcom,msm-cpufreq {
		compatible = "qcom,msm-cpufreq";
		clocks = <&clock_cpu APCS_CLK>;
		clock-names = "cpu0_clk";

		qcom,cpufreq-table-0 =
				<  153600 >,
				<  300000 >,
				<  345600 >,
				<  576000 >,
				< 1094400 >,
				< 1497600 >;
	};

	clock_gcc: qcom,gcc@100000 {
		compatible = "qcom,gcc-sdxpoorwills";
		reg = <0x100000 0x1f0000>;
		reg-names = "cc_base";
		vdd_cx-supply = <&pmxpoorwills_s5_level>;
		vdd_cx_ao-supply = <&pmxpoorwills_s5_level_ao>;
		#clock-cells = <1>;
		#reset-cells = <1>;
	};

	clock_cpu: qcom,clock-a7@17808100 {
		compatible = "qcom,cpu-sdxpoorwills";
		clocks = <&clock_rpmh RPMH_CXO_CLK_A>;
		clock-names = "xo_ao";
		qcom,a7cc-init-rate = <1497600000>;
		reg = <0x17808100 0x7F10>;
		reg-names = "apcs_pll";
		qcom,rcg-reg-offset = <0x7F08>;

		vdd_dig_ao-supply = <&pmxpoorwills_s5_level_ao>;
		cpu-vdd-supply = <&pmxpoorwills_s5_level_ao>;
		qcom,speed0-bin-v0 =
			<          0 RPMH_REGULATOR_LEVEL_OFF>,
			<  345600000 RPMH_REGULATOR_LEVEL_LOW_SVS>,
			<  576000000 RPMH_REGULATOR_LEVEL_SVS>,
			< 1094400000 RPMH_REGULATOR_LEVEL_NOM>,
			< 1497600000 RPMH_REGULATOR_LEVEL_TURBO>;
		#clock-cells = <1>;
	};

	clock_rpmh: qcom,rpmhclk {
		compatible = "qcom,rpmh-clk-sdxpoorwills";
		#clock-cells = <1>;
		mboxes = <&apps_rsc 0>;
		mbox-names = "apps";
	};

	clock_aop: qcom,aopclk {
		compatible = "qcom,aop-qmp-clk-v1";
		#clock-cells = <1>;
		mboxes = <&qmp_aop 0>;
		mbox-names = "qdss_clk";
	};

	snoc_cnoc_keepalive: qcom,snoc_cnoc_keepalive {
		compatible = "qcom,devbw";
		governor = "powersave";
		qcom,src-dst-ports = <53 747>;
		qcom,active-only;
		status = "ok";
		qcom,bw-tbl =
			< 1 >;
	};

	serial_uart: serial@831000 {
		compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
		reg = <0x831000 0x200>;
		interrupts = <0 26 0>;
		status = "disabled";
		clocks = <&clock_gcc GCC_BLSP1_UART3_APPS_CLK>,
			<&clock_gcc GCC_BLSP1_AHB_CLK>;
		clock-names = "core", "iface";
	};

	gdsc_usb30: qcom,gdsc@10b004 {
		compatible = "qcom,gdsc";
		regulator-name = "gdsc_usb30";
		reg = <0x0010b004 0x4>;
	};

	qcom,sps {
		compatible = "qcom,msm_sps_4k";
		qcom,pipe-attr-ee;
	};

	gdsc_pcie: qcom,gdsc@137004 {
		compatible = "qcom,gdsc";
		regulator-name = "gdsc_pcie";
		reg = <0x00137004 0x4>;
	};

	pcie_ep: qcom,pcie@40002000 {
		compatible = "qcom,pcie-ep";

		reg = <0x40002000 0x1000>,
			<0x40000000 0xf1d>,
			<0x40000f20 0xa8>,
			<0x40001000 0x1000>,
			<0x01c00000 0x2000>,
			<0x01c02000 0x1000>,
			<0x01c04000 0x1000>;
		reg-names = "msi", "dm_core", "elbi", "iatu", "parf",
				"phy", "mmio";

		#address-cells = <0>;
		interrupt-parent = <&pcie_ep>;
		interrupts = <0>;
		#interrupt-cells = <1>;
		interrupt-map-mask = <0xffffffff>;
		interrupt-map = <0 &intc 0 140 0>;
		interrupt-names = "int_global";

		pinctrl-names = "default";
		pinctrl-0 = <&pcie_ep_clkreq_default &pcie_ep_perst_default
			&pcie_ep_wake_default>;

		clkreq-gpio = <&tlmm 56 0>;
		perst-gpio = <&tlmm 57 0>;
		wake-gpio = <&tlmm 53 0>;

		gdsc-vdd-supply = <&gdsc_pcie>;
		vreg-1.8-supply = <&pmxpoorwills_l1>;
		vreg-0.9-supply = <&pmxpoorwills_l4>;

		qcom,vreg-1.8-voltage-level = <1200000 1200000 24000>;
		qcom,vreg-0.9-voltage-level = <872000 872000 24000>;

		clocks = <&clock_gcc GCC_PCIE_PIPE_CLK>,
			<&clock_gcc GCC_PCIE_CFG_AHB_CLK>,
			<&clock_gcc GCC_PCIE_MSTR_AXI_CLK>,
			<&clock_gcc GCC_PCIE_SLV_AXI_CLK>,
			<&clock_gcc GCC_PCIE_AUX_CLK>,
			<&clock_gcc GCC_PCIE_0_CLKREF_CLK>,
			<&clock_gcc GCC_PCIE_SLEEP_CLK>,
			<&clock_gcc GCC_PCIE_SLV_Q2A_AXI_CLK>;

		clock-names = "pcie_0_pipe_clk", "pcie_0_cfg_ahb_clk",
				"pcie_0_mstr_axi_clk", "pcie_0_slv_axi_clk",
				"pcie_0_aux_clk", "pcie_0_ldo",
				"pcie_0_sleep_clk",
				"pcie_0_slv_q2a_axi_clk";

		resets = <&clock_gcc GCC_PCIE_BCR>,
			<&clock_gcc GCC_PCIE_PHY_BCR>;

		reset-names = "pcie_0_core_reset",
				"pcie_0_phy_reset";

		qcom,msm-bus,name = "pcie-ep";
		qcom,msm-bus,num-cases = <2>;
		qcom,msm-bus,num-paths = <1>;
		qcom,msm-bus,vectors-KBps =
				<45 512 0 0>,
				<45 512 500 800>;

		qcom,pcie-link-speed = <2>;
		qcom,pcie-phy-ver = <6>;
		qcom,pcie-active-config;
		qcom,pcie-aggregated-irq;
		qcom,pcie-mhi-a7-irq;
		qcom,phy-status-reg = <0x814>;

		qcom,phy-init = <0x840 0x001 0x0 0x1
				0x094 0x000 0x0 0x1
				0x058 0x00f 0x0 0x1
				0x0a4 0x042 0x0 0x1
				0x110 0x024 0x0 0x1
				0x1bc 0x011 0x0 0x1
				0x0bc 0x019 0x0 0x1
				0x0b0 0x004 0x0 0x1
				0x0ac 0x0ff 0x0 0x1
				0x158 0x001 0x0 0x1
				0x074 0x028 0x0 0x1
				0x07c 0x00d 0x0 0x1
				0x084 0x000 0x0 0x1
				0x1b0 0x01d 0x0 0x1
				0x1ac 0x056 0x0 0x1
				0x04c 0x007 0x0 0x1
				0x050 0x007 0x0 0x1
				0x0f0 0x003 0x0 0x1
				0x0ec 0x0fb 0x0 0x1
				0x00c 0x002 0x0 0x1
				0x29c 0x012 0x0 0x1
				0x284 0x005 0x0 0x1
				0x234 0x0d9 0x0 0x1
				0x238 0x0cc 0x0 0x1
				0x51c 0x003 0x0 0x1
				0x518 0x01c 0x0 0x1
				0x524 0x014 0x0 0x1
				0x4ec 0x00e 0x0 0x1
				0x4f0 0x04a 0x0 0x1
				0x4f4 0x00f 0x0 0x1
				0x5b4 0x004 0x0 0x1
				0x434 0x07f 0x0 0x1
				0x444 0x070 0x0 0x1
				0x510 0x017 0x0 0x1
				0x4d8 0x001 0x0 0x1
				0x598 0x0e0 0x0 0x1
				0x59c 0x0c8 0x0 0x1
				0x5a0 0x0c8 0x0 0x1
				0x5a4 0x009 0x0 0x1
				0x5a8 0x0b1 0x0 0x1
				0x584 0x024 0x0 0x1
				0x588 0x0e4 0x0 0x1
				0x58c 0x0ec 0x0 0x1
				0x590 0x039 0x0 0x1
				0x594 0x036 0x0 0x1
				0x570 0x0ef 0x0 0x1
				0x574 0x0ef 0x0 0x1
				0x578 0x02f 0x0 0x1
				0x57c 0x0d3 0x0 0x1
				0x580 0x040 0x0 0x1
				0x4fc 0x000 0x0 0x1
				0x4f8 0x0c0 0x0 0x1
				0x9a4 0x001 0x0 0x1
				0x840 0x001 0x0 0x1
				0x848 0x001 0x0 0x1
				0x8a0 0x011 0x0 0x1
				0x988 0x088 0x0 0x1
				0x998 0x008 0x0 0x1
				0x8dc 0x00d 0x0 0x1
				0x800 0x000 0x0 0x1
				0x844 0x003 0x0 0x1>;

		status = "disabled";
	};

	gdsc_emac: qcom,gdsc@147004 {
		compatible = "qcom,gdsc";
		regulator-name = "gdsc_emac";
		reg = <0x00147004 0x4>;
	};

	qnand_1: nand@1b00000 {
		compatible = "qcom,msm-nand";
		reg = < 0x01b00000 0x10000>,
			<0x01b04000 0x1a000>;
		reg-names = "nand_phys",
			"bam_phys";
		qcom,reg-adjustment-offset = <0x4000>;
		qcom,qpic-clk-rpmh;

		interrupts = <0 135 0>;
		interrupt-names = "bam_irq";

		qcom,msm-bus,name = "qpic_nand";
		qcom,msm-bus,num-cases = <2>;
		qcom,msm-bus,num-paths = <1>;

		qcom,msm-bus,vectors-KBps =
			<91 512 0 0>,
			/* Voting for max b/w on PNOC bus for now */
			<91 512 400000 400000>;

		status = "disabled";
	};

	sdhc_1: sdhci@8804000 {
		compatible = "qcom,sdhci-msm-v5";
		reg = <0x8804000 0x1000>;
		reg-names = "hc_mem";

		interrupts = <0 210 0>, <0 227 0>;
		interrupt-names = "hc_irq", "pwr_irq";

		qcom,bus-width = <4>;

		qcom,msm-bus,name = "sdhc1";
		qcom,msm-bus,num-cases = <8>;
		qcom,msm-bus,num-paths = <1>;
		qcom,msm-bus,vectors-KBps =  <78 512 0 0>, /* No vote */
				<78 512 1600 3200>,    /* 400 KB/s*/
				<78 512 80000 160000>, /* 20 MB/s */
				<78 512 100000 200000>, /* 25 MB/s */
				<78 512 200000 400000>, /* 50 MB/s */
				<78 512 400000 800000>, /* 100 MB/s */
				<78 512 400000 800000>, /* 200 MB/s */
				<78 512 2048000 4096000>; /* Max. bandwidth */
		qcom,bus-bw-vectors-bps = <0 400000 20000000 25000000 50000000
						100000000 200000000 4294967295>;

		/* PM QoS */
		qcom,pm-qos-cpu-groups = <0x0>;
		qcom,pm-qos-cmdq-latency-us = <70>;
		qcom,pm-qos-legacy-latency-us = <70>;
		qcom,pm-qos-irq-type = "affine_cores";
		qcom,pm-qos-irq-cpu = <0>;
		qcom,pm-qos-irq-latency = <70>;

		clocks = <&clock_gcc GCC_SDCC1_AHB_CLK>,
			<&clock_gcc GCC_SDCC1_APPS_CLK>;
		clock-names = "iface_clk", "core_clk";

		status = "disabled";
	};

	qcom,msm-imem@1468B000 {
		compatible = "qcom,msm-imem";
		reg = <0x1468B000 0x1000>; /* Address and size of IMEM */
		ranges = <0x0 0x1468B000 0x1000>;
		#address-cells = <1>;
		#size-cells = <1>;

		mem_dump_table@10 {
			compatible = "qcom,msm-imem-mem_dump_table";
			reg = <0x10 8>;
		};

		restart_reason@65c {
			compatible = "qcom,msm-imem-restart_reason";
			reg = <0x65c 4>;
		};

		boot_stats@6b0 {
			compatible = "qcom,msm-imem-boot_stats";
			reg = <0x6b0 32>;
		};

		pil@94c {
			compatible = "qcom,msm-imem-pil";
			reg = <0x94c 200>;
		};

		diag_dload@c8 {
			compatible = "qcom,msm-imem-diag-dload";
			reg = <0xc8 200>;
		};
};

	restart@c264000 {
		compatible = "qcom,pshold";
		reg = <0x0c264000 0x4>,
			<0x01fd3000 0x4>;
		reg-names = "pshold-base", "tcsr-boot-misc-detect";
	};

	tsens0: tsens@c222000 {
		compatible = "qcom,tsens24xx";
		reg = <0xc222000 0x4>,
		      <0xc263000 0x1ff>;
		reg-names = "tsens_srot_physical",
			    "tsens_tm_physical";
		interrupts = <0 163 0>, <0 165 0>;
		interrupt-names = "tsens-upper-lower", "tsens-critical";
		#thermal-sensor-cells = <1>;
	};

	thermal_zones: thermal-zones { };

	qcom,ipa_fws {
		compatible = "qcom,pil-tz-generic";
		qcom,pas-id = <0xf>;
		qcom,firmware-name = "ipa_fws";
		qcom,pil-force-shutdown;
	};

	spmi_bus: qcom,spmi@c440000 {
		compatible = "qcom,spmi-pmic-arb";
		reg = <0xc440000 0x1100>,
		      <0xc600000 0x2000000>,
		      <0xe600000 0x100000>,
		      <0xe700000 0xa0000>,
		      <0xc40a000 0x26000>;
		reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
		interrupt-names = "periph_irq";
		interrupts = <GIC_SPI 148 IRQ_TYPE_NONE>;
		qcom,ee = <0>;
		qcom,channel = <0>;
		#address-cells = <2>;
		#size-cells = <0>;
		interrupt-controller;
		#interrupt-cells = <4>;
		cell-index = <0>;
	};

	qcom,ipc-spinlock@1f40000 {
		compatible = "qcom,ipc-spinlock-sfpb";
		reg = <0x1f40000 0x8000>;
		qcom,num-locks = <8>;
	};

	qcom,smem@8fe40000 {
		compatible = "qcom,smem";
		reg = <0x8fe40000 0xc0000>,
			<0x17811008 0x4>,
			<0x1fd4000 0x8>;
		reg-names = "smem", "irq-reg-base",
			"smem_targ_info_reg";
		qcom,mpu-enabled;
	};

	qcom,glink-smem-native-xprt-modem@8fe40000 {
		compatible = "qcom,glink-smem-native-xprt";
		reg = <0x8fe40000 0xc0000>,
			<0x17811008 0x4>;
		reg-names = "smem", "irq-reg-base";
		qcom,irq-mask = <0x8000>;
		interrupts = <GIC_SPI 114 IRQ_TYPE_EDGE_RISING>;
		label = "mpss";
	};

	qcom,ipc_router {
		compatible = "qcom,ipc_router";
		qcom,node-id = <1>;
	};

	qcom,ipc_router_modem_xprt {
		compatible = "qcom,ipc_router_glink_xprt";
		qcom,ch-name = "IPCRTR";
		qcom,xprt-remote = "mpss";
		qcom,glink-xprt = "smem";
		qcom,xprt-linkid = <1>;
		qcom,xprt-version = <1>;
		qcom,fragmented-data;
	};

	qcom,glink_pkt {
		compatible = "qcom,glinkpkt";

		qcom,glinkpkt-at-mdm0 {
			qcom,glinkpkt-transport = "smem";
			qcom,glinkpkt-edge = "mpss";
			qcom,glinkpkt-ch-name = "DS";
			qcom,glinkpkt-dev-name = "at_mdm0";
		};

		qcom,glinkpkt-loopback_cntl {
			qcom,glinkpkt-transport = "lloop";
			qcom,glinkpkt-edge = "local";
			qcom,glinkpkt-ch-name = "LOCAL_LOOPBACK_CLNT";
			qcom,glinkpkt-dev-name = "glink_pkt_loopback_ctrl";
		};

		qcom,glinkpkt-loopback_data {
			qcom,glinkpkt-transport = "lloop";
			qcom,glinkpkt-edge = "local";
			qcom,glinkpkt-ch-name = "glink_pkt_lloop_CLNT";
			qcom,glinkpkt-dev-name = "glink_pkt_loopback";
		};

		qcom,glinkpkt-data40-cntl {
			qcom,glinkpkt-transport = "smem";
			qcom,glinkpkt-edge = "mpss";
			qcom,glinkpkt-ch-name = "DATA40_CNTL";
			qcom,glinkpkt-dev-name = "smdcntl8";
		};

		qcom,glinkpkt-data1 {
			qcom,glinkpkt-transport = "smem";
			qcom,glinkpkt-edge = "mpss";
			qcom,glinkpkt-ch-name = "DATA1";
			qcom,glinkpkt-dev-name = "smd7";
		};

		qcom,glinkpkt-data4 {
			qcom,glinkpkt-transport = "smem";
			qcom,glinkpkt-edge = "mpss";
			qcom,glinkpkt-ch-name = "DATA4";
			qcom,glinkpkt-dev-name = "smd8";
		};

		qcom,glinkpkt-data11 {
			qcom,glinkpkt-transport = "smem";
			qcom,glinkpkt-edge = "mpss";
			qcom,glinkpkt-ch-name = "DATA11";
			qcom,glinkpkt-dev-name = "smd11";
		};
	};

	pil_modem: qcom,mss@4080000 {
		compatible = "qcom,pil-tz-generic";
		reg = <0x4080000 0x100>;
		interrupts = <0 250 1>;

		clocks = <&clock_rpmh RPMH_CXO_CLK>;
		clock-names = "xo";
		qcom,proxy-clock-names = "xo";

		vdd_cx-supply = <&pmxpoorwills_s5_level>;
		qcom,proxy-reg-names = "vdd_cx";

		qcom,pas-id = <4>;
		qcom,smem-id = <421>;
		qcom,proxy-timeout-ms = <10000>;
		qcom,sysmon-id = <0>;
		qcom,ssctl-instance-id = <0x12>;
		qcom,firmware-name = "modem";
		memory-region = <&mss_mem>;
		status = "ok";

		/* GPIO inputs from mss */
		qcom,gpio-err-fatal = <&smp2pgpio_ssr_smp2p_1_in 0 0>;
		qcom,gpio-err-ready = <&smp2pgpio_ssr_smp2p_1_in 1 0>;
		qcom,gpio-proxy-unvote = <&smp2pgpio_ssr_smp2p_1_in 2 0>;
		qcom,gpio-stop-ack = <&smp2pgpio_ssr_smp2p_1_in 3 0>;

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

	apps_rsc: mailbox@17840000 {
		compatible = "qcom,tcs-drv";
		label = "apps_rsc";
		reg = <0x17840000 0x100>, <0x17840d00 0x3000>;
		interrupts = <0 17 0>;
		#mbox-cells = <1>;
		qcom,drv-id = <1>;
		qcom,tcs-config = <ACTIVE_TCS  2>,
				<SLEEP_TCS     2>,
				<WAKE_TCS      2>,
				<CONTROL_TCS   1>;
	};

	cmd_db: qcom,cmd-db@c37000c {
		compatible = "qcom,cmd-db";
		reg = <0xc37000c 8>;
	};

	qcom,msm_gsi {
		compatible = "qcom,msm_gsi";
	};

	qcom,rmnet-ipa {
		compatible = "qcom,rmnet-ipa3";
		qcom,rmnet-ipa-ssr;
		qcom,ipa-loaduC;
		qcom,ipa-advertise-sg-support;
	};

	system_pm {
		compatible = "qcom,system-pm";
		mboxes = <&apps_rsc 0>;
	};

	ipa_hw: qcom,ipa@01e00000 {
		compatible = "qcom,ipa";
		reg = <0x1e00000 0x34000>,
		      <0x1e04000 0x28000>;
		reg-names = "ipa-base", "gsi-base";
		interrupts =
			<0 241 0>,
			<0 47 0>;
		interrupt-names = "ipa-irq", "gsi-irq";
		qcom,ipa-hw-ver = <14>; /* IPA core version = IPAv4.0 */
		qcom,ipa-hw-mode = <0>;
		qcom,ee = <0>;
		qcom,use-ipa-tethering-bridge;
		qcom,mhi-event-ring-id-limits = <9 10>; /* start and end */
		qcom,modem-cfg-emb-pipe-flt;
		qcom,use-ipa-pm;
		qcom,arm-smmu;
		qcom,smmu-fast-map;
		qcom,bandwidth-vote-for-ipa;
		qcom,msm-bus,name = "ipa";
		qcom,msm-bus,num-cases = <5>;
		qcom,msm-bus,num-paths = <4>;
		qcom,msm-bus,vectors-KBps =
		/* No vote */
			<90 512 0 0>,
			<90 585 0 0>,
			<1 676 0 0>,
			<143 777 0 0>,
		/* SVS2 */
			<90 512 3616000 7232000>,
			<90 585 300000 600000>,
			<1 676 90000 180000>, /*gcc_config_noc_clk_src */
			<143 777 0 120>, /* IB defined for IPA2X_clk in MHz*/
		/* SVS */
			<90 512 6640000 13280000>,
			<90 585 400000 800000>,
			<1 676 100000 200000>,
			<143 777 0 250>, /* IB defined for IPA2X_clk in MHz*/
		/* NOMINAL */
			<90 512 10400000 20800000>,
			<90 585 800000 1600000>,
			<1 676 200000 400000>,
			<143 777 0 440>, /* IB defined for IPA2X_clk in MHz*/
		/* TURBO */
			<90 512 10400000 20800000>,
			<90 585 960000 1920000>,
			<1 676 266000 532000>,
			<143 777 0 500>; /* IB defined for IPA clk in MHz*/
		qcom,bus-vector-names = "MIN", "SVS2", "SVS", "NOMINAL",
		"TURBO";
		qcom,throughput-threshold = <310 600 1000>;
		qcom,scaling-exceptions = <>;


		/* IPA RAM mmap */
		qcom,ipa-ram-mmap = <
			0x280	/* ofst_start; */
			0x0	/* nat_ofst; */
			0x0	/* nat_size; */
			0x288	/* v4_flt_hash_ofst; */
			0x78	/* v4_flt_hash_size; */
			0x4000	/* v4_flt_hash_size_ddr; */
			0x308	/* v4_flt_nhash_ofst; */
			0x78	/* v4_flt_nhash_size; */
			0x4000	/* v4_flt_nhash_size_ddr; */
			0x388	/* v6_flt_hash_ofst; */
			0x78	/* v6_flt_hash_size; */
			0x4000	/* v6_flt_hash_size_ddr; */
			0x408	/* v6_flt_nhash_ofst; */
			0x78	/* v6_flt_nhash_size; */
			0x4000	/* v6_flt_nhash_size_ddr; */
			0xf	/* v4_rt_num_index; */
			0x0	/* v4_modem_rt_index_lo; */
			0x7	/* v4_modem_rt_index_hi; */
			0x8	/* v4_apps_rt_index_lo; */
			0xe	/* v4_apps_rt_index_hi; */
			0x488	/* v4_rt_hash_ofst; */
			0x78	/* v4_rt_hash_size; */
			0x4000	/* v4_rt_hash_size_ddr; */
			0x508	/* v4_rt_nhash_ofst; */
			0x78	/* v4_rt_nhash_size; */
			0x4000	/* v4_rt_nhash_size_ddr; */
			0xf	/* v6_rt_num_index; */
			0x0	/* v6_modem_rt_index_lo; */
			0x7	/* v6_modem_rt_index_hi; */
			0x8	/* v6_apps_rt_index_lo; */
			0xe	/* v6_apps_rt_index_hi; */
			0x588	/* v6_rt_hash_ofst; */
			0x78	/* v6_rt_hash_size; */
			0x4000	/* v6_rt_hash_size_ddr; */
			0x608	/* v6_rt_nhash_ofst; */
			0x78	/* v6_rt_nhash_size; */
			0x4000	/* v6_rt_nhash_size_ddr; */
			0x688	/* modem_hdr_ofst; */
			0x140	/* modem_hdr_size; */
			0x7c8	/* apps_hdr_ofst; */
			0x0	/* apps_hdr_size; */
			0x800	/* apps_hdr_size_ddr; */
			0x7d0	/* modem_hdr_proc_ctx_ofst; */
			0x200	/* modem_hdr_proc_ctx_size; */
			0x9d0	/* apps_hdr_proc_ctx_ofst; */
			0x200	/* apps_hdr_proc_ctx_size; */
			0x0	/* apps_hdr_proc_ctx_size_ddr; */
			0x0	/* modem_comp_decomp_ofst; diff */
			0x0	/* modem_comp_decomp_size; diff */
			0x13f0	/* modem_ofst; */
			0x100c	/* modem_size; */
			0x23fc	/* apps_v4_flt_hash_ofst; */
			0x0	/* apps_v4_flt_hash_size; */
			0x23fc	/* apps_v4_flt_nhash_ofst; */
			0x0	/* apps_v4_flt_nhash_size; */
			0x23fc	/* apps_v6_flt_hash_ofst; */
			0x0	/* apps_v6_flt_hash_size; */
			0x23fc	/* apps_v6_flt_nhash_ofst; */
			0x0	/* apps_v6_flt_nhash_size; */
			0x80	/* uc_info_ofst; */
			0x200	/* uc_info_size; */
			0x2800	/* end_ofst; */
			0x23fc	/* apps_v4_rt_hash_ofst; */
			0x0	/* apps_v4_rt_hash_size; */
			0x23fc	/* apps_v4_rt_nhash_ofst; */
			0x0	/* apps_v4_rt_nhash_size; */
			0x23fc	/* apps_v6_rt_hash_ofst; */
			0x0	/* apps_v6_rt_hash_size; */
			0x23fc	/* apps_v6_rt_nhash_ofst; */
			0x0	/* apps_v6_rt_nhash_size; */
			0x2400	/* uc_event_ring_ofst; */
			0x400	/* uc_event_ring_size;*/
			0xbd8	/* pdn_config_ofst; */
			0x50	/* pdn_config_size; */
			0xc30  /* stats_quota_ofst */
			0x60   /* stats_quota_size */
			0xc90  /* stats_tethering_ofst */
			0x140  /* stats_tethering_size */
			0xdd0  /* stats_flt_v4_ofst */
			0x180  /* stats_flt_v4_size */
			0xf50  /* stats_flt_v6_ofst */
			0x180  /* stats_flt_v6_size */
			0x10d0 /* stats_rt_v4_ofst */
			0x180  /* stats_rt_v4_size */
			0x1250 /* stats_rt_v6_ofst */
			0x180  /* stats_rt_v6_size */
			0x13d0 /* stats_drop_ofst */
			0x20  /* stats_drop_size */
		>;

		/* smp2p gpio information */
		qcom,smp2pgpio_map_ipa_1_out {
			compatible = "qcom,smp2pgpio-map-ipa-1-out";
			gpios = <&smp2pgpio_ipa_1_out 0 0>;
		};

		qcom,smp2pgpio_map_ipa_1_in {
			compatible = "qcom,smp2pgpio-map-ipa-1-in";
			gpios = <&smp2pgpio_ipa_1_in 0 0>;
		};

		ipa_smmu_ap: ipa_smmu_ap {
			compatible = "qcom,ipa-smmu-ap-cb";
			iommus = <&apps_smmu 0x5E0 0x0>;
			qcom,iova-mapping = <0x20000000 0x40000000>;
			qcom,additional-mapping =
			/* modem tables in IMEM */
			<0x14686000 0x14686000 0x3000>;
			qcom,ipa-q6-smem-size = <16384>;
		};

		ipa_smmu_wlan: ipa_smmu_wlan {
			compatible = "qcom,ipa-smmu-wlan-cb";
			iommus = <&apps_smmu 0x5E1 0x0>;
			qcom,additional-mapping =
			/* ipa-uc ram */
			<0x1E60000 0x1E60000 0xA000>;
		};

		ipa_smmu_uc: ipa_smmu_uc {
			compatible = "qcom,ipa-smmu-uc-cb";
			iommus = <&apps_smmu 0x5E2 0x0>;
			qcom,iova-mapping = <0x40000000 0x20000000>;
		};
	};

	qmp_aop: qcom,qmp-aop@c300000 {
		compatible = "qcom,qmp-mbox";
		label = "aop";
		reg = <0xc300000 0x400>,
			<0x17811008 0x4>;
		reg-names = "msgram", "irq-reg-base";
		qcom,irq-mask = <0x2>;
		interrupts = <GIC_SPI 221 IRQ_TYPE_EDGE_RISING>;
		priority = <0>;
		mbox-desc-offset = <0x0>;
		#mbox-cells = <1>;
	};

	usb_detect: qcom,gpio-usbdetect {
		compatible = "qcom,gpio-usbdetect";
		interrupt-parent = <&spmi_bus>;
		interrupts = <0x0 0x0d 0x0 IRQ_TYPE_NONE>;
		interrupt-names = "vbus_det_irq";
		status = "disabled";
	};

	qcom,wdt@17817000{
		compatible = "qcom,msm-watchdog";
		reg = <0x17817000 0x1000>;
		reg-names = "wdt-base";
		interrupts = <1 3 0>, <1 2 0>;
		qcom,bark-time = <11000>;
		qcom,pet-time = <10000>;
	};
};

#include "pmxpoorwills.dtsi"
#include "sdxpoorwills-blsp.dtsi"
#include "sdxpoorwills-regulator.dtsi"
#include "sdxpoorwills-smp2p.dtsi"
#include "sdxpoorwills-usb.dtsi"
#include "sdxpoorwills-pcie.dtsi"
#include "sdxpoorwills-bus.dtsi"
#include "sdxpoorwills-thermal.dtsi"
#include "sdxpoorwills-audio.dtsi"
#include "sdxpoorwills-ion.dtsi"
#include "msm-arm-smmu-sdxpoorwills.dtsi"
#include "sdxpoorwills-coresight.dtsi"

&soc {
	emac_hw: qcom,emac@00020000 {
		compatible = "qcom,emac-dwc-eqos";
		reg = <0x20000 0x10000>,
			<0x36000 0x100>,
			<0x3900000 0x300000>;
		reg-names = "emac-base", "rgmii-base", "tlmm-central-base";
		interrupts = <0 62 4>, <0 60 4>,
			<0 45 4>, <0 49 4>,
			<0 50 4>, <0 51 4>,
			<0 52 4>, <0 53 4>,
			<0 54 4>, <0 55 4>,
			<0 56 4>, <0 57 4>;
		interrupt-names = "sbd-intr", "lpi-intr",
			"wol-intr", "tx-ch0-intr",
			"tx-ch1-intr", "tx-ch2-intr",
			"tx-ch3-intr", "tx-ch4-intr",
			"rx-ch0-intr", "rx-ch1-intr",
			"rx-ch2-intr", "rx-ch3-intr";
		qcom,msm-bus,name = "emac";
		qcom,msm-bus,num-cases = <3>;
		qcom,msm-bus,num-paths = <2>;
		qcom,msm-bus,vectors-KBps =
			<98 512 1250 0>, <1 781 0 40000>,  /* 10Mbps vote */
			<98 512 12500 0>, <1 781 0 40000>,  /* 100Mbps vote */
			<98 512 125000 0>, <1 781 0 40000>; /* 1000Mbps vote */
		qcom,bus-vector-names = "10", "100", "1000";
		clocks = <&clock_gcc GCC_ETH_AXI_CLK>,
			<&clock_gcc GCC_ETH_PTP_CLK>,
			<&clock_gcc GCC_ETH_RGMII_CLK>,
			<&clock_gcc GCC_ETH_SLAVE_AHB_CLK>;
		clock-names = "eth_axi_clk", "eth_ptp_clk",
			"eth_rgmii_clk", "eth_slave_ahb_clk";
		qcom,phy-intr-redirect = <&tlmm 84 GPIO_ACTIVE_LOW>;
		qcom,phy-reset = <&tlmm 85 GPIO_ACTIVE_LOW>;
		vreg_rgmii-supply = <&vreg_rgmii>;
		vreg_emac_phy-supply =  <&vreg_emac_phy>;
		vreg_rgmii_io_pads-supply = <&vreg_rgmii_io_pads>;
		gdsc_emac-supply = <&gdsc_emac>;
		io-macro-info {
			io-macro-bypass-mode = <0>;
			io-interface = "rgmii";
		};
	};
};

#include "pmxpoorwills.dtsi"
#include "sdxpoorwills-blsp.dtsi"
#include "sdxpoorwills-regulator.dtsi"
#include "sdxpoorwills-smp2p.dtsi"
#include "sdxpoorwills-usb.dtsi"
#include "sdxpoorwills-pcie.dtsi"
#include "sdxpoorwills-bus.dtsi"
#include "sdxpoorwills-thermal.dtsi"
#include "sdxpoorwills-audio.dtsi"
#include "sdxpoorwills-ion.dtsi"
#include "msm-arm-smmu-sdxpoorwills.dtsi"
#include "sdxpoorwills-pm.dtsi"
