diff --git a/qcom/Makefile b/qcom/Makefile
index 05242f35..17d0fefd 100644
--- a/qcom/Makefile
+++ b/qcom/Makefile
@@ -1,4 +1,41 @@
+# add-overlay defines the target with following naming convention:
+# --dtbs = base.dtb board.dtbo
+#
+# Combined dtb target is also generated using the fdt_overlay tool.
+# dtb-y += -.dtb
+
+add-overlays = $(foreach o,$1,$(foreach b,$2,$(eval $(basename $b)-$(basename $o)-dtbs = $b $o) $(basename $b)-$(basename $o).dtb))
+
+
+WAIPIO_BASE_DTB += waipio.dtb waipio-v2.dtb
+WAIPIO_APQ_BASE_DTB += waipiop.dtb waipiop-v2.dtb
+
+WAIPIO_BOARDS += \
+ waipio-rumi-overlay.dtbo \
+ waipio-mtp-pm8008-overlay.dtbo \
+ waipio-cdp-pm8008-overlay.dtbo \
+ waipio-qrd-pm8008-overlay.dtbo \
+ waipio-atp-pm8008-overlay.dtbo \
+ waipio-mtp-pm8010-overlay.dtbo \
+ waipio-cdp-pm8010-overlay.dtbo \
+ waipio-qrd-pm8010-overlay.dtbo \
+ waipio-qrd-pm8010-2s-overlay.dtbo \
+ waipio-atp-pm8010-overlay.dtbo
+
+NOAPQ_WAIPIO_BOARDS += \
+ waipiop-hdk-pm8010-overlay.dtbo \
+ waipio-lemur-mtp-pm8008-overlay.dtbo \
+ waipio-lemur-mtp-pm8010-overlay.dtbo \
+ waipio-lemur-cdp-pm8008-overlay.dtbo \
+ waipio-lemur-cdp-pm8010-overlay.dtbo \
+ waipio-kiwi-mtp-pm8008-overlay.dtbo \
+ waipio-kiwi-mtp-pm8010-overlay.dtbo
+
+dtb-$(CONFIG_ARCH_WAIPIO) += \
+ $(call add-overlays, $(WAIPIO_BOARDS) $(NOAPQ_WAIPIO_BOARDS),$(WAIPIO_BASE_DTB))\
+ $(call add-overlays, $(WAIPIO_BOARDS) $(APQ_WAIPIO_BOARDS),$(WAIPIO_APQ_BASE_DTB))
+
dtb-$(CONFIG_ARCH_KALAMA) += kalama-rumi.dtb \
kalama-mtp.dtb \
kalama-cdp.dtb \
diff --git a/qcom/ipcc-test.dtsi b/qcom/ipcc-test.dtsi
new file mode 100644
index 00000000..bd89d9e9
--- /dev/null
+++ b/qcom/ipcc-test.dtsi
@@ -0,0 +1,31 @@
+#include
+
+&soc {
+ ipcc_self_ping_apss: ipcc-self-ping-apss {
+ compatible = "qcom,ipcc-self-ping";
+ interrupts-extended = <&ipcc_mproc IPCC_CLIENT_APSS
+ IPCC_MPROC_SIGNAL_SMP2P IRQ_TYPE_LEVEL_HIGH>;
+ mboxes = <&ipcc_mproc IPCC_CLIENT_APSS IPCC_MPROC_SIGNAL_SMP2P>;
+ };
+
+ ipcc_self_ping_cdsp: ipcc-self-ping-cdsp {
+ compatible = "qcom,ipcc-self-ping";
+ interrupts-extended = <&ipcc_mproc IPCC_CLIENT_CDSP
+ IPCC_MPROC_SIGNAL_PING IRQ_TYPE_LEVEL_HIGH>;
+ mboxes = <&ipcc_mproc IPCC_CLIENT_CDSP IPCC_MPROC_SIGNAL_PING>;
+ };
+
+ ipcc_self_ping_adsp: ipcc-self-ping-adsp {
+ compatible = "qcom,ipcc-self-ping";
+ interrupts-extended = <&ipcc_mproc IPCC_CLIENT_LPASS
+ IPCC_MPROC_SIGNAL_PING IRQ_TYPE_LEVEL_HIGH>;
+ mboxes = <&ipcc_mproc IPCC_CLIENT_LPASS IPCC_MPROC_SIGNAL_PING>;
+ };
+
+ ipcc_self_ping_slpi: ipcc-self-ping-slpi {
+ compatible = "qcom,ipcc-self-ping";
+ interrupts-extended = <&ipcc_mproc IPCC_CLIENT_SLPI
+ IPCC_MPROC_SIGNAL_PING IRQ_TYPE_LEVEL_HIGH>;
+ mboxes = <&ipcc_mproc IPCC_CLIENT_SLPI IPCC_MPROC_SIGNAL_PING>;
+ };
+};
diff --git a/qcom/msm-arm-smmu-waipio-vm.dtsi b/qcom/msm-arm-smmu-waipio-vm.dtsi
new file mode 100755
index 00000000..4d79e094
--- /dev/null
+++ b/qcom/msm-arm-smmu-waipio-vm.dtsi
@@ -0,0 +1,31 @@
+#include
+
+/ {
+ vm-config {
+ vdevices {
+ vsmmu@15000000 {
+ vdevice-type = "vsmmu-v2";
+ smmu-handle = <0x15000000>;
+ num-cbs = <0x2>;
+ num-smrs = <0x3>;
+ patch = "/soc/apps-smmu@15000000";
+ };
+ };
+ };
+};
+
+&soc {
+ apps_smmu: apps-smmu@15000000 {
+ /*
+ * reg, #global-interrupts & interrupts properties will
+ * be added dynamically by bootloader.
+ */
+ compatible = "qcom,qsmmu-v500", "qcom,virt-smmu";
+ #iommu-cells = <2>;
+ qcom,use-3-lvl-tables;
+ dma-coherent;
+ qcom,actlr =
+ <0x2803 0x0400 0x00000001>,
+ <0x2804 0x0402 0x00000001>;
+ };
+};
diff --git a/qcom/msm-arm-smmu-waipio.dtsi b/qcom/msm-arm-smmu-waipio.dtsi
new file mode 100644
index 00000000..83710386
--- /dev/null
+++ b/qcom/msm-arm-smmu-waipio.dtsi
@@ -0,0 +1,409 @@
+#include
+
+&soc {
+ kgsl_smmu: kgsl-smmu@3da0000 {
+ compatible = "qcom,qsmmu-v500", "qcom,adreno-smmu";
+ reg = <0x3DA0000 0x40000>,
+ <0x3DE6000 0x20>;
+ reg-names = "base", "tcu-base";
+ #iommu-cells = <2>;
+ qcom,skip-init;
+ qcom,use-3-lvl-tables;
+ qcom,num-context-banks-override = <0x15>;
+ qcom,num-smr-override = <0x18>;
+ #global-interrupts = <1>;
+ #size-cells = <1>;
+ #address-cells = <1>;
+ ranges;
+ dma-coherent;
+
+ qcom,regulator-names = "vdd";
+ vdd-supply = <&gpu_cc_cx_gdsc>;
+
+ clocks = <&clock_gpucc GPU_CC_CX_GMU_CLK>,
+ <&clock_gpucc GPU_CC_HUB_CX_INT_CLK>,
+ <&clock_gpucc GPU_CC_HLOS1_VOTE_GPU_SMMU_CLK>,
+ <&clock_gcc GCC_GPU_MEMNOC_GFX_CLK>,
+ <&clock_gcc GCC_GPU_SNOC_DVM_GFX_CLK>,
+ <&clock_gpucc GPU_CC_AHB_CLK>;
+ clock-names =
+ "gpu_cc_cx_gmu",
+ "gpu_cc_hub_cx_int",
+ "gpu_cc_hlos1_vote_gpu_smmu",
+ "gcc_gpu_memnoc_gfx",
+ "gcc_gpu_snoc_dvm_gfx",
+ "gpu_cc_ahb";
+
+ qcom,actlr =
+ /* All CBs of GFX: +15 deep PF */
+ <0x000 0x3ff 0x32B>,
+ <0x400 0x3ff 0x32B>;
+
+ interrupts = ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ;
+
+ gfx_0_tbu: gfx_0_tbu@3de9000 {
+ compatible = "qcom,qsmmuv500-tbu";
+ reg = <0x3de9000 0x1000>,
+ <0x3de6200 0x8>;
+ reg-names = "base", "status-reg";
+ qcom,stream-id-range = <0x0 0x400>;
+ };
+
+ gfx_1_tbu: gfx_1_tbu@3ded000 {
+ compatible = "qcom,qsmmuv500-tbu";
+ reg = <0x3ded000 0x1000>,
+ <0x3de6208 0x8>;
+ reg-names = "base", "status-reg";
+ qcom,stream-id-range = <0x400 0x400>;
+ };
+ };
+
+ apps_smmu: apps-smmu@15000000 {
+ compatible = "qcom,qsmmu-v500";
+ reg = <0x15000000 0x100000>,
+ <0x151ce000 0x20>;
+ reg-names = "base", "tcu-base";
+ #iommu-cells = <2>;
+ qcom,skip-init;
+ qcom,use-3-lvl-tables;
+ qcom,num-context-banks-override = <0x4e>;
+ qcom,num-smr-override = <0x78>;
+ qcom,handoff-smrs = <3>;
+ #global-interrupts = <1>;
+ #size-cells = <1>;
+ #address-cells = <1>;
+ ranges;
+ dma-coherent;
+ interrupts = ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ;
+
+ /* Autogenerated */
+ qcom,actlr =
+ <0x0001 0x24e0 0x00000001>,
+ <0x0001 0x0ce0 0x00000001>,
+ <0x0001 0x1420 0x00000303>,
+ <0x0002 0x3420 0x00000303>,
+ <0x0004 0x3560 0x00000303>,
+ <0x0005 0x3420 0x00000303>,
+ <0x0006 0x3560 0x00000303>,
+ <0x0007 0x3560 0x00000303>,
+ <0x0008 0x3560 0x00000303>,
+ <0x0009 0x3560 0x00000303>,
+ <0x000c 0x3560 0x00000303>,
+ <0x000d 0x3560 0x00000303>,
+ <0x000e 0x3560 0x00000303>,
+ <0x000f 0x3560 0x00000303>,
+ <0x0121 0x2c80 0x00000001>,
+ <0x0165 0x2400 0x00000303>,
+ <0x0800 0x0460 0x00000001>,
+ <0x0880 0x0400 0x00000001>,
+ <0x1000 0x0400 0x00000303>,
+ <0x1003 0x2520 0x00000303>,
+ <0x100a 0x0400 0x00000303>,
+ <0x100b 0x0420 0x00000303>,
+ <0x2000 0x0420 0x00000001>,
+ <0x2002 0x0500 0x00000001>,
+ <0x2003 0x0560 0x00000303>,
+ <0x2040 0x0420 0x00000001>,
+ <0x2042 0x1520 0x00000303>,
+ <0x206b 0x1500 0x00000303>,
+ <0x2080 0x0400 0x00000001>,
+ <0x20a0 0x0400 0x00000001>,
+ <0x20c0 0x0400 0x00000001>,
+ <0x20e0 0x0400 0x00000001>,
+ <0x2100 0x0420 0x00000001>,
+ <0x2101 0x0400 0x00000001>,
+ <0x2161 0x0400 0x00000303>,
+ <0x2180 0x0400 0x00000103>,
+ <0x2181 0x0404 0x00000103>,
+ <0x2182 0x0400 0x00000103>,
+ <0x2183 0x0400 0x00000103>,
+ <0x2184 0x0400 0x00000103>,
+ <0x2187 0x0400 0x00000103>,
+ <0x2800 0x0402 0x00000001>,
+ <0x2801 0x0000 0x00000001>,
+ <0x2803 0x0000 0x00000001>,
+ <0x2806 0x0400 0x00000001>,
+ <0x2c01 0x0000 0x00000001>,
+ <0x2c03 0x0000 0x00000001>;
+
+ anoc_1_tbu: anoc_1_tbu@151d1000 {
+ compatible = "qcom,qsmmuv500-tbu";
+ reg = <0x151d1000 0x1000>,
+ <0x151ce200 0x8>;
+ reg-names = "base", "status-reg";
+ qcom,stream-id-range = <0x0 0x400>;
+ qcom,micro-idle;
+ };
+
+ anoc_2_tbu: anoc_2_tbu@151d5000 {
+ compatible = "qcom,qsmmuv500-tbu";
+ reg = <0x151d5000 0x1000>,
+ <0x151ce208 0x8>;
+ reg-names = "base", "status-reg";
+ qcom,stream-id-range = <0x400 0x400>;
+ qcom,micro-idle;
+ };
+
+ cam_0_tbu: cam_0_tbu@151d9000 {
+ compatible = "qcom,qsmmuv500-tbu";
+ reg = <0x151d9000 0x1000>,
+ <0x151ce210 0x8>;
+ reg-names = "base", "status-reg";
+ qcom,stream-id-range = <0x800 0x400>;
+ qcom,micro-idle;
+ };
+
+ cam_1_tbu: cam_1_tbu@151dd000 {
+ compatible = "qcom,qsmmuv500-tbu";
+ reg = <0x151dd000 0x1000>,
+ <0x151ce218 0x8>;
+ reg-names = "base", "status-reg";
+ qcom,stream-id-range = <0xc00 0x400>;
+ qcom,micro-idle;
+ };
+
+ compute_1_tbu: compute_1_tbu@151e1000 {
+ compatible = "qcom,qsmmuv500-tbu";
+ reg = <0x151e1000 0x1000>,
+ <0x151ce220 0x8>;
+ reg-names = "base", "status-reg";
+ qcom,stream-id-range = <0x1000 0x400>;
+ qcom,micro-idle;
+ };
+
+ compute_0_tbu: compute_0_tbu@151e5000 {
+ compatible = "qcom,qsmmuv500-tbu";
+ reg = <0x151e5000 0x1000>,
+ <0x151ce228 0x8>;
+ reg-names = "base", "status-reg";
+ qcom,stream-id-range = <0x1400 0x400>;
+ qcom,micro-idle;
+ };
+
+ lpass_tbu: lpass_tbu@151e9000 {
+ compatible = "qcom,qsmmuv500-tbu";
+ reg = <0x151e9000 0x1000>,
+ <0x151ce230 0x8>;
+ reg-names = "base", "status-reg";
+ qcom,stream-id-range = <0x1800 0x400>;
+ qcom,micro-idle;
+ };
+
+ pcie_tbu: pcie_tbu@151ed000 {
+ status = "disabled";
+ compatible = "qcom,qsmmuv500-tbu";
+ reg = <0x151ed000 0x1000>,
+ <0x151ce238 0x8>;
+ reg-names = "base", "status-reg";
+ qcom,stream-id-range = <0x1c00 0x400>;
+ qcom,micro-idle;
+ };
+
+ sf_0_tbu: sf_0_tbu@151f1000 {
+ compatible = "qcom,qsmmuv500-tbu";
+ reg = <0x151f1000 0x1000>,
+ <0x151ce240 0x8>;
+ reg-names = "base", "status-reg";
+ qcom,stream-id-range = <0x2000 0x400>;
+ qcom,micro-idle;
+ };
+
+ sf_1_tbu: sf_1_tbu@151f5000 {
+ compatible = "qcom,qsmmuv500-tbu";
+ reg = <0x151f5000 0x1000>,
+ <0x151ce248 0x8>;
+ reg-names = "base", "status-reg";
+ qcom,stream-id-range = <0x2400 0x400>;
+ qcom,micro-idle;
+ };
+
+ mdp_0_tbu: mdp_0_tbu@151f9000 {
+ compatible = "qcom,qsmmuv500-tbu";
+ reg = <0x151f9000 0x1000>,
+ <0x151ce250 0x8>;
+ reg-names = "base", "status-reg";
+ qcom,stream-id-range = <0x2800 0x400>;
+ qcom,micro-idle;
+ };
+
+ mdp_1_tbu: mdp_1_tbu@151fd000 {
+ compatible = "qcom,qsmmuv500-tbu";
+ reg = <0x151fd000 0x1000>,
+ <0x151ce258 0x8>;
+ reg-names = "base", "status-reg";
+ qcom,stream-id-range = <0x2c00 0x400>;
+ qcom,micro-idle;
+ };
+ };
+
+ dma_dev@0x0 {
+ compatible = "qcom,iommu-dma";
+ memory-region = <&system_cma>;
+ };
+
+ iommu_test_device {
+ compatible = "qcom,iommu-debug-test";
+
+ usecase0_apps {
+ compatible = "qcom,iommu-debug-usecase";
+ iommus = <&apps_smmu 0x7e0 0>;
+ };
+
+ usecase1_apps_fastmap {
+ compatible = "qcom,iommu-debug-usecase";
+ iommus = <&apps_smmu 0x7e0 0>;
+ qcom,iommu-dma = "fastmap";
+ };
+
+ usecase2_apps_atomic {
+ compatible = "qcom,iommu-debug-usecase";
+ iommus = <&apps_smmu 0x7e0 0>;
+ qcom,iommu-dma = "atomic";
+ };
+
+ usecase3_apps_dma {
+ compatible = "qcom,iommu-debug-usecase";
+ iommus = <&apps_smmu 0x7e1 0>;
+ dma-coherent;
+ };
+
+ usecase4_apps_secure {
+ compatible = "qcom,iommu-debug-usecase";
+ iommus = <&apps_smmu 0x7e0 0>;
+ qcom,iommu-dma = "atomic";
+ qcom,iommu-vmid = <0xA>; /* VMID_CP_PIXEL */
+ };
+
+ usecase5_kgsl {
+ compatible = "qcom,iommu-debug-usecase";
+ iommus = <&kgsl_smmu 0x7 0x400>;
+ };
+
+ usecase6_kgsl_dma {
+ compatible = "qcom,iommu-debug-usecase";
+ iommus = <&kgsl_smmu 0x407 0x400>;
+ dma-coherent;
+ };
+ };
+};
diff --git a/qcom/msm-rdbg.dtsi b/qcom/msm-rdbg.dtsi
new file mode 100644
index 00000000..bb2adf8d
--- /dev/null
+++ b/qcom/msm-rdbg.dtsi
@@ -0,0 +1,26 @@
+&soc {
+ /* smp2p information */
+ qcom,smp2p_interrupt_rdbg_2_out {
+ compatible = "qcom,smp2p-interrupt-rdbg-2-out";
+ qcom,smem-states = <&smp2p_rdbg2_out 0>;
+ qcom,smem-state-names = "rdbg-smp2p-out";
+ };
+
+ qcom,smp2p_interrupt_rdbg_2_in {
+ compatible = "qcom,smp2p-interrupt-rdbg-2-in";
+ interrupts-extended = <&smp2p_rdbg2_in 0 0>;
+ interrupt-names = "rdbg-smp2p-in";
+ };
+
+ qcom,smp2p_interrupt_rdbg_5_out {
+ compatible = "qcom,smp2p-interrupt-rdbg-5-out";
+ qcom,smem-states = <&smp2p_rdbg5_out 0>;
+ qcom,smem-state-names = "rdbg-smp2p-out";
+ };
+
+ qcom,smp2p_interrupt_rdbg_5_in {
+ compatible = "qcom,smp2p-interrupt-rdbg-5-in";
+ interrupts-extended = <&smp2p_rdbg5_in 0 0>;
+ interrupt-names = "rdbg-smp2p-in";
+ };
+};
diff --git a/qcom/pm8350.dtsi b/qcom/pm8350.dtsi
new file mode 100644
index 00000000..f833cdfc
--- /dev/null
+++ b/qcom/pm8350.dtsi
@@ -0,0 +1,61 @@
+#include
+#include
+
+&spmi_bus {
+ #address-cells = <2>;
+ #size-cells = <0>;
+ interrupt-controller;
+ #interrupt-cells = <4>;
+
+ qcom,pm8350@1 {
+ compatible = "qcom,spmi-pmic";
+ reg = <1 SPMI_USID>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pm8350_tz: qcom,temp-alarm@a00 {
+ compatible = "qcom,spmi-temp-alarm";
+ reg = <0xa00>;
+ interrupts = <0x1 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
+ #thermal-sensor-cells = <0>;
+ };
+
+ pm8350_gpios: pinctrl@8800 {
+ compatible = "qcom,pm8350-gpio";
+ reg = <0x8800>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+ };
+};
+
+&thermal_zones {
+ pm8350_temp_alarm: pm8350_tz {
+ polling-delay-passive = <100>;
+ polling-delay = <0>;
+ thermal-governor = "step_wise";
+ thermal-sensors = <&pm8350_tz>;
+
+ trips {
+ pm8350_trip0: trip0 {
+ temperature = <95000>;
+ hysteresis = <0>;
+ type = "passive";
+ };
+
+ pm8350_trip1: trip1 {
+ temperature = <115000>;
+ hysteresis = <0>;
+ type = "critical";
+ };
+
+ pm8350_trip2: trip2 {
+ temperature = <145000>;
+ hysteresis = <0>;
+ type = "critical";
+ };
+ };
+ };
+};
diff --git a/qcom/pm8350b.dtsi b/qcom/pm8350b.dtsi
new file mode 100644
index 00000000..455826a1
--- /dev/null
+++ b/qcom/pm8350b.dtsi
@@ -0,0 +1,385 @@
+#include
+#include
+#include
+
+&spmi_bus {
+ #address-cells = <2>;
+ #size-cells = <0>;
+ interrupt-controller;
+ #interrupt-cells = <4>;
+
+ qcom,pm8350b@3 {
+ compatible = "qcom,spmi-pmic";
+ reg = <3 SPMI_USID>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pm8350b_tz: qcom,temp-alarm@a00 {
+ compatible = "qcom,spmi-temp-alarm";
+ reg = <0xa00>;
+ interrupts = <0x3 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
+ #thermal-sensor-cells = <0>;
+ };
+
+ pm8350b_pbs2: qcom,pbs@1900 {
+ compatible = "qcom,qpnp-pbs";
+ reg = <0x1900>;
+ };
+
+ pm8350b_gpios: pinctrl@8800 {
+ compatible = "qcom,pm8350b-gpio";
+ reg = <0x8800>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+
+ pm8350b_bcl: bcl@4700 {
+ compatible = "qcom,bcl-v5";
+ reg = <0x4700 0x100>;
+ interrupts = <0x3 0x47 0x0 IRQ_TYPE_NONE>,
+ <0x3 0x47 0x1 IRQ_TYPE_NONE>,
+ <0x3 0x47 0x2 IRQ_TYPE_NONE>;
+ interrupt-names = "bcl-lvl0",
+ "bcl-lvl1",
+ "bcl-lvl2";
+ qcom,pmic7-threshold;
+ #thermal-sensor-cells = <1>;
+ };
+
+ bcl_soc:bcl-soc {
+ compatible = "qcom,msm-bcl-soc";
+ #thermal-sensor-cells = <0>;
+ };
+
+ pm8350b_haptics: qcom,hv-haptics@f000 {
+ compatible = "qcom,hv-haptics";
+ reg = <0xf000>, <0xf100>, <0xf200>;
+ interrupts = <0x3 0xf0 0x1 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "fifo-empty";
+ qcom,vmax-mv = <3600>;
+ qcom,brake-mode = ;
+ qcom,brake-pattern = /bits/ 8 <0xff 0x3f 0x1f>;
+ qcom,lra-period-us = <6667>;
+ qcom,drv-sig-shape = ;
+ qcom,brake-sig-shape = ;
+ status = "disabled";
+
+ hap_swr_slave_reg: qcom,hap-swr-slave-reg {
+ regulator-name = "hap-swr-slave-reg";
+ };
+
+ effect_0 {
+ /* CLICK */
+ qcom,effect-id = <0>;
+ qcom,wf-vmax-mv = <3600>;
+ qcom,wf-pattern-data = <0x01f S_PERIOD_T_LRA 0>,
+ <0x03f S_PERIOD_T_LRA 0>,
+ <0x05f S_PERIOD_T_LRA 0>,
+ <0x07f S_PERIOD_T_LRA 0>,
+ <0x17f S_PERIOD_T_LRA 0>,
+ <0x15f S_PERIOD_T_LRA 0>,
+ <0x13f S_PERIOD_T_LRA 0>,
+ <0x11f S_PERIOD_T_LRA 0>;
+ qcom,wf-pattern-period-us = <6667>;
+ qcom,wf-brake-pattern = /bits/ 8 <0x0 0x0 0x0>;
+ qcom,wf-pattern-preload;
+ qcom,wf-auto-res-disable;
+ };
+
+ effect_1 {
+ /* DOUBLE_CLICK */
+ qcom,effect-id = <1>;
+ qcom,wf-vmax-mv = <3600>;
+ qcom,wf-pattern-data = <0x01f S_PERIOD_T_LRA 0>,
+ <0x03f S_PERIOD_T_LRA 0>,
+ <0x05f S_PERIOD_T_LRA 0>,
+ <0x07f S_PERIOD_T_LRA 0>,
+ <0x17f S_PERIOD_T_LRA 0>,
+ <0x15f S_PERIOD_T_LRA 0>,
+ <0x13f S_PERIOD_T_LRA 0>,
+ <0x11f S_PERIOD_T_LRA 0>;
+ qcom,wf-pattern-period-us = <6667>;
+ qcom,wf-brake-pattern = /bits/ 8 <0x0 0x0 0x0>;
+ qcom,wf-auto-res-disable;
+ };
+
+ effect_2 {
+ /* TICK */
+ qcom,effect-id = <2>;
+ qcom,wf-vmax-mv = <3600>;
+ qcom,wf-pattern-data = <0x01f S_PERIOD_T_LRA 0>,
+ <0x03f S_PERIOD_T_LRA 0>,
+ <0x05f S_PERIOD_T_LRA 0>,
+ <0x07f S_PERIOD_T_LRA 0>,
+ <0x17f S_PERIOD_T_LRA 0>,
+ <0x15f S_PERIOD_T_LRA 0>,
+ <0x13f S_PERIOD_T_LRA 0>,
+ <0x11f S_PERIOD_T_LRA 0>;
+ qcom,wf-pattern-period-us = <6667>;
+ qcom,wf-brake-pattern = /bits/ 8 <0x0 0x0 0x0>;
+ qcom,wf-auto-res-disable;
+ };
+
+ effect_3 {
+ /* THUD */
+ qcom,effect-id = <3>;
+ qcom,wf-vmax-mv = <3600>;
+ qcom,wf-pattern-data = <0x01f S_PERIOD_T_LRA 0>,
+ <0x03f S_PERIOD_T_LRA 0>,
+ <0x05f S_PERIOD_T_LRA 0>,
+ <0x07f S_PERIOD_T_LRA 0>,
+ <0x17f S_PERIOD_T_LRA 0>,
+ <0x15f S_PERIOD_T_LRA 0>,
+ <0x13f S_PERIOD_T_LRA 0>,
+ <0x11f S_PERIOD_T_LRA 0>;
+ qcom,wf-pattern-period-us = <6667>;
+ qcom,wf-brake-pattern = /bits/ 8 <0x0 0x0 0x0>;
+ qcom,wf-auto-res-disable;
+ };
+
+ effect_4 {
+ /* POP */
+ qcom,effect-id = <4>;
+ qcom,wf-vmax-mv = <3600>;
+ qcom,wf-pattern-data = <0x01f S_PERIOD_T_LRA 0>,
+ <0x03f S_PERIOD_T_LRA 0>,
+ <0x05f S_PERIOD_T_LRA 0>,
+ <0x07f S_PERIOD_T_LRA 0>,
+ <0x17f S_PERIOD_T_LRA 0>,
+ <0x15f S_PERIOD_T_LRA 0>,
+ <0x13f S_PERIOD_T_LRA 0>,
+ <0x11f S_PERIOD_T_LRA 0>;
+ qcom,wf-pattern-period-us = <6667>;
+ qcom,wf-brake-pattern = /bits/ 8 <0x0 0x0 0x0>;
+ qcom,wf-auto-res-disable;
+ };
+
+ effect_5 {
+ /* HEAVY CLICK */
+ qcom,effect-id = <5>;
+ qcom,wf-vmax-mv = <3600>;
+ qcom,wf-pattern-data = <0x01f S_PERIOD_T_LRA 0>,
+ <0x03f S_PERIOD_T_LRA 0>,
+ <0x05f S_PERIOD_T_LRA 0>,
+ <0x07f S_PERIOD_T_LRA 0>,
+ <0x17f S_PERIOD_T_LRA 0>,
+ <0x15f S_PERIOD_T_LRA 0>,
+ <0x13f S_PERIOD_T_LRA 0>,
+ <0x11f S_PERIOD_T_LRA 0>;
+ qcom,wf-pattern-period-us = <6667>;
+ qcom,wf-brake-pattern = /bits/ 8 <0x0 0x0 0x0>;
+ qcom,wf-auto-res-disable;
+ };
+ };
+
+ pm8350b_amoled: qcom,amoled {
+ compatible = "qcom,qpnp-amoled-regulator";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ oledb_vreg: oledb@fa00 {
+ reg = <0xfa00>;
+ reg-names = "oledb_base";
+ regulator-name = "oledb";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <8000000>;
+ qcom,swire-control;
+ };
+
+ ab_vreg: ab@f900 {
+ reg = <0xf900>;
+ reg-names = "ab_base";
+ regulator-name = "ab";
+ regulator-min-microvolt = <4600000>;
+ regulator-max-microvolt = <5200000>;
+ qcom,swire-control;
+ };
+
+ ibb_vreg: ibb@f800 {
+ reg = <0xf800>;
+ reg-names = "ibb_base";
+ regulator-name = "ibb";
+ regulator-min-microvolt = <1400000>;
+ regulator-max-microvolt = <6600000>;
+ qcom,swire-control;
+ regulator-allow-set-load;
+ };
+ };
+
+ qcom,amoled-ecm@f900 {
+ compatible = "qcom,amoled-ecm";
+ reg = <0xf900>;
+ nvmem-names = "amoled-ecm-sdam0", "amoled-ecm-sdam1",
+ "amoled-ecm-sdam2";
+ nvmem = <&pmk8350_sdam_13>, <&pmk8350_sdam_14>,
+ <&pmk8350_sdam_41>;
+ interrupt-names = "ecm-sdam0", "ecm-sdam1",
+ "ecm-sdam2";
+ interrupts = <0x0 0x7c 0x1 IRQ_TYPE_EDGE_RISING>,
+ <0x0 0x7d 0x1 IRQ_TYPE_EDGE_RISING>,
+ <0x0 0x98 0x1 IRQ_TYPE_EDGE_RISING>;
+ };
+ };
+};
+
+&thermal_zones {
+ pm8350b_temp_alarm: pm8350b_tz {
+ polling-delay-passive = <100>;
+ polling-delay = <0>;
+ thermal-sensors = <&pm8350b_tz>;
+
+ trips {
+ pm8350b_trip0: trip0 {
+ temperature = <95000>;
+ hysteresis = <0>;
+ type = "passive";
+ };
+
+ pm8350b_trip1: trip1 {
+ temperature = <115000>;
+ hysteresis = <0>;
+ type = "critical";
+ };
+
+ pm8350b_trip2: trip2 {
+ temperature = <145000>;
+ hysteresis = <0>;
+ type = "critical";
+ };
+ };
+ };
+
+ pm8350b-ibat-lvl0 {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&pm8350b_bcl 0>;
+
+ trips {
+ ibat_lvl0:ibat-lvl0 {
+ temperature = <6000>;
+ hysteresis = <200>;
+ type = "passive";
+ };
+ };
+ };
+
+ pm8350b-ibat-lvl1 {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&pm8350b_bcl 1>;
+
+ trips {
+ ibat_lvl1:ibat-lvl1 {
+ temperature = <7500>;
+ hysteresis = <200>;
+ type = "passive";
+ };
+ };
+ };
+
+ pm8350b-bcl-lvl0 {
+ polling-delay-passive = <100>;
+ polling-delay = <0>;
+ thermal-sensors = <&pm8350b_bcl 5>;
+
+ trips {
+ thermal-engine-trip {
+ temperature = <100>;
+ hysteresis = <0>;
+ type = "passive";
+ };
+
+ thermal-hal-trip {
+ temperature = <100>;
+ hysteresis = <0>;
+ type = "passive";
+ };
+
+ b_bcl_lvl0: b-bcl-lvl0 {
+ temperature = <1>;
+ hysteresis = <1>;
+ type = "passive";
+ };
+ };
+ };
+
+ pm8350b-bcl-lvl1 {
+ polling-delay-passive = <100>;
+ polling-delay = <0>;
+ thermal-sensors = <&pm8350b_bcl 6>;
+
+ trips {
+ thermal-engine-trip {
+ temperature = <100>;
+ hysteresis = <0>;
+ type = "passive";
+ };
+
+ thermal-hal-trip {
+ temperature = <100>;
+ hysteresis = <0>;
+ type = "passive";
+ };
+
+ b_bcl_lvl1: b-bcl-lvl1 {
+ temperature = <1>;
+ hysteresis = <1>;
+ type = "passive";
+ };
+ };
+ };
+
+ pm8350b-bcl-lvl2 {
+ polling-delay-passive = <100>;
+ polling-delay = <0>;
+ thermal-sensors = <&pm8350b_bcl 7>;
+
+ trips {
+ thermal-engine-trip {
+ temperature = <100>;
+ hysteresis = <0>;
+ type = "passive";
+ };
+
+ thermal-hal-trip {
+ temperature = <100>;
+ hysteresis = <0>;
+ type = "passive";
+ };
+
+ b_bcl_lvl2: b-bcl-lvl2 {
+ temperature = <1>;
+ hysteresis = <1>;
+ type = "passive";
+ };
+ };
+ };
+
+ socd {
+ polling-delay-passive = <100>;
+ polling-delay = <0>;
+ thermal-sensors = <&bcl_soc>;
+
+ trips {
+ thermal-engine-trip {
+ temperature = <100>;
+ hysteresis = <0>;
+ type = "passive";
+ };
+
+ thermal-hal-trip {
+ temperature = <100>;
+ hysteresis = <0>;
+ type = "passive";
+ };
+
+ socd_trip:socd-trip {
+ temperature = <90>;
+ hysteresis = <0>;
+ type = "passive";
+ };
+ };
+ };
+};
diff --git a/qcom/pm8350c.dtsi b/qcom/pm8350c.dtsi
new file mode 100644
index 00000000..18213cc1
--- /dev/null
+++ b/qcom/pm8350c.dtsi
@@ -0,0 +1,302 @@
+#include
+#include
+
+&spmi_bus {
+ #address-cells = <2>;
+ #size-cells = <0>;
+ interrupt-controller;
+ #interrupt-cells = <4>;
+
+ qcom,pm8350c@2 {
+ compatible = "qcom,spmi-pmic";
+ reg = <2 SPMI_USID>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pm8350c_tz: qcom,temp-alarm@a00 {
+ compatible = "qcom,spmi-temp-alarm";
+ reg = <0xa00>;
+ interrupts = <0x2 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
+ #thermal-sensor-cells = <0>;
+ };
+
+ pm8350c_gpios: pinctrl@8800 {
+ compatible = "qcom,pm8350c-gpio";
+ reg = <0x8800>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+
+ pm8350c_pwm_1: pwms@e800 {
+ compatible = "qcom,pwm-lpg";
+ reg = <0xe800>;
+ reg-names = "lpg-base";
+ #pwm-cells = <2>;
+ qcom,num-lpg-channels = <3>;
+ nvmem = <&pmk8350_sdam_21 &pmk8350_sdam_22>;
+ nvmem-names = "lpg_chan_sdam", "lut_sdam";
+ qcom,lut-sdam-base = <0x45>;
+ qcom,lut-patterns = <0 10 20 30 40 50 60 70 80 90 100
+ 90 80 70 60 50 40 30 20 10 0>;
+ qcom,tick-duration-us = <8000>;
+
+ lpg@1 {
+ qcom,lpg-chan-id = <1>;
+ qcom,ramp-step-ms = <100>;
+ qcom,ramp-low-index = <0>;
+ qcom,ramp-high-index = <19>;
+ qcom,ramp-pattern-repeat;
+ qcom,lpg-sdam-base = <0x48>;
+ };
+
+ lpg@2 {
+ qcom,lpg-chan-id = <2>;
+ qcom,ramp-step-ms = <100>;
+ qcom,ramp-low-index = <0>;
+ qcom,ramp-high-index = <19>;
+ qcom,ramp-pattern-repeat;
+ qcom,lpg-sdam-base = <0x56>;
+ };
+
+ lpg@3 {
+ qcom,lpg-chan-id = <3>;
+ qcom,ramp-step-ms = <100>;
+ qcom,ramp-low-index = <0>;
+ qcom,ramp-high-index = <19>;
+ qcom,ramp-pattern-repeat;
+ qcom,lpg-sdam-base = <0x64>;
+ };
+ };
+
+ pm8350c_pwm_2: pwms@eb00 {
+ compatible = "qcom,pwm-lpg";
+ reg = <0xeb00>;
+ reg-names = "lpg-base";
+ #pwm-cells = <2>;
+ qcom,num-lpg-channels = <1>;
+ };
+
+ pm8350c_rgb: qcom,leds@ef00 {
+ compatible = "qcom,tri-led";
+ reg = <0xef00>;
+
+ red {
+ label = "red";
+ pwms = <&pm8350c_pwm_1 0 1000000>;
+ led-sources = <0>;
+ linux,default-trigger = "timer";
+ };
+
+ green {
+ label = "green";
+ pwms = <&pm8350c_pwm_1 1 1000000>;
+ led-sources = <1>;
+ linux,default-trigger = "timer";
+ };
+
+ blue {
+ label = "blue";
+ pwms = <&pm8350c_pwm_1 2 1000000>;
+ led-sources = <2>;
+ linux,default-trigger = "timer";
+ };
+ };
+
+ pm8350c_bcl: bcl@4700 {
+ compatible = "qcom,bcl-v5";
+ reg = <0x4700 0x100>;
+ interrupts = <0x2 0x47 0x0 IRQ_TYPE_NONE>,
+ <0x2 0x47 0x1 IRQ_TYPE_NONE>,
+ <0x2 0x47 0x2 IRQ_TYPE_NONE>;
+ interrupt-names = "bcl-lvl0",
+ "bcl-lvl1",
+ "bcl-lvl2";
+ qcom,pmic7-threshold;
+ #thermal-sensor-cells = <1>;
+ };
+
+ pm8350c_flash: qcom,flash_led@ee00 {
+ compatible = "qcom,pm8350c-flash-led";
+ reg = <0xee00>;
+ interrupts = <0x2 0xee 0x0 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0xee 0x3 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0xee 0x4 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "led-fault-irq",
+ "all-ramp-down-done-irq",
+ "all-ramp-up-done-irq";
+ qcom,thermal-derate-current = <200 500>;
+ qcom,hw-strobe-gpios = <&pm8350c_gpios 1 0>;
+ status = "disabled";
+
+ pm8350c_flash0: qcom,flash_0 {
+ label = "flash";
+ qcom,led-name = "led:flash_0";
+ qcom,max-current-ma = <1500>;
+ qcom,default-led-trigger = "flash0_trigger";
+ qcom,id = <0>;
+ qcom,duration-ms = <1280>;
+ qcom,ires-ua = <12500>;
+ };
+
+ pm8350c_flash1: qcom,flash_1 {
+ label = "flash";
+ qcom,led-name = "led:flash_1";
+ qcom,max-current-ma = <1500>;
+ qcom,default-led-trigger = "flash1_trigger";
+ qcom,id = <1>;
+ qcom,duration-ms = <1280>;
+ qcom,ires-ua = <12500>;
+ };
+
+ pm8350c_flash2: qcom,flash_2 {
+ label = "flash";
+ qcom,led-name = "led:flash_2";
+ qcom,max-current-ma = <1500>;
+ qcom,default-led-trigger = "flash2_trigger";
+ qcom,id = <2>;
+ qcom,duration-ms = <1280>;
+ qcom,ires-ua = <12500>;
+ };
+
+ pm8350c_flash3: qcom,flash_3 {
+ label = "flash";
+ qcom,led-name = "led:flash_3";
+ qcom,max-current-ma = <1500>;
+ qcom,default-led-trigger = "flash3_trigger";
+ qcom,id = <3>;
+ qcom,duration-ms = <1280>;
+ qcom,ires-ua = <12500>;
+ };
+
+ pm8350c_torch0: qcom,torch_0 {
+ label = "torch";
+ qcom,led-name = "led:torch_0";
+ qcom,max-current-ma = <500>;
+ qcom,default-led-trigger = "torch0_trigger";
+ qcom,id = <0>;
+ qcom,ires-ua = <12500>;
+ };
+
+ pm8350c_torch1: qcom,torch_1 {
+ label = "torch";
+ qcom,led-name = "led:torch_1";
+ qcom,max-current-ma = <500>;
+ qcom,default-led-trigger = "torch1_trigger";
+ qcom,id = <1>;
+ qcom,ires-ua = <12500>;
+ };
+
+ pm8350c_torch2: qcom,torch_2 {
+ label = "torch";
+ qcom,led-name = "led:torch_2";
+ qcom,max-current-ma = <500>;
+ qcom,default-led-trigger = "torch2_trigger";
+ qcom,id = <2>;
+ qcom,ires-ua = <12500>;
+ };
+
+ pm8350c_torch3: qcom,torch_3 {
+ label = "torch";
+ qcom,led-name = "led:torch_3";
+ qcom,max-current-ma = <500>;
+ qcom,default-led-trigger = "torch3_trigger";
+ qcom,id = <3>;
+ qcom,ires-ua = <12500>;
+ };
+
+ pm8350c_switch0: qcom,led_switch_0 {
+ label = "switch";
+ qcom,led-name = "led:switch_0";
+ qcom,default-led-trigger = "switch0_trigger";
+ };
+
+ pm8350c_switch1: qcom,led_switch_1 {
+ label = "switch";
+ qcom,led-name = "led:switch_1";
+ qcom,default-led-trigger = "switch1_trigger";
+ };
+
+ pm8350c_switch2: qcom,led_switch_2 {
+ label = "switch";
+ qcom,led-name = "led:switch_2";
+ qcom,default-led-trigger = "switch2_trigger";
+ };
+ };
+ };
+};
+
+&thermal_zones {
+ pm8350c_temp_alarm: pm8350c_tz {
+ polling-delay-passive = <100>;
+ polling-delay = <0>;
+ thermal-governor = "step_wise";
+ thermal-sensors = <&pm8350c_tz>;
+
+ trips {
+ pm8350c_trip0: trip0 {
+ temperature = <95000>;
+ hysteresis = <0>;
+ type = "passive";
+ };
+
+ pm8350c_trip1: trip1 {
+ temperature = <115000>;
+ hysteresis = <0>;
+ type = "critical";
+ };
+
+ pm8350c_trip2: trip2 {
+ temperature = <145000>;
+ hysteresis = <0>;
+ type = "critical";
+ };
+ };
+ };
+
+ pm8350c-bcl-lvl0 {
+ polling-delay-passive = <100>;
+ polling-delay = <0>;
+ thermal-governor = "step_wise";
+ thermal-sensors = <&pm8350c_bcl 5>;
+
+ trips {
+ c_bcl_lvl0: c-bcl-lvl0 {
+ temperature = <1>;
+ hysteresis = <1>;
+ type = "passive";
+ };
+ };
+ };
+
+ pm8350c-bcl-lvl1 {
+ polling-delay-passive = <100>;
+ polling-delay = <0>;
+ thermal-governor = "step_wise";
+ thermal-sensors = <&pm8350c_bcl 6>;
+
+ trips {
+ c_bcl_lvl1: c-bcl-lvl1 {
+ temperature = <1>;
+ hysteresis = <1>;
+ type = "passive";
+ };
+ };
+ };
+
+ pm8350c-bcl-lvl2 {
+ polling-delay-passive = <100>;
+ polling-delay = <0>;
+ thermal-governor = "step_wise";
+ thermal-sensors = <&pm8350c_bcl 7>;
+
+ trips {
+ c_bcl_lvl2: c-bcl-lvl2 {
+ temperature = <1>;
+ hysteresis = <1>;
+ type = "passive";
+ };
+ };
+ };
+};
diff --git a/qcom/pm8450.dtsi b/qcom/pm8450.dtsi
new file mode 100644
index 00000000..3e6292f1
--- /dev/null
+++ b/qcom/pm8450.dtsi
@@ -0,0 +1,61 @@
+#include
+#include
+
+&spmi_bus {
+ #address-cells = <2>;
+ #size-cells = <0>;
+ interrupt-controller;
+ #interrupt-cells = <4>;
+
+ qcom,pm8450@7 {
+ compatible = "qcom,spmi-pmic";
+ reg = <7 SPMI_USID>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pm8450_tz: qcom,temp-alarm@a00 {
+ compatible = "qcom,spmi-temp-alarm";
+ reg = <0xa00>;
+ interrupts = <0x7 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
+ #thermal-sensor-cells = <0>;
+ };
+
+ pm8450_gpios: pinctrl@8800 {
+ compatible = "qcom,pm8450-gpio";
+ reg = <0x8800>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+ };
+};
+
+&thermal_zones {
+ pm8450_temp_alarm: pm8450_tz {
+ polling-delay-passive = <100>;
+ polling-delay = <0>;
+ thermal-governor = "step_wise";
+ thermal-sensors = <&pm8450_tz>;
+
+ trips {
+ pm8450_trip0: trip0 {
+ temperature = <95000>;
+ hysteresis = <0>;
+ type = "passive";
+ };
+
+ pm8450_trip1: trip1 {
+ temperature = <115000>;
+ hysteresis = <0>;
+ type = "critical";
+ };
+
+ pm8450_trip2: trip2 {
+ temperature = <145000>;
+ hysteresis = <0>;
+ type = "critical";
+ };
+ };
+ };
+};
diff --git a/qcom/pmk8350.dtsi b/qcom/pmk8350.dtsi
new file mode 100644
index 00000000..0b35d6cd
--- /dev/null
+++ b/qcom/pmk8350.dtsi
@@ -0,0 +1,253 @@
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+&spmi_bus {
+ #address-cells = <2>;
+ #size-cells = <0>;
+ interrupt-controller;
+ #interrupt-cells = <4>;
+
+ pmk8350: qcom,pmk8350@0 {
+ compatible = "qcom,spmi-pmic";
+ reg = <0 SPMI_USID>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pon_pbs@800 {
+ compatible = "qcom,qpnp-power-on";
+ reg = <0x800>;
+ qcom,system-reset;
+ qcom,store-hard-reset-reason;
+ };
+
+ pon_hlos@1300 {
+ compatible = "qcom,qpnp-power-on";
+ reg = <0x1300>;
+ interrupts = <0x0 0x13 0x7 IRQ_TYPE_EDGE_BOTH>,
+ <0x0 0x13 0x6 IRQ_TYPE_EDGE_BOTH>;
+ interrupt-names = "kpdpwr", "resin";
+
+ qcom,pon_1 {
+ qcom,pon-type = ;
+ linux,code = ;
+ };
+
+ qcom,pon_2 {
+ qcom,pon-type = ;
+ linux,code = ;
+ };
+ };
+
+ pmk8350_vadc: vadc@3100 {
+ compatible = "qcom,spmi-adc7";
+ reg = <0x3100>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "eoc-int-en-set";
+ #io-channel-cells = <1>;
+ io-channel-ranges;
+
+ /* PMK8350 Channel nodes */
+ pmk8350_ref_gnd {
+ reg = ;
+ label = "pmk8350_ref_gnd";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ pmk8350_vref_1p25 {
+ reg = ;
+ label = "pmk8350_vref_1p25";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ pmk8350_die_temp {
+ reg = ;
+ label = "pmk8350_die_temp";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ pmk8350_xo_therm {
+ reg = ;
+ label = "pmk8350_xo_therm";
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ qcom,pre-scaling = <1 1>;
+ };
+
+ /* PM8350 Channel nodes */
+ pm8350_ref_gnd {
+ reg = ;
+ label = "pm8350_ref_gnd";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ pm8350_vref_1p25 {
+ reg = ;
+ label = "pm8350_vref_1p25";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ pm8350_die_temp {
+ reg = ;
+ label = "pm8350_die_temp";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ pm8350_vph_pwr {
+ reg = ;
+ label = "pm8350_vph_pwr";
+ qcom,pre-scaling = <1 3>;
+ };
+
+ /* PM8350b Channel nodes */
+ pm8350b_ref_gnd {
+ reg = ;
+ label = "pm8350b_ref_gnd";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ pm8350b_vref_1p25 {
+ reg = ;
+ label = "pm8350b_vref_1p25";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ pm8350b_die_temp {
+ reg = ;
+ label = "pm8350b_die_temp";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ pm8350b_vph_pwr {
+ reg = ;
+ label = "pm8350b_vph_pwr";
+ qcom,pre-scaling = <1 3>;
+ };
+
+ pm8350b_vbat_sns {
+ reg = ;
+ label = "pm8350b_vbat_sns";
+ qcom,pre-scaling = <1 3>;
+ };
+
+ /* PMR735a Channel nodes */
+ pmr735a_ref_gnd {
+ reg = ;
+ label = "pmr735a_ref_gnd";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ pmr735a_vref_1p25 {
+ reg = ;
+ label = "pmr735a_vref_1p25";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ pmr735a_die_temp {
+ reg = ;
+ label = "pmr735a_die_temp";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ /* PMR735b Channel nodes */
+ pmr735b_ref_gnd {
+ reg = ;
+ label = "pmr735b_ref_gnd";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ pmr735b_vref_1p25 {
+ reg = ;
+ label = "pmr735b_vref_1p25";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ pmr735b_die_temp {
+ reg = ;
+ label = "pmr735b_die_temp";
+ qcom,pre-scaling = <1 1>;
+ };
+ };
+
+ pmk8350_adc_tm: adc_tm@3400 {
+ compatible = "qcom,adc-tm7";
+ reg = <0x3400>;
+ interrupts = <0x0 0x34 0x0 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "threshold";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ #thermal-sensor-cells = <1>;
+ };
+
+ pmk8350_sdam_2: sdam@7100 {
+ compatible = "qcom,spmi-sdam";
+ reg = <0x7100>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ restart_reason: restart@48 {
+ reg = <0x48 0x1>;
+ bits = <1 7>;
+ };
+ };
+
+ pmk8350_sdam_5: sdam@7400 {
+ compatible = "qcom,spmi-sdam";
+ reg = <0x7400>;
+ };
+
+ pmk8350_sdam_13: sdam@7c00 {
+ compatible = "qcom,spmi-sdam";
+ reg = <0x7c00>;
+ };
+
+ pmk8350_sdam_14: sdam@7d00 {
+ compatible = "qcom,spmi-sdam";
+ reg = <0x7d00>;
+ };
+
+ pmk8350_sdam_21: sdam@8400 {
+ compatible = "qcom,spmi-sdam";
+ reg = <0x8400>;
+ };
+
+ pmk8350_sdam_22: sdam@8500 {
+ compatible = "qcom,spmi-sdam";
+ reg = <0x8500>;
+ };
+
+ pmk8350_sdam_41: sdam@9800 {
+ compatible = "qcom,spmi-sdam";
+ reg = <0x9800>;
+ };
+
+ pmk8350_sdam_46: sdam@9d00 {
+ compatible = "qcom,spmi-sdam";
+ reg = <0x9d00>;
+ };
+
+ pmk8350_gpios: pinctrl@b000 {
+ compatible = "qcom,pmk8350-gpio";
+ reg = <0xb000>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+
+ pmk8350_rtc: rtc@6100 {
+ compatible = "qcom,pmk8350-rtc";
+ reg = <0x6100>, <0x6200>;
+ reg-names = "rtc", "alarm";
+ interrupts = <0x0 0x62 0x1 IRQ_TYPE_EDGE_RISING>;
+ };
+ };
+};
diff --git a/qcom/pmr735a.dtsi b/qcom/pmr735a.dtsi
new file mode 100644
index 00000000..d1459e15
--- /dev/null
+++ b/qcom/pmr735a.dtsi
@@ -0,0 +1,61 @@
+#include
+#include
+
+&spmi_bus {
+ #address-cells = <2>;
+ #size-cells = <0>;
+ interrupt-controller;
+ #interrupt-cells = <4>;
+
+ qcom,pmr735a@4 {
+ compatible = "qcom,spmi-pmic";
+ reg = <4 SPMI_USID>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pmr735a_tz: qcom,temp-alarm@a00 {
+ compatible = "qcom,spmi-temp-alarm";
+ reg = <0xa00>;
+ interrupts = <0x4 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
+ #thermal-sensor-cells = <0>;
+ };
+
+ pmr735a_gpios: pinctrl@8800 {
+ compatible = "qcom,pmr735a-gpio";
+ reg = <0x8800>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+ };
+};
+
+&thermal_zones {
+ pmr735a_temp_alarm: pmr735a_tz {
+ polling-delay-passive = <100>;
+ polling-delay = <0>;
+ thermal-governor = "step_wise";
+ thermal-sensors = <&pmr735a_tz>;
+
+ trips {
+ pmr735a_trip0: trip0 {
+ temperature = <95000>;
+ hysteresis = <0>;
+ type = "passive";
+ };
+
+ pmr735a_trip1: trip1 {
+ temperature = <115000>;
+ hysteresis = <0>;
+ type = "critical";
+ };
+
+ pmr735a_trip2: trip2 {
+ temperature = <145000>;
+ hysteresis = <0>;
+ type = "critical";
+ };
+ };
+ };
+};
diff --git a/qcom/pmr735b.dtsi b/qcom/pmr735b.dtsi
new file mode 100644
index 00000000..50f05e4a
--- /dev/null
+++ b/qcom/pmr735b.dtsi
@@ -0,0 +1,61 @@
+#include
+#include
+
+&spmi_bus {
+ #address-cells = <2>;
+ #size-cells = <0>;
+ interrupt-controller;
+ #interrupt-cells = <4>;
+
+ qcom,pmr735b@5 {
+ compatible = "qcom,spmi-pmic";
+ reg = <5 SPMI_USID>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pmr735b_tz: qcom,temp-alarm@a00 {
+ compatible = "qcom,spmi-temp-alarm";
+ reg = <0xa00>;
+ interrupts = <0x5 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
+ #thermal-sensor-cells = <0>;
+ };
+
+ pmr735b_gpios: pinctrl@8800 {
+ compatible = "qcom,pmr735b-gpio";
+ reg = <0x8800>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+ };
+};
+
+&thermal_zones {
+ pmr735b_temp_alarm: pmr735b_tz {
+ polling-delay-passive = <100>;
+ polling-delay = <0>;
+ thermal-governor = "step_wise";
+ thermal-sensors = <&pmr735b_tz>;
+
+ trips {
+ pmr735b_trip0: trip0 {
+ temperature = <95000>;
+ hysteresis = <0>;
+ type = "passive";
+ };
+
+ pmr735b_trip1: trip1 {
+ temperature = <115000>;
+ hysteresis = <0>;
+ type = "critical";
+ };
+
+ pmr735b_trip2: trip2 {
+ temperature = <145000>;
+ hysteresis = <0>;
+ type = "critical";
+ };
+ };
+ };
+};
diff --git a/qcom/sdxlemur-external-soc.dtsi b/qcom/sdxlemur-external-soc.dtsi
new file mode 100644
index 00000000..d09cd50c
--- /dev/null
+++ b/qcom/sdxlemur-external-soc.dtsi
@@ -0,0 +1,51 @@
+&soc {
+ mdm0: qcom,remoteproc-esoc0 {
+ cell-index = <0>;
+ #address-cells = <0>;
+ interrupt-parent = <&mdm0>;
+ #interrupt-cells = <1>;
+ interrupt-map-mask = <0xffffffff>;
+ interrupt-names =
+ "err_fatal_irq",
+ "status_irq";
+ interrupt-map = <0 &tlmm 36 0x3
+ 1 &tlmm 40 0x3>;
+ /* modem attributes */
+ qcom,ramdump-delay-ms = <3000>;
+ qcom,ramdump-timeout-ms = <120000>;
+ qcom,vddmin-modes = "normal";
+ qcom,vddmin-drive-strength = <8>;
+ qcom,sfr-query;
+ qcom,sysmon-id = <20>;
+ qcom,ssctl-instance-id = <0x10>;
+ qcom,support-shutdown;
+ qcom,pil-force-shutdown;
+ pinctrl-names = "default", "mdm_active", "mdm_suspend";
+ pinctrl-0 = <&ap2mdm_pon_reset_default>;
+ pinctrl-1 = <&ap2mdm_active &mdm2ap_active>;
+ pinctrl-2 = <&ap2mdm_sleep &mdm2ap_sleep>;
+ qcom,mdm2ap-errfatal-gpio = <&tlmm 36 0x00>;
+ qcom,ap2mdm-errfatal-gpio = <&tlmm 37 0x00>;
+ qcom,mdm2ap-status-gpio = <&tlmm 40 0x00>;
+ qcom,ap2mdm-status-gpio = <&tlmm 41 0x00>;
+ qcom,ap2mdm-soft-reset-gpio = <&pm8450_gpios 1 0>;
+
+ reg-names = "l10c";
+ l10c-supply = <&L10C>;
+ l10c-uV-uA = <1200000 100000>;
+
+ qcom,esoc-skip-restart-for-mdm-crash;
+ status = "ok";
+ };
+};
+
+&pm8450_gpios {
+ ap2mdm_pon_reset {
+ ap2mdm_pon_reset_default: ap2mdm_pon_reset_default {
+ /* MDM PON control*/
+ pins = "gpio1";
+ function = "normal";
+ power-source = <1>; /* 1.8V */
+ };
+ };
+};
diff --git a/qcom/waipio-atp-pm8008-overlay.dts b/qcom/waipio-atp-pm8008-overlay.dts
new file mode 100644
index 00000000..bf511e3f
--- /dev/null
+++ b/qcom/waipio-atp-pm8008-overlay.dts
@@ -0,0 +1,12 @@
+/dts-v1/;
+/plugin/;
+
+#include "waipio-atp.dtsi"
+#include "waipio-pm8008.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. Waipio ATP with PM8008";
+ compatible = "qcom,waipio-atp", "qcom,waipio", "qcom,atp";
+ qcom,msm-id = <457 0x10000>, <482 0x10000>, <457 0x20000>, <482 0x20000>;
+ qcom,board-id = <0x10021 0>;
+};
diff --git a/qcom/waipio-atp-pm8008.dts b/qcom/waipio-atp-pm8008.dts
new file mode 100644
index 00000000..fec5c217
--- /dev/null
+++ b/qcom/waipio-atp-pm8008.dts
@@ -0,0 +1,11 @@
+/dts-v1/;
+
+#include "waipio.dtsi"
+#include "waipio-atp.dtsi"
+#include "waipio-pm8008.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. Waipio ATP with PM8008";
+ compatible = "qcom,waipio-atp", "qcom,waipio", "qcom,atp";
+ qcom,board-id = <33 0>;
+};
diff --git a/qcom/waipio-atp-pm8010-overlay.dts b/qcom/waipio-atp-pm8010-overlay.dts
new file mode 100644
index 00000000..413fb5d4
--- /dev/null
+++ b/qcom/waipio-atp-pm8010-overlay.dts
@@ -0,0 +1,12 @@
+/dts-v1/;
+/plugin/;
+
+#include "waipio-atp.dtsi"
+#include "waipio-pm8010-spmi.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. Waipio ATP with PM8010";
+ compatible = "qcom,waipio-atp", "qcom,waipio", "qcom,atp";
+ qcom,msm-id = <457 0x10000>, <482 0x10000>, <457 0x20000>, <482 0x20000>;
+ qcom,board-id = <0x10021 0>;
+};
diff --git a/qcom/waipio-atp-pm8010.dts b/qcom/waipio-atp-pm8010.dts
new file mode 100644
index 00000000..94de84a9
--- /dev/null
+++ b/qcom/waipio-atp-pm8010.dts
@@ -0,0 +1,11 @@
+/dts-v1/;
+
+#include "waipio.dtsi"
+#include "waipio-atp.dtsi"
+#include "waipio-pm8010-spmi.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. Waipio ATP with PM8010";
+ compatible = "qcom,waipio-atp", "qcom,waipio", "qcom,atp";
+ qcom,board-id = <0x10021 0>;
+};
diff --git a/qcom/waipio-atp.dtsi b/qcom/waipio-atp.dtsi
new file mode 100644
index 00000000..188efe5a
--- /dev/null
+++ b/qcom/waipio-atp.dtsi
@@ -0,0 +1 @@
+#include "waipio-mtp.dtsi"
diff --git a/qcom/waipio-cdp-pm8008-overlay.dts b/qcom/waipio-cdp-pm8008-overlay.dts
new file mode 100644
index 00000000..23047240
--- /dev/null
+++ b/qcom/waipio-cdp-pm8008-overlay.dts
@@ -0,0 +1,12 @@
+/dts-v1/;
+/plugin/;
+
+#include "waipio-cdp.dtsi"
+#include "waipio-pm8008.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. Waipio CDP with PM8008";
+ compatible = "qcom,waipio-cdp", "qcom,waipio", "qcom,cdp";
+ qcom,msm-id = <457 0x10000>, <482 0x10000>, <457 0x20000>, <482 0x20000>;
+ qcom,board-id = <0x10001 0>;
+};
diff --git a/qcom/waipio-cdp-pm8008.dts b/qcom/waipio-cdp-pm8008.dts
new file mode 100644
index 00000000..e44a7e53
--- /dev/null
+++ b/qcom/waipio-cdp-pm8008.dts
@@ -0,0 +1,11 @@
+/dts-v1/;
+
+#include "waipio.dtsi"
+#include "waipio-cdp.dtsi"
+#include "waipio-pm8008.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. Waipio CDP with PM8008";
+ compatible = "qcom,waipio-cdp", "qcom,waipio", "qcom,cdp";
+ qcom,board-id = <1 0>;
+};
diff --git a/qcom/waipio-cdp-pm8010-overlay.dts b/qcom/waipio-cdp-pm8010-overlay.dts
new file mode 100644
index 00000000..bd5641e7
--- /dev/null
+++ b/qcom/waipio-cdp-pm8010-overlay.dts
@@ -0,0 +1,12 @@
+/dts-v1/;
+/plugin/;
+
+#include "waipio-cdp.dtsi"
+#include "waipio-pm8010-spmi.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. Waipio CDP with PM8010";
+ compatible = "qcom,waipio-cdp", "qcom,waipio", "qcom,cdp";
+ qcom,msm-id = <457 0x10000>, <482 0x10000>, <457 0x20000>, <482 0x20000>;
+ qcom,board-id = <0x10001 0>;
+};
diff --git a/qcom/waipio-cdp-pm8010.dts b/qcom/waipio-cdp-pm8010.dts
new file mode 100644
index 00000000..a276d4a0
--- /dev/null
+++ b/qcom/waipio-cdp-pm8010.dts
@@ -0,0 +1,11 @@
+/dts-v1/;
+
+#include "waipio.dtsi"
+#include "waipio-cdp.dtsi"
+#include "waipio-pm8010-spmi.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. Waipio CDP with PM8010";
+ compatible = "qcom,waipio-cdp", "qcom,waipio", "qcom,cdp";
+ qcom,board-id = <0x10001 0>;
+};
diff --git a/qcom/waipio-cdp.dtsi b/qcom/waipio-cdp.dtsi
new file mode 100644
index 00000000..46046079
--- /dev/null
+++ b/qcom/waipio-cdp.dtsi
@@ -0,0 +1,222 @@
+#include
+#include
+
+#include "waipio-pmic-overlay.dtsi"
+#include "waipio-thermal-overlay.dtsi"
+
+&ufsphy_mem {
+ compatible = "qcom,ufs-phy-qmp-v4-waipio";
+
+ vdda-phy-supply = <&pm8350_l5>;
+ vdda-pll-supply = <&pm8350_l6>;
+ vdda-phy-max-microamp = <173000>;
+ vdda-pll-max-microamp = <24900>;
+
+ status = "ok";
+};
+
+&ufshc_mem {
+ vdd-hba-supply = <&gcc_ufs_phy_gdsc>;
+
+ vcc-supply = <&pm8350_l7>;
+ vcc-max-microamp = <1100000>;
+
+ vccq-supply = <&pm8350_l9>;
+ vccq-max-microamp = <1200000>;
+
+ qcom,vddp-ref-clk-supply = <&pm8350_l9>;
+ qcom,vddp-ref-clk-max-microamp = <100>;
+
+ qcom,vccq-parent-supply = <&pm8350_s12>;
+ qcom,vccq-parent-max-microamp = <210000>;
+
+ status = "ok";
+};
+
+&sdhc_2 {
+ status = "ok";
+ vdd-supply = <&pm8350c_l9>;
+ qcom,vdd-voltage-level = <2960000 2960000>;
+ qcom,vdd-current-level = <0 800000>;
+
+ vdd-io-supply = <&pm8350c_l6>;
+ qcom,vdd-io-voltage-level = <1800000 2960000>;
+ qcom,vdd-io-current-level = <0 22000>;
+
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&sdc2_on>;
+ pinctrl-1 = <&sdc2_off>;
+
+ cd-gpios = <&tlmm 92 GPIO_ACTIVE_LOW>;
+};
+
+&soc {
+ gpio_keys {
+ compatible = "gpio-keys";
+ label = "gpio-keys";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&key_vol_up_default>;
+
+ vol_up {
+ label = "volume_up";
+ gpios = <&pm8350_gpios 6 GPIO_ACTIVE_LOW>;
+ linux,input-type = <1>;
+ linux,code = ;
+ gpio-key,wakeup;
+ debounce-interval = <15>;
+ linux,can-disable;
+ };
+ };
+};
+
+&pm8350b_haptics {
+ status = "ok";
+};
+
+&pm8350c_switch0 {
+ qcom,led-mask = <9>; /* Channels 1 & 4 */
+ qcom,symmetry-en;
+};
+
+&pm8350c_switch1 {
+ qcom,led-mask = <6>; /* Channels 2 & 3 */
+ qcom,symmetry-en;
+};
+
+&pm8350c_switch2 {
+ qcom,led-mask = <15>; /* All Channels */
+ qcom,symmetry-en;
+};
+
+&pm8350c_flash {
+ status = "ok";
+};
+
+&qupv3_se9_i2c {
+ status = "ok";
+ qcom,clk-freq-out = <1000000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ nq@28 {
+ compatible = "qcom,sn-nci";
+ reg = <0x28>;
+ qcom,sn-irq = <&tlmm 46 0x00>;
+ qcom,sn-ven = <&tlmm 34 0x00>;
+ qcom,sn-firm = <&tlmm 45 0x00>;
+ qcom,sn-clkreq = <&tlmm 35 0x00>;
+ qcom,sn-vdd-1p8-supply = <&S10B>;
+ qcom,sn-vdd-1p8-voltage = <1800000 1800000>;
+ qcom,sn-vdd-1p8-current = <157000>;
+ interrupt-parent = <&tlmm>;
+ interrupts = <46 0>;
+ interrupt-names = "nfc_irq";
+ pinctrl-names = "nfc_active", "nfc_suspend";
+ pinctrl-0 = <&nfc_int_active &nfc_enable_active>;
+ pinctrl-1 = <&nfc_int_suspend &nfc_enable_suspend>;
+ };
+};
+
+&qupv3_se4_i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ status = "ok";
+ qcom,i2c-touch-active = "focaltech,fts_ts";
+
+ focaltech@38 {
+ compatible = "focaltech,fts_ts";
+ reg = <0x38>;
+ interrupt-parent = <&tlmm>;
+ interrupts = <21 0x2008>;
+ focaltech,reset-gpio = <&tlmm 20 0x00>;
+ focaltech,irq-gpio = <&tlmm 21 0x2008>;
+ focaltech,max-touch-number = <5>;
+ focaltech,display-coords = <0 0 1080 2340>;
+ focaltech,touch-type = "primary";
+
+ vdd-supply = <&L3C>;
+ vcc_i2c-supply = <&L8C>;
+
+ pinctrl-names = "pmx_ts_active", "pmx_ts_suspend","pmx_ts_release";
+ pinctrl-0 = <&ts_active>;
+ pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;
+ pinctrl-2 = <&ts_release>;
+ focaltech,trusted-touch-mode = "vm_mode";
+ focaltech,touch-environment = "pvm";
+ focaltech,trusted-touch-spi-irq = <754>;
+ focaltech,trusted-touch-io-bases = <0xF110000 0xF111000 0xF112000 0xF113000
+ 0xF114000 0xF115000 0x990000 0x00910000>;
+ focaltech,trusted-touch-io-sizes = <0x1000 0x1000 0x1000 0x1000
+ 0x1000 0x1000 0x1000 0x4000>;
+ };
+
+ atmel_mxt_ts@4a {
+ compatible = "atmel,maxtouch";
+ reg = <0x4a>;
+ interrupt-parent = <&tlmm>;
+ interrupts = <21 0x2008>;
+ avdd-supply = <&L3C>;
+ vdd-supply = <&L8C>;
+ pinctrl-names = "pmx_ts_active", "pmx_ts_suspend";
+ pinctrl-0 = <&ts_active>;
+ pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;
+
+ atmel,xy_switch;
+ atmel,inverty;
+ atmel,invertx;
+ reset-gpios = <&tlmm 20 0x00>;
+ irq-gpios = <&tlmm 21 0x2008>;
+ atmel,panel-coords = <0 0 479 799>;
+ atmel,display-coords = <0 0 339 729>;
+ };
+
+ synaptics_dsx@22 {
+ compatible = "synaptics,dsx-i2c";
+ reg = <0x22>;
+ interrupt-parent = <&tlmm>;
+ interrupts = <21 0x2008>;
+ vdd-supply = <&L8C>;
+ avdd-supply = <&L3C>;
+ pinctrl-names = "pmx_ts_active", "pmx_ts_suspend","pmx_ts_release";
+ pinctrl-0 = <&ts_active>;
+ pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;
+ pinctrl-2 = <&ts_release>;
+ synaptics,pwr-reg-name = "avdd";
+ synaptics,bus-reg-name = "vdd";
+ synaptics,ub-i2c-addr = <0x22>;
+ synaptics,max-y-for-2d = <1859>;
+ synaptics,irq-gpio = <&tlmm 21 0x2008>;
+ synaptics,reset-gpio = <&tlmm 20 0x00>;
+ synaptics,irq-on-state = <0>;
+ synaptics,power-delay-ms = <200>;
+ synaptics,reset-delay-ms = <200>;
+ synaptics,reset-on-state = <0>;
+ synaptics,reset-active-ms = <20>;
+ };
+};
+
+&usb0 {
+ usb-role-switch;
+
+ dwc3@a600000 {
+ usb-role-switch;
+ dr_mode = "otg";
+ };
+
+ port {
+ usb_port0: endpoint {
+ remote-endpoint = <&usb_port0_connector>;
+ };
+ };
+};
+
+&ucsi {
+ connector {
+ port {
+ usb_port0_connector: endpoint {
+ remote-endpoint = <&usb_port0>;
+ };
+ };
+ };
+};
diff --git a/qcom/waipio-coresight.dtsi b/qcom/waipio-coresight.dtsi
new file mode 100644
index 00000000..4dbeb233
--- /dev/null
+++ b/qcom/waipio-coresight.dtsi
@@ -0,0 +1,4015 @@
+&soc {
+ ssc_etm0 {
+ compatible = "qcom,coresight-remote-etm";
+
+ coresight-name = "coresight-ssc-etm0";
+ qcom,inst-id = <8>;
+ atid = <34>;
+
+ out-ports {
+ port {
+ ssc_etm0_out_funnel_ssc: endpoint {
+ remote-endpoint =
+ <&funnel_ssc_in_ssc_etm0>;
+ };
+ };
+ };
+ };
+
+ audio_etm0 {
+ compatible = "qcom,coresight-remote-etm";
+
+ coresight-name = "coresight-audio-etm0";
+ qcom,inst-id = <5>;
+ atid = <40>;
+
+ out-ports {
+ port {
+ audio_etm0_out_funnel_lpass_lpi: endpoint {
+ remote-endpoint =
+ <&funnel_lpass_lpi_in_audio_etm0>;
+ };
+ };
+ };
+ };
+
+ tpdm_lpass_lpi: tpdm_lpass_lpi {
+ compatible = "qcom,coresight-dummy";
+ coresight-name = "coresight-tpdm-lpass-lpi";
+ qcom,dummy-source;
+
+ atid = <26>;
+
+ out-ports {
+ port {
+ tpdm_lpass_lpi_out_funnel_lpass_lpi: endpoint {
+ remote-endpoint =
+ <&funnel_lpass_lpi_in_tpdm_lpass_lpi>;
+ };
+ };
+ };
+ };
+
+ lpass_stm: lpass_stm {
+ compatible = "qcom,coresight-dummy";
+ coresight-name = "coresight-lpass-stm";
+ qcom,dummy-source;
+
+ atid = <25>;
+
+ out-ports {
+ port {
+ lpass_stm_out_funnel_lpass_lpi: endpoint {
+ remote-endpoint =
+ <&funnel_lpass_lpi_in_lpass_stm>;
+ };
+ };
+ };
+ };
+
+ sensor_stm: sensor_stm {
+ compatible = "qcom,coresight-dummy";
+ coresight-name = "coresight-sensor-stm";
+ qcom,dummy-source;
+
+ atid = <23>;
+
+ out-ports {
+ port {
+ sensor_stm_out_funnel_ssc: endpoint {
+ remote-endpoint =
+ <&funnel_ssc_in_sensor_stm>;
+ };
+ };
+ };
+ };
+
+ tpdm_swao_prio_0: tpdm@10b09000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x10b09000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <71>;
+ coresight-name = "coresight-tpdm-swao-prio-0";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_swao_prio_0_out_tpda_aoss_0: endpoint {
+ remote-endpoint =
+ <&tpda_aoss_0_in_tpdm_swao_prio_0>;
+ };
+ };
+ };
+ };
+
+ tpdm_swao_prio_1: tpdm@10b0a000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x10b0a000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <71>;
+ coresight-name = "coresight-tpdm-swao-prio-1";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_swao_prio_1_out_tpda_aoss_1: endpoint {
+ remote-endpoint =
+ <&tpda_aoss_1_in_tpdm_swao_prio_1>;
+ };
+ };
+ };
+ };
+
+ tpdm_swao_prio_2: tpdm@10b0b000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x10b0b000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <71>;
+ coresight-name = "coresight-tpdm-swao-prio-2";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_swao_prio_2_out_tpda_aoss_2: endpoint {
+ remote-endpoint =
+ <&tpda_aoss_2_in_tpdm_swao_prio_2>;
+ };
+ };
+ };
+ };
+
+ tpdm_swao_prio_3: tpdm@10b0c000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x10b0c000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <71>;
+ coresight-name = "coresight-tpdm-swao-prio-3";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_swao_prio_3_out_tpda_aoss_3: endpoint {
+ remote-endpoint =
+ <&tpda_aoss_3_in_tpdm_swao_prio_3>;
+ };
+ };
+ };
+ };
+
+ tpdm_lpass: tpdm@10844000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x10844000 0x1000>;
+ reg-names = "tpdm-base";
+
+ coresight-name = "coresight-tpdm-lpass";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ atid = <78>;
+ out-ports {
+ port {
+ tpdm_lpass_out_funnel_lpass: endpoint {
+ remote-endpoint =
+ <&funnel_lpass_in_tpdm_lpass>;
+ };
+ };
+ };
+ };
+
+ tpdm_ddr_ch02: tpdm@10d20000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x10d20000 0x1000>;
+ reg-names = "tpdm-base";
+
+ coresight-name = "coresight-tpdm-ddr-ch02";
+
+ atid = <78>;
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_ddr_ch02_out_funnel_ddr_ch02: endpoint {
+ remote-endpoint =
+ <&funnel_ddr_ch02_in_tpdm_ddr_ch02>;
+ };
+ };
+ };
+ };
+
+ tpdm_ddr_ch13: tpdm@10d30000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x10d30000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <78>;
+ coresight-name = "coresight-tpdm-ddr-ch13";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_ddr_ch13_out_funnel_ddr_ch13: endpoint {
+ remote-endpoint =
+ <&funnel_ddr_ch13_in_tpdm_ddr_ch13>;
+ };
+ };
+ };
+ };
+
+ tpdm_ddr: tpdm@10d00000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x10d00000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <78>;
+ coresight-name = "coresight-tpdm-ddr";
+
+ status = "disabled";
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_ddr_dl0_0_out_funnel_ddr_dl0: endpoint {
+ remote-endpoint =
+ <&funnel_ddr_dl0_in_tpdm_ddr_dl0_0>;
+ };
+ };
+ };
+ };
+
+ tpdm_shrm: tpdm@10d01000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x10d01000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <78>;
+ status = "disabled";
+ coresight-name = "coresight-tpdm-shrm";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_ddr_dl0_1_out_funnel_ddr_dl0: endpoint {
+ remote-endpoint =
+ <&funnel_ddr_dl0_in_tpdm_ddr_dl0_1>;
+ };
+ };
+ };
+ };
+
+ tpdm_video: tpdm@10830000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x10830000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <78>;
+ coresight-name = "coresight-tpdm-video";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_video_out_funnel_video: endpoint {
+ remote-endpoint =
+ <&funnel_video_in_tpdm_video>;
+ };
+ };
+ };
+ };
+
+ tpdm_mdss: tpdm@10c60000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x10c60000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <78>;
+ coresight-name = "coresight-tpdm-mdss";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_mdss_out_funnel_multimedia: endpoint {
+ remote-endpoint =
+ <&funnel_multimedia_in_tpdm_mdss>;
+ };
+ };
+ };
+ };
+
+ tpdm_mm: tpdm@10c08000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x10c08000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <78>;
+ coresight-name = "coresight-tpdm-mm";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_dlmm_out_funnel_multimedia: endpoint {
+ remote-endpoint =
+ <&funnel_multimedia_in_tpdm_dlmm>;
+ };
+ };
+ };
+ };
+
+ tpdm_rdpm: tpdm@10c38000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x10c38000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <78>;
+ coresight-name = "coresight-tpdm-rdpm";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_dlwt0_out_funnel_dl_west: endpoint {
+ remote-endpoint =
+ <&funnel_dl_west_in_tpdm_dlwt0>;
+ };
+ };
+ };
+ };
+
+ tpdm_rdpm_mx: tpdm@10c39000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x10c39000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <78>;
+ coresight-name = "coresight-tpdm-rdpm-mx";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_dlwt1_out_funnel_dl_west: endpoint {
+ remote-endpoint =
+ <&funnel_dl_west_in_tpdm_dlwt1>;
+ };
+ };
+ };
+ };
+
+ tpdm_turing: tpdm@10980000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x10980000 0x1000>;
+ reg-names = "tpdm-base";
+
+ coresight-name = "coresight-tpdm-turing";
+
+ atid = <78>;
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_turing_out_funnel_turing: endpoint {
+ remote-endpoint =
+ <&funnel_turing_in_tpdm_turing>;
+ };
+ };
+ };
+ };
+
+ tpdm_turing_llm: tpdm_turing_llm {
+ compatible = "qcom,coresight-dummy";
+ coresight-name = "coresight-tpdm-turing-llm";
+ qcom,dummy-source;
+
+ atid = <78>;
+
+ out-ports {
+ port {
+ tpdm_turing_llm_out_funnel_turing: endpoint {
+ remote-endpoint =
+ <&funnel_turing_in_tpdm_turing_llm>;
+ };
+ };
+ };
+ };
+
+ tpdm_gpu: tpdm@10900000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x10900000 0x1000>;
+ reg-names = "tpdm-base";
+
+ status = "disabled";
+
+ coresight-name = "coresight-tpdm-gpu";
+ atid = <78>;
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_gpu_out_funnel_gfx_dl: endpoint {
+ remote-endpoint =
+ <&funnel_gfx_dl_in_tpdm_gpu>;
+ };
+ };
+ };
+ };
+
+ tpdm_prng: tpdm@10841000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x10841000 0x1000>;
+ reg-names = "tpdm-base";
+
+ coresight-name = "coresight-tpdm-prng";
+
+ atid = <78>;
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_prng_out_tpda_dl_center_19: endpoint {
+ remote-endpoint =
+ <&tpda_dl_center_19_in_tpdm_prng>;
+ };
+ };
+ };
+ };
+
+ tpdm_qm: tpdm@109d0000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x109d0000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <78>;
+ coresight-name = "coresight-tpdm-qm";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_qm_out_tpda_dl_center_20: endpoint {
+ remote-endpoint =
+ <&tpda_dl_center_20_in_tpdm_qm>;
+ };
+ };
+ };
+ };
+
+ tpdm_gcc: tpdm@1082c000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x1082c000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <78>;
+ coresight-name = "coresight-tpdm-gcc";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_gcc_out_tpda_dl_center_21: endpoint {
+ remote-endpoint =
+ <&tpda_dl_center_21_in_tpdm_gcc>;
+ };
+ };
+ };
+ };
+
+ tpdm_vsense: tpdm@10840000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x10840000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <78>;
+ coresight-name = "coresight-tpdm-vsense";
+
+ status = "disabled";
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_vsense_out_tpda_dl_center_22: endpoint {
+ remote-endpoint =
+ <&tpda_dl_center_22_in_tpdm_vsense>;
+ };
+ };
+ };
+ };
+
+ tpdm_ipa: tpdm@10c22000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x10c22000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <78>;
+ coresight-name = "coresight-tpdm-ipa";
+ status = "disabled";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_ipa_out_tpda_dl_center_23: endpoint {
+ remote-endpoint =
+ <&tpda_dl_center_23_in_tpdm_ipa>;
+ };
+ };
+ };
+ };
+
+ tpdm_pimem: tpdm@10850000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x10850000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <78>;
+ coresight-name = "coresight-tpdm-pimem";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_pimem_out_tpda_dl_center_25: endpoint {
+ remote-endpoint =
+ <&tpda_dl_center_25_in_tpdm_pimem>;
+ };
+ };
+ };
+ };
+
+ tpdm_dlct: tpdm@10c28000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x10c28000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <78>;
+ coresight-name = "coresight-tpdm-dlct";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_dlct_out_tpda_dl_center_26: endpoint {
+ remote-endpoint =
+ <&tpda_dl_center_26_in_tpdm_dlct>;
+ };
+ };
+ };
+ };
+
+ tpdm_ipcc: tpdm@10c29000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x10c29000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <78>;
+ coresight-name = "coresight-tpdm-ipcc";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_ipcc_out_tpda_dl_center_27: endpoint {
+ remote-endpoint =
+ <&tpda_dl_center_27_in_tpdm_ipcc>;
+ };
+ };
+ };
+ };
+
+ tpdm_swao_1: tpdm@10b0d000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x10b0d000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <71>;
+ coresight-name = "coresight-tpdm-swao-1";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_swao_out_tpda_aoss_4: endpoint {
+ remote-endpoint =
+ <&tpda_aoss_4_in_tpdm_swao>;
+ };
+ };
+ };
+ };
+
+ snoc: snoc {
+ compatible = "qcom,coresight-dummy";
+ coresight-name = "coresight-snoc";
+ qcom,dummy-source;
+
+ atid = <125>;
+ out-ports {
+ port {
+ snoc_out_funnel_in0: endpoint {
+ remote-endpoint =
+ <&funnel_in0_in_snoc>;
+ };
+ };
+ };
+ };
+
+ tpdm_spdm: tpdm@1000f000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x1000f000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <65>;
+ coresight-name = "coresight-tpdm-spdm";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_spdm_out_tpda_qdss_1: endpoint {
+ remote-endpoint =
+ <&tpda_qdss_1_in_tpdm_spdm>;
+ };
+ };
+ };
+ };
+
+ stm: stm@10002000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb962>;
+ reg = <0x10002000 0x1000>,
+ <0x16280000 0x180000>;
+ reg-names = "stm-base", "stm-stimulus-base";
+
+ atid = <16>;
+ coresight-name = "coresight-stm";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ stm_out_funnel_in0: endpoint {
+ remote-endpoint =
+ <&funnel_in0_in_stm>;
+ };
+ };
+ };
+ };
+
+ tpdm_dcc: tpdm@10003000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x10003000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <65>;
+ coresight-name = "coresight-tpdm-dcc";
+
+ qcom,hw-enable-check;
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_dcc_out_tpda_qdss_0: endpoint {
+ remote-endpoint =
+ <&tpda_qdss_0_in_tpdm_dcc>;
+ };
+ };
+ };
+ };
+
+ turing_etm0: turing_etm0 {
+ compatible = "qcom,coresight-remote-etm";
+
+ coresight-name = "coresight-turing-etm0";
+ qcom,inst-id = <13>;
+
+ atid = <38 39>;
+
+ out-ports {
+ port {
+ turing_etm0_out_funnel_turing_dup: endpoint {
+ remote-endpoint =
+ <&funnel_turing_dup_in_turing_etm0>;
+ };
+ };
+ };
+ };
+
+ tpdm_spss: tpdm@10880000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x10880000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <70>;
+ coresight-name = "coresight-tpdm-spss";
+ status = "disabled";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_spss_out_tpda_spss: endpoint {
+ remote-endpoint =
+ <&tpda_spss_in_tpdm_spss>;
+ };
+ };
+ };
+ };
+
+ tpda_spss: tpda@10882000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb969>;
+ reg = <0x10882000 0x1000>;
+ reg-names = "tpda-base";
+
+ coresight-name = "coresight-tpda-spss";
+ status = "disabled";
+
+ qcom,tpda-atid = <70>;
+ qcom,cmb-elem-size = <0 32>;
+ qcom,dsb-elem-size = <0 32>;
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpda_spss_out_funnel_spss: endpoint {
+ remote-endpoint =
+ <&funnel_spss_in_tpda_spss>;
+ };
+ };
+ };
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ tpda_spss_in_tpdm_spss: endpoint {
+ remote-endpoint =
+ <&tpdm_spss_out_tpda_spss>;
+ };
+ };
+
+ };
+ };
+
+ tpdm_dl_south: tpdm@109c0000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x109c0000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <75>;
+ coresight-name = "coresight-tpdm-dl-south";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_dl_south_out_tpda_dl_south_2: endpoint {
+ remote-endpoint =
+ <&tpda_dl_south_2_in_tpdm_dl_south>;
+ };
+ };
+ };
+ };
+
+ tpdm_dl_north: tpdm@10ac0000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x10ac0000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <97>;
+ coresight-name = "coresight-tpdm-dl-north";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_dl_north_out_tpda_dl_north_2: endpoint {
+ remote-endpoint =
+ <&tpda_dl_north_2_in_tpdm_dl_north>;
+ };
+ };
+ };
+ };
+
+ tpdm_llm_silver: tpdm@138a0000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x138a0000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <66>;
+ coresight-name = "coresight-tpdm-llm-silver";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_llm_silver_out_tpda_apss_0: endpoint {
+ remote-endpoint =
+ <&tpda_apss_0_in_tpdm_llm_silver>;
+ };
+ };
+ };
+ };
+
+ tpdm_llm_gold: tpdm@138b0000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x138b0000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <66>;
+ coresight-name = "coresight-tpdm-llm-gold";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_llm_gold_out_tpda_apss_1: endpoint {
+ remote-endpoint =
+ <&tpda_apss_1_in_tpdm_llm_gold>;
+ };
+ };
+ };
+ };
+
+ tpdm_apss_llm: tpdm@138c0000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x138c0000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <66>;
+ coresight-name = "coresight-tpdm-apss-llm";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_apss_llm_out_tpda_apss_2: endpoint {
+ remote-endpoint =
+ <&tpda_apss_2_in_tpdm_apss_llm>;
+ };
+ };
+ };
+ };
+
+ tpdm_actpm: tpdm@13860000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x13860000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <66>;
+ coresight-name = "coresight-tpdm-actpm";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_apss0_out_tpda_apss_3: endpoint {
+ remote-endpoint =
+ <&tpda_apss_3_in_tpdm_apss0>;
+ };
+ };
+ };
+ };
+
+ tpdm_apss: tpdm@13861000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x13861000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <66>;
+ coresight-name = "coresight-tpdm-apss";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_apps1_out_tpda_apss_4: endpoint {
+ remote-endpoint =
+ <&tpda_apss_4_in_tpdm_apps1>;
+ };
+ };
+ };
+ };
+
+ tpdm_modem_0: tpdm@10800000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x10800000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <67>;
+ coresight-name = "coresight-tpdm-modem-0";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_modem_0_out_tpda_modem_0: endpoint {
+ remote-endpoint =
+ <&tpda_modem_0_in_tpdm_modem_0>;
+ };
+ };
+ };
+ };
+
+ tpdm_modem_1: tpdm@10801000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x10801000 0x1000>;
+ reg-names = "tpdm-base";
+
+ status = "disabled";
+ atid = <67>;
+ coresight-name = "coresight-tpdm-modem-1";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_modem_1_out_tpda_modem_1: endpoint {
+ remote-endpoint =
+ <&tpda_modem_1_in_tpdm_modem_1>;
+ };
+ };
+ };
+ };
+
+ modem_etm0 {
+ compatible = "qcom,coresight-remote-etm";
+
+ coresight-name = "coresight-modem-etm0";
+ qcom,inst-id = <2>;
+
+ atid = <36 37>;
+ out-ports {
+ port {
+ modem_etm0_out_funnel_modem_q6_dup: endpoint {
+ remote-endpoint =
+ <&funnel_modem_q6_dup_in_modem_etm0>;
+ };
+ };
+ };
+ };
+
+ modem2_etm0 {
+ compatible = "qcom,coresight-remote-etm";
+
+ coresight-name = "coresight-modem2-etm0";
+ qcom,inst-id = <11>;
+
+ atid = <39>;
+ out-ports {
+ port {
+ modem2_etm0_out_funnel_modem: endpoint {
+ remote-endpoint =
+ <&funnel_modem_in_modem2_etm0>;
+ };
+ };
+ };
+ };
+
+ modem_diag: modem_diag {
+ compatible = "qcom,coresight-dummy";
+ coresight-name = "coresight-modem-diag";
+ qcom,dummy-source;
+
+ atid = <50>;
+ out-ports {
+ port {
+ modem_diag_out_funnel_modem_q6: endpoint {
+ remote-endpoint =
+ <&funnel_modem_q6_in_modem_diag>;
+ };
+ };
+ };
+ };
+
+ tpdm_sdcc2: tpdm@10c21000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x10c21000 0x1000>;
+ reg-names = "tpdm-base";
+
+ status = "disabled";
+ atid = <97>;
+ coresight-name = "coresight-tpdm-sdcc-2";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_sdcc2_out_tpda_dl_north_1: endpoint {
+ remote-endpoint =
+ <&tpda_dl_north_1_in_tpdm_sdcc2>;
+ };
+ };
+ };
+ };
+
+ tpdm_sdcc4: tpdm@10c20000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x10c20000 0x1000>;
+ reg-names = "tpdm-base";
+
+ status = "disabled";
+ atid = <75>;
+ coresight-name = "coresight-tpdm-sdcc-4";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_sdcc4_out_tpda_dl_south_1: endpoint {
+ remote-endpoint =
+ <&tpda_dl_south_1_in_tpdm_sdcc4>;
+ };
+ };
+ };
+ };
+
+ tpdm_tmess_prng: tpdm@10cc9000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x10cc9000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <85>;
+ coresight-name = "coresight-tpdm-tmess-prng";
+
+ status = "disabled";
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_tmess_prng_out_tpda_tmess_0: endpoint {
+ remote-endpoint =
+ <&tpda_tmess_0_in_tpdm_tmess_prng>;
+ };
+ };
+ };
+ };
+
+ tpdm_tmess_0: tpdm@10cc1000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x10cc1000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <85>;
+ coresight-name = "coresight-tpdm-tmess-0";
+
+ status = "disabled";
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_tmess_0_out_tpda_tmess_1: endpoint {
+ remote-endpoint =
+ <&tpda_tmess_1_in_tpdm_tmess_0>;
+ };
+ };
+ };
+ };
+
+ tpdm_tmess_1: tpdm@10cc0000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x10cc0000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <85>;
+ coresight-name = "coresight-tpdm-tmess-1";
+
+ status = "disabled";
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_tmess_1_out_tpda_tmess_2: endpoint {
+ remote-endpoint =
+ <&tpda_tmess_2_in_tpdm_tmess_1>;
+ };
+ };
+ };
+ };
+
+ funnel_ssc: funnel@10b24000 {
+ compatible = "arm,coresight-static-funnel";
+ coresight-name = "coresight-funnel-ssc";
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ funnel_ssc_in_ssc_etm0: endpoint {
+ remote-endpoint =
+ <&ssc_etm0_out_funnel_ssc>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ funnel_ssc_in_sensor_stm: endpoint {
+ remote-endpoint =
+ <&sensor_stm_out_funnel_ssc>;
+ };
+ };
+ };
+
+ out-ports {
+ port {
+ funnel_ssc_out_funnel_aoss: endpoint {
+ remote-endpoint =
+ <&funnel_aoss_in_funnel_ssc>;
+ };
+ };
+
+ };
+ };
+
+ funnel_lpass_lpi: funnel@10b44000 {
+ compatible = "arm,coresight-static-funnel";
+ coresight-name = "coresight-funnel-lpass_lpi";
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ funnel_lpass_lpi_in_audio_etm0: endpoint {
+ remote-endpoint =
+ <&audio_etm0_out_funnel_lpass_lpi>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ funnel_lpass_lpi_in_lpass_stm: endpoint {
+ remote-endpoint =
+ <&lpass_stm_out_funnel_lpass_lpi>;
+ };
+ };
+
+ port@5 {
+ reg = <5>;
+ funnel_lpass_lpi_in_tpdm_lpass_lpi: endpoint {
+ remote-endpoint =
+ <&tpdm_lpass_lpi_out_funnel_lpass_lpi>;
+ };
+ };
+
+ };
+
+ out-ports {
+ port {
+ funnel_lpass_lpi_out_funnel_aoss: endpoint {
+ remote-endpoint =
+ <&funnel_aoss_in_funnel_lpass_lpi>;
+ };
+ };
+
+ };
+ };
+
+ funnel_gfx_dl: funnel@10902000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x10902000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-gfx_dl";
+
+ status = "disabled";
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ port {
+ funnel_gfx_dl_in_tpdm_gpu: endpoint {
+ remote-endpoint =
+ <&tpdm_gpu_out_funnel_gfx_dl>;
+ };
+ };
+
+ };
+
+ out-ports {
+ port {
+ funnel_gfx_dl_out_tpda_dl_center_17: endpoint {
+ remote-endpoint =
+ <&tpda_dl_center_17_in_funnel_gfx_dl>;
+ };
+ };
+
+ };
+ };
+
+ funnel_video: funnel@10832000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x10832000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-video";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ port {
+ funnel_video_in_tpdm_video: endpoint {
+ remote-endpoint =
+ <&tpdm_video_out_funnel_video>;
+ };
+ };
+
+ };
+
+ out-ports {
+ port {
+ funnel_video_out_funnel_multimedia: endpoint {
+ remote-endpoint =
+ <&funnel_multimedia_in_funnel_video>;
+ };
+ };
+
+ };
+ };
+
+ funnel_multimedia: funnel@10c0b000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x10c0b000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-multimedia";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ funnel_multimedia_in_funnel_video: endpoint {
+ remote-endpoint =
+ <&funnel_video_out_funnel_multimedia>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ funnel_multimedia_in_tpdm_mdss: endpoint {
+ remote-endpoint =
+ <&tpdm_mdss_out_funnel_multimedia>;
+ };
+ };
+
+ port@3 {
+ reg = <3>;
+ funnel_multimedia_in_tpdm_dlmm: endpoint {
+ remote-endpoint =
+ <&tpdm_dlmm_out_funnel_multimedia>;
+ };
+ };
+
+ };
+
+ out-ports {
+ port {
+ funnel_multimedia_out_funnel_dl_west: endpoint {
+ remote-endpoint =
+ <&funnel_dl_west_in_funnel_multimedia>;
+ };
+ };
+
+ };
+ };
+
+ funnel_lpass: funnel@10846000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x10846000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-lpass";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ port {
+ funnel_lpass_in_tpdm_lpass: endpoint {
+ remote-endpoint =
+ <&tpdm_lpass_out_funnel_lpass>;
+ };
+ };
+
+ };
+
+ out-ports {
+ port {
+ funnel_lpass_out_tpda_dl_center_4: endpoint {
+ remote-endpoint =
+ <&tpda_dl_center_4_in_funnel_lpass>;
+ };
+ };
+
+ };
+ };
+
+ funnel_ddr_ch02: funnel@10d22000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x10d22000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-ddr_ch02";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ port {
+ funnel_ddr_ch02_in_tpdm_ddr_ch02: endpoint {
+ remote-endpoint =
+ <&tpdm_ddr_ch02_out_funnel_ddr_ch02>;
+ };
+ };
+
+ };
+
+ out-ports {
+ port {
+ funnel_ddr_ch02_out_funnel_ddr_dl0: endpoint {
+ remote-endpoint =
+ <&funnel_ddr_dl0_in_funnel_ddr_ch02>;
+ };
+ };
+
+ };
+ };
+
+ funnel_ddr_ch13: funnel@10d32000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x10d32000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-ddr_ch13";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ port {
+ funnel_ddr_ch13_in_tpdm_ddr_ch13: endpoint {
+ remote-endpoint =
+ <&tpdm_ddr_ch13_out_funnel_ddr_ch13>;
+ };
+ };
+
+ };
+
+ out-ports {
+ port {
+ funnel_ddr_ch13_out_funnel_ddr_dl0: endpoint {
+ remote-endpoint =
+ <&funnel_ddr_dl0_in_funnel_ddr_ch13>;
+ };
+ };
+
+ };
+ };
+
+ gladiator: gladiator {
+ compatible = "qcom,coresight-dummy";
+ coresight-name = "coresight-gladiator";
+ qcom,dummy-source;
+
+ atid = <96>;
+
+ out-ports {
+ port {
+ gladiator_out_funnel_ddr_dl1: endpoint {
+ remote-endpoint =
+ <&funnel_ddr_dl1_in_gladiator>;
+ };
+ };
+ };
+ };
+
+ funnel_ddr_dl1: funnel@10d0f000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x10d0f000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-ddr_dl1";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@6 {
+ reg = <6>;
+ funnel_ddr_dl1_in_gladiator: endpoint {
+ remote-endpoint =
+ <&gladiator_out_funnel_ddr_dl1>;
+ };
+ };
+ };
+
+ out-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ funnel_ddr_dl1_out_funnel_ddr_dl0: endpoint {
+ remote-endpoint =
+ <&funnel_ddr_dl0_in_funnel_ddr_dl1>;
+ };
+ };
+ };
+
+ };
+
+ funnel_ddr_dl0: funnel@10d05000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x10d05000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-ddr_dl0";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@1 {
+ reg = <1>;
+ funnel_ddr_dl0_in_funnel_ddr_ch13: endpoint {
+ remote-endpoint =
+ <&funnel_ddr_ch13_out_funnel_ddr_dl0>;
+ };
+ };
+
+ port@0 {
+ reg = <0>;
+ funnel_ddr_dl0_in_funnel_ddr_ch02: endpoint {
+ remote-endpoint =
+ <&funnel_ddr_ch02_out_funnel_ddr_dl0>;
+ };
+ };
+
+ port@3 {
+ reg = <3>;
+ funnel_ddr_dl0_in_tpdm_ddr_dl0_1: endpoint {
+ remote-endpoint =
+ <&tpdm_ddr_dl0_1_out_funnel_ddr_dl0>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+ funnel_ddr_dl0_in_tpdm_ddr_dl0_0: endpoint {
+ remote-endpoint =
+ <&tpdm_ddr_dl0_0_out_funnel_ddr_dl0>;
+ };
+ };
+
+ port@4 {
+ reg = <4>;
+ funnel_ddr_dl0_in_funnel_ddr_dl1: endpoint {
+ remote-endpoint =
+ <&funnel_ddr_dl1_out_funnel_ddr_dl0>;
+ };
+ };
+ };
+
+ out-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ funnel_ddr_dl0_out_tpda_dl_center_5: endpoint {
+ remote-endpoint =
+ <&tpda_dl_center_5_in_funnel_ddr_dl0>;
+ source = <&tpdm_ddr_ch02>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ funnel_ddr_dl0_out_tpda_dl_center_6: endpoint {
+ remote-endpoint =
+ <&tpda_dl_center_6_in_funnel_ddr_dl0>;
+ source = <&tpdm_ddr_ch13>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+ funnel_ddr_dl0_out_tpda_dl_center_7: endpoint {
+ remote-endpoint =
+ <&tpda_dl_center_7_in_funnel_ddr_dl0>;
+ source = <&tpdm_ddr>;
+ };
+ };
+
+ port@3 {
+ reg = <3>;
+ funnel_ddr_dl0_out_tpda_dl_center_8: endpoint {
+ remote-endpoint =
+ <&tpda_dl_center_8_in_funnel_ddr_dl0>;
+ source = <&tpdm_shrm>;
+ };
+ };
+
+ port@4 {
+ reg = <4>;
+ funnel_ddr_dl0_out_funnel_dl_center: endpoint {
+ remote-endpoint =
+ <&funnel_dl_center_in_funnel_ddr_dl0>;
+ };
+ };
+ };
+ };
+
+ funnel_turing_dup: funnel@10986000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x10986000 0x1000>,
+ <0x10985000 0x1000>;
+ reg-names = "funnel-base-dummy", "funnel-base-real";
+
+ coresight-name = "coresight-funnel-turing_dup";
+
+ qcom,duplicate-funnel;
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ port@3 {
+ reg = <3>;
+ funnel_turing_dup_in_turing_etm0: endpoint {
+ remote-endpoint =
+ <&turing_etm0_out_funnel_turing_dup>;
+ };
+ };
+
+ };
+
+ out-ports {
+ port {
+ funnel_turing_dup_out_funnel_turing: endpoint {
+ remote-endpoint =
+ <&funnel_turing_in_funnel_turing_dup>;
+ };
+ };
+
+ };
+ };
+
+ funnel_turing: funnel@10985000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x10985000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-turing";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ funnel_turing_in_tpdm_turing: endpoint {
+ remote-endpoint =
+ <&tpdm_turing_out_funnel_turing>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ funnel_turing_in_tpdm_turing_llm: endpoint {
+ remote-endpoint =
+ <&tpdm_turing_llm_out_funnel_turing>;
+ };
+ };
+
+ port@4 {
+ reg = <4>;
+ funnel_turing_in_funnel_turing_dup: endpoint {
+ remote-endpoint =
+ <&funnel_turing_dup_out_funnel_turing>;
+ };
+ };
+
+ };
+
+ out-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ funnel_turing_out_tpda_dl_center_15: endpoint {
+ remote-endpoint =
+ <&tpda_dl_center_15_in_funnel_turing>;
+ source = <&tpdm_turing>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ funnel_turing_out_tpda_dl_center_16: endpoint {
+ remote-endpoint =
+ <&tpda_dl_center_16_in_funnel_turing>;
+ source = <&tpdm_turing_llm>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+ funnel_turing_out_funnel_dl_center: endpoint {
+ remote-endpoint =
+ <&funnel_dl_center_in_funnel_turing>;
+ };
+ };
+
+ };
+ };
+
+ funnel_spss: funnel@10883000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x10883000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-spss";
+ status = "disabled";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ port {
+ funnel_spss_in_tpda_spss: endpoint {
+ remote-endpoint =
+ <&tpda_spss_out_funnel_spss>;
+ };
+ };
+
+ };
+
+ out-ports {
+ port {
+ funnel_spss_out_funnel_dl_north: endpoint {
+ remote-endpoint =
+ <&funnel_dl_north_in_funnel_spss>;
+ };
+ };
+
+ };
+ };
+
+ funnel_dl_west: funnel@10c3a000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x10c3a000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-dl_west";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ funnel_dl_west_in_funnel_multimedia: endpoint {
+ remote-endpoint =
+ <&funnel_multimedia_out_funnel_dl_west>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ funnel_dl_west_in_tpdm_dlwt0: endpoint {
+ remote-endpoint =
+ <&tpdm_dlwt0_out_funnel_dl_west>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+ funnel_dl_west_in_tpdm_dlwt1: endpoint {
+ remote-endpoint =
+ <&tpdm_dlwt1_out_funnel_dl_west>;
+ };
+ };
+
+ };
+
+ out-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ funnel_dl_west_out_tpda_dl_center_9: endpoint {
+ remote-endpoint =
+ <&tpda_dl_center_9_in_funnel_dl_west>;
+ source = <&tpdm_video>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ funnel_dl_west_out_tpda_dl_center_10: endpoint {
+ remote-endpoint =
+ <&tpda_dl_center_10_in_funnel_dl_west>;
+ source = <&tpdm_mdss>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+ funnel_dl_west_out_tpda_dl_center_12: endpoint {
+ remote-endpoint =
+ <&tpda_dl_center_12_in_funnel_dl_west>;
+ source = <&tpdm_mm>;
+ };
+ };
+
+ port@3 {
+ reg = <3>;
+ funnel_dl_west_out_tpda_dl_center_13: endpoint {
+ remote-endpoint =
+ <&tpda_dl_center_13_in_funnel_dl_west>;
+ source = <&tpdm_rdpm>;
+ };
+ };
+
+ port@4 {
+ reg = <4>;
+ funnel_dl_west_out_tpda_dl_center_14: endpoint {
+ remote-endpoint =
+ <&tpda_dl_center_14_in_funnel_dl_west>;
+ source = <&tpdm_rdpm_mx>;
+ };
+ };
+
+ };
+ };
+
+ tpda_dl_south: tpda@109c1000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb969>;
+
+ reg = <0x109c1000 0x1000>;
+ reg-names = "tpda-base";
+
+ qcom,tpda-atid = <75>;
+
+ qcom,dsb-elem-size = <2 32>;
+ qcom,cmb-elem-size = <1 32>;
+
+ coresight-name = "coresight-tpda-dl_south";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@1 {
+ reg = <1>;
+ tpda_dl_south_1_in_tpdm_sdcc4: endpoint {
+ remote-endpoint =
+ <&tpdm_sdcc4_out_tpda_dl_south_1>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+ tpda_dl_south_2_in_tpdm_dl_south: endpoint {
+ remote-endpoint =
+ <&tpdm_dl_south_out_tpda_dl_south_2>;
+ };
+ };
+
+ };
+
+ out-ports {
+
+ port {
+ tpda_dl_south_out_funnel_dl_south: endpoint {
+ remote-endpoint =
+ <&funnel_dl_south_in_tpda_dl_south>;
+ };
+ };
+
+ };
+ };
+
+ funnel_dl_south: funnel@109c2000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x109c2000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-dl_south";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ port {
+ funnel_dl_south_in_tpda_dl_south: endpoint {
+ remote-endpoint =
+ <&tpda_dl_south_out_funnel_dl_south>;
+ };
+ };
+
+ };
+
+ out-ports {
+ port {
+ funnel_dl_south_out_funnel_in1: endpoint {
+ remote-endpoint =
+ <&funnel_in1_in_funnel_dl_south>;
+ };
+ };
+
+ };
+ };
+
+ tpda_tmess: tpda@10cc7000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb969>;
+
+ reg = <0x10cc7000 0x1000>;
+ reg-names = "tpda-base";
+
+ qcom,cmb-elem-size = <0 32>,
+ <1 32>,
+ <2 32>;
+
+ qcom,tpda-atid = <85>;
+
+ status = "disabled";
+ coresight-name = "coresight-tpda-tmess";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@1 {
+ reg = <1>;
+ tpda_tmess_1_in_tpdm_tmess_0: endpoint {
+ remote-endpoint =
+ <&tpdm_tmess_0_out_tpda_tmess_1>;
+ };
+ };
+
+ port@0 {
+ reg = <0>;
+ tpda_tmess_0_in_tpdm_tmess_prng: endpoint {
+ remote-endpoint =
+ <&tpdm_tmess_prng_out_tpda_tmess_0>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+ tpda_tmess_2_in_tpdm_tmess_1: endpoint {
+ remote-endpoint =
+ <&tpdm_tmess_1_out_tpda_tmess_2>;
+ };
+ };
+
+ };
+
+ out-ports {
+
+ port {
+ tpda_tmess_out_funnel_tmess: endpoint {
+ remote-endpoint =
+ <&funnel_tmess_in_tpda_tmess>;
+ };
+ };
+
+ };
+ };
+
+ funnel_tmess: funnel@10cc8000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x10cc8000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-tmess";
+
+ status = "disabled";
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ port {
+ funnel_tmess_in_tpda_tmess: endpoint {
+ remote-endpoint =
+ <&tpda_tmess_out_funnel_tmess>;
+ };
+ };
+
+ };
+
+ out-ports {
+ port {
+ funnel_tmess_out_funnel_dl_north: endpoint {
+ remote-endpoint =
+ <&funnel_dl_north_in_funnel_tmess>;
+ };
+ };
+
+ };
+ };
+
+ tpda_dl_north: tpda@10ac1000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb969>;
+
+ reg = <0x10ac1000 0x1000>;
+ reg-names = "tpda-base";
+
+ qcom,tpda-atid = <97>;
+ qcom,dsb-elem-size = <2 32>;
+ qcom,cmb-elem-size = <1 32>;
+
+ coresight-name = "coresight-tpda-dl_north";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@1 {
+ reg = <1>;
+ tpda_dl_north_1_in_tpdm_sdcc2: endpoint {
+ remote-endpoint =
+ <&tpdm_sdcc2_out_tpda_dl_north_1>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+ tpda_dl_north_2_in_tpdm_dl_north: endpoint {
+ remote-endpoint =
+ <&tpdm_dl_north_out_tpda_dl_north_2>;
+ };
+ };
+
+ };
+
+ out-ports {
+
+ port {
+ tpda_dl_north_out_funnel_dl_north: endpoint {
+ remote-endpoint =
+ <&funnel_dl_north_in_tpda_dl_north>;
+ };
+ };
+
+ };
+ };
+
+ funnel_dl_north: funnel@10ac2000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x10ac2000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-dl_north";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ funnel_dl_north_in_tpda_dl_north: endpoint {
+ remote-endpoint =
+ <&tpda_dl_north_out_funnel_dl_north>;
+ };
+ };
+
+ port@3 {
+ reg = <3>;
+ funnel_dl_north_in_funnel_spss: endpoint {
+ remote-endpoint =
+ <&funnel_spss_out_funnel_dl_north>;
+ };
+ };
+
+ port@4 {
+ reg = <4>;
+ funnel_dl_north_in_funnel_tmess: endpoint {
+ remote-endpoint =
+ <&funnel_tmess_out_funnel_dl_north>;
+ };
+ };
+
+ };
+
+ out-ports {
+ port {
+ funnel_dl_north_out_funnel_in1: endpoint {
+ remote-endpoint =
+ <&funnel_in1_in_funnel_dl_north>;
+ };
+ };
+
+ };
+ };
+
+ tpda_modem: tpda@10803000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb969>;
+
+ reg = <0x10803000 0x1000>;
+ reg-names = "tpda-base";
+ qcom,tpda-atid = <67>;
+
+ qcom,dsb-elem-size = <0 32>;
+ qcom,cmb-elem-size = <0 64>;
+
+ coresight-name = "coresight-tpda-modem";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ tpda_modem_0_in_tpdm_modem_0: endpoint {
+ remote-endpoint =
+ <&tpdm_modem_0_out_tpda_modem_0>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ tpda_modem_1_in_tpdm_modem_1: endpoint {
+ remote-endpoint =
+ <&tpdm_modem_1_out_tpda_modem_1>;
+ };
+ };
+
+ };
+
+ out-ports {
+
+ port {
+ tpda_modem_out_funnel_modem: endpoint {
+ remote-endpoint =
+ <&funnel_modem_in_tpda_modem>;
+ };
+ };
+
+ };
+ };
+
+ funnel_modem_q6_dup: funnel@1080d000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x1080d000 0x1000>,
+ <0x1080c000 0x1000>;
+ reg-names = "funnel-base-dummy", "funnel-base-real";
+
+ coresight-name = "coresight-funnel-modem_q6_dup";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ qcom,duplicate-funnel;
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ funnel_modem_q6_dup_in_modem_etm0: endpoint {
+ remote-endpoint =
+ <&modem_etm0_out_funnel_modem_q6_dup>;
+ };
+ };
+
+ };
+
+ out-ports {
+ port {
+ funnel_modem_q6_dup_out_funnel_modem_q6: endpoint {
+ remote-endpoint =
+ <&funnel_modem_q6_in_funnel_modem_q6_dup>;
+ };
+ };
+
+ };
+ };
+
+ funnel_modem_q6: funnel@1080c000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x1080c000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-modem_q6";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@1 {
+ reg = <1>;
+ funnel_modem_q6_in_funnel_modem_q6_dup: endpoint {
+ remote-endpoint =
+ <&funnel_modem_q6_dup_out_funnel_modem_q6>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+ funnel_modem_q6_in_modem_diag: endpoint {
+ remote-endpoint =
+ <&modem_diag_out_funnel_modem_q6>;
+ };
+ };
+
+ };
+
+ out-ports {
+ port {
+ funnel_modem_q6_out_funnel_modem: endpoint {
+ remote-endpoint =
+ <&funnel_modem_in_funnel_modem_q6>;
+ };
+ };
+
+ };
+ };
+
+ funnel_modem: funnel@10804000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x10804000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-modem";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@1 {
+ reg = <1>;
+ funnel_modem_in_modem2_etm0: endpoint {
+ remote-endpoint =
+ <&modem2_etm0_out_funnel_modem>;
+ };
+ };
+
+ port@0 {
+ reg = <0>;
+ funnel_modem_in_tpda_modem: endpoint {
+ remote-endpoint =
+ <&tpda_modem_out_funnel_modem>;
+ };
+ };
+
+ port@3 {
+ reg = <3>;
+ funnel_modem_in_funnel_modem_q6: endpoint {
+ remote-endpoint =
+ <&funnel_modem_q6_out_funnel_modem>;
+ };
+ };
+
+ };
+
+ out-ports {
+ port {
+ funnel_modem_out_funnel_in1: endpoint {
+ remote-endpoint =
+ <&funnel_in1_in_funnel_modem>;
+ };
+ };
+
+ };
+ };
+
+ tpda_apss: tpda@13863000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb969>;
+
+ reg = <0x13863000 0x1000>;
+ reg-names = "tpda-base";
+
+ qcom,tpda-atid = <66>;
+
+ qcom,dsb-elem-size = <2 32>,
+ <4 32>;
+ qcom,cmb-elem-size = <0 32>,
+ <1 32>,
+ <3 64>;
+
+ coresight-name = "coresight-tpda-apss";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ tpda_apss_0_in_tpdm_llm_silver: endpoint {
+ remote-endpoint =
+ <&tpdm_llm_silver_out_tpda_apss_0>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ tpda_apss_1_in_tpdm_llm_gold: endpoint {
+ remote-endpoint =
+ <&tpdm_llm_gold_out_tpda_apss_1>;
+ };
+ };
+
+ port@3 {
+ reg = <3>;
+ tpda_apss_3_in_tpdm_apss0: endpoint {
+ remote-endpoint =
+ <&tpdm_apss0_out_tpda_apss_3>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+ tpda_apss_2_in_tpdm_apss_llm: endpoint {
+ remote-endpoint =
+ <&tpdm_apss_llm_out_tpda_apss_2>;
+ };
+ };
+
+ port@4 {
+ reg = <4>;
+ tpda_apss_4_in_tpdm_apps1: endpoint {
+ remote-endpoint =
+ <&tpdm_apps1_out_tpda_apss_4>;
+ };
+ };
+
+ };
+
+ out-ports {
+
+ port {
+ tpda_apss_out_funnel_apss: endpoint {
+ remote-endpoint =
+ <&funnel_apss_in_tpda_apss>;
+ };
+ };
+
+ };
+ };
+
+ funnel_apss: funnel@13810000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x13810000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-apss";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@2 {
+ reg = <2>;
+ funnel_apss_in_tpda_apss: endpoint {
+ remote-endpoint =
+ <&tpda_apss_out_funnel_apss>;
+ };
+ };
+
+ };
+
+ out-ports {
+ port {
+ funnel_apss_out_funnel_in1: endpoint {
+ remote-endpoint =
+ <&funnel_in1_in_funnel_apss>;
+ };
+ };
+
+ };
+ };
+
+ tpda_dl_center: tpda@10c2e000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb969>;
+
+ reg = <0x10c2e000 0x1000>;
+ reg-names = "tpda-base";
+
+ qcom,tpda-atid = <78>;
+
+ qcom,dsb-elem-size = <5 32>,
+ <6 32>,
+ <7 32>,
+ <9 32>,
+ <10 32>,
+ <12 32>,
+ <15 32>,
+ <17 32>,
+ <20 32>,
+ <21 32>,
+ <25 32>,
+ <26 32>;
+
+ qcom,cmb-elem-size = <7 32>,
+ <8 32>,
+ <10 32>,
+ <13 32>,
+ <14 64>,
+ <16 32>,
+ <19 64>,
+ <22 32>,
+ <23 32>,
+ <25 64>,
+ <27 64>;
+
+ coresight-name = "coresight-tpda-dl_center";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@a {
+ reg = <10>;
+ tpda_dl_center_10_in_funnel_dl_west: endpoint {
+ remote-endpoint =
+ <&funnel_dl_west_out_tpda_dl_center_10>;
+ };
+ };
+
+ port@d {
+ reg = <13>;
+ tpda_dl_center_13_in_funnel_dl_west: endpoint {
+ remote-endpoint =
+ <&funnel_dl_west_out_tpda_dl_center_13>;
+ };
+ };
+
+ port@c {
+ reg = <12>;
+ tpda_dl_center_12_in_funnel_dl_west: endpoint {
+ remote-endpoint =
+ <&funnel_dl_west_out_tpda_dl_center_12>;
+ };
+ };
+
+ port@f {
+ reg = <15>;
+ tpda_dl_center_15_in_funnel_turing: endpoint {
+ remote-endpoint =
+ <&funnel_turing_out_tpda_dl_center_15>;
+ };
+ };
+
+ port@e {
+ reg = <14>;
+ tpda_dl_center_14_in_funnel_dl_west: endpoint {
+ remote-endpoint =
+ <&funnel_dl_west_out_tpda_dl_center_14>;
+ };
+ };
+
+ port@11 {
+ reg = <17>;
+ tpda_dl_center_17_in_funnel_gfx_dl: endpoint {
+ remote-endpoint =
+ <&funnel_gfx_dl_out_tpda_dl_center_17>;
+ };
+ };
+
+ port@10 {
+ reg = <16>;
+ tpda_dl_center_16_in_funnel_turing: endpoint {
+ remote-endpoint =
+ <&funnel_turing_out_tpda_dl_center_16>;
+ };
+ };
+
+ port@13 {
+ reg = <19>;
+ tpda_dl_center_19_in_tpdm_prng: endpoint {
+ remote-endpoint =
+ <&tpdm_prng_out_tpda_dl_center_19>;
+ };
+ };
+
+ port@17 {
+ reg = <23>;
+ tpda_dl_center_23_in_tpdm_ipa: endpoint {
+ remote-endpoint =
+ <&tpdm_ipa_out_tpda_dl_center_23>;
+ };
+ };
+
+ port@16 {
+ reg = <22>;
+ tpda_dl_center_22_in_tpdm_vsense: endpoint {
+ remote-endpoint =
+ <&tpdm_vsense_out_tpda_dl_center_22>;
+ };
+ };
+
+ port@1a {
+ reg = <26>;
+ tpda_dl_center_26_in_tpdm_dlct: endpoint {
+ remote-endpoint =
+ <&tpdm_dlct_out_tpda_dl_center_26>;
+ };
+ };
+
+ port@14 {
+ reg = <20>;
+ tpda_dl_center_20_in_tpdm_qm: endpoint {
+ remote-endpoint =
+ <&tpdm_qm_out_tpda_dl_center_20>;
+ };
+ };
+
+ port@1b {
+ reg = <27>;
+ tpda_dl_center_27_in_tpdm_ipcc: endpoint {
+ remote-endpoint =
+ <&tpdm_ipcc_out_tpda_dl_center_27>;
+ };
+ };
+
+ port@5 {
+ reg = <5>;
+ tpda_dl_center_5_in_funnel_ddr_dl0: endpoint {
+ remote-endpoint =
+ <&funnel_ddr_dl0_out_tpda_dl_center_5>;
+ };
+ };
+
+ port@4 {
+ reg = <4>;
+ tpda_dl_center_4_in_funnel_lpass: endpoint {
+ remote-endpoint =
+ <&funnel_lpass_out_tpda_dl_center_4>;
+ };
+ };
+
+ port@7 {
+ reg = <7>;
+ tpda_dl_center_7_in_funnel_ddr_dl0: endpoint {
+ remote-endpoint =
+ <&funnel_ddr_dl0_out_tpda_dl_center_7>;
+ };
+ };
+
+ port@6 {
+ reg = <6>;
+ tpda_dl_center_6_in_funnel_ddr_dl0: endpoint {
+ remote-endpoint =
+ <&funnel_ddr_dl0_out_tpda_dl_center_6>;
+ };
+ };
+
+ port@9 {
+ reg = <9>;
+ tpda_dl_center_9_in_funnel_dl_west: endpoint {
+ remote-endpoint =
+ <&funnel_dl_west_out_tpda_dl_center_9>;
+ };
+ };
+
+ port@8 {
+ reg = <8>;
+ tpda_dl_center_8_in_funnel_ddr_dl0: endpoint {
+ remote-endpoint =
+ <&funnel_ddr_dl0_out_tpda_dl_center_8>;
+ };
+ };
+
+ port@19 {
+ reg = <25>;
+ tpda_dl_center_25_in_tpdm_pimem: endpoint {
+ remote-endpoint =
+ <&tpdm_pimem_out_tpda_dl_center_25>;
+ };
+ };
+
+ port@15 {
+ reg = <21>;
+ tpda_dl_center_21_in_tpdm_gcc: endpoint {
+ remote-endpoint =
+ <&tpdm_gcc_out_tpda_dl_center_21>;
+ };
+ };
+
+ };
+
+ out-ports {
+
+ port {
+ tpda_dl_center_out_funnel_dl_center: endpoint {
+ remote-endpoint =
+ <&funnel_dl_center_in_tpda_dl_center>;
+ };
+ };
+
+ };
+ };
+
+ funnel_dl_center: funnel@10c2f000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x10c2f000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-dl_center";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ funnel_dl_center_in_tpda_dl_center: endpoint {
+ remote-endpoint =
+ <&tpda_dl_center_out_funnel_dl_center>;
+ };
+ };
+
+ port@4 {
+ reg = <4>;
+ funnel_dl_center_in_funnel_ddr_dl0: endpoint {
+ remote-endpoint =
+ <&funnel_ddr_dl0_out_funnel_dl_center>;
+ };
+ };
+
+ port@6 {
+ reg = <6>;
+ funnel_dl_center_in_funnel_turing: endpoint {
+ remote-endpoint =
+ <&funnel_turing_out_funnel_dl_center>;
+ };
+ };
+
+ };
+
+ out-ports {
+ port {
+ funnel_dl_center_out_funnel_in1: endpoint {
+ remote-endpoint =
+ <&funnel_in1_in_funnel_dl_center>;
+ };
+ };
+
+ };
+ };
+
+ tpda_qdss: tpda@10004000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb969>;
+
+ reg = <0x10004000 0x1000>;
+ reg-names = "tpda-base";
+
+ qcom,tpda-atid = <65>;
+ coresight-name = "coresight-tpda-qdss";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@1 {
+ reg = <1>;
+ tpda_qdss_1_in_tpdm_spdm: endpoint {
+ remote-endpoint =
+ <&tpdm_spdm_out_tpda_qdss_1>;
+ };
+ };
+
+ port@0 {
+ reg = <0>;
+ tpda_qdss_0_in_tpdm_dcc: endpoint {
+ remote-endpoint =
+ <&tpdm_dcc_out_tpda_qdss_0>;
+ };
+ };
+
+ };
+
+ out-ports {
+
+ port {
+ tpda_qdss_out_funnel_in0: endpoint {
+ remote-endpoint =
+ <&funnel_in0_in_tpda_qdss>;
+ };
+ };
+
+ };
+ };
+
+ funnel_in0: funnel@10041000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x10041000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-in0";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ funnel_in0_in_snoc: endpoint {
+ remote-endpoint =
+ <&snoc_out_funnel_in0>;
+ };
+ };
+
+ port@7 {
+ reg = <7>;
+ funnel_in0_in_stm: endpoint {
+ remote-endpoint =
+ <&stm_out_funnel_in0>;
+ };
+ };
+
+ port@6 {
+ reg = <6>;
+ funnel_in0_in_tpda_qdss: endpoint {
+ remote-endpoint =
+ <&tpda_qdss_out_funnel_in0>;
+ };
+ };
+
+ };
+
+ out-ports {
+ port {
+ funnel_in0_out_funnel_qdss: endpoint {
+ remote-endpoint =
+ <&funnel_qdss_in_funnel_in0>;
+ };
+ };
+
+ };
+ };
+
+ funnel_in1: funnel@10042000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x10042000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-in1";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ funnel_in1_in_funnel_dl_south: endpoint {
+ remote-endpoint =
+ <&funnel_dl_south_out_funnel_in1>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ funnel_in1_in_funnel_dl_north: endpoint {
+ remote-endpoint =
+ <&funnel_dl_north_out_funnel_in1>;
+ };
+ };
+
+ port@4 {
+ reg = <4>;
+ funnel_in1_in_funnel_apss: endpoint {
+ remote-endpoint =
+ <&funnel_apss_out_funnel_in1>;
+ };
+ };
+
+ port@5 {
+ reg = <5>;
+ funnel_in1_in_funnel_modem: endpoint {
+ remote-endpoint =
+ <&funnel_modem_out_funnel_in1>;
+ };
+ };
+
+ port@6 {
+ reg = <6>;
+ funnel_in1_in_funnel_dl_center: endpoint {
+ remote-endpoint =
+ <&funnel_dl_center_out_funnel_in1>;
+ };
+ };
+
+ };
+
+ out-ports {
+ port {
+ funnel_in1_out_funnel_qdss: endpoint {
+ remote-endpoint =
+ <&funnel_qdss_in_funnel_in1>;
+ };
+ };
+
+ };
+ };
+
+ funnel_qdss: funnel@10045000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x10045000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-qdss";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@1 {
+ reg = <1>;
+ funnel_qdss_in_funnel_in1: endpoint {
+ remote-endpoint =
+ <&funnel_in1_out_funnel_qdss>;
+ };
+ };
+
+ port@0 {
+ reg = <0>;
+ funnel_qdss_in_funnel_in0: endpoint {
+ remote-endpoint =
+ <&funnel_in0_out_funnel_qdss>;
+ };
+ };
+
+ };
+
+ out-ports {
+ port {
+ funnel_qdss_out_funnel_aoss: endpoint {
+ remote-endpoint =
+ <&funnel_aoss_in_funnel_qdss>;
+ };
+ };
+
+ };
+ };
+
+ tpda_aoss: tpda@10b08000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb969>;
+
+ reg = <0x10b08000 0x1000>;
+ reg-names = "tpda-base";
+
+ coresight-name = "coresight-tpda-aoss";
+
+ qcom,tpda-atid = <71>;
+
+ qcom,cmb-elem-size = <0 64>,
+ <1 64>,
+ <2 64>,
+ <3 64>;
+
+ qcom,dsb-elem-size = <4 32>;
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ tpda_aoss_0_in_tpdm_swao_prio_0: endpoint {
+ remote-endpoint =
+ <&tpdm_swao_prio_0_out_tpda_aoss_0>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ tpda_aoss_1_in_tpdm_swao_prio_1: endpoint {
+ remote-endpoint =
+ <&tpdm_swao_prio_1_out_tpda_aoss_1>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+ tpda_aoss_2_in_tpdm_swao_prio_2: endpoint {
+ remote-endpoint =
+ <&tpdm_swao_prio_2_out_tpda_aoss_2>;
+ };
+ };
+
+ port@3 {
+ reg = <3>;
+ tpda_aoss_3_in_tpdm_swao_prio_3: endpoint {
+ remote-endpoint =
+ <&tpdm_swao_prio_3_out_tpda_aoss_3>;
+ };
+ };
+
+ port@4 {
+ reg = <4>;
+ tpda_aoss_4_in_tpdm_swao: endpoint {
+ remote-endpoint =
+ <&tpdm_swao_out_tpda_aoss_4>;
+ };
+ };
+
+ };
+
+ out-ports {
+
+ port {
+ tpda_aoss_out_funnel_aoss: endpoint {
+ remote-endpoint =
+ <&funnel_aoss_in_tpda_aoss>;
+ };
+ };
+
+ };
+ };
+
+ funnel_aoss: funnel@10b04000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x10b04000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-aoss";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@3 {
+ reg = <3>;
+ funnel_aoss_in_funnel_ssc: endpoint {
+ remote-endpoint =
+ <&funnel_ssc_out_funnel_aoss>;
+ };
+ };
+
+ port@5 {
+ reg = <5>;
+ funnel_aoss_in_funnel_lpass_lpi: endpoint {
+ remote-endpoint =
+ <&funnel_lpass_lpi_out_funnel_aoss>;
+ };
+ };
+
+ port@7 {
+ reg = <7>;
+ funnel_aoss_in_funnel_qdss: endpoint {
+ remote-endpoint =
+ <&funnel_qdss_out_funnel_aoss>;
+ };
+ };
+
+ port@6 {
+ reg = <6>;
+ funnel_aoss_in_tpda_aoss: endpoint {
+ remote-endpoint =
+ <&tpda_aoss_out_funnel_aoss>;
+ };
+ };
+
+ };
+
+ out-ports {
+ port {
+ funnel_aoss_out_tmc_etf: endpoint {
+ remote-endpoint =
+ <&tmc_etf_in_funnel_aoss>;
+ };
+ };
+
+ };
+ };
+
+ dummy_eud: dummy_sink {
+ compatible = "qcom,coresight-dummy";
+
+ coresight-name = "coresight-eud";
+
+ qcom,dummy-sink;
+ in-ports {
+ port {
+ eud_in_replicator_swao: endpoint {
+ remote-endpoint =
+ <&replicator_swao_out_eud>;
+ };
+ };
+ };
+ };
+
+ tmc_etf: tmc@10b05000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb961>;
+ reg = <0x10b05000 0x1000>;
+ reg-names = "tmc-base";
+
+ coresight-name = "coresight-tmc-etf";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ port {
+ tmc_etf_in_funnel_aoss: endpoint {
+ remote-endpoint =
+ <&funnel_aoss_out_tmc_etf>;
+ };
+ };
+ };
+
+ out-ports {
+ port {
+ tmc_etf_out_replicator_swao: endpoint {
+ remote-endpoint =
+ <&replicator_swao_in_tmc_etf>;
+ };
+ };
+ };
+ };
+
+ replicator_swao: replicator@10b06000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb909>;
+ reg = <0x10b06000 0x1000>;
+ reg-names = "replicator-base";
+
+ coresight-name = "coresight-replicator_swao";
+
+ qcom,replicator-loses-context;
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ port {
+ replicator_swao_in_tmc_etf: endpoint {
+ remote-endpoint =
+ <&tmc_etf_out_replicator_swao>;
+ };
+ };
+ };
+
+ out-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ replicator_swao_out_replicator_qdss: endpoint {
+ remote-endpoint =
+ <&replicator_qdss_in_replicator_swao>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ replicator_swao_out_eud: endpoint {
+ remote-endpoint =
+ <&eud_in_replicator_swao>;
+ };
+ };
+ };
+ };
+
+ replicator_qdss: replicator@10046000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb909>;
+ reg = <0x10046000 0x1000>;
+ reg-names = "replicator-base";
+
+ coresight-name = "coresight-replicator_qdss";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ port {
+ replicator_qdss_in_replicator_swao: endpoint {
+ remote-endpoint =
+ <&replicator_swao_out_replicator_qdss>;
+ };
+ };
+ };
+
+ out-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ replicator_qdss_out_replicator_etr: endpoint {
+ remote-endpoint =
+ <&replicator_etr_in_replicator_qdss>;
+ };
+ };
+ };
+ };
+
+ replicator_etr: replicator@1004e000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb909>;
+ reg = <0x1004e000 0x1000>;
+ reg-names = "replicator-base";
+
+ coresight-name = "coresight-replicator_etr";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ port {
+ replicator_etr_in_replicator_qdss: endpoint {
+ remote-endpoint =
+ <&replicator_qdss_out_replicator_etr>;
+ };
+ };
+ };
+
+ out-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ replicator_etr_out_tmc_etr: endpoint {
+ remote-endpoint =
+ <&tmc_etr_in_replicator_etr>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ replicator_etr_out_tmc_etr1: endpoint {
+ remote-endpoint =
+ <&tmc_etr1_in_replicator_etr>;
+ };
+ };
+ };
+ };
+
+ tmc_etr: tmc@10048000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb961>;
+ reg = <0x10048000 0x1000>,
+ <0x10064000 0x16000>;
+ reg-names = "tmc-base", "bam-base";
+
+ qcom,iommu-dma = "bypass";
+ iommus = <&apps_smmu 0x0600 0>,
+ <&apps_smmu 0x0520 0>;
+
+ qcom,iommu-dma-addr-pool = <0x0 0xffc00000>;
+
+ qcom,sw-usb;
+ dma-coherent;
+ coresight-name = "coresight-tmc-etr";
+
+ coresight-csr = <&csr>;
+ csr-atid-offset = <0xf4>;
+ csr-irqctrl-offset = <0x6c>;
+ byte-cntr-name = "byte-cntr";
+ byte-cntr-class-name = "coresight-tmc-etr-stream";
+
+ interrupts = ;
+ interrupt-names = "byte-cntr-irq";
+
+ arm,scatter-gather;
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ port {
+ tmc_etr_in_replicator_etr: endpoint {
+ remote-endpoint =
+ <&replicator_etr_out_tmc_etr>;
+ };
+ };
+ };
+ };
+
+ tmc_etr1: tmc@1004f000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb961>;
+ reg = <0x1004f000 0x1000>;
+ reg-names = "tmc-base";
+
+ coresight-name = "coresight-tmc-etr1";
+
+ iommus = <&apps_smmu 0x0620 0>;
+ qcom,iommu-dma-addr-pool = <0x0 0xffc00000>;
+
+ coresight-csr = <&csr>;
+ csr-atid-offset = <0x104>;
+ csr-irqctrl-offset = <0x70>;
+ byte-cntr-name = "byte-cntr1";
+ byte-cntr-class-name = "coresight-tmc-etr1-stream";
+
+ interrupts = ;
+ interrupt-names = "byte-cntr-irq";
+
+ arm,scatter-gather;
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ port {
+ tmc_etr1_in_replicator_etr: endpoint {
+ remote-endpoint =
+ <&replicator_etr_out_tmc_etr1>;
+ };
+ };
+ };
+ };
+
+ csr: csr@10001000 {
+ compatible = "qcom,coresight-csr";
+ reg = <0x10001000 0x1000>;
+ reg-names = "csr-base";
+
+ coresight-name = "coresight-csr";
+ qcom,usb-bam-support;
+ qcom,hwctrl-set-support;
+ qcom,set-byte-cntr-support;
+
+ qcom,blk-size = <1>;
+ };
+
+ swao_csr: csr@10b11000 {
+ compatible = "qcom,coresight-csr";
+ reg = <0x10b11000 0x1000>,
+ <0x10b110f8 0x50>;
+ reg-names = "csr-base", "msr-base";
+
+ coresight-name = "coresight-swao-csr";
+ qcom,timestamp-support;
+ qcom,msr-support;
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ qcom,blk-size = <1>;
+ };
+
+ qc_cti: cti@10010000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10010000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-qc_cti";
+
+ qcom,extended_cti;
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ cti0: cti@10c2a000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10c2a000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-cti0";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ cti1: cti@10c2b000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10c2b000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-cti1";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ dlmm_cti0: cti@10c09000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10c09000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-dlmm_cti0";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ dlmm_cti1: cti@10c0a000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10c0a000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-dlmm_cti1";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ ddr_dl_0_cti_0: cti@10d02000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10d02000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-ddr_dl_0_cti_0";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ ddr_dl_0_cti_1: cti@10d03000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10d03000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-ddr_dl_0_cti_1";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ ddr_dl_0_cti_2: cti@10d04000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10d04000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-ddr_dl_0_cti_2";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ ddr_dl_1_cti_0: cti@10d0c000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10d0c000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-ddr_dl_1_cti_0";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ ddr_dl_1_cti_1: cti@10d0d000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10d0d000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-ddr_dl_1_cti_1";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ ddr_dl_1_cti_2: cti@10d0e000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10d0e000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-ddr_dl_1_cti_2";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ ddr_ch02_dl_cti_0: cti@10d21000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10d21000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-ddr_ch02_dl_cti_0";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ ddr_ch13_dl_cti_0: cti@10d31000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10d31000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-ddr_ch13_dl_cti_0";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ lpass_dl_cti: cti@10845000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10845000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-lpass_dl_cti";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ gpu_isdb_cti: cti@10961000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10961000 0x1000>;
+
+ status = "disabled";
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-gpu_isdb_cti";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ gpu_cortex_m3: cti@10962000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10962000 0x1000>;
+
+ status = "disabled";
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-gpu_cortex_m3";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ iris_dl_cti: cti@10831000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10831000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-iris_dl_cti";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ mdss_dl_cti: cti@10c61000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10c61000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-mdss_dl_cti";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ turing_dl_cti_0: cti@10982000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10982000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-turing_dl_cti_0";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ turing_dl_cti_2: cti@10984000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10984000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-turing_dl_cti_2";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ turing_q6_cti: cti@1098b000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x1098b000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-turing_q6_cti";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ swao_cti: cti@10b00000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10b00000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-swao_cti";
+
+ qcom,extended_cti;
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ ssc_cti_noc: cti@10b2e000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10b2e000 0x1000>;
+
+ status = "disabled";
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-ssc_cti_noc";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+
+ ssc_cti0_q6: cti@10b2b000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10b2b000 0x1000>;
+
+ status = "disabled";
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-ssc_cti0_q6";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ ssc_cti1: cti@10b21000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10b21000 0x1000>;
+
+ status = "disabled";
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-ssc_cti1";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ ssc_cortex_m3: cti@10b20000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10b20000 0x1000>;
+
+ status = "disabled";
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-ssc_cortex_m3";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ cortex_m3: cti@10b13000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10b13000 0x1000>;
+
+ status = "disabled";
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-cortex_m3";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ lpass_lpi_cti: cti@10b41000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10b41000 0x1000>;
+
+ status = "disabled";
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-lpass_lpi_cti";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ lpass_q6_cti: cti@10b4b000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10b4b000 0x1000>;
+
+ status = "disabled";
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-lpass_q6_cti";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ apss_cti0: cti@138e0000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x138e0000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-apss_cti0";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ apss_cti1: cti@138f0000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x138f0000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-apss_cti1";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ apss_cti2: cti@13900000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x13900000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-apss_cti2";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ riscv_cti: cti@1382b000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x1382b000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-riscv_cti";
+
+ status = "disabled";
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ mss_q6_cti: cti@1080b000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x1080b000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-mss_q6_cti";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ mss_vq6_cti: cti@10813000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10813000 0x1000>;
+
+ status = "disabled";
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-mss_vq6_cti";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ tmess_cti_0: cti@10cc2000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10cc2000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-tmess_cti_0";
+
+ status = "disabled";
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ tmess_cti_1: cti@10cc3000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10cc3000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-tmess_cti_1";
+
+ status = "disabled";
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ tmess_cti_2: cti@10cc4000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10cc4000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-tmess_cti_2";
+
+ status = "disabled";
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+
+ tmess_cti_3: cti@10cc5000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10cc5000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-tmess_cti_3";
+
+ status = "disabled";
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ tmess_cti_4: cti@10cc6000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10cc6000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-tmess_cti_4";
+
+ status = "disabled";
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ tmess_cpu: cti@10cd1000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10cd1000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-tmess_cpu";
+
+ status = "disabled";
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ modem_tp_cti: cti@10802000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10802000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-modem_tp_cti";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ apss_atb_cti: cti@13862000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x13862000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-apss_atb_cti";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ ddrss_shrm2: cti@10d11000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10d11000 0x1000>;
+
+ status = "disabled";
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-ddrss_shrm2";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ sp_sc300: cti@10884000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10884000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-sp_sc300";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ spss_cti: cti@10881000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x10881000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-spss_cti";
+
+ status = "disabled";
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ cpu0: cti@12010000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x12010000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-cpu0";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ cpu1: cti@12020000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x12020000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-cpu1";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ cpu2: cti@12030000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x12030000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-cpu2";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ cpu3: cti@12040000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x12040000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-cpu3";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ cpu4: cti@12050000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x12050000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-cpu4";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ cpu5: cti@112060000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x12060000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-cpu5";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ cpu6: cti@12070000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x12070000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-cpu6";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ cpu7: cti@12080000 {
+ compatible = "arm,coresight-cti", "arm,primecell";
+ reg = <0x12080000 0x1000>;
+
+ arm,primecell-periphid = <0x000bb922>;
+ coresight-name = "coresight-cti-cpu7";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ ipcb_tgu: tgu@10b0e000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb999>;
+ reg = <0x10b0e000 0x1000>;
+ reg-names = "tgu-base";
+ tgu-steps = <3>;
+ tgu-conditions = <4>;
+ tgu-regs = <4>;
+ tgu-timer-counters = <8>;
+
+ coresight-name = "coresight-tgu-ipcb";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+};
diff --git a/qcom/waipio-debug.dtsi b/qcom/waipio-debug.dtsi
new file mode 100644
index 00000000..2fe71b81
--- /dev/null
+++ b/qcom/waipio-debug.dtsi
@@ -0,0 +1,2783 @@
+#include
+
+&reserved_memory {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ dump_mem: mem_dump_region {
+ compatible = "shared-dma-pool";
+ alloc-ranges = <0x1 0x00000000 0xfffffffe 0xffffffff>;
+ reusable;
+ alignment = <0x0 0x400000>;
+ size = <0 0x3400000>;
+ };
+};
+
+&soc {
+ dcc: dcc_v2@100ff000 {
+ compatible = "qcom,dcc-v2";
+ reg = <0x100ff000 0x1000>,
+ <0x10080000 0x18000>;
+
+ qcom,transaction_timeout = <0>;
+
+ reg-names = "dcc-base", "dcc-ram-base";
+ dcc-ram-offset = <0>;
+
+ link_list_0 {
+ qcom,curr-link-list = <6>;
+ qcom,data-sink = "sram";
+ qcom,link-list = ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+