Merge tag 'zonefs-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal...
[sfrench/cifs-2.6.git] / arch / arm64 / boot / dts / qcom / x1e80100.dtsi
index 6f75fc342ceb38168f5ae33bfc490a1003eed755..8e517f76189e19cb038dfa0d3557ef729c630b46 100644 (file)
@@ -4,14 +4,20 @@
  */
 
 #include <dt-bindings/clock/qcom,rpmh.h>
+#include <dt-bindings/clock/qcom,x1e80100-dispcc.h>
 #include <dt-bindings/clock/qcom,x1e80100-gcc.h>
+#include <dt-bindings/clock/qcom,x1e80100-tcsr.h>
 #include <dt-bindings/dma/qcom-gpi.h>
 #include <dt-bindings/interconnect/qcom,icc.h>
 #include <dt-bindings/interconnect/qcom,x1e80100-rpmh.h>
 #include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/mailbox/qcom-ipcc.h>
+#include <dt-bindings/phy/phy-qcom-qmp.h>
 #include <dt-bindings/power/qcom,rpmhpd.h>
 #include <dt-bindings/power/qcom-rpmpd.h>
+#include <dt-bindings/soc/qcom,gpr.h>
 #include <dt-bindings/soc/qcom,rpmh-rsc.h>
+#include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h>
 
 / {
        interrupt-parent = <&intc>;
                CLUSTER_PD0: power-domain-cpu-cluster0 {
                        #power-domain-cells = <0>;
                        domain-idle-states = <&CLUSTER_CL4>, <&CLUSTER_CL5>;
+                       power-domains = <&SYSTEM_PD>;
                };
 
                CLUSTER_PD1: power-domain-cpu-cluster1 {
                        #power-domain-cells = <0>;
                        domain-idle-states = <&CLUSTER_CL4>, <&CLUSTER_CL5>;
+                       power-domains = <&SYSTEM_PD>;
                };
 
                CLUSTER_PD2: power-domain-cpu-cluster2 {
                        #power-domain-cells = <0>;
                        domain-idle-states = <&CLUSTER_CL4>, <&CLUSTER_CL5>;
+                       power-domains = <&SYSTEM_PD>;
+               };
+
+               SYSTEM_PD: power-domain-system {
+                       #power-domain-cells = <0>;
+                       /* TODO: system-wide idle states */
                };
        };
 
                };
        };
 
+       smp2p-adsp {
+               compatible = "qcom,smp2p";
+
+               interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
+                                            IPCC_MPROC_SIGNAL_SMP2P
+                                            IRQ_TYPE_EDGE_RISING>;
+
+               mboxes = <&ipcc IPCC_CLIENT_LPASS
+                               IPCC_MPROC_SIGNAL_SMP2P>;
+
+               qcom,smem = <443>, <429>;
+               qcom,local-pid = <0>;
+               qcom,remote-pid = <2>;
+
+               smp2p_adsp_out: master-kernel {
+                       qcom,entry-name = "master-kernel";
+                       #qcom,smem-state-cells = <1>;
+               };
+
+               smp2p_adsp_in: slave-kernel {
+                       qcom,entry-name = "slave-kernel";
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+               };
+       };
+
+       smp2p-cdsp {
+               compatible = "qcom,smp2p";
+
+               interrupts-extended = <&ipcc IPCC_CLIENT_CDSP
+                                            IPCC_MPROC_SIGNAL_SMP2P
+                                            IRQ_TYPE_EDGE_RISING>;
+
+               mboxes = <&ipcc IPCC_CLIENT_CDSP
+                               IPCC_MPROC_SIGNAL_SMP2P>;
+
+               qcom,smem = <94>, <432>;
+               qcom,local-pid = <0>;
+               qcom,remote-pid = <5>;
+
+               smp2p_cdsp_out: master-kernel {
+                       qcom,entry-name = "master-kernel";
+                       #qcom,smem-state-cells = <1>;
+               };
+
+               smp2p_cdsp_in: slave-kernel {
+                       qcom,entry-name = "slave-kernel";
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+               };
+       };
+
        soc: soc@0 {
                compatible = "simple-bus";
 
                        clocks = <&bi_tcxo_div2>,
                                 <&sleep_clk>,
                                 <0>,
+                                <&pcie4_phy>,
                                 <0>,
+                                <&pcie6a_phy>,
                                 <0>,
-                                <0>,
-                                <0>,
-                                <0>,
-                                <0>,
-                                <0>;
+                                <&usb_1_ss0_qmpphy QMP_USB43DP_USB3_PIPE_CLK>,
+                                <&usb_1_ss1_qmpphy QMP_USB43DP_USB3_PIPE_CLK>,
+                                <&usb_1_ss2_qmpphy QMP_USB43DP_USB3_PIPE_CLK>;
 
                        power-domains = <&rpmhpd RPMHPD_CX>;
                        #clock-cells = <1>;
                        #power-domain-cells = <1>;
                };
 
+               ipcc: mailbox@408000 {
+                       compatible = "qcom,x1e80100-ipcc", "qcom,ipcc";
+                       reg = <0 0x00408000 0 0x1000>;
+
+                       interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-controller;
+                       #interrupt-cells = <3>;
+
+                       #mbox-cells = <2>;
+               };
+
                gpi_dma2: dma-controller@800000 {
                        compatible = "qcom,x1e80100-gpi-dma", "qcom,sm6350-gpi-dma";
                        reg = <0 0x00800000 0 0x60000>;
                                clocks = <&gcc GCC_QUPV3_WRAP2_S5_CLK>;
                                clock-names = "se";
 
-                               interconnects = <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS
+                               interconnects = <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS
                                                 &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>,
                                                <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
                                                 &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>;
                        };
                };
 
+               usb_1_ss0_hsphy: phy@fd3000 {
+                       compatible = "qcom,x1e80100-snps-eusb2-phy",
+                                    "qcom,sm8550-snps-eusb2-phy";
+                       reg = <0 0x00fd3000 0 0x154>;
+                       #phy-cells = <0>;
+
+                       clocks = <&tcsr TCSR_USB2_1_CLKREF_EN>;
+                       clock-names = "ref";
+
+                       resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
+
+                       status = "disabled";
+               };
+
+               usb_1_ss0_qmpphy: phy@fd5000 {
+                       compatible = "qcom,x1e80100-qmp-usb3-dp-phy";
+                       reg = <0 0x00fd5000 0 0x4000>;
+
+                       clocks = <&gcc GCC_USB3_PRIM_PHY_AUX_CLK>,
+                                <&rpmhcc RPMH_CXO_CLK>,
+                                <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>,
+                                <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>;
+                       clock-names = "aux",
+                                     "ref",
+                                     "com_aux",
+                                     "usb3_pipe";
+
+                       power-domains = <&gcc GCC_USB_0_PHY_GDSC>;
+
+                       resets = <&gcc GCC_USB3_PHY_PRIM_BCR>,
+                                <&gcc GCC_USB4_0_DP0_PHY_PRIM_BCR>;
+                       reset-names = "phy",
+                                     "common";
+
+                       #clock-cells = <1>;
+                       #phy-cells = <1>;
+
+                       status = "disabled";
+               };
+
+               usb_1_ss1_hsphy: phy@fd9000 {
+                       compatible = "qcom,x1e80100-snps-eusb2-phy",
+                                    "qcom,sm8550-snps-eusb2-phy";
+                       reg = <0 0x00fd9000 0 0x154>;
+                       #phy-cells = <0>;
+
+                       clocks = <&tcsr TCSR_USB2_1_CLKREF_EN>;
+                       clock-names = "ref";
+
+                       resets = <&gcc GCC_QUSB2PHY_SEC_BCR>;
+
+                       status = "disabled";
+               };
+
+               usb_1_ss1_qmpphy: phy@fda000 {
+                       compatible = "qcom,x1e80100-qmp-usb3-dp-phy";
+                       reg = <0 0x00fda000 0 0x4000>;
+
+                       clocks = <&gcc GCC_USB3_SEC_PHY_AUX_CLK>,
+                                <&rpmhcc RPMH_CXO_CLK>,
+                                <&gcc GCC_USB3_SEC_PHY_COM_AUX_CLK>,
+                                <&gcc GCC_USB3_SEC_PHY_PIPE_CLK>;
+                       clock-names = "aux",
+                                     "ref",
+                                     "com_aux",
+                                     "usb3_pipe";
+
+                       power-domains = <&gcc GCC_USB_1_PHY_GDSC>;
+
+                       resets = <&gcc GCC_USB3_PHY_SEC_BCR>,
+                                <&gcc GCC_USB4_1_DP0_PHY_SEC_BCR>;
+                       reset-names = "phy",
+                                     "common";
+
+                       #clock-cells = <1>;
+                       #phy-cells = <1>;
+
+                       status = "disabled";
+               };
+
+               usb_1_ss2_hsphy: phy@fde000 {
+                       compatible = "qcom,x1e80100-snps-eusb2-phy",
+                                    "qcom,sm8550-snps-eusb2-phy";
+                       reg = <0 0x00fde000 0 0x154>;
+                       #phy-cells = <0>;
+
+                       clocks = <&tcsr TCSR_USB2_1_CLKREF_EN>;
+                       clock-names = "ref";
+
+                       resets = <&gcc GCC_QUSB2PHY_TERT_BCR>;
+
+                       status = "disabled";
+               };
+
+               usb_1_ss2_qmpphy: phy@fdf000 {
+                       compatible = "qcom,x1e80100-qmp-usb3-dp-phy";
+                       reg = <0 0x00fdf000 0 0x4000>;
+
+                       clocks = <&gcc GCC_USB3_TERT_PHY_AUX_CLK>,
+                                <&rpmhcc RPMH_CXO_CLK>,
+                                <&gcc GCC_USB3_TERT_PHY_COM_AUX_CLK>,
+                                <&gcc GCC_USB3_TERT_PHY_PIPE_CLK>;
+                       clock-names = "aux",
+                                     "ref",
+                                     "com_aux",
+                                     "usb3_pipe";
+
+                       power-domains = <&gcc GCC_USB_2_PHY_GDSC>;
+
+                       resets = <&gcc GCC_USB3_PHY_TERT_BCR>,
+                                <&gcc GCC_USB4_2_DP0_PHY_TERT_BCR>;
+                       reset-names = "phy",
+                                     "common";
+
+                       #clock-cells = <1>;
+                       #phy-cells = <1>;
+
+                       status = "disabled";
+               };
+
                cnoc_main: interconnect@1500000 {
                        compatible = "qcom,x1e80100-cnoc-main";
                        reg = <0 0x1500000 0 0x14400>;
                        #interconnect-cells = <2>;
                };
 
+               pcie6a: pci@1bf8000 {
+                       device_type = "pci";
+                       compatible = "qcom,pcie-x1e80100";
+                       reg = <0 0x01bf8000 0 0x3000>,
+                             <0 0x70000000 0 0xf1d>,
+                             <0 0x70000f20 0 0xa8>,
+                             <0 0x70001000 0 0x1000>,
+                             <0 0x70100000 0 0x100000>;
+                       reg-names = "parf",
+                                   "dbi",
+                                   "elbi",
+                                   "atu",
+                                   "config";
+                       #address-cells = <3>;
+                       #size-cells = <2>;
+                       ranges = <0x01000000 0 0x00000000 0 0x70200000 0 0x100000>,
+                                <0x02000000 0 0x70300000 0 0x70300000 0 0x3d00000>;
+                       bus-range = <0 0xff>;
+
+                       dma-coherent;
+
+                       linux,pci-domain = <7>;
+                       num-lanes = <2>;
+
+                       interrupts = <GIC_SPI 773 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 774 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 837 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 838 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 839 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 840 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 841 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 842 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "msi0",
+                                         "msi1",
+                                         "msi2",
+                                         "msi3",
+                                         "msi4",
+                                         "msi5",
+                                         "msi6",
+                                         "msi7";
+
+                       #interrupt-cells = <1>;
+                       interrupt-map-mask = <0 0 0 0x7>;
+                       interrupt-map = <0 0 0 1 &intc 0 0 0 843 IRQ_TYPE_LEVEL_HIGH>,
+                                       <0 0 0 2 &intc 0 0 0 844 IRQ_TYPE_LEVEL_HIGH>,
+                                       <0 0 0 3 &intc 0 0 0 845 IRQ_TYPE_LEVEL_HIGH>,
+                                       <0 0 0 4 &intc 0 0 0 772 IRQ_TYPE_LEVEL_HIGH>;
+
+                       clocks = <&gcc GCC_PCIE_6A_AUX_CLK>,
+                                <&gcc GCC_PCIE_6A_CFG_AHB_CLK>,
+                                <&gcc GCC_PCIE_6A_MSTR_AXI_CLK>,
+                                <&gcc GCC_PCIE_6A_SLV_AXI_CLK>,
+                                <&gcc GCC_PCIE_6A_SLV_Q2A_AXI_CLK>,
+                                <&gcc GCC_CFG_NOC_PCIE_ANOC_SOUTH_AHB_CLK>,
+                                <&gcc GCC_CNOC_PCIE_SOUTH_SF_AXI_CLK>;
+                       clock-names = "aux",
+                                     "cfg",
+                                     "bus_master",
+                                     "bus_slave",
+                                     "slave_q2a",
+                                     "noc_aggr",
+                                     "cnoc_sf_axi";
+
+                       assigned-clocks = <&gcc GCC_PCIE_6A_AUX_CLK>;
+                       assigned-clock-rates = <19200000>;
+
+                       interconnects = <&pcie_south_anoc MASTER_PCIE_6A QCOM_ICC_TAG_ALWAYS
+                                        &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
+                                       <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
+                                        &cnoc_main SLAVE_PCIE_6A QCOM_ICC_TAG_ALWAYS>;
+                       interconnect-names = "pcie-mem",
+                                            "cpu-pcie";
+
+                       resets = <&gcc GCC_PCIE_6A_BCR>,
+                                <&gcc GCC_PCIE_6A_LINK_DOWN_BCR>;
+                       reset-names = "pci",
+                                     "link_down";
+
+                       power-domains = <&gcc GCC_PCIE_6A_GDSC>;
+
+                       phys = <&pcie6a_phy>;
+                       phy-names = "pciephy";
+
+                       status = "disabled";
+               };
+
+               pcie6a_phy: phy@1bfc000 {
+                       compatible = "qcom,x1e80100-qmp-gen4x2-pcie-phy";
+                       reg = <0 0x01bfc000 0 0x2000>;
+
+                       clocks = <&gcc GCC_PCIE_6A_PHY_AUX_CLK>,
+                                <&gcc GCC_PCIE_6A_CFG_AHB_CLK>,
+                                <&rpmhcc RPMH_CXO_CLK>,
+                                <&gcc GCC_PCIE_6A_PHY_RCHNG_CLK>,
+                                <&gcc GCC_PCIE_6A_PIPE_CLK>;
+                       clock-names = "aux",
+                                     "cfg_ahb",
+                                     "ref",
+                                     "rchng",
+                                     "pipe";
+
+                       resets = <&gcc GCC_PCIE_6A_PHY_BCR>,
+                                <&gcc GCC_PCIE_6A_NOCSR_COM_PHY_BCR>;
+                       reset-names = "phy",
+                                     "phy_nocsr";
+
+                       assigned-clocks = <&gcc GCC_PCIE_6A_PHY_RCHNG_CLK>;
+                       assigned-clock-rates = <100000000>;
+
+                       power-domains = <&gcc GCC_PCIE_6_PHY_GDSC>;
+
+                       #clock-cells = <0>;
+                       clock-output-names = "pcie6a_pipe_clk";
+
+                       #phy-cells = <0>;
+
+                       status = "disabled";
+               };
+
+               pcie4: pci@1c08000 {
+                       device_type = "pci";
+                       compatible = "qcom,pcie-x1e80100";
+                       reg = <0 0x01c08000 0 0x3000>,
+                             <0 0x7c000000 0 0xf1d>,
+                             <0 0x7c000f40 0 0xa8>,
+                             <0 0x7c001000 0 0x1000>,
+                             <0 0x7c100000 0 0x100000>,
+                             <0 0x01c0b000 0 0x1000>;
+                       reg-names = "parf",
+                                   "dbi",
+                                   "elbi",
+                                   "atu",
+                                   "config",
+                                   "mhi";
+                       #address-cells = <3>;
+                       #size-cells = <2>;
+                       ranges = <0x01000000 0 0x00000000 0 0x7c200000 0 0x100000>,
+                                <0x02000000 0 0x7c300000 0 0x7c300000 0 0x3d00000>;
+                       bus-range = <0x00 0xff>;
+
+                       dma-coherent;
+
+                       linux,pci-domain = <5>;
+                       num-lanes = <2>;
+
+                       interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "msi0",
+                                         "msi1",
+                                         "msi2",
+                                         "msi3",
+                                         "msi4",
+                                         "msi5",
+                                         "msi6",
+                                         "msi7";
+
+                       #interrupt-cells = <1>;
+                       interrupt-map-mask = <0 0 0 0x7>;
+                       interrupt-map = <0 0 0 1 &intc 0 0 0 149 IRQ_TYPE_LEVEL_HIGH>,
+                                       <0 0 0 2 &intc 0 0 0 150 IRQ_TYPE_LEVEL_HIGH>,
+                                       <0 0 0 3 &intc 0 0 0 151 IRQ_TYPE_LEVEL_HIGH>,
+                                       <0 0 0 4 &intc 0 0 0 152 IRQ_TYPE_LEVEL_HIGH>;
+
+                       clocks = <&gcc GCC_PCIE_4_AUX_CLK>,
+                                <&gcc GCC_PCIE_4_CFG_AHB_CLK>,
+                                <&gcc GCC_PCIE_4_MSTR_AXI_CLK>,
+                                <&gcc GCC_PCIE_4_SLV_AXI_CLK>,
+                                <&gcc GCC_PCIE_4_SLV_Q2A_AXI_CLK>,
+                                <&gcc GCC_CFG_NOC_PCIE_ANOC_NORTH_AHB_CLK>,
+                                <&gcc GCC_CNOC_PCIE_NORTH_SF_AXI_CLK>;
+                       clock-names = "aux",
+                                     "cfg",
+                                     "bus_master",
+                                     "bus_slave",
+                                     "slave_q2a",
+                                     "noc_aggr",
+                                     "cnoc_sf_axi";
+
+                       assigned-clocks = <&gcc GCC_PCIE_4_AUX_CLK>;
+                       assigned-clock-rates = <19200000>;
+
+                       interconnects = <&pcie_south_anoc MASTER_PCIE_4 QCOM_ICC_TAG_ALWAYS
+                                        &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
+                                       <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
+                                        &cnoc_main SLAVE_PCIE_4 QCOM_ICC_TAG_ALWAYS>;
+                       interconnect-names = "pcie-mem",
+                                            "cpu-pcie";
+
+                       resets = <&gcc GCC_PCIE_4_BCR>,
+                                <&gcc GCC_PCIE_4_LINK_DOWN_BCR>;
+                       reset-names = "pci",
+                                     "link_down";
+
+                       power-domains = <&gcc GCC_PCIE_4_GDSC>;
+
+                       phys = <&pcie4_phy>;
+                       phy-names = "pciephy";
+
+                       status = "disabled";
+               };
+
+               pcie4_phy: phy@1c0e000 {
+                       compatible = "qcom,x1e80100-qmp-gen3x2-pcie-phy";
+                       reg = <0 0x01c0e000 0 0x2000>;
+
+                       clocks = <&gcc GCC_PCIE_4_AUX_CLK>,
+                                <&gcc GCC_PCIE_4_CFG_AHB_CLK>,
+                                <&rpmhcc RPMH_CXO_CLK>,
+                                <&gcc GCC_PCIE_4_PHY_RCHNG_CLK>,
+                                <&gcc GCC_PCIE_4_PIPE_CLK>;
+                       clock-names = "aux",
+                                     "cfg_ahb",
+                                     "ref",
+                                     "rchng",
+                                     "pipe";
+
+                       resets = <&gcc GCC_PCIE_4_PHY_BCR>;
+                       reset-names = "phy";
+
+                       assigned-clocks = <&gcc GCC_PCIE_4_PHY_RCHNG_CLK>;
+                       assigned-clock-rates = <100000000>;
+
+                       power-domains = <&gcc GCC_PCIE_4_PHY_GDSC>;
+
+                       #clock-cells = <0>;
+                       clock-output-names = "pcie4_pipe_clk";
+
+                       #phy-cells = <0>;
+
+                       status = "disabled";
+               };
+
                tcsr_mutex: hwlock@1f40000 {
                        compatible = "qcom,tcsr-mutex";
                        reg = <0 0x01f40000 0 0x20000>;
                        #hwlock-cells = <1>;
                };
 
+               tcsr: clock-controller@1fc0000 {
+                       compatible = "qcom,x1e80100-tcsr", "syscon";
+                       reg = <0 0x01fc0000 0 0x30000>;
+                       clocks = <&rpmhcc RPMH_CXO_CLK>;
+                       #clock-cells = <1>;
+                       #reset-cells = <1>;
+               };
+
                gem_noc: interconnect@26400000 {
                        compatible = "qcom,x1e80100-gem-noc";
                        reg = <0 0x26400000 0 0x311200>;
                        #interconnect-cells = <2>;
                };
 
+               lpass_wsa2macro: codec@6aa0000 {
+                       compatible = "qcom,x1e80100-lpass-wsa-macro", "qcom,sm8550-lpass-wsa-macro";
+                       reg = <0 0x06aa0000 0 0x1000>;
+                       clocks = <&q6prmcc LPASS_CLK_ID_WSA2_CORE_TX_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
+                                <&q6prmcc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
+                                <&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
+                                <&lpass_vamacro>;
+                       clock-names = "mclk",
+                                     "macro",
+                                     "dcodec",
+                                     "fsgen";
+
+                       #clock-cells = <0>;
+                       clock-output-names = "wsa2-mclk";
+                       #sound-dai-cells = <1>;
+                       sound-name-prefix = "WSA2";
+               };
+
+               swr3: soundwire@6ab0000 {
+                       compatible = "qcom,soundwire-v2.0.0";
+                       reg = <0 0x06ab0000 0 0x10000>;
+                       clocks = <&lpass_wsa2macro>;
+                       clock-names = "iface";
+                       interrupts = <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>;
+                       label = "WSA2";
+
+                       pinctrl-0 = <&wsa2_swr_active>;
+                       pinctrl-names = "default";
+
+                       qcom,din-ports = <4>;
+                       qcom,dout-ports = <9>;
+
+                       qcom,ports-sinterval =          /bits/ 16 <0x07 0x1f 0x3f 0x07 0x1f 0x3f 0xc8 0xff 0xff 0x0f 0x0f 0xff 0x31f>;
+                       qcom,ports-offset1 =            /bits/ 8 <0x01 0x03 0x05 0x02 0x04 0x15 0x00 0xff 0xff 0x06 0x0d 0xff 0x00>;
+                       qcom,ports-offset2 =            /bits/ 8 <0xff 0x07 0x1f 0xff 0x07 0x1f 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
+                       qcom,ports-hstart =             /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0x08 0xff 0xff 0xff 0xff 0xff 0x0f>;
+                       qcom,ports-hstop =              /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0x08 0xff 0xff 0xff 0xff 0xff 0x0f>;
+                       qcom,ports-word-length =        /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0x08 0xff 0xff 0xff 0xff 0xff 0x18>;
+                       qcom,ports-block-pack-mode =    /bits/ 8 <0x00 0x01 0x01 0x00 0x01 0x01 0x00 0x00 0x00 0x01 0x01 0x00 0x00>;
+                       qcom,ports-block-group-count =  /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
+                       qcom,ports-lane-control =       /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
+
+                       #address-cells = <2>;
+                       #size-cells = <0>;
+                       #sound-dai-cells = <1>;
+                       status = "disabled";
+               };
+
+               lpass_rxmacro: codec@6ac0000 {
+                       compatible = "qcom,x1e80100-lpass-rx-macro", "qcom,sm8550-lpass-rx-macro";
+                       reg = <0 0x06ac0000 0 0x1000>;
+                       clocks = <&q6prmcc LPASS_CLK_ID_RX_CORE_TX_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
+                                <&q6prmcc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
+                                <&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
+                                <&lpass_vamacro>;
+                       clock-names = "mclk",
+                                     "macro",
+                                     "dcodec",
+                                     "fsgen";
+
+                       #clock-cells = <0>;
+                       clock-output-names = "mclk";
+                       #sound-dai-cells = <1>;
+               };
+
+               swr1: soundwire@6ad0000 {
+                       compatible = "qcom,soundwire-v2.0.0";
+                       reg = <0 0x06ad0000 0 0x10000>;
+                       clocks = <&lpass_rxmacro>;
+                       clock-names = "iface";
+                       interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
+                       label = "RX";
+
+                       pinctrl-0 = <&rx_swr_active>;
+                       pinctrl-names = "default";
+
+                       qcom,din-ports = <1>;
+                       qcom,dout-ports = <11>;
+
+                       qcom,ports-sinterval =          /bits/ 16 <0x03 0x1f 0x1f 0x07 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
+                       qcom,ports-offset1 =            /bits/ 8 <0x00 0x00 0x0b 0x01 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
+                       qcom,ports-offset2 =            /bits/ 8 <0x00 0x00 0x0b 0x00 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
+                       qcom,ports-hstart =             /bits/ 8 <0xff 0x03 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
+                       qcom,ports-hstop =              /bits/ 8 <0xff 0x06 0x0f 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
+                       qcom,ports-word-length =        /bits/ 8 <0x01 0x07 0x04 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
+                       qcom,ports-block-pack-mode =    /bits/ 8 <0xff 0x00 0x01 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
+                       qcom,ports-block-group-count =  /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
+                       qcom,ports-lane-control =       /bits/ 8 <0x01 0x00 0x00 0x00 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
+
+                       #address-cells = <2>;
+                       #size-cells = <0>;
+                       #sound-dai-cells = <1>;
+                       status = "disabled";
+               };
+
+               lpass_txmacro: codec@6ae0000 {
+                       compatible = "qcom,x1e80100-lpass-tx-macro", "qcom,sm8550-lpass-tx-macro";
+                       reg = <0 0x06ae0000 0 0x1000>;
+                       clocks = <&q6prmcc LPASS_CLK_ID_TX_CORE_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
+                                <&q6prmcc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
+                                <&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
+                                <&lpass_vamacro>;
+                       clock-names = "mclk",
+                                     "macro",
+                                     "dcodec",
+                                     "fsgen";
+
+                       #clock-cells = <0>;
+                       clock-output-names = "mclk";
+                       #sound-dai-cells = <1>;
+               };
+
+               lpass_wsamacro: codec@6b00000 {
+                       compatible = "qcom,x1e80100-lpass-wsa-macro", "qcom,sm8550-lpass-wsa-macro";
+                       reg = <0 0x06b00000 0 0x1000>;
+                       clocks = <&q6prmcc LPASS_CLK_ID_WSA_CORE_TX_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
+                                <&q6prmcc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
+                                <&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
+                                <&lpass_vamacro>;
+                       clock-names = "mclk",
+                                     "macro",
+                                     "dcodec",
+                                     "fsgen";
+
+                       #clock-cells = <0>;
+                       clock-output-names = "mclk";
+                       #sound-dai-cells = <1>;
+                       sound-name-prefix = "WSA";
+               };
+
+               swr0: soundwire@6b10000 {
+                       compatible = "qcom,soundwire-v2.0.0";
+                       reg = <0 0x06b10000 0 0x10000>;
+                       clocks = <&lpass_wsamacro>;
+                       clock-names = "iface";
+                       interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
+                       label = "WSA";
+
+                       pinctrl-0 = <&wsa_swr_active>;
+                       pinctrl-names = "default";
+
+                       qcom,din-ports = <4>;
+                       qcom,dout-ports = <9>;
+
+                       qcom,ports-sinterval =          /bits/ 16 <0x07 0x1f 0x3f 0x07 0x1f 0x3f 0xc8 0xff 0xff 0x0f 0x0f 0xff 0x31f>;
+                       qcom,ports-offset1 =            /bits/ 8 <0x01 0x03 0x05 0x02 0x04 0x15 0x00 0xff 0xff 0x06 0x0d 0xff 0x00>;
+                       qcom,ports-offset2 =            /bits/ 8 <0xff 0x07 0x1f 0xff 0x07 0x1f 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
+                       qcom,ports-hstart =             /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0x08 0xff 0xff 0xff 0xff 0xff 0x0f>;
+                       qcom,ports-hstop =              /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0x08 0xff 0xff 0xff 0xff 0xff 0x0f>;
+                       qcom,ports-word-length =        /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0x08 0xff 0xff 0xff 0xff 0xff 0x18>;
+                       qcom,ports-block-pack-mode =    /bits/ 8 <0x00 0x01 0x01 0x00 0x01 0x01 0x00 0x00 0x00 0x01 0x01 0x00 0x00>;
+                       qcom,ports-block-group-count =  /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
+                       qcom,ports-lane-control =       /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
+
+                       #address-cells = <2>;
+                       #size-cells = <0>;
+                       #sound-dai-cells = <1>;
+                       status = "disabled";
+               };
+
+               swr2: soundwire@6d30000 {
+                       compatible = "qcom,soundwire-v2.0.0";
+                       reg = <0 0x06d30000 0 0x10000>;
+                       clocks = <&lpass_txmacro>;
+                       clock-names = "iface";
+                       interrupts = <GIC_SPI 496 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 520 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "core", "wakeup";
+                       label = "TX";
+
+                       pinctrl-0 = <&tx_swr_active>;
+                       pinctrl-names = "default";
+
+                       qcom,din-ports = <4>;
+                       qcom,dout-ports = <1>;
+
+                       qcom,ports-sinterval-low =      /bits/ 8 <0x00 0x01 0x03 0x03 0x00>;
+                       qcom,ports-offset1 =            /bits/ 8 <0x00 0x01 0x02 0x00 0x00>;
+                       qcom,ports-offset2 =            /bits/ 8 <0x00 0x00 0x00 0x00 0xff>;
+                       qcom,ports-hstart =             /bits/ 8 <0xff 0xff 0xff 0xff 0xff>;
+                       qcom,ports-hstop =              /bits/ 8 <0xff 0xff 0xff 0xff 0xff>;
+                       qcom,ports-word-length =        /bits/ 8 <0xff 0xff 0xff 0xff 0xff>;
+                       qcom,ports-block-pack-mode =    /bits/ 8 <0xff 0xff 0xff 0xff 0xff>;
+                       qcom,ports-block-group-count =  /bits/ 8 <0xff 0xff 0xff 0xff 0xff>;
+                       qcom,ports-lane-control =       /bits/ 8 <0xff 0x00 0x00 0x01 0xff>;
+
+                       #address-cells = <2>;
+                       #size-cells = <0>;
+                       #sound-dai-cells = <1>;
+                       status = "disabled";
+               };
+
+               lpass_vamacro: codec@6d44000 {
+                       compatible = "qcom,x1e80100-lpass-va-macro", "qcom,sm8550-lpass-va-macro";
+                       reg = <0 0x06d44000 0 0x1000>;
+                       clocks = <&q6prmcc LPASS_CLK_ID_TX_CORE_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
+                                <&q6prmcc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
+                                <&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
+                       clock-names = "mclk",
+                                     "macro",
+                                     "dcodec";
+
+                       #clock-cells = <0>;
+                       clock-output-names = "fsgen";
+                       #sound-dai-cells = <1>;
+               };
+
+               lpass_tlmm: pinctrl@6e80000 {
+                       compatible = "qcom,x1e80100-lpass-lpi-pinctrl", "qcom,sm8550-lpass-lpi-pinctrl";
+                       reg = <0 0x06e80000 0 0x20000>,
+                             <0 0x07250000 0 0x10000>;
+
+                       clocks = <&q6prmcc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
+                                <&q6prmcc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
+                       clock-names = "core", "audio";
+
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio-ranges = <&lpass_tlmm 0 0 23>;
+
+                       tx_swr_active: tx-swr-active-state {
+                               clk-pins {
+                                       pins = "gpio0";
+                                       function = "swr_tx_clk";
+                                       drive-strength = <2>;
+                                       slew-rate = <1>;
+                                       bias-disable;
+                               };
+
+                               data-pins {
+                                       pins = "gpio1", "gpio2";
+                                       function = "swr_tx_data";
+                                       drive-strength = <2>;
+                                       slew-rate = <1>;
+                                       bias-bus-hold;
+                               };
+                       };
+
+                       rx_swr_active: rx-swr-active-state {
+                               clk-pins {
+                                       pins = "gpio3";
+                                       function = "swr_rx_clk";
+                                       drive-strength = <2>;
+                                       slew-rate = <1>;
+                                       bias-disable;
+                               };
+
+                               data-pins {
+                                       pins = "gpio4", "gpio5";
+                                       function = "swr_rx_data";
+                                       drive-strength = <2>;
+                                       slew-rate = <1>;
+                                       bias-bus-hold;
+                               };
+                       };
+
+                       dmic01_default: dmic01-default-state {
+                               clk-pins {
+                                       pins = "gpio6";
+                                       function = "dmic1_clk";
+                                       drive-strength = <8>;
+                                       output-high;
+                               };
+
+                               data-pins {
+                                       pins = "gpio7";
+                                       function = "dmic1_data";
+                                       drive-strength = <8>;
+                                       input-enable;
+                               };
+                       };
+
+                       dmic23_default: dmic23-default-state {
+                               clk-pins {
+                                       pins = "gpio8";
+                                       function = "dmic2_clk";
+                                       drive-strength = <8>;
+                                       output-high;
+                               };
+
+                               data-pins {
+                                       pins = "gpio9";
+                                       function = "dmic2_data";
+                                       drive-strength = <8>;
+                                       input-enable;
+                               };
+                       };
+
+                       wsa_swr_active: wsa-swr-active-state {
+                               clk-pins {
+                                       pins = "gpio10";
+                                       function = "wsa_swr_clk";
+                                       drive-strength = <2>;
+                                       slew-rate = <1>;
+                                       bias-disable;
+                               };
+
+                               data-pins {
+                                       pins = "gpio11";
+                                       function = "wsa_swr_data";
+                                       drive-strength = <2>;
+                                       slew-rate = <1>;
+                                       bias-bus-hold;
+                               };
+                       };
+
+                       wsa2_swr_active: wsa2-swr-active-state {
+                               clk-pins {
+                                       pins = "gpio15";
+                                       function = "wsa2_swr_clk";
+                                       drive-strength = <2>;
+                                       slew-rate = <1>;
+                                       bias-disable;
+                               };
+
+                               data-pins {
+                                       pins = "gpio16";
+                                       function = "wsa2_swr_data";
+                                       drive-strength = <2>;
+                                       slew-rate = <1>;
+                                       bias-bus-hold;
+                               };
+                       };
+               };
+
                lpass_ag_noc: interconnect@7e40000 {
                        compatible = "qcom,x1e80100-lpass-ag-noc";
                        reg = <0 0x7e40000 0 0xE080>;
                        #interconnect-cells = <2>;
                };
 
+               usb_2_hsphy: phy@88e0000 {
+                       compatible = "qcom,x1e80100-snps-eusb2-phy",
+                                    "qcom,sm8550-snps-eusb2-phy";
+                       reg = <0 0x088e0000 0 0x154>;
+                       #phy-cells = <0>;
+
+                       clocks = <&tcsr TCSR_USB2_2_CLKREF_EN>;
+                       clock-names = "ref";
+
+                       resets = <&gcc GCC_QUSB2PHY_USB20_HS_BCR>;
+
+                       status = "disabled";
+               };
+
+               usb_1_ss2: usb@a0f8800 {
+                       compatible = "qcom,x1e80100-dwc3", "qcom,dwc3";
+                       reg = <0 0x0a0f8800 0 0x400>;
+
+                       clocks = <&gcc GCC_CFG_NOC_USB3_TERT_AXI_CLK>,
+                                <&gcc GCC_USB30_TERT_MASTER_CLK>,
+                                <&gcc GCC_AGGRE_USB3_TERT_AXI_CLK>,
+                                <&gcc GCC_USB30_TERT_SLEEP_CLK>,
+                                <&gcc GCC_USB30_TERT_MOCK_UTMI_CLK>,
+                                <&gcc GCC_AGGRE_USB_NOC_AXI_CLK>,
+                                <&gcc GCC_AGGRE_NOC_USB_NORTH_AXI_CLK>,
+                                <&gcc GCC_AGGRE_NOC_USB_SOUTH_AXI_CLK>,
+                                <&gcc GCC_SYS_NOC_USB_AXI_CLK>;
+                       clock-names = "cfg_noc",
+                                     "core",
+                                     "iface",
+                                     "sleep",
+                                     "mock_utmi",
+                                     "noc_aggr",
+                                     "noc_aggr_north",
+                                     "noc_aggr_south",
+                                     "noc_sys";
+
+                       assigned-clocks = <&gcc GCC_USB30_TERT_MOCK_UTMI_CLK>,
+                                         <&gcc GCC_USB30_TERT_MASTER_CLK>;
+                       assigned-clock-rates = <19200000>,
+                                              <200000000>;
+
+                       interrupts-extended = <&intc GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>,
+                                             <&pdc 58 IRQ_TYPE_EDGE_BOTH>,
+                                             <&pdc 57 IRQ_TYPE_EDGE_BOTH>,
+                                             <&pdc 10 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "pwr_event",
+                                         "dp_hs_phy_irq",
+                                         "dm_hs_phy_irq",
+                                         "ss_phy_irq";
+
+                       power-domains = <&gcc GCC_USB30_TERT_GDSC>;
+                       required-opps = <&rpmhpd_opp_nom>;
+
+                       resets = <&gcc GCC_USB30_TERT_BCR>;
+
+                       interconnects = <&usb_south_anoc MASTER_USB3_2 QCOM_ICC_TAG_ALWAYS
+                                        &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
+                                       <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
+                                        &config_noc SLAVE_USB3_2 QCOM_ICC_TAG_ALWAYS>;
+                       interconnect-names = "usb-ddr",
+                                            "apps-usb";
+
+                       wakeup-source;
+
+                       #address-cells = <2>;
+                       #size-cells = <2>;
+                       ranges;
+
+                       status = "disabled";
+
+                       usb_1_ss2_dwc3: usb@a000000 {
+                               compatible = "snps,dwc3";
+                               reg = <0 0x0a000000 0 0xcd00>;
+
+                               interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
+
+                               iommus = <&apps_smmu 0x14a0 0x0>;
+
+                               phys = <&usb_1_ss2_hsphy>,
+                                      <&usb_1_ss2_qmpphy QMP_USB43DP_USB3_PHY>;
+                               phy-names = "usb2-phy",
+                                           "usb3-phy";
+
+                               snps,dis_u2_susphy_quirk;
+                               snps,dis_enblslpm_quirk;
+                               snps,usb3_lpm_capable;
+
+                               dma-coherent;
+
+                               port {
+                                       usb_1_ss2_role_switch: endpoint {
+                                       };
+                               };
+                       };
+               };
+
+               usb_2: usb@a2f8800 {
+                       compatible = "qcom,x1e80100-dwc3", "qcom,dwc3";
+                       reg = <0 0x0a2f8800 0 0x400>;
+                       #address-cells = <2>;
+                       #size-cells = <2>;
+                       ranges;
+
+                       clocks = <&gcc GCC_CFG_NOC_USB2_PRIM_AXI_CLK>,
+                                <&gcc GCC_USB20_MASTER_CLK>,
+                                <&gcc GCC_AGGRE_USB2_PRIM_AXI_CLK>,
+                                <&gcc GCC_USB20_SLEEP_CLK>,
+                                <&gcc GCC_USB20_MOCK_UTMI_CLK>,
+                                <&gcc GCC_AGGRE_USB_NOC_AXI_CLK>,
+                                <&gcc GCC_AGGRE_NOC_USB_NORTH_AXI_CLK>,
+                                <&gcc GCC_AGGRE_NOC_USB_SOUTH_AXI_CLK>,
+                                <&gcc GCC_SYS_NOC_USB_AXI_CLK>;
+                       clock-names = "cfg_noc",
+                                     "core",
+                                     "iface",
+                                     "sleep",
+                                     "mock_utmi",
+                                     "noc_aggr",
+                                     "noc_aggr_north",
+                                     "noc_aggr_south",
+                                     "noc_sys";
+
+                       assigned-clocks = <&gcc GCC_USB20_MOCK_UTMI_CLK>,
+                                         <&gcc GCC_USB20_MASTER_CLK>;
+                       assigned-clock-rates = <19200000>, <200000000>;
+
+                       interrupts-extended = <&intc GIC_SPI 240 IRQ_TYPE_LEVEL_HIGH>,
+                                             <&pdc 50 IRQ_TYPE_EDGE_BOTH>,
+                                             <&pdc 49 IRQ_TYPE_EDGE_BOTH>;
+                       interrupt-names = "pwr_event",
+                                         "dp_hs_phy_irq",
+                                         "dm_hs_phy_irq";
+
+                       power-domains = <&gcc GCC_USB20_PRIM_GDSC>;
+                       required-opps = <&rpmhpd_opp_nom>;
+
+                       resets = <&gcc GCC_USB20_PRIM_BCR>;
+
+                       interconnects = <&usb_north_anoc MASTER_USB2 QCOM_ICC_TAG_ALWAYS
+                                        &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
+                                       <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
+                                        &config_noc SLAVE_USB2 QCOM_ICC_TAG_ALWAYS>;
+                       interconnect-names = "usb-ddr",
+                                            "apps-usb";
+
+                       wakeup-source;
+
+                       status = "disabled";
+
+                       usb_2_dwc3: usb@a200000 {
+                               compatible = "snps,dwc3";
+                               reg = <0 0x0a200000 0 0xcd00>;
+                               interrupts = <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH>;
+                               iommus = <&apps_smmu 0x14e0 0x0>;
+                               phys = <&usb_2_hsphy>;
+                               phy-names = "usb2-phy";
+                               maximum-speed = "high-speed";
+
+                               port {
+                                       usb_2_role_switch: endpoint {
+                                       };
+                               };
+                       };
+               };
+
+               usb_1_ss0: usb@a6f8800 {
+                       compatible = "qcom,x1e80100-dwc3", "qcom,dwc3";
+                       reg = <0 0x0a6f8800 0 0x400>;
+
+                       clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
+                                <&gcc GCC_USB30_PRIM_MASTER_CLK>,
+                                <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>,
+                                <&gcc GCC_USB30_PRIM_SLEEP_CLK>,
+                                <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
+                                <&gcc GCC_AGGRE_USB_NOC_AXI_CLK>,
+                                <&gcc GCC_CFG_NOC_USB_ANOC_NORTH_AHB_CLK>,
+                                <&gcc GCC_CFG_NOC_USB_ANOC_SOUTH_AHB_CLK>,
+                                <&gcc GCC_SYS_NOC_USB_AXI_CLK>;
+                       clock-names = "cfg_noc",
+                                     "core",
+                                     "iface",
+                                     "sleep",
+                                     "mock_utmi",
+                                     "noc_aggr",
+                                     "noc_aggr_north",
+                                     "noc_aggr_south",
+                                     "noc_sys";
+
+                       assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
+                                         <&gcc GCC_USB30_PRIM_MASTER_CLK>;
+                       assigned-clock-rates = <19200000>,
+                                              <200000000>;
+
+                       interrupts-extended = <&intc GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>,
+                                             <&pdc 61 IRQ_TYPE_EDGE_BOTH>,
+                                             <&pdc 15 IRQ_TYPE_EDGE_BOTH>,
+                                             <&pdc 17 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "pwr_event",
+                                         "dp_hs_phy_irq",
+                                         "dm_hs_phy_irq",
+                                         "ss_phy_irq";
+
+                       power-domains = <&gcc GCC_USB30_PRIM_GDSC>;
+                       required-opps = <&rpmhpd_opp_nom>;
+
+                       resets = <&gcc GCC_USB30_PRIM_BCR>;
+
+                       wakeup-source;
+
+                       #address-cells = <2>;
+                       #size-cells = <2>;
+                       ranges;
+
+                       status = "disabled";
+
+                       usb_1_ss0_dwc3: usb@a600000 {
+                               compatible = "snps,dwc3";
+                               reg = <0 0x0a600000 0 0xcd00>;
+
+                               interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
+
+                               iommus = <&apps_smmu 0x1420 0x0>;
+
+                               phys = <&usb_1_ss0_hsphy>,
+                                      <&usb_1_ss0_qmpphy QMP_USB43DP_USB3_PHY>;
+                               phy-names = "usb2-phy",
+                                           "usb3-phy";
+
+                               snps,dis_u2_susphy_quirk;
+                               snps,dis_enblslpm_quirk;
+                               snps,usb3_lpm_capable;
+
+                               dma-coherent;
+
+                               port {
+                                       usb_1_ss0_role_switch: endpoint {
+                                       };
+                               };
+                       };
+               };
+
+               usb_1_ss1: usb@a8f8800 {
+                       compatible = "qcom,x1e80100-dwc3", "qcom,dwc3";
+                       reg = <0 0x0a8f8800 0 0x400>;
+
+                       clocks = <&gcc GCC_CFG_NOC_USB3_SEC_AXI_CLK>,
+                                <&gcc GCC_USB30_SEC_MASTER_CLK>,
+                                <&gcc GCC_AGGRE_USB3_SEC_AXI_CLK>,
+                                <&gcc GCC_USB30_SEC_SLEEP_CLK>,
+                                <&gcc GCC_USB30_SEC_MOCK_UTMI_CLK>,
+                                <&gcc GCC_AGGRE_USB_NOC_AXI_CLK>,
+                                <&gcc GCC_AGGRE_NOC_USB_NORTH_AXI_CLK>,
+                                <&gcc GCC_AGGRE_NOC_USB_SOUTH_AXI_CLK>,
+                                <&gcc GCC_SYS_NOC_USB_AXI_CLK>;
+                       clock-names = "cfg_noc",
+                                     "core",
+                                     "iface",
+                                     "sleep",
+                                     "mock_utmi",
+                                     "noc_aggr",
+                                     "noc_aggr_north",
+                                     "noc_aggr_south",
+                                     "noc_sys";
+
+                       assigned-clocks = <&gcc GCC_USB30_SEC_MOCK_UTMI_CLK>,
+                                         <&gcc GCC_USB30_SEC_MASTER_CLK>;
+                       assigned-clock-rates = <19200000>,
+                                              <200000000>;
+
+                       interrupts-extended = <&intc GIC_SPI 372 IRQ_TYPE_LEVEL_HIGH>,
+                                             <&pdc 60 IRQ_TYPE_EDGE_BOTH>,
+                                             <&pdc 11 IRQ_TYPE_EDGE_BOTH>,
+                                             <&pdc 47 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "pwr_event",
+                                         "dp_hs_phy_irq",
+                                         "dm_hs_phy_irq",
+                                         "ss_phy_irq";
+
+                       power-domains = <&gcc GCC_USB30_SEC_GDSC>;
+                       required-opps = <&rpmhpd_opp_nom>;
+
+                       resets = <&gcc GCC_USB30_SEC_BCR>;
+
+                       interconnects = <&usb_south_anoc MASTER_USB3_1 QCOM_ICC_TAG_ALWAYS
+                                        &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
+                                       <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
+                                        &config_noc SLAVE_USB3_1 QCOM_ICC_TAG_ALWAYS>;
+                       interconnect-names = "usb-ddr",
+                                            "apps-usb";
+
+                       wakeup-source;
+
+                       #address-cells = <2>;
+                       #size-cells = <2>;
+                       ranges;
+
+                       status = "disabled";
+
+                       usb_1_ss1_dwc3: usb@a800000 {
+                               compatible = "snps,dwc3";
+                               reg = <0 0x0a800000 0 0xcd00>;
+
+                               interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
+
+                               iommus = <&apps_smmu 0x1460 0x0>;
+
+                               phys = <&usb_1_ss1_hsphy>,
+                                      <&usb_1_ss1_qmpphy QMP_USB43DP_USB3_PHY>;
+                               phy-names = "usb2-phy",
+                                           "usb3-phy";
+
+                               snps,dis_u2_susphy_quirk;
+                               snps,dis_enblslpm_quirk;
+                               snps,usb3_lpm_capable;
+
+                               dma-coherent;
+
+                               port {
+                                       usb_1_ss1_role_switch: endpoint {
+                                       };
+                               };
+                       };
+               };
+
+               mdss: display-subsystem@ae00000 {
+                       compatible = "qcom,x1e80100-mdss";
+                       reg = <0 0x0ae00000 0 0x1000>;
+                       reg-names = "mdss";
+
+                       interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
+
+                       clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
+                                <&gcc GCC_DISP_HF_AXI_CLK>,
+                                <&dispcc DISP_CC_MDSS_MDP_CLK>;
+
+                       resets = <&dispcc DISP_CC_MDSS_CORE_BCR>;
+
+                       interconnects = <&mmss_noc MASTER_MDP QCOM_ICC_TAG_ALWAYS
+                                        &gem_noc SLAVE_LLCC QCOM_ICC_TAG_ALWAYS>,
+                                       <&mc_virt MASTER_LLCC QCOM_ICC_TAG_ALWAYS
+                                        &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
+                                       <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY
+                                        &config_noc SLAVE_DISPLAY_CFG QCOM_ICC_TAG_ACTIVE_ONLY>;
+                       interconnect-names = "mdp0-mem",
+                                            "mdp1-mem",
+                                            "cpu-cfg";
+
+                       power-domains = <&dispcc MDSS_GDSC>;
+
+                       iommus = <&apps_smmu 0x1c00 0x2>;
+
+                       interrupt-controller;
+                       #interrupt-cells = <1>;
+
+                       #address-cells = <2>;
+                       #size-cells = <2>;
+                       ranges;
+
+                       status = "disabled";
+
+                       mdss_mdp: display-controller@ae01000 {
+                               compatible = "qcom,x1e80100-dpu";
+                               reg = <0 0x0ae01000 0 0x8f000>,
+                                     <0 0x0aeb0000 0 0x2008>;
+                               reg-names = "mdp",
+                                           "vbif";
+
+                               interrupts-extended = <&mdss 0>;
+
+                               clocks = <&gcc GCC_DISP_HF_AXI_CLK>,
+                                        <&dispcc DISP_CC_MDSS_AHB_CLK>,
+                                        <&dispcc DISP_CC_MDSS_MDP_LUT_CLK>,
+                                        <&dispcc DISP_CC_MDSS_MDP_CLK>,
+                                        <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
+                               clock-names = "nrt_bus",
+                                             "iface",
+                                             "lut",
+                                             "core",
+                                             "vsync";
+
+                               operating-points-v2 = <&mdp_opp_table>;
+
+                               power-domains = <&rpmhpd RPMHPD_MMCX>;
+
+                               ports {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+
+                                       port@0 {
+                                               reg = <0>;
+
+                                               mdss_intf0_out: endpoint {
+                                                       remote-endpoint = <&mdss_dp0_in>;
+                                               };
+                                       };
+
+                                       port@4 {
+                                               reg = <4>;
+
+                                               mdss_intf4_out: endpoint {
+                                                       remote-endpoint = <&mdss_dp1_in>;
+                                               };
+                                       };
+
+                                       port@5 {
+                                               reg = <5>;
+
+                                               mdss_intf5_out: endpoint {
+                                                       remote-endpoint = <&mdss_dp3_in>;
+                                               };
+                                       };
+
+                                       port@6 {
+                                               reg = <6>;
+
+                                               mdss_intf6_out: endpoint {
+                                                       remote-endpoint = <&mdss_dp2_in>;
+                                               };
+                                       };
+                               };
+
+                               mdp_opp_table: opp-table {
+                                       compatible = "operating-points-v2";
+
+                                       opp-200000000 {
+                                               opp-hz = /bits/ 64 <200000000>;
+                                               required-opps = <&rpmhpd_opp_low_svs>;
+                                       };
+
+                                       opp-325000000 {
+                                               opp-hz = /bits/ 64 <325000000>;
+                                               required-opps = <&rpmhpd_opp_svs>;
+                                       };
+
+                                       opp-375000000 {
+                                               opp-hz = /bits/ 64 <375000000>;
+                                               required-opps = <&rpmhpd_opp_svs_l1>;
+                                       };
+
+                                       opp-514000000 {
+                                               opp-hz = /bits/ 64 <514000000>;
+                                               required-opps = <&rpmhpd_opp_nom>;
+                                       };
+
+                                       opp-575000000 {
+                                               opp-hz = /bits/ 64 <575000000>;
+                                               required-opps = <&rpmhpd_opp_nom_l1>;
+                                       };
+                               };
+                       };
+
+                       mdss_dp0: displayport-controller@ae90000 {
+                               compatible = "qcom,x1e80100-dp";
+                               reg = <0 0xae90000 0 0x200>,
+                                     <0 0xae90200 0 0x200>,
+                                     <0 0xae90400 0 0x600>,
+                                     <0 0xae91000 0 0x400>,
+                                     <0 0xae91400 0 0x400>;
+
+                               interrupts-extended = <&mdss 12>;
+
+                               clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
+                                        <&dispcc DISP_CC_MDSS_DPTX0_AUX_CLK>,
+                                        <&dispcc DISP_CC_MDSS_DPTX0_LINK_CLK>,
+                                        <&dispcc DISP_CC_MDSS_DPTX0_LINK_INTF_CLK>,
+                                        <&dispcc DISP_CC_MDSS_DPTX0_PIXEL0_CLK>;
+                               clock-names = "core_iface",
+                                             "core_aux",
+                                             "ctrl_link",
+                                             "ctrl_link_iface",
+                                             "stream_pixel";
+
+                               assigned-clocks = <&dispcc DISP_CC_MDSS_DPTX0_LINK_CLK_SRC>,
+                                                 <&dispcc DISP_CC_MDSS_DPTX0_PIXEL0_CLK_SRC>;
+                               assigned-clock-parents = <&usb_1_ss0_qmpphy QMP_USB43DP_DP_LINK_CLK>,
+                                                        <&usb_1_ss0_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>;
+
+                               operating-points-v2 = <&mdss_dp0_opp_table>;
+
+                               power-domains = <&rpmhpd RPMHPD_MMCX>;
+
+                               phys = <&usb_1_ss0_qmpphy QMP_USB43DP_DP_PHY>;
+                               phy-names = "dp";
+
+                               #sound-dai-cells = <0>;
+
+                               status = "disabled";
+
+                               ports {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+
+                                       port@0 {
+                                               reg = <0>;
+
+                                               mdss_dp0_in: endpoint {
+                                                       remote-endpoint = <&mdss_intf0_out>;
+                                               };
+                                       };
+
+                                       port@1 {
+                                               reg = <1>;
+
+                                               mdss_dp0_out: endpoint {
+                                               };
+                                       };
+                               };
+
+                               mdss_dp0_opp_table: opp-table {
+                                       compatible = "operating-points-v2";
+
+                                       opp-160000000 {
+                                               opp-hz = /bits/ 64 <160000000>;
+                                               required-opps = <&rpmhpd_opp_low_svs>;
+                                       };
+
+                                       opp-270000000 {
+                                               opp-hz = /bits/ 64 <270000000>;
+                                               required-opps = <&rpmhpd_opp_svs>;
+                                       };
+
+                                       opp-540000000 {
+                                               opp-hz = /bits/ 64 <540000000>;
+                                               required-opps = <&rpmhpd_opp_svs_l1>;
+                                       };
+
+                                       opp-810000000 {
+                                               opp-hz = /bits/ 64 <810000000>;
+                                               required-opps = <&rpmhpd_opp_nom>;
+                                       };
+                               };
+                       };
+
+                       mdss_dp1: displayport-controller@ae98000 {
+                               compatible = "qcom,x1e80100-dp";
+                               reg = <0 0xae98000 0 0x200>,
+                                     <0 0xae98200 0 0x200>,
+                                     <0 0xae98400 0 0x600>,
+                                     <0 0xae99000 0 0x400>,
+                                     <0 0xae99400 0 0x400>;
+
+                               interrupts-extended = <&mdss 13>;
+
+                               clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
+                                        <&dispcc DISP_CC_MDSS_DPTX1_AUX_CLK>,
+                                        <&dispcc DISP_CC_MDSS_DPTX1_LINK_CLK>,
+                                        <&dispcc DISP_CC_MDSS_DPTX1_LINK_INTF_CLK>,
+                                        <&dispcc DISP_CC_MDSS_DPTX1_PIXEL0_CLK>;
+                               clock-names = "core_iface",
+                                             "core_aux",
+                                             "ctrl_link",
+                                             "ctrl_link_iface",
+                                             "stream_pixel";
+
+                               assigned-clocks = <&dispcc DISP_CC_MDSS_DPTX1_LINK_CLK_SRC>,
+                                                 <&dispcc DISP_CC_MDSS_DPTX1_PIXEL0_CLK_SRC>;
+                               assigned-clock-parents = <&usb_1_ss1_qmpphy QMP_USB43DP_DP_LINK_CLK>,
+                                                        <&usb_1_ss1_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>;
+
+                               operating-points-v2 = <&mdss_dp1_opp_table>;
+
+                               power-domains = <&rpmhpd RPMHPD_MMCX>;
+
+                               phys = <&usb_1_ss1_qmpphy QMP_USB43DP_DP_PHY>;
+                               phy-names = "dp";
+
+                               #sound-dai-cells = <0>;
+
+                               status = "disabled";
+
+                               ports {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+
+                                       port@0 {
+                                               reg = <0>;
+
+                                               mdss_dp1_in: endpoint {
+                                                       remote-endpoint = <&mdss_intf4_out>;
+                                               };
+                                       };
+
+                                       port@1 {
+                                               reg = <1>;
+
+                                               mdss_dp1_out: endpoint {
+                                               };
+                                       };
+                               };
+
+                               mdss_dp1_opp_table: opp-table {
+                                       compatible = "operating-points-v2";
+
+                                       opp-160000000 {
+                                               opp-hz = /bits/ 64 <160000000>;
+                                               required-opps = <&rpmhpd_opp_low_svs>;
+                                       };
+
+                                       opp-270000000 {
+                                               opp-hz = /bits/ 64 <270000000>;
+                                               required-opps = <&rpmhpd_opp_svs>;
+                                       };
+
+                                       opp-540000000 {
+                                               opp-hz = /bits/ 64 <540000000>;
+                                               required-opps = <&rpmhpd_opp_svs_l1>;
+                                       };
+
+                                       opp-810000000 {
+                                               opp-hz = /bits/ 64 <810000000>;
+                                               required-opps = <&rpmhpd_opp_nom>;
+                                       };
+                               };
+                       };
+
+                       mdss_dp2: displayport-controller@ae9a000 {
+                               compatible = "qcom,x1e80100-dp";
+                               reg = <0 0xae9a000 0 0x200>,
+                                     <0 0xae9a200 0 0x200>,
+                                     <0 0xae9a400 0 0x600>,
+                                     <0 0xae9b000 0 0x400>,
+                                     <0 0xae9b400 0 0x400>;
+
+                               interrupts-extended = <&mdss 14>;
+
+                               clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
+                                        <&dispcc DISP_CC_MDSS_DPTX2_AUX_CLK>,
+                                        <&dispcc DISP_CC_MDSS_DPTX2_LINK_CLK>,
+                                        <&dispcc DISP_CC_MDSS_DPTX2_LINK_INTF_CLK>,
+                                        <&dispcc DISP_CC_MDSS_DPTX2_PIXEL0_CLK>;
+                               clock-names = "core_iface",
+                                             "core_aux",
+                                             "ctrl_link",
+                                             "ctrl_link_iface",
+                                             "stream_pixel";
+
+                               assigned-clocks = <&dispcc DISP_CC_MDSS_DPTX2_LINK_CLK_SRC>,
+                                                 <&dispcc DISP_CC_MDSS_DPTX2_PIXEL0_CLK_SRC>;
+                               assigned-clock-parents = <&mdss_dp2_phy 0>,
+                                                        <&mdss_dp2_phy 1>;
+
+                               operating-points-v2 = <&mdss_dp2_opp_table>;
+
+                               power-domains = <&rpmhpd RPMHPD_MMCX>;
+
+                               phys = <&mdss_dp2_phy>;
+                               phy-names = "dp";
+
+                               #sound-dai-cells = <0>;
+
+                               status = "disabled";
+
+                               ports {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+
+                                       port@0 {
+                                               reg = <0>;
+                                               mdss_dp2_in: endpoint {
+                                                       remote-endpoint = <&mdss_intf6_out>;
+                                               };
+                                       };
+
+                                       port@1 {
+                                               reg = <1>;
+                                       };
+                               };
+
+                               mdss_dp2_opp_table: opp-table {
+                                       compatible = "operating-points-v2";
+
+                                       opp-160000000 {
+                                               opp-hz = /bits/ 64 <160000000>;
+                                               required-opps = <&rpmhpd_opp_low_svs>;
+                                       };
+
+                                       opp-270000000 {
+                                               opp-hz = /bits/ 64 <270000000>;
+                                               required-opps = <&rpmhpd_opp_svs>;
+                                       };
+
+                                       opp-540000000 {
+                                               opp-hz = /bits/ 64 <540000000>;
+                                               required-opps = <&rpmhpd_opp_svs_l1>;
+                                       };
+
+                                       opp-810000000 {
+                                               opp-hz = /bits/ 64 <810000000>;
+                                               required-opps = <&rpmhpd_opp_nom>;
+                                       };
+                               };
+                       };
+
+                       mdss_dp3: displayport-controller@aea0000 {
+                               compatible = "qcom,x1e80100-dp";
+                               reg = <0 0xaea0000 0 0x200>,
+                                     <0 0xaea0200 0 0x200>,
+                                     <0 0xaea0400 0 0x600>,
+                                     <0 0xaea1000 0 0x400>,
+                                     <0 0xaea1400 0 0x400>;
+
+                               interrupts-extended = <&mdss 15>;
+
+                               clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
+                                        <&dispcc DISP_CC_MDSS_DPTX3_AUX_CLK>,
+                                        <&dispcc DISP_CC_MDSS_DPTX3_LINK_CLK>,
+                                        <&dispcc DISP_CC_MDSS_DPTX3_LINK_INTF_CLK>,
+                                        <&dispcc DISP_CC_MDSS_DPTX3_PIXEL0_CLK>;
+                               clock-names = "core_iface",
+                                             "core_aux",
+                                             "ctrl_link",
+                                             "ctrl_link_iface",
+                                             "stream_pixel";
+
+                               assigned-clocks = <&dispcc DISP_CC_MDSS_DPTX3_LINK_CLK_SRC>,
+                                                 <&dispcc DISP_CC_MDSS_DPTX3_PIXEL0_CLK_SRC>;
+                               assigned-clock-parents = <&mdss_dp3_phy 0>,
+                                                        <&mdss_dp3_phy 1>;
+
+                               operating-points-v2 = <&mdss_dp3_opp_table>;
+
+                               power-domains = <&rpmhpd RPMHPD_MMCX>;
+
+                               phys = <&mdss_dp3_phy>;
+                               phy-names = "dp";
+
+                               #sound-dai-cells = <0>;
+
+                               status = "disabled";
+
+                               ports {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+
+                                       port@0 {
+                                               reg = <0>;
+
+                                               mdss_dp3_in: endpoint {
+                                                       remote-endpoint = <&mdss_intf5_out>;
+
+                                                       link-frequencies = /bits/ 64 <8100000000>;
+                                               };
+                                       };
+
+                                       port@1 {
+                                               reg = <1>;
+                                       };
+                               };
+
+                               mdss_dp3_opp_table: opp-table {
+                                       compatible = "operating-points-v2";
+
+                                       opp-160000000 {
+                                               opp-hz = /bits/ 64 <160000000>;
+                                               required-opps = <&rpmhpd_opp_low_svs>;
+                                       };
+
+                                       opp-270000000 {
+                                               opp-hz = /bits/ 64 <270000000>;
+                                               required-opps = <&rpmhpd_opp_svs>;
+                                       };
+
+                                       opp-540000000 {
+                                               opp-hz = /bits/ 64 <540000000>;
+                                               required-opps = <&rpmhpd_opp_svs_l1>;
+                                       };
+
+                                       opp-810000000 {
+                                               opp-hz = /bits/ 64 <810000000>;
+                                               required-opps = <&rpmhpd_opp_nom>;
+                                       };
+                               };
+                       };
+
+               };
+
+               mdss_dp2_phy: phy@aec2a00 {
+                       compatible = "qcom,x1e80100-dp-phy";
+                       reg = <0 0x0aec2a00 0 0x19c>,
+                             <0 0x0aec2200 0 0xec>,
+                             <0 0x0aec2600 0 0xec>,
+                             <0 0x0aec2000 0 0x1c8>;
+
+                       clocks = <&dispcc DISP_CC_MDSS_DPTX2_AUX_CLK>,
+                                <&dispcc DISP_CC_MDSS_AHB_CLK>;
+                       clock-names = "aux",
+                                     "cfg_ahb";
+
+                       power-domains = <&rpmhpd RPMHPD_MX>;
+
+                       #clock-cells = <1>;
+                       #phy-cells = <0>;
+
+                       status = "disabled";
+               };
+
+               mdss_dp3_phy: phy@aec5a00 {
+                       compatible = "qcom,x1e80100-dp-phy";
+                       reg = <0 0x0aec5a00 0 0x19c>,
+                             <0 0x0aec5200 0 0xec>,
+                             <0 0x0aec5600 0 0xec>,
+                             <0 0x0aec5000 0 0x1c8>;
+
+                       clocks = <&dispcc DISP_CC_MDSS_DPTX3_AUX_CLK>,
+                                <&dispcc DISP_CC_MDSS_AHB_CLK>;
+                       clock-names = "aux",
+                                     "cfg_ahb";
+
+                       power-domains = <&rpmhpd RPMHPD_MX>;
+
+                       #clock-cells = <1>;
+                       #phy-cells = <0>;
+
+                       status = "disabled";
+               };
+
+               dispcc: clock-controller@af00000 {
+                       compatible = "qcom,x1e80100-dispcc";
+                       reg = <0 0x0af00000 0 0x20000>;
+                       clocks = <&bi_tcxo_div2>,
+                                <&bi_tcxo_ao_div2>,
+                                <&gcc GCC_DISP_AHB_CLK>,
+                                <&sleep_clk>,
+                                <0>, /* dsi0 */
+                                <0>,
+                                <0>, /* dsi1 */
+                                <0>,
+                                <&usb_1_ss0_qmpphy QMP_USB43DP_DP_LINK_CLK>, /* dp0 */
+                                <&usb_1_ss0_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>,
+                                <&usb_1_ss1_qmpphy QMP_USB43DP_DP_LINK_CLK>, /* dp1 */
+                                <&usb_1_ss1_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>,
+                                <&mdss_dp2_phy 0>, /* dp2 */
+                                <&mdss_dp2_phy 1>,
+                                <&mdss_dp3_phy 0>, /* dp3 */
+                                <&mdss_dp3_phy 1>;
+                       power-domains = <&rpmhpd RPMHPD_MMCX>;
+                       required-opps = <&rpmhpd_opp_low_svs>;
+                       #clock-cells = <1>;
+                       #reset-cells = <1>;
+                       #power-domain-cells = <1>;
+               };
+
                pdc: interrupt-controller@b220000 {
                        compatible = "qcom,x1e80100-pdc", "qcom,pdc";
                        reg = <0 0x0b220000 0 0x30000>, <0 0x174000f0 0 0x64>;
                        interrupt-controller;
                };
 
+               aoss_qmp: power-management@c300000 {
+                       compatible = "qcom,x1e80100-aoss-qmp", "qcom,aoss-qmp";
+                       reg = <0 0x0c300000 0 0x400>;
+                       interrupt-parent = <&ipcc>;
+                       interrupts-extended = <&ipcc IPCC_CLIENT_AOP IPCC_MPROC_SIGNAL_GLINK_QMP
+                                                    IRQ_TYPE_EDGE_RISING>;
+                       mboxes = <&ipcc IPCC_CLIENT_AOP IPCC_MPROC_SIGNAL_GLINK_QMP>;
+
+                       #clock-cells = <0>;
+               };
+
+
                tlmm: pinctrl@f100000 {
                        compatible = "qcom,x1e80100-tlmm";
                        reg = <0 0x0f100000 0 0xf00000>;
                                /* TX, RX */
                                pins = "gpio86", "gpio87";
                                function = "qup2_se5";
-                               drive-strength= <2>;
+                               drive-strength = <2>;
                                bias-disable;
                        };
                };
                              <0 0x17510000 0 0x10000>,
                              <0 0x17520000 0 0x10000>;
                        reg-names = "drv-0", "drv-1", "drv-2";
-                       qcom,drv-count = <3>;
 
                        interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
                                     <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
                                          <WAKE_TCS      2>, <CONTROL_TCS   0>;
 
                        label = "apps_rsc";
+                       power-domains = <&SYSTEM_PD>;
 
                        apps_bcm_voter: bcm-voter {
                                compatible = "qcom,bcm-voter";
                                    "llcc_broadcast_base";
                        interrupts = <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>;
                };
+
+               remoteproc_adsp: remoteproc@30000000 {
+                       compatible = "qcom,x1e80100-adsp-pas";
+                       reg = <0 0x30000000 0 0x100>;
+
+                       interrupts-extended = <&pdc 6 IRQ_TYPE_EDGE_RISING>,
+                                             <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
+                                             <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>,
+                                             <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
+                                             <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>;
+                       interrupt-names = "wdog",
+                                         "fatal",
+                                         "ready",
+                                         "handover",
+                                         "stop-ack";
+
+                       clocks = <&rpmhcc RPMH_CXO_CLK>;
+                       clock-names = "xo";
+
+                       power-domains = <&rpmhpd RPMHPD_LCX>,
+                                       <&rpmhpd RPMHPD_LMX>;
+                       power-domain-names = "lcx",
+                                            "lmx";
+
+                       interconnects = <&lpass_lpicx_noc MASTER_LPASS_PROC QCOM_ICC_TAG_ALWAYS
+                                        &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
+
+                       memory-region = <&adspslpi_mem>,
+                                       <&q6_adsp_dtb_mem>;
+
+                       qcom,qmp = <&aoss_qmp>;
+
+                       qcom,smem-states = <&smp2p_adsp_out 0>;
+                       qcom,smem-state-names = "stop";
+
+                       status = "disabled";
+
+                       glink-edge {
+                               interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
+                                                            IPCC_MPROC_SIGNAL_GLINK_QMP
+                                                            IRQ_TYPE_EDGE_RISING>;
+                               mboxes = <&ipcc IPCC_CLIENT_LPASS
+                                               IPCC_MPROC_SIGNAL_GLINK_QMP>;
+
+                               label = "lpass";
+                               qcom,remote-pid = <2>;
+
+                               gpr {
+                                       compatible = "qcom,gpr";
+                                       qcom,glink-channels = "adsp_apps";
+                                       qcom,domain = <GPR_DOMAIN_ID_ADSP>;
+                                       qcom,intents = <512 20>;
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+
+                                       q6apm: service@1 {
+                                               compatible = "qcom,q6apm";
+                                               reg = <GPR_APM_MODULE_IID>;
+                                               #sound-dai-cells = <0>;
+                                               qcom,protection-domain = "avs/audio",
+                                                                        "msm/adsp/audio_pd";
+
+                                               q6apmbedai: bedais {
+                                                       compatible = "qcom,q6apm-lpass-dais";
+                                                       #sound-dai-cells = <1>;
+                                               };
+
+                                               q6apmdai: dais {
+                                                       compatible = "qcom,q6apm-dais";
+                                                       iommus = <&apps_smmu 0x1001 0x80>,
+                                                                <&apps_smmu 0x1061 0x0>;
+                                               };
+                                       };
+
+                                       q6prm: service@2 {
+                                               compatible = "qcom,q6prm";
+                                               reg = <GPR_PRM_MODULE_IID>;
+                                               qcom,protection-domain = "avs/audio",
+                                                                        "msm/adsp/audio_pd";
+
+                                               q6prmcc: clock-controller {
+                                                       compatible = "qcom,q6prm-lpass-clocks";
+                                                       #clock-cells = <2>;
+                                               };
+                                       };
+                               };
+                       };
+               };
+
+               remoteproc_cdsp: remoteproc@32300000 {
+                       compatible = "qcom,x1e80100-cdsp-pas";
+                       reg = <0 0x32300000 0 0x1400000>;
+
+                       interrupts-extended = <&intc GIC_SPI 578 IRQ_TYPE_EDGE_RISING>,
+                                             <&smp2p_cdsp_in 0 IRQ_TYPE_EDGE_RISING>,
+                                             <&smp2p_cdsp_in 1 IRQ_TYPE_EDGE_RISING>,
+                                             <&smp2p_cdsp_in 2 IRQ_TYPE_EDGE_RISING>,
+                                             <&smp2p_cdsp_in 3 IRQ_TYPE_EDGE_RISING>;
+                       interrupt-names = "wdog",
+                                         "fatal",
+                                         "ready",
+                                         "handover",
+                                         "stop-ack";
+
+                       clocks = <&rpmhcc RPMH_CXO_CLK>;
+                       clock-names = "xo";
+
+                       power-domains = <&rpmhpd RPMHPD_CX>,
+                                       <&rpmhpd RPMHPD_MXC>,
+                                       <&rpmhpd RPMHPD_NSP>;
+                       power-domain-names = "cx",
+                                            "mxc",
+                                            "nsp";
+
+                       interconnects = <&nsp_noc MASTER_CDSP_PROC QCOM_ICC_TAG_ALWAYS
+                                        &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
+
+                       memory-region = <&cdsp_mem>,
+                                       <&q6_cdsp_dtb_mem>;
+
+                       qcom,qmp = <&aoss_qmp>;
+
+                       qcom,smem-states = <&smp2p_cdsp_out 0>;
+                       qcom,smem-state-names = "stop";
+
+                       status = "disabled";
+
+                       glink-edge {
+                               interrupts-extended = <&ipcc IPCC_CLIENT_CDSP
+                                                            IPCC_MPROC_SIGNAL_GLINK_QMP
+                                                            IRQ_TYPE_EDGE_RISING>;
+                               mboxes = <&ipcc IPCC_CLIENT_CDSP
+                                               IPCC_MPROC_SIGNAL_GLINK_QMP>;
+
+                               label = "cdsp";
+                               qcom,remote-pid = <5>;
+                       };
+               };
        };
 
        timer {