1f126890aSEmmanuel Vadot// SPDX-License-Identifier: BSD-3-Clause 2f126890aSEmmanuel Vadot/* 3f126890aSEmmanuel Vadot * SDX55 SoC device tree source 4f126890aSEmmanuel Vadot * 5f126890aSEmmanuel Vadot * Copyright (c) 2018, The Linux Foundation. All rights reserved. 6f126890aSEmmanuel Vadot * Copyright (c) 2020, Linaro Ltd. 7f126890aSEmmanuel Vadot */ 8f126890aSEmmanuel Vadot 9f126890aSEmmanuel Vadot#include <dt-bindings/clock/qcom,gcc-sdx55.h> 10f126890aSEmmanuel Vadot#include <dt-bindings/clock/qcom,rpmh.h> 11f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 12f126890aSEmmanuel Vadot#include <dt-bindings/interconnect/qcom,sdx55.h> 13f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 14f126890aSEmmanuel Vadot#include <dt-bindings/power/qcom-rpmpd.h> 15f126890aSEmmanuel Vadot#include <dt-bindings/soc/qcom,rpmh-rsc.h> 16f126890aSEmmanuel Vadot 17f126890aSEmmanuel Vadot/ { 18f126890aSEmmanuel Vadot #address-cells = <1>; 19f126890aSEmmanuel Vadot #size-cells = <1>; 20f126890aSEmmanuel Vadot qcom,msm-id = <357 0x10000>, <368 0x10000>, <418 0x10000>; 21f126890aSEmmanuel Vadot interrupt-parent = <&intc>; 22f126890aSEmmanuel Vadot 23f126890aSEmmanuel Vadot memory { 24f126890aSEmmanuel Vadot device_type = "memory"; 25f126890aSEmmanuel Vadot reg = <0 0>; 26f126890aSEmmanuel Vadot }; 27f126890aSEmmanuel Vadot 28f126890aSEmmanuel Vadot clocks { 29f126890aSEmmanuel Vadot xo_board: xo-board { 30f126890aSEmmanuel Vadot compatible = "fixed-clock"; 31f126890aSEmmanuel Vadot #clock-cells = <0>; 32f126890aSEmmanuel Vadot clock-frequency = <38400000>; 33f126890aSEmmanuel Vadot clock-output-names = "xo_board"; 34f126890aSEmmanuel Vadot }; 35f126890aSEmmanuel Vadot 36f126890aSEmmanuel Vadot sleep_clk: sleep-clk { 37f126890aSEmmanuel Vadot compatible = "fixed-clock"; 38f126890aSEmmanuel Vadot #clock-cells = <0>; 39f126890aSEmmanuel Vadot clock-frequency = <32000>; 40f126890aSEmmanuel Vadot }; 41f126890aSEmmanuel Vadot 42f126890aSEmmanuel Vadot nand_clk_dummy: nand-clk-dummy { 43f126890aSEmmanuel Vadot compatible = "fixed-clock"; 44f126890aSEmmanuel Vadot #clock-cells = <0>; 45f126890aSEmmanuel Vadot clock-frequency = <32000>; 46f126890aSEmmanuel Vadot }; 47f126890aSEmmanuel Vadot }; 48f126890aSEmmanuel Vadot 49f126890aSEmmanuel Vadot cpus { 50f126890aSEmmanuel Vadot #address-cells = <1>; 51f126890aSEmmanuel Vadot #size-cells = <0>; 52f126890aSEmmanuel Vadot 53f126890aSEmmanuel Vadot cpu0: cpu@0 { 54f126890aSEmmanuel Vadot device_type = "cpu"; 55f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 56f126890aSEmmanuel Vadot reg = <0x0>; 57f126890aSEmmanuel Vadot enable-method = "psci"; 58f126890aSEmmanuel Vadot clocks = <&apcs>; 59f126890aSEmmanuel Vadot power-domains = <&rpmhpd SDX55_CX>; 60f126890aSEmmanuel Vadot power-domain-names = "rpmhpd"; 61f126890aSEmmanuel Vadot operating-points-v2 = <&cpu_opp_table>; 62f126890aSEmmanuel Vadot }; 63f126890aSEmmanuel Vadot }; 64f126890aSEmmanuel Vadot 65f126890aSEmmanuel Vadot firmware { 66f126890aSEmmanuel Vadot scm { 67f126890aSEmmanuel Vadot compatible = "qcom,scm-sdx55", "qcom,scm"; 68f126890aSEmmanuel Vadot }; 69f126890aSEmmanuel Vadot }; 70f126890aSEmmanuel Vadot 71f126890aSEmmanuel Vadot cpu_opp_table: opp-table-cpu { 72f126890aSEmmanuel Vadot compatible = "operating-points-v2"; 73f126890aSEmmanuel Vadot opp-shared; 74f126890aSEmmanuel Vadot 75f126890aSEmmanuel Vadot opp-345600000 { 76f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <345600000>; 77f126890aSEmmanuel Vadot required-opps = <&rpmhpd_opp_low_svs>; 78f126890aSEmmanuel Vadot }; 79f126890aSEmmanuel Vadot 80f126890aSEmmanuel Vadot opp-576000000 { 81f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <576000000>; 82f126890aSEmmanuel Vadot required-opps = <&rpmhpd_opp_svs>; 83f126890aSEmmanuel Vadot }; 84f126890aSEmmanuel Vadot 85f126890aSEmmanuel Vadot opp-1094400000 { 86f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <1094400000>; 87f126890aSEmmanuel Vadot required-opps = <&rpmhpd_opp_nom>; 88f126890aSEmmanuel Vadot }; 89f126890aSEmmanuel Vadot 90f126890aSEmmanuel Vadot opp-1555200000 { 91f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <1555200000>; 92f126890aSEmmanuel Vadot required-opps = <&rpmhpd_opp_turbo>; 93f126890aSEmmanuel Vadot }; 94f126890aSEmmanuel Vadot }; 95f126890aSEmmanuel Vadot 96f126890aSEmmanuel Vadot psci { 97f126890aSEmmanuel Vadot compatible = "arm,psci-1.0"; 98f126890aSEmmanuel Vadot method = "smc"; 99f126890aSEmmanuel Vadot }; 100f126890aSEmmanuel Vadot 101f126890aSEmmanuel Vadot reserved-memory { 102f126890aSEmmanuel Vadot #address-cells = <1>; 103f126890aSEmmanuel Vadot #size-cells = <1>; 104f126890aSEmmanuel Vadot ranges; 105f126890aSEmmanuel Vadot 106f126890aSEmmanuel Vadot hyp_mem: memory@8fc00000 { 107f126890aSEmmanuel Vadot no-map; 108f126890aSEmmanuel Vadot reg = <0x8fc00000 0x80000>; 109f126890aSEmmanuel Vadot }; 110f126890aSEmmanuel Vadot 111f126890aSEmmanuel Vadot ac_db_mem: memory@8fc80000 { 112f126890aSEmmanuel Vadot no-map; 113f126890aSEmmanuel Vadot reg = <0x8fc80000 0x40000>; 114f126890aSEmmanuel Vadot }; 115f126890aSEmmanuel Vadot 116f126890aSEmmanuel Vadot secdata_mem: memory@8fcfd000 { 117f126890aSEmmanuel Vadot no-map; 118f126890aSEmmanuel Vadot reg = <0x8fcfd000 0x1000>; 119f126890aSEmmanuel Vadot }; 120f126890aSEmmanuel Vadot 121f126890aSEmmanuel Vadot sbl_mem: memory@8fd00000 { 122f126890aSEmmanuel Vadot no-map; 123f126890aSEmmanuel Vadot reg = <0x8fd00000 0x100000>; 124f126890aSEmmanuel Vadot }; 125f126890aSEmmanuel Vadot 126f126890aSEmmanuel Vadot aop_image: memory@8fe00000 { 127f126890aSEmmanuel Vadot no-map; 128f126890aSEmmanuel Vadot reg = <0x8fe00000 0x20000>; 129f126890aSEmmanuel Vadot }; 130f126890aSEmmanuel Vadot 131f126890aSEmmanuel Vadot aop_cmd_db: memory@8fe20000 { 132f126890aSEmmanuel Vadot compatible = "qcom,cmd-db"; 133f126890aSEmmanuel Vadot reg = <0x8fe20000 0x20000>; 134f126890aSEmmanuel Vadot no-map; 135f126890aSEmmanuel Vadot }; 136f126890aSEmmanuel Vadot 137f126890aSEmmanuel Vadot smem_mem: memory@8fe40000 { 138f126890aSEmmanuel Vadot no-map; 139f126890aSEmmanuel Vadot reg = <0x8fe40000 0xc0000>; 140f126890aSEmmanuel Vadot }; 141f126890aSEmmanuel Vadot 142f126890aSEmmanuel Vadot tz_mem: memory@8ff00000 { 143f126890aSEmmanuel Vadot no-map; 144f126890aSEmmanuel Vadot reg = <0x8ff00000 0x100000>; 145f126890aSEmmanuel Vadot }; 146f126890aSEmmanuel Vadot 147f126890aSEmmanuel Vadot tz_apps_mem: memory@90000000 { 148f126890aSEmmanuel Vadot no-map; 149f126890aSEmmanuel Vadot reg = <0x90000000 0x500000>; 150f126890aSEmmanuel Vadot }; 151f126890aSEmmanuel Vadot }; 152f126890aSEmmanuel Vadot 153f126890aSEmmanuel Vadot smem { 154f126890aSEmmanuel Vadot compatible = "qcom,smem"; 155f126890aSEmmanuel Vadot memory-region = <&smem_mem>; 156f126890aSEmmanuel Vadot hwlocks = <&tcsr_mutex 3>; 157f126890aSEmmanuel Vadot }; 158f126890aSEmmanuel Vadot 159f126890aSEmmanuel Vadot smp2p-mpss { 160f126890aSEmmanuel Vadot compatible = "qcom,smp2p"; 161f126890aSEmmanuel Vadot qcom,smem = <435>, <428>; 162f126890aSEmmanuel Vadot interrupts = <GIC_SPI 113 IRQ_TYPE_EDGE_RISING>; 163f126890aSEmmanuel Vadot mboxes = <&apcs 14>; 164f126890aSEmmanuel Vadot qcom,local-pid = <0>; 165f126890aSEmmanuel Vadot qcom,remote-pid = <1>; 166f126890aSEmmanuel Vadot 167f126890aSEmmanuel Vadot modem_smp2p_out: master-kernel { 168f126890aSEmmanuel Vadot qcom,entry-name = "master-kernel"; 169f126890aSEmmanuel Vadot #qcom,smem-state-cells = <1>; 170f126890aSEmmanuel Vadot }; 171f126890aSEmmanuel Vadot 172f126890aSEmmanuel Vadot modem_smp2p_in: slave-kernel { 173f126890aSEmmanuel Vadot qcom,entry-name = "slave-kernel"; 174f126890aSEmmanuel Vadot interrupt-controller; 175f126890aSEmmanuel Vadot #interrupt-cells = <2>; 176f126890aSEmmanuel Vadot }; 177f126890aSEmmanuel Vadot 178f126890aSEmmanuel Vadot ipa_smp2p_out: ipa-ap-to-modem { 179f126890aSEmmanuel Vadot qcom,entry-name = "ipa"; 180f126890aSEmmanuel Vadot #qcom,smem-state-cells = <1>; 181f126890aSEmmanuel Vadot }; 182f126890aSEmmanuel Vadot 183f126890aSEmmanuel Vadot ipa_smp2p_in: ipa-modem-to-ap { 184f126890aSEmmanuel Vadot qcom,entry-name = "ipa"; 185f126890aSEmmanuel Vadot interrupt-controller; 186f126890aSEmmanuel Vadot #interrupt-cells = <2>; 187f126890aSEmmanuel Vadot }; 188f126890aSEmmanuel Vadot }; 189f126890aSEmmanuel Vadot 190f126890aSEmmanuel Vadot soc: soc { 191f126890aSEmmanuel Vadot #address-cells = <1>; 192f126890aSEmmanuel Vadot #size-cells = <1>; 193f126890aSEmmanuel Vadot ranges; 194f126890aSEmmanuel Vadot compatible = "simple-bus"; 195f126890aSEmmanuel Vadot 196f126890aSEmmanuel Vadot gcc: clock-controller@100000 { 197f126890aSEmmanuel Vadot compatible = "qcom,gcc-sdx55"; 198f126890aSEmmanuel Vadot reg = <0x100000 0x1f0000>; 199f126890aSEmmanuel Vadot #clock-cells = <1>; 200f126890aSEmmanuel Vadot #reset-cells = <1>; 201f126890aSEmmanuel Vadot #power-domain-cells = <1>; 202f126890aSEmmanuel Vadot clock-names = "bi_tcxo", "sleep_clk"; 203f126890aSEmmanuel Vadot clocks = <&rpmhcc RPMH_CXO_CLK>, <&sleep_clk>; 204f126890aSEmmanuel Vadot }; 205f126890aSEmmanuel Vadot 206f126890aSEmmanuel Vadot blsp1_uart3: serial@831000 { 207f126890aSEmmanuel Vadot compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 208f126890aSEmmanuel Vadot reg = <0x00831000 0x200>; 209f126890aSEmmanuel Vadot interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 210f126890aSEmmanuel Vadot clocks = <&gcc 30>, 211f126890aSEmmanuel Vadot <&gcc 9>; 212f126890aSEmmanuel Vadot clock-names = "core", "iface"; 213f126890aSEmmanuel Vadot status = "disabled"; 214f126890aSEmmanuel Vadot }; 215f126890aSEmmanuel Vadot 216f126890aSEmmanuel Vadot usb_hsphy: phy@ff4000 { 217f126890aSEmmanuel Vadot compatible = "qcom,sdx55-usb-hs-phy", 218f126890aSEmmanuel Vadot "qcom,usb-snps-hs-7nm-phy"; 219f126890aSEmmanuel Vadot reg = <0x00ff4000 0x114>; 220f126890aSEmmanuel Vadot status = "disabled"; 221f126890aSEmmanuel Vadot #phy-cells = <0>; 222f126890aSEmmanuel Vadot 223f126890aSEmmanuel Vadot clocks = <&rpmhcc RPMH_CXO_CLK>; 224f126890aSEmmanuel Vadot clock-names = "ref"; 225f126890aSEmmanuel Vadot 226f126890aSEmmanuel Vadot resets = <&gcc GCC_QUSB2PHY_BCR>; 227f126890aSEmmanuel Vadot }; 228f126890aSEmmanuel Vadot 229f126890aSEmmanuel Vadot usb_qmpphy: phy@ff6000 { 230f126890aSEmmanuel Vadot compatible = "qcom,sdx55-qmp-usb3-uni-phy"; 2318d13bc63SEmmanuel Vadot reg = <0x00ff6000 0x1000>; 232f126890aSEmmanuel Vadot 233f126890aSEmmanuel Vadot clocks = <&gcc GCC_USB3_PHY_AUX_CLK>, 2348d13bc63SEmmanuel Vadot <&gcc GCC_USB3_PRIM_CLKREF_CLK>, 235f126890aSEmmanuel Vadot <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>, 2368d13bc63SEmmanuel Vadot <&gcc GCC_USB3_PHY_PIPE_CLK>; 2378d13bc63SEmmanuel Vadot clock-names = "aux", 2388d13bc63SEmmanuel Vadot "ref", 2398d13bc63SEmmanuel Vadot "cfg_ahb", 2408d13bc63SEmmanuel Vadot "pipe"; 241f126890aSEmmanuel Vadot clock-output-names = "usb3_uni_phy_pipe_clk_src"; 2428d13bc63SEmmanuel Vadot #clock-cells = <0>; 2438d13bc63SEmmanuel Vadot #phy-cells = <0>; 2448d13bc63SEmmanuel Vadot 2458d13bc63SEmmanuel Vadot resets = <&gcc GCC_USB3_PHY_BCR>, 2468d13bc63SEmmanuel Vadot <&gcc GCC_USB3PHY_PHY_BCR>; 2478d13bc63SEmmanuel Vadot reset-names = "phy", 2488d13bc63SEmmanuel Vadot "phy_phy"; 2498d13bc63SEmmanuel Vadot 2508d13bc63SEmmanuel Vadot status = "disabled"; 251f126890aSEmmanuel Vadot }; 252f126890aSEmmanuel Vadot 253f126890aSEmmanuel Vadot mc_virt: interconnect@1100000 { 254f126890aSEmmanuel Vadot compatible = "qcom,sdx55-mc-virt"; 255f126890aSEmmanuel Vadot reg = <0x01100000 0x400000>; 256f126890aSEmmanuel Vadot #interconnect-cells = <1>; 257f126890aSEmmanuel Vadot qcom,bcm-voters = <&apps_bcm_voter>; 258f126890aSEmmanuel Vadot }; 259f126890aSEmmanuel Vadot 260f126890aSEmmanuel Vadot mem_noc: interconnect@9680000 { 261f126890aSEmmanuel Vadot compatible = "qcom,sdx55-mem-noc"; 262f126890aSEmmanuel Vadot reg = <0x09680000 0x40000>; 263f126890aSEmmanuel Vadot #interconnect-cells = <1>; 264f126890aSEmmanuel Vadot qcom,bcm-voters = <&apps_bcm_voter>; 265f126890aSEmmanuel Vadot }; 266f126890aSEmmanuel Vadot 267f126890aSEmmanuel Vadot system_noc: interconnect@162c000 { 268f126890aSEmmanuel Vadot compatible = "qcom,sdx55-system-noc"; 269f126890aSEmmanuel Vadot reg = <0x0162c000 0x31200>; 270f126890aSEmmanuel Vadot #interconnect-cells = <1>; 271f126890aSEmmanuel Vadot qcom,bcm-voters = <&apps_bcm_voter>; 272f126890aSEmmanuel Vadot }; 273f126890aSEmmanuel Vadot 274f126890aSEmmanuel Vadot qpic_bam: dma-controller@1b04000 { 275f126890aSEmmanuel Vadot compatible = "qcom,bam-v1.7.0"; 276f126890aSEmmanuel Vadot reg = <0x01b04000 0x1c000>; 277f126890aSEmmanuel Vadot interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>; 278f126890aSEmmanuel Vadot clocks = <&rpmhcc RPMH_QPIC_CLK>; 279f126890aSEmmanuel Vadot clock-names = "bam_clk"; 280f126890aSEmmanuel Vadot #dma-cells = <1>; 281f126890aSEmmanuel Vadot qcom,ee = <0>; 282f126890aSEmmanuel Vadot qcom,controlled-remotely; 283f126890aSEmmanuel Vadot status = "disabled"; 284f126890aSEmmanuel Vadot }; 285f126890aSEmmanuel Vadot 286f126890aSEmmanuel Vadot qpic_nand: nand-controller@1b30000 { 287f126890aSEmmanuel Vadot compatible = "qcom,sdx55-nand"; 288f126890aSEmmanuel Vadot reg = <0x01b30000 0x10000>; 289f126890aSEmmanuel Vadot #address-cells = <1>; 290f126890aSEmmanuel Vadot #size-cells = <0>; 291f126890aSEmmanuel Vadot clocks = <&rpmhcc RPMH_QPIC_CLK>, 292f126890aSEmmanuel Vadot <&nand_clk_dummy>; 293f126890aSEmmanuel Vadot clock-names = "core", "aon"; 294f126890aSEmmanuel Vadot 295f126890aSEmmanuel Vadot dmas = <&qpic_bam 0>, 296f126890aSEmmanuel Vadot <&qpic_bam 1>, 297f126890aSEmmanuel Vadot <&qpic_bam 2>; 298f126890aSEmmanuel Vadot dma-names = "tx", "rx", "cmd"; 299f126890aSEmmanuel Vadot status = "disabled"; 300f126890aSEmmanuel Vadot }; 301f126890aSEmmanuel Vadot 302f126890aSEmmanuel Vadot pcie_rc: pcie@1c00000 { 303f126890aSEmmanuel Vadot compatible = "qcom,pcie-sdx55"; 304f126890aSEmmanuel Vadot reg = <0x01c00000 0x3000>, 305f126890aSEmmanuel Vadot <0x40000000 0xf1d>, 306f126890aSEmmanuel Vadot <0x40000f20 0xc8>, 307f126890aSEmmanuel Vadot <0x40001000 0x1000>, 308f126890aSEmmanuel Vadot <0x40100000 0x100000>; 309f126890aSEmmanuel Vadot reg-names = "parf", 310f126890aSEmmanuel Vadot "dbi", 311f126890aSEmmanuel Vadot "elbi", 312f126890aSEmmanuel Vadot "atu", 313f126890aSEmmanuel Vadot "config"; 314f126890aSEmmanuel Vadot device_type = "pci"; 315f126890aSEmmanuel Vadot linux,pci-domain = <0>; 316f126890aSEmmanuel Vadot bus-range = <0x00 0xff>; 317f126890aSEmmanuel Vadot num-lanes = <1>; 318f126890aSEmmanuel Vadot 319f126890aSEmmanuel Vadot #address-cells = <3>; 320f126890aSEmmanuel Vadot #size-cells = <2>; 321f126890aSEmmanuel Vadot 322f126890aSEmmanuel Vadot ranges = <0x01000000 0x0 0x00000000 0x40200000 0x0 0x100000>, 323f126890aSEmmanuel Vadot <0x02000000 0x0 0x40300000 0x40300000 0x0 0x3fd00000>; 324f126890aSEmmanuel Vadot 325f126890aSEmmanuel Vadot interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>, 326f126890aSEmmanuel Vadot <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>, 327f126890aSEmmanuel Vadot <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>, 328f126890aSEmmanuel Vadot <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>, 329f126890aSEmmanuel Vadot <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>, 330f126890aSEmmanuel Vadot <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>, 331f126890aSEmmanuel Vadot <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>, 332f126890aSEmmanuel Vadot <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>; 333f126890aSEmmanuel Vadot interrupt-names = "msi", 334f126890aSEmmanuel Vadot "msi2", 335f126890aSEmmanuel Vadot "msi3", 336f126890aSEmmanuel Vadot "msi4", 337f126890aSEmmanuel Vadot "msi5", 338f126890aSEmmanuel Vadot "msi6", 339f126890aSEmmanuel Vadot "msi7", 340f126890aSEmmanuel Vadot "msi8"; 341f126890aSEmmanuel Vadot #interrupt-cells = <1>; 342f126890aSEmmanuel Vadot interrupt-map-mask = <0 0 0 0x7>; 3438d13bc63SEmmanuel Vadot interrupt-map = <0 0 0 1 &intc 0 141 IRQ_TYPE_LEVEL_HIGH>, /* int_a */ 3448d13bc63SEmmanuel Vadot <0 0 0 2 &intc 0 142 IRQ_TYPE_LEVEL_HIGH>, /* int_b */ 3458d13bc63SEmmanuel Vadot <0 0 0 3 &intc 0 143 IRQ_TYPE_LEVEL_HIGH>, /* int_c */ 3468d13bc63SEmmanuel Vadot <0 0 0 4 &intc 0 144 IRQ_TYPE_LEVEL_HIGH>; /* int_d */ 347f126890aSEmmanuel Vadot 348f126890aSEmmanuel Vadot clocks = <&gcc GCC_PCIE_PIPE_CLK>, 349f126890aSEmmanuel Vadot <&gcc GCC_PCIE_AUX_CLK>, 350f126890aSEmmanuel Vadot <&gcc GCC_PCIE_CFG_AHB_CLK>, 351f126890aSEmmanuel Vadot <&gcc GCC_PCIE_MSTR_AXI_CLK>, 352f126890aSEmmanuel Vadot <&gcc GCC_PCIE_SLV_AXI_CLK>, 353f126890aSEmmanuel Vadot <&gcc GCC_PCIE_SLV_Q2A_AXI_CLK>, 354f126890aSEmmanuel Vadot <&gcc GCC_PCIE_SLEEP_CLK>; 355f126890aSEmmanuel Vadot clock-names = "pipe", 356f126890aSEmmanuel Vadot "aux", 357f126890aSEmmanuel Vadot "cfg", 358f126890aSEmmanuel Vadot "bus_master", 359f126890aSEmmanuel Vadot "bus_slave", 360f126890aSEmmanuel Vadot "slave_q2a", 361f126890aSEmmanuel Vadot "sleep"; 362f126890aSEmmanuel Vadot 363f126890aSEmmanuel Vadot assigned-clocks = <&gcc GCC_PCIE_AUX_CLK>; 364f126890aSEmmanuel Vadot assigned-clock-rates = <19200000>; 365f126890aSEmmanuel Vadot 366f126890aSEmmanuel Vadot iommu-map = <0x0 &apps_smmu 0x0200 0x1>, 367f126890aSEmmanuel Vadot <0x100 &apps_smmu 0x0201 0x1>, 368f126890aSEmmanuel Vadot <0x200 &apps_smmu 0x0202 0x1>, 369f126890aSEmmanuel Vadot <0x300 &apps_smmu 0x0203 0x1>, 370f126890aSEmmanuel Vadot <0x400 &apps_smmu 0x0204 0x1>; 371f126890aSEmmanuel Vadot 372f126890aSEmmanuel Vadot resets = <&gcc GCC_PCIE_BCR>; 373f126890aSEmmanuel Vadot reset-names = "pci"; 374f126890aSEmmanuel Vadot 375f126890aSEmmanuel Vadot power-domains = <&gcc PCIE_GDSC>; 376f126890aSEmmanuel Vadot 37784943d6fSEmmanuel Vadot phys = <&pcie_phy>; 378f126890aSEmmanuel Vadot phy-names = "pciephy"; 379f126890aSEmmanuel Vadot 380f126890aSEmmanuel Vadot status = "disabled"; 381*7d0873ebSEmmanuel Vadot 382*7d0873ebSEmmanuel Vadot pcie@0 { 383*7d0873ebSEmmanuel Vadot device_type = "pci"; 384*7d0873ebSEmmanuel Vadot reg = <0x0 0x0 0x0 0x0 0x0>; 385*7d0873ebSEmmanuel Vadot bus-range = <0x01 0xff>; 386*7d0873ebSEmmanuel Vadot 387*7d0873ebSEmmanuel Vadot #address-cells = <3>; 388*7d0873ebSEmmanuel Vadot #size-cells = <2>; 389*7d0873ebSEmmanuel Vadot ranges; 390*7d0873ebSEmmanuel Vadot }; 391f126890aSEmmanuel Vadot }; 392f126890aSEmmanuel Vadot 393f126890aSEmmanuel Vadot pcie_ep: pcie-ep@1c00000 { 394f126890aSEmmanuel Vadot compatible = "qcom,sdx55-pcie-ep"; 395f126890aSEmmanuel Vadot reg = <0x01c00000 0x3000>, 396f126890aSEmmanuel Vadot <0x40000000 0xf1d>, 397f126890aSEmmanuel Vadot <0x40000f20 0xc8>, 398f126890aSEmmanuel Vadot <0x40001000 0x1000>, 399f126890aSEmmanuel Vadot <0x40200000 0x100000>, 400f126890aSEmmanuel Vadot <0x01c03000 0x3000>; 401f126890aSEmmanuel Vadot reg-names = "parf", 402f126890aSEmmanuel Vadot "dbi", 403f126890aSEmmanuel Vadot "elbi", 404f126890aSEmmanuel Vadot "atu", 405f126890aSEmmanuel Vadot "addr_space", 406f126890aSEmmanuel Vadot "mmio"; 407f126890aSEmmanuel Vadot 408f126890aSEmmanuel Vadot qcom,perst-regs = <&tcsr 0xb258 0xb270>; 409f126890aSEmmanuel Vadot 410f126890aSEmmanuel Vadot clocks = <&gcc GCC_PCIE_AUX_CLK>, 411f126890aSEmmanuel Vadot <&gcc GCC_PCIE_CFG_AHB_CLK>, 412f126890aSEmmanuel Vadot <&gcc GCC_PCIE_MSTR_AXI_CLK>, 413f126890aSEmmanuel Vadot <&gcc GCC_PCIE_SLV_AXI_CLK>, 414f126890aSEmmanuel Vadot <&gcc GCC_PCIE_SLV_Q2A_AXI_CLK>, 415f126890aSEmmanuel Vadot <&gcc GCC_PCIE_SLEEP_CLK>, 416f126890aSEmmanuel Vadot <&gcc GCC_PCIE_0_CLKREF_CLK>; 417f126890aSEmmanuel Vadot clock-names = "aux", 418f126890aSEmmanuel Vadot "cfg", 419f126890aSEmmanuel Vadot "bus_master", 420f126890aSEmmanuel Vadot "bus_slave", 421f126890aSEmmanuel Vadot "slave_q2a", 422f126890aSEmmanuel Vadot "sleep", 423f126890aSEmmanuel Vadot "ref"; 424f126890aSEmmanuel Vadot 425f126890aSEmmanuel Vadot interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>, 426f126890aSEmmanuel Vadot <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>; 427f126890aSEmmanuel Vadot interrupt-names = "global", 428f126890aSEmmanuel Vadot "doorbell"; 429f126890aSEmmanuel Vadot 430f126890aSEmmanuel Vadot interconnects = <&system_noc MASTER_PCIE &mc_virt SLAVE_EBI_CH0>; 431f126890aSEmmanuel Vadot interconnect-names = "pcie-mem"; 432f126890aSEmmanuel Vadot 433f126890aSEmmanuel Vadot resets = <&gcc GCC_PCIE_BCR>; 434f126890aSEmmanuel Vadot reset-names = "core"; 435f126890aSEmmanuel Vadot power-domains = <&gcc PCIE_GDSC>; 43684943d6fSEmmanuel Vadot phys = <&pcie_phy>; 437f126890aSEmmanuel Vadot phy-names = "pciephy"; 438f126890aSEmmanuel Vadot max-link-speed = <3>; 439f126890aSEmmanuel Vadot num-lanes = <2>; 440f126890aSEmmanuel Vadot 441f126890aSEmmanuel Vadot status = "disabled"; 442f126890aSEmmanuel Vadot }; 443f126890aSEmmanuel Vadot 4448d13bc63SEmmanuel Vadot pcie_phy: phy@1c06000 { 445f126890aSEmmanuel Vadot compatible = "qcom,sdx55-qmp-pcie-phy"; 4468d13bc63SEmmanuel Vadot reg = <0x01c06000 0x2000>; 447f126890aSEmmanuel Vadot #address-cells = <1>; 448f126890aSEmmanuel Vadot #size-cells = <1>; 449f126890aSEmmanuel Vadot ranges; 450f126890aSEmmanuel Vadot clocks = <&gcc GCC_PCIE_AUX_PHY_CLK_SRC>, 451f126890aSEmmanuel Vadot <&gcc GCC_PCIE_CFG_AHB_CLK>, 452f126890aSEmmanuel Vadot <&gcc GCC_PCIE_0_CLKREF_CLK>, 45384943d6fSEmmanuel Vadot <&gcc GCC_PCIE_RCHNG_PHY_CLK>, 45484943d6fSEmmanuel Vadot <&gcc GCC_PCIE_PIPE_CLK>; 455f126890aSEmmanuel Vadot clock-names = "aux", 456f126890aSEmmanuel Vadot "cfg_ahb", 457f126890aSEmmanuel Vadot "ref", 45884943d6fSEmmanuel Vadot "refgen", 45984943d6fSEmmanuel Vadot "pipe"; 46084943d6fSEmmanuel Vadot 46184943d6fSEmmanuel Vadot clock-output-names = "pcie_pipe_clk"; 46284943d6fSEmmanuel Vadot #clock-cells = <0>; 46384943d6fSEmmanuel Vadot 46484943d6fSEmmanuel Vadot #phy-cells = <0>; 465f126890aSEmmanuel Vadot 466f126890aSEmmanuel Vadot resets = <&gcc GCC_PCIE_PHY_BCR>; 467f126890aSEmmanuel Vadot reset-names = "phy"; 468f126890aSEmmanuel Vadot 469f126890aSEmmanuel Vadot assigned-clocks = <&gcc GCC_PCIE_RCHNG_PHY_CLK>; 470f126890aSEmmanuel Vadot assigned-clock-rates = <100000000>; 471f126890aSEmmanuel Vadot 472f126890aSEmmanuel Vadot status = "disabled"; 473f126890aSEmmanuel Vadot }; 474f126890aSEmmanuel Vadot 475f126890aSEmmanuel Vadot ipa: ipa@1e40000 { 476f126890aSEmmanuel Vadot compatible = "qcom,sdx55-ipa"; 477f126890aSEmmanuel Vadot 478f126890aSEmmanuel Vadot iommus = <&apps_smmu 0x5e0 0x0>, 479f126890aSEmmanuel Vadot <&apps_smmu 0x5e2 0x0>; 480f126890aSEmmanuel Vadot reg = <0x1e40000 0x7000>, 481f126890aSEmmanuel Vadot <0x1e50000 0x4b20>, 482f126890aSEmmanuel Vadot <0x1e04000 0x2c000>; 483f126890aSEmmanuel Vadot reg-names = "ipa-reg", 484f126890aSEmmanuel Vadot "ipa-shared", 485f126890aSEmmanuel Vadot "gsi"; 486f126890aSEmmanuel Vadot 487f126890aSEmmanuel Vadot interrupts-extended = <&intc GIC_SPI 241 IRQ_TYPE_EDGE_RISING>, 488f126890aSEmmanuel Vadot <&intc GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>, 489f126890aSEmmanuel Vadot <&ipa_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, 490f126890aSEmmanuel Vadot <&ipa_smp2p_in 1 IRQ_TYPE_EDGE_RISING>; 491f126890aSEmmanuel Vadot interrupt-names = "ipa", 492f126890aSEmmanuel Vadot "gsi", 493f126890aSEmmanuel Vadot "ipa-clock-query", 494f126890aSEmmanuel Vadot "ipa-setup-ready"; 495f126890aSEmmanuel Vadot 496f126890aSEmmanuel Vadot clocks = <&rpmhcc RPMH_IPA_CLK>; 497f126890aSEmmanuel Vadot clock-names = "core"; 498f126890aSEmmanuel Vadot 499f126890aSEmmanuel Vadot interconnects = <&system_noc MASTER_IPA &mc_virt SLAVE_EBI_CH0>, 500f126890aSEmmanuel Vadot <&system_noc MASTER_IPA &system_noc SLAVE_OCIMEM>, 501f126890aSEmmanuel Vadot <&mem_noc MASTER_AMPSS_M0 &system_noc SLAVE_IPA_CFG>; 502f126890aSEmmanuel Vadot interconnect-names = "memory", 503f126890aSEmmanuel Vadot "imem", 504f126890aSEmmanuel Vadot "config"; 505f126890aSEmmanuel Vadot 506f126890aSEmmanuel Vadot qcom,smem-states = <&ipa_smp2p_out 0>, 507f126890aSEmmanuel Vadot <&ipa_smp2p_out 1>; 508f126890aSEmmanuel Vadot qcom,smem-state-names = "ipa-clock-enabled-valid", 509f126890aSEmmanuel Vadot "ipa-clock-enabled"; 510f126890aSEmmanuel Vadot 511f126890aSEmmanuel Vadot status = "disabled"; 512f126890aSEmmanuel Vadot }; 513f126890aSEmmanuel Vadot 514f126890aSEmmanuel Vadot tcsr_mutex: hwlock@1f40000 { 515f126890aSEmmanuel Vadot compatible = "qcom,tcsr-mutex"; 516f126890aSEmmanuel Vadot reg = <0x01f40000 0x40000>; 517f126890aSEmmanuel Vadot #hwlock-cells = <1>; 518f126890aSEmmanuel Vadot }; 519f126890aSEmmanuel Vadot 520f126890aSEmmanuel Vadot tcsr: syscon@1fc0000 { 521f126890aSEmmanuel Vadot compatible = "qcom,sdx55-tcsr", "syscon"; 522f126890aSEmmanuel Vadot reg = <0x01fc0000 0x1000>; 523f126890aSEmmanuel Vadot }; 524f126890aSEmmanuel Vadot 525f126890aSEmmanuel Vadot sdhc_1: mmc@8804000 { 526f126890aSEmmanuel Vadot compatible = "qcom,sdx55-sdhci", "qcom,sdhci-msm-v5"; 527f126890aSEmmanuel Vadot reg = <0x08804000 0x1000>; 528f126890aSEmmanuel Vadot interrupts = <GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH>, 529f126890aSEmmanuel Vadot <GIC_SPI 227 IRQ_TYPE_LEVEL_HIGH>; 530f126890aSEmmanuel Vadot interrupt-names = "hc_irq", "pwr_irq"; 531f126890aSEmmanuel Vadot clocks = <&gcc GCC_SDCC1_AHB_CLK>, 532f126890aSEmmanuel Vadot <&gcc GCC_SDCC1_APPS_CLK>; 533f126890aSEmmanuel Vadot clock-names = "iface", "core"; 534f126890aSEmmanuel Vadot status = "disabled"; 535f126890aSEmmanuel Vadot }; 536f126890aSEmmanuel Vadot 537f126890aSEmmanuel Vadot remoteproc_mpss: remoteproc@4080000 { 538f126890aSEmmanuel Vadot compatible = "qcom,sdx55-mpss-pas"; 539f126890aSEmmanuel Vadot reg = <0x04080000 0x4040>; 540f126890aSEmmanuel Vadot 541f126890aSEmmanuel Vadot interrupts-extended = <&intc GIC_SPI 250 IRQ_TYPE_EDGE_RISING>, 542f126890aSEmmanuel Vadot <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, 543f126890aSEmmanuel Vadot <&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, 544f126890aSEmmanuel Vadot <&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, 545f126890aSEmmanuel Vadot <&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>, 546f126890aSEmmanuel Vadot <&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>; 547f126890aSEmmanuel Vadot interrupt-names = "wdog", "fatal", "ready", "handover", 548f126890aSEmmanuel Vadot "stop-ack", "shutdown-ack"; 549f126890aSEmmanuel Vadot 550f126890aSEmmanuel Vadot clocks = <&rpmhcc RPMH_CXO_CLK>; 551f126890aSEmmanuel Vadot clock-names = "xo"; 552f126890aSEmmanuel Vadot 553f126890aSEmmanuel Vadot power-domains = <&rpmhpd SDX55_CX>, 554f126890aSEmmanuel Vadot <&rpmhpd SDX55_MSS>; 555f126890aSEmmanuel Vadot power-domain-names = "cx", "mss"; 556f126890aSEmmanuel Vadot 557f126890aSEmmanuel Vadot qcom,smem-states = <&modem_smp2p_out 0>; 558f126890aSEmmanuel Vadot qcom,smem-state-names = "stop"; 559f126890aSEmmanuel Vadot 560f126890aSEmmanuel Vadot status = "disabled"; 561f126890aSEmmanuel Vadot 562f126890aSEmmanuel Vadot glink-edge { 563f126890aSEmmanuel Vadot interrupts = <GIC_SPI 114 IRQ_TYPE_EDGE_RISING>; 564f126890aSEmmanuel Vadot label = "mpss"; 565f126890aSEmmanuel Vadot qcom,remote-pid = <1>; 566f126890aSEmmanuel Vadot mboxes = <&apcs 15>; 567f126890aSEmmanuel Vadot }; 568f126890aSEmmanuel Vadot }; 569f126890aSEmmanuel Vadot 570f126890aSEmmanuel Vadot usb: usb@a6f8800 { 571f126890aSEmmanuel Vadot compatible = "qcom,sdx55-dwc3", "qcom,dwc3"; 572f126890aSEmmanuel Vadot reg = <0x0a6f8800 0x400>; 573f126890aSEmmanuel Vadot status = "disabled"; 574f126890aSEmmanuel Vadot #address-cells = <1>; 575f126890aSEmmanuel Vadot #size-cells = <1>; 576f126890aSEmmanuel Vadot ranges; 577f126890aSEmmanuel Vadot 578f126890aSEmmanuel Vadot clocks = <&gcc GCC_USB30_SLV_AHB_CLK>, 579f126890aSEmmanuel Vadot <&gcc GCC_USB30_MASTER_CLK>, 580f126890aSEmmanuel Vadot <&gcc GCC_USB30_MSTR_AXI_CLK>, 581f126890aSEmmanuel Vadot <&gcc GCC_USB30_SLEEP_CLK>, 582f126890aSEmmanuel Vadot <&gcc GCC_USB30_MOCK_UTMI_CLK>; 583f126890aSEmmanuel Vadot clock-names = "cfg_noc", 584f126890aSEmmanuel Vadot "core", 585f126890aSEmmanuel Vadot "iface", 586f126890aSEmmanuel Vadot "sleep", 587f126890aSEmmanuel Vadot "mock_utmi"; 588f126890aSEmmanuel Vadot 589f126890aSEmmanuel Vadot assigned-clocks = <&gcc GCC_USB30_MOCK_UTMI_CLK>, 590f126890aSEmmanuel Vadot <&gcc GCC_USB30_MASTER_CLK>; 591f126890aSEmmanuel Vadot assigned-clock-rates = <19200000>, <200000000>; 592f126890aSEmmanuel Vadot 59301950c46SEmmanuel Vadot interrupts-extended = <&intc GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>, 59401950c46SEmmanuel Vadot <&intc GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>, 59501950c46SEmmanuel Vadot <&pdc 10 IRQ_TYPE_EDGE_BOTH>, 5968d13bc63SEmmanuel Vadot <&pdc 11 IRQ_TYPE_EDGE_BOTH>, 59701950c46SEmmanuel Vadot <&pdc 51 IRQ_TYPE_LEVEL_HIGH>; 59801950c46SEmmanuel Vadot interrupt-names = "pwr_event", 59901950c46SEmmanuel Vadot "hs_phy_irq", 60001950c46SEmmanuel Vadot "dp_hs_phy_irq", 60101950c46SEmmanuel Vadot "dm_hs_phy_irq", 60201950c46SEmmanuel Vadot "ss_phy_irq"; 603f126890aSEmmanuel Vadot 604f126890aSEmmanuel Vadot power-domains = <&gcc USB30_GDSC>; 605f126890aSEmmanuel Vadot 606f126890aSEmmanuel Vadot resets = <&gcc GCC_USB30_BCR>; 607f126890aSEmmanuel Vadot 608aa1a8ff2SEmmanuel Vadot usb_dwc3: usb@a600000 { 609f126890aSEmmanuel Vadot compatible = "snps,dwc3"; 610f126890aSEmmanuel Vadot reg = <0x0a600000 0xcd00>; 611f126890aSEmmanuel Vadot interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>; 612f126890aSEmmanuel Vadot iommus = <&apps_smmu 0x1a0 0x0>; 613f126890aSEmmanuel Vadot snps,dis_u2_susphy_quirk; 614f126890aSEmmanuel Vadot snps,dis_enblslpm_quirk; 6158d13bc63SEmmanuel Vadot phys = <&usb_hsphy>, <&usb_qmpphy>; 616f126890aSEmmanuel Vadot phy-names = "usb2-phy", "usb3-phy"; 617f126890aSEmmanuel Vadot }; 618f126890aSEmmanuel Vadot }; 619f126890aSEmmanuel Vadot 620f126890aSEmmanuel Vadot pdc: interrupt-controller@b210000 { 621f126890aSEmmanuel Vadot compatible = "qcom,sdx55-pdc", "qcom,pdc"; 622f126890aSEmmanuel Vadot reg = <0x0b210000 0x30000>; 623f126890aSEmmanuel Vadot qcom,pdc-ranges = <0 179 52>; 6248d13bc63SEmmanuel Vadot #interrupt-cells = <2>; 625f126890aSEmmanuel Vadot interrupt-parent = <&intc>; 626f126890aSEmmanuel Vadot interrupt-controller; 627f126890aSEmmanuel Vadot }; 628f126890aSEmmanuel Vadot 629f126890aSEmmanuel Vadot restart@c264000 { 630f126890aSEmmanuel Vadot compatible = "qcom,pshold"; 631f126890aSEmmanuel Vadot reg = <0x0c264000 0x1000>; 632f126890aSEmmanuel Vadot }; 633f126890aSEmmanuel Vadot 634f126890aSEmmanuel Vadot spmi_bus: spmi@c440000 { 635f126890aSEmmanuel Vadot compatible = "qcom,spmi-pmic-arb"; 636f126890aSEmmanuel Vadot reg = <0x0c440000 0x0000d00>, 637f126890aSEmmanuel Vadot <0x0c600000 0x2000000>, 638f126890aSEmmanuel Vadot <0x0e600000 0x0100000>, 639f126890aSEmmanuel Vadot <0x0e700000 0x00a0000>, 640f126890aSEmmanuel Vadot <0x0c40a000 0x0000700>; 641f126890aSEmmanuel Vadot reg-names = "core", "chnls", "obsrvr", "intr", "cnfg"; 642f126890aSEmmanuel Vadot interrupt-names = "periph_irq"; 643f126890aSEmmanuel Vadot interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>; 644f126890aSEmmanuel Vadot qcom,ee = <0>; 645f126890aSEmmanuel Vadot qcom,channel = <0>; 646f126890aSEmmanuel Vadot #address-cells = <2>; 647f126890aSEmmanuel Vadot #size-cells = <0>; 648f126890aSEmmanuel Vadot interrupt-controller; 649f126890aSEmmanuel Vadot #interrupt-cells = <4>; 650f126890aSEmmanuel Vadot }; 651f126890aSEmmanuel Vadot 652f126890aSEmmanuel Vadot tlmm: pinctrl@f100000 { 653f126890aSEmmanuel Vadot compatible = "qcom,sdx55-pinctrl"; 654f126890aSEmmanuel Vadot reg = <0xf100000 0x300000>; 655f126890aSEmmanuel Vadot interrupts = <GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH>; 656f126890aSEmmanuel Vadot gpio-controller; 657f126890aSEmmanuel Vadot #gpio-cells = <2>; 658f126890aSEmmanuel Vadot interrupt-controller; 659f126890aSEmmanuel Vadot #interrupt-cells = <2>; 660f126890aSEmmanuel Vadot gpio-ranges = <&tlmm 0 0 108>; 661f126890aSEmmanuel Vadot }; 662f126890aSEmmanuel Vadot 663f126890aSEmmanuel Vadot sram@1468f000 { 664f126890aSEmmanuel Vadot compatible = "qcom,sdx55-imem", "syscon", "simple-mfd"; 665f126890aSEmmanuel Vadot reg = <0x1468f000 0x1000>; 666f126890aSEmmanuel Vadot 667f126890aSEmmanuel Vadot #address-cells = <1>; 668f126890aSEmmanuel Vadot #size-cells = <1>; 669f126890aSEmmanuel Vadot 670f126890aSEmmanuel Vadot ranges = <0x0 0x1468f000 0x1000>; 671f126890aSEmmanuel Vadot 672f126890aSEmmanuel Vadot pil-reloc@94c { 673f126890aSEmmanuel Vadot compatible = "qcom,pil-reloc-info"; 674f126890aSEmmanuel Vadot reg = <0x94c 0x200>; 675f126890aSEmmanuel Vadot }; 676f126890aSEmmanuel Vadot }; 677f126890aSEmmanuel Vadot 678f126890aSEmmanuel Vadot apps_smmu: iommu@15000000 { 679f126890aSEmmanuel Vadot compatible = "qcom,sdx55-smmu-500", "qcom,smmu-500", "arm,mmu-500"; 680f126890aSEmmanuel Vadot reg = <0x15000000 0x20000>; 681f126890aSEmmanuel Vadot #iommu-cells = <2>; 682f126890aSEmmanuel Vadot #global-interrupts = <1>; 683f126890aSEmmanuel Vadot interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, 684f126890aSEmmanuel Vadot <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>, 685f126890aSEmmanuel Vadot <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>, 686f126890aSEmmanuel Vadot <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, 687f126890aSEmmanuel Vadot <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>, 688f126890aSEmmanuel Vadot <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>, 689f126890aSEmmanuel Vadot <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>, 690f126890aSEmmanuel Vadot <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>, 691f126890aSEmmanuel Vadot <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>, 692f126890aSEmmanuel Vadot <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, 693f126890aSEmmanuel Vadot <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>, 694f126890aSEmmanuel Vadot <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>, 695f126890aSEmmanuel Vadot <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>, 696f126890aSEmmanuel Vadot <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, 697f126890aSEmmanuel Vadot <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>, 698f126890aSEmmanuel Vadot <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>, 699f126890aSEmmanuel Vadot <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; 700f126890aSEmmanuel Vadot }; 701f126890aSEmmanuel Vadot 702f126890aSEmmanuel Vadot intc: interrupt-controller@17800000 { 703f126890aSEmmanuel Vadot compatible = "qcom,msm-qgic2"; 704f126890aSEmmanuel Vadot interrupt-controller; 705f126890aSEmmanuel Vadot interrupt-parent = <&intc>; 706f126890aSEmmanuel Vadot #interrupt-cells = <3>; 707f126890aSEmmanuel Vadot reg = <0x17800000 0x1000>, 708f126890aSEmmanuel Vadot <0x17802000 0x1000>; 709f126890aSEmmanuel Vadot }; 710f126890aSEmmanuel Vadot 711f126890aSEmmanuel Vadot a7pll: clock@17808000 { 712f126890aSEmmanuel Vadot compatible = "qcom,sdx55-a7pll"; 713f126890aSEmmanuel Vadot reg = <0x17808000 0x1000>; 714f126890aSEmmanuel Vadot clocks = <&rpmhcc RPMH_CXO_CLK>; 715f126890aSEmmanuel Vadot clock-names = "bi_tcxo"; 716f126890aSEmmanuel Vadot #clock-cells = <0>; 717f126890aSEmmanuel Vadot }; 718f126890aSEmmanuel Vadot 719f126890aSEmmanuel Vadot apcs: mailbox@17810000 { 720f126890aSEmmanuel Vadot compatible = "qcom,sdx55-apcs-gcc", "syscon"; 721f126890aSEmmanuel Vadot reg = <0x17810000 0x2000>; 722f126890aSEmmanuel Vadot #mbox-cells = <1>; 723f126890aSEmmanuel Vadot clocks = <&rpmhcc RPMH_CXO_CLK>, <&a7pll>, <&gcc GPLL0>; 724f126890aSEmmanuel Vadot clock-names = "ref", "pll", "aux"; 725f126890aSEmmanuel Vadot #clock-cells = <0>; 726f126890aSEmmanuel Vadot }; 727f126890aSEmmanuel Vadot 728f126890aSEmmanuel Vadot watchdog@17817000 { 729f126890aSEmmanuel Vadot compatible = "qcom,apss-wdt-sdx55", "qcom,kpss-wdt"; 730f126890aSEmmanuel Vadot reg = <0x17817000 0x1000>; 731f126890aSEmmanuel Vadot clocks = <&sleep_clk>; 732f126890aSEmmanuel Vadot }; 733f126890aSEmmanuel Vadot 734f126890aSEmmanuel Vadot timer@17820000 { 735f126890aSEmmanuel Vadot #address-cells = <1>; 736f126890aSEmmanuel Vadot #size-cells = <1>; 737f126890aSEmmanuel Vadot ranges; 738f126890aSEmmanuel Vadot compatible = "arm,armv7-timer-mem"; 739f126890aSEmmanuel Vadot reg = <0x17820000 0x1000>; 740f126890aSEmmanuel Vadot clock-frequency = <19200000>; 741f126890aSEmmanuel Vadot 742f126890aSEmmanuel Vadot frame@17821000 { 743f126890aSEmmanuel Vadot frame-number = <0>; 74401950c46SEmmanuel Vadot interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, 74501950c46SEmmanuel Vadot <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 746f126890aSEmmanuel Vadot reg = <0x17821000 0x1000>, 747f126890aSEmmanuel Vadot <0x17822000 0x1000>; 748f126890aSEmmanuel Vadot }; 749f126890aSEmmanuel Vadot 750f126890aSEmmanuel Vadot frame@17823000 { 751f126890aSEmmanuel Vadot frame-number = <1>; 75201950c46SEmmanuel Vadot interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 753f126890aSEmmanuel Vadot reg = <0x17823000 0x1000>; 754f126890aSEmmanuel Vadot status = "disabled"; 755f126890aSEmmanuel Vadot }; 756f126890aSEmmanuel Vadot 757f126890aSEmmanuel Vadot frame@17824000 { 758f126890aSEmmanuel Vadot frame-number = <2>; 75901950c46SEmmanuel Vadot interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 760f126890aSEmmanuel Vadot reg = <0x17824000 0x1000>; 761f126890aSEmmanuel Vadot status = "disabled"; 762f126890aSEmmanuel Vadot }; 763f126890aSEmmanuel Vadot 764f126890aSEmmanuel Vadot frame@17825000 { 765f126890aSEmmanuel Vadot frame-number = <3>; 76601950c46SEmmanuel Vadot interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 767f126890aSEmmanuel Vadot reg = <0x17825000 0x1000>; 768f126890aSEmmanuel Vadot status = "disabled"; 769f126890aSEmmanuel Vadot }; 770f126890aSEmmanuel Vadot 771f126890aSEmmanuel Vadot frame@17826000 { 772f126890aSEmmanuel Vadot frame-number = <4>; 77301950c46SEmmanuel Vadot interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 774f126890aSEmmanuel Vadot reg = <0x17826000 0x1000>; 775f126890aSEmmanuel Vadot status = "disabled"; 776f126890aSEmmanuel Vadot }; 777f126890aSEmmanuel Vadot 778f126890aSEmmanuel Vadot frame@17827000 { 779f126890aSEmmanuel Vadot frame-number = <5>; 78001950c46SEmmanuel Vadot interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 781f126890aSEmmanuel Vadot reg = <0x17827000 0x1000>; 782f126890aSEmmanuel Vadot status = "disabled"; 783f126890aSEmmanuel Vadot }; 784f126890aSEmmanuel Vadot 785f126890aSEmmanuel Vadot frame@17828000 { 786f126890aSEmmanuel Vadot frame-number = <6>; 78701950c46SEmmanuel Vadot interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 788f126890aSEmmanuel Vadot reg = <0x17828000 0x1000>; 789f126890aSEmmanuel Vadot status = "disabled"; 790f126890aSEmmanuel Vadot }; 791f126890aSEmmanuel Vadot 792f126890aSEmmanuel Vadot frame@17829000 { 793f126890aSEmmanuel Vadot frame-number = <7>; 79401950c46SEmmanuel Vadot interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 795f126890aSEmmanuel Vadot reg = <0x17829000 0x1000>; 796f126890aSEmmanuel Vadot status = "disabled"; 797f126890aSEmmanuel Vadot }; 798f126890aSEmmanuel Vadot }; 799f126890aSEmmanuel Vadot 800f126890aSEmmanuel Vadot apps_rsc: rsc@17830000 { 801f126890aSEmmanuel Vadot compatible = "qcom,rpmh-rsc"; 802f126890aSEmmanuel Vadot reg = <0x17830000 0x10000>, <0x17840000 0x10000>; 803f126890aSEmmanuel Vadot reg-names = "drv-0", "drv-1"; 804f126890aSEmmanuel Vadot interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>, 805f126890aSEmmanuel Vadot <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 806f126890aSEmmanuel Vadot qcom,tcs-offset = <0xd00>; 807f126890aSEmmanuel Vadot qcom,drv-id = <1>; 808f126890aSEmmanuel Vadot qcom,tcs-config = <ACTIVE_TCS 2>, <SLEEP_TCS 2>, 809f126890aSEmmanuel Vadot <WAKE_TCS 2>, <CONTROL_TCS 1>; 810f126890aSEmmanuel Vadot 811f126890aSEmmanuel Vadot rpmhcc: clock-controller { 812f126890aSEmmanuel Vadot compatible = "qcom,sdx55-rpmh-clk"; 813f126890aSEmmanuel Vadot #clock-cells = <1>; 814f126890aSEmmanuel Vadot clock-names = "xo"; 815f126890aSEmmanuel Vadot clocks = <&xo_board>; 816f126890aSEmmanuel Vadot }; 817f126890aSEmmanuel Vadot 818f126890aSEmmanuel Vadot rpmhpd: power-controller { 819f126890aSEmmanuel Vadot compatible = "qcom,sdx55-rpmhpd"; 820f126890aSEmmanuel Vadot #power-domain-cells = <1>; 821f126890aSEmmanuel Vadot operating-points-v2 = <&rpmhpd_opp_table>; 822f126890aSEmmanuel Vadot 823f126890aSEmmanuel Vadot rpmhpd_opp_table: opp-table { 824f126890aSEmmanuel Vadot compatible = "operating-points-v2"; 825f126890aSEmmanuel Vadot 826f126890aSEmmanuel Vadot rpmhpd_opp_ret: opp1 { 827f126890aSEmmanuel Vadot opp-level = <RPMH_REGULATOR_LEVEL_RETENTION>; 828f126890aSEmmanuel Vadot }; 829f126890aSEmmanuel Vadot 830f126890aSEmmanuel Vadot rpmhpd_opp_min_svs: opp2 { 831f126890aSEmmanuel Vadot opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>; 832f126890aSEmmanuel Vadot }; 833f126890aSEmmanuel Vadot 834f126890aSEmmanuel Vadot rpmhpd_opp_low_svs: opp3 { 835f126890aSEmmanuel Vadot opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>; 836f126890aSEmmanuel Vadot }; 837f126890aSEmmanuel Vadot 838f126890aSEmmanuel Vadot rpmhpd_opp_svs: opp4 { 839f126890aSEmmanuel Vadot opp-level = <RPMH_REGULATOR_LEVEL_SVS>; 840f126890aSEmmanuel Vadot }; 841f126890aSEmmanuel Vadot 842f126890aSEmmanuel Vadot rpmhpd_opp_svs_l1: opp5 { 843f126890aSEmmanuel Vadot opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>; 844f126890aSEmmanuel Vadot }; 845f126890aSEmmanuel Vadot 846f126890aSEmmanuel Vadot rpmhpd_opp_nom: opp6 { 847f126890aSEmmanuel Vadot opp-level = <RPMH_REGULATOR_LEVEL_NOM>; 848f126890aSEmmanuel Vadot }; 849f126890aSEmmanuel Vadot 850f126890aSEmmanuel Vadot rpmhpd_opp_nom_l1: opp7 { 851f126890aSEmmanuel Vadot opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>; 852f126890aSEmmanuel Vadot }; 853f126890aSEmmanuel Vadot 854f126890aSEmmanuel Vadot rpmhpd_opp_nom_l2: opp8 { 855f126890aSEmmanuel Vadot opp-level = <RPMH_REGULATOR_LEVEL_NOM_L2>; 856f126890aSEmmanuel Vadot }; 857f126890aSEmmanuel Vadot 858f126890aSEmmanuel Vadot rpmhpd_opp_turbo: opp9 { 859f126890aSEmmanuel Vadot opp-level = <RPMH_REGULATOR_LEVEL_TURBO>; 860f126890aSEmmanuel Vadot }; 861f126890aSEmmanuel Vadot 862f126890aSEmmanuel Vadot rpmhpd_opp_turbo_l1: opp10 { 863f126890aSEmmanuel Vadot opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>; 864f126890aSEmmanuel Vadot }; 865f126890aSEmmanuel Vadot }; 866f126890aSEmmanuel Vadot }; 867f126890aSEmmanuel Vadot 868f126890aSEmmanuel Vadot apps_bcm_voter: bcm-voter { 869f126890aSEmmanuel Vadot compatible = "qcom,bcm-voter"; 870f126890aSEmmanuel Vadot }; 871f126890aSEmmanuel Vadot }; 872f126890aSEmmanuel Vadot }; 873f126890aSEmmanuel Vadot 874f126890aSEmmanuel Vadot timer { 875f126890aSEmmanuel Vadot compatible = "arm,armv7-timer"; 876f126890aSEmmanuel Vadot interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 877f126890aSEmmanuel Vadot <GIC_PPI 12 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 878f126890aSEmmanuel Vadot <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 879f126890aSEmmanuel Vadot <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 880f126890aSEmmanuel Vadot clock-frequency = <19200000>; 881f126890aSEmmanuel Vadot }; 882f126890aSEmmanuel Vadot}; 883