1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0-only 2*4882a593Smuzhiyun/* Copyright (c) 2014-2015, The Linux Foundation. All rights reserved. 3*4882a593Smuzhiyun */ 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/arm-gic.h> 6*4882a593Smuzhiyun#include <dt-bindings/clock/qcom,gcc-msm8996.h> 7*4882a593Smuzhiyun#include <dt-bindings/clock/qcom,mmcc-msm8996.h> 8*4882a593Smuzhiyun#include <dt-bindings/clock/qcom,rpmcc.h> 9*4882a593Smuzhiyun#include <dt-bindings/soc/qcom,apr.h> 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun/ { 12*4882a593Smuzhiyun interrupt-parent = <&intc>; 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun #address-cells = <2>; 15*4882a593Smuzhiyun #size-cells = <2>; 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun chosen { }; 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun clocks { 20*4882a593Smuzhiyun xo_board: xo-board { 21*4882a593Smuzhiyun compatible = "fixed-clock"; 22*4882a593Smuzhiyun #clock-cells = <0>; 23*4882a593Smuzhiyun clock-frequency = <19200000>; 24*4882a593Smuzhiyun clock-output-names = "xo_board"; 25*4882a593Smuzhiyun }; 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun sleep_clk: sleep-clk { 28*4882a593Smuzhiyun compatible = "fixed-clock"; 29*4882a593Smuzhiyun #clock-cells = <0>; 30*4882a593Smuzhiyun clock-frequency = <32764>; 31*4882a593Smuzhiyun clock-output-names = "sleep_clk"; 32*4882a593Smuzhiyun }; 33*4882a593Smuzhiyun }; 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun cpus { 36*4882a593Smuzhiyun #address-cells = <2>; 37*4882a593Smuzhiyun #size-cells = <0>; 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun CPU0: cpu@0 { 40*4882a593Smuzhiyun device_type = "cpu"; 41*4882a593Smuzhiyun compatible = "qcom,kryo"; 42*4882a593Smuzhiyun reg = <0x0 0x0>; 43*4882a593Smuzhiyun enable-method = "psci"; 44*4882a593Smuzhiyun cpu-idle-states = <&CPU_SLEEP_0>; 45*4882a593Smuzhiyun capacity-dmips-mhz = <1024>; 46*4882a593Smuzhiyun next-level-cache = <&L2_0>; 47*4882a593Smuzhiyun L2_0: l2-cache { 48*4882a593Smuzhiyun compatible = "cache"; 49*4882a593Smuzhiyun cache-level = <2>; 50*4882a593Smuzhiyun }; 51*4882a593Smuzhiyun }; 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun CPU1: cpu@1 { 54*4882a593Smuzhiyun device_type = "cpu"; 55*4882a593Smuzhiyun compatible = "qcom,kryo"; 56*4882a593Smuzhiyun reg = <0x0 0x1>; 57*4882a593Smuzhiyun enable-method = "psci"; 58*4882a593Smuzhiyun cpu-idle-states = <&CPU_SLEEP_0>; 59*4882a593Smuzhiyun capacity-dmips-mhz = <1024>; 60*4882a593Smuzhiyun next-level-cache = <&L2_0>; 61*4882a593Smuzhiyun }; 62*4882a593Smuzhiyun 63*4882a593Smuzhiyun CPU2: cpu@100 { 64*4882a593Smuzhiyun device_type = "cpu"; 65*4882a593Smuzhiyun compatible = "qcom,kryo"; 66*4882a593Smuzhiyun reg = <0x0 0x100>; 67*4882a593Smuzhiyun enable-method = "psci"; 68*4882a593Smuzhiyun cpu-idle-states = <&CPU_SLEEP_0>; 69*4882a593Smuzhiyun capacity-dmips-mhz = <1024>; 70*4882a593Smuzhiyun next-level-cache = <&L2_1>; 71*4882a593Smuzhiyun L2_1: l2-cache { 72*4882a593Smuzhiyun compatible = "cache"; 73*4882a593Smuzhiyun cache-level = <2>; 74*4882a593Smuzhiyun }; 75*4882a593Smuzhiyun }; 76*4882a593Smuzhiyun 77*4882a593Smuzhiyun CPU3: cpu@101 { 78*4882a593Smuzhiyun device_type = "cpu"; 79*4882a593Smuzhiyun compatible = "qcom,kryo"; 80*4882a593Smuzhiyun reg = <0x0 0x101>; 81*4882a593Smuzhiyun enable-method = "psci"; 82*4882a593Smuzhiyun cpu-idle-states = <&CPU_SLEEP_0>; 83*4882a593Smuzhiyun capacity-dmips-mhz = <1024>; 84*4882a593Smuzhiyun next-level-cache = <&L2_1>; 85*4882a593Smuzhiyun }; 86*4882a593Smuzhiyun 87*4882a593Smuzhiyun cpu-map { 88*4882a593Smuzhiyun cluster0 { 89*4882a593Smuzhiyun core0 { 90*4882a593Smuzhiyun cpu = <&CPU0>; 91*4882a593Smuzhiyun }; 92*4882a593Smuzhiyun 93*4882a593Smuzhiyun core1 { 94*4882a593Smuzhiyun cpu = <&CPU1>; 95*4882a593Smuzhiyun }; 96*4882a593Smuzhiyun }; 97*4882a593Smuzhiyun 98*4882a593Smuzhiyun cluster1 { 99*4882a593Smuzhiyun core0 { 100*4882a593Smuzhiyun cpu = <&CPU2>; 101*4882a593Smuzhiyun }; 102*4882a593Smuzhiyun 103*4882a593Smuzhiyun core1 { 104*4882a593Smuzhiyun cpu = <&CPU3>; 105*4882a593Smuzhiyun }; 106*4882a593Smuzhiyun }; 107*4882a593Smuzhiyun }; 108*4882a593Smuzhiyun 109*4882a593Smuzhiyun idle-states { 110*4882a593Smuzhiyun entry-method = "psci"; 111*4882a593Smuzhiyun 112*4882a593Smuzhiyun CPU_SLEEP_0: cpu-sleep-0 { 113*4882a593Smuzhiyun compatible = "arm,idle-state"; 114*4882a593Smuzhiyun idle-state-name = "standalone-power-collapse"; 115*4882a593Smuzhiyun arm,psci-suspend-param = <0x00000004>; 116*4882a593Smuzhiyun entry-latency-us = <130>; 117*4882a593Smuzhiyun exit-latency-us = <80>; 118*4882a593Smuzhiyun min-residency-us = <300>; 119*4882a593Smuzhiyun }; 120*4882a593Smuzhiyun }; 121*4882a593Smuzhiyun }; 122*4882a593Smuzhiyun 123*4882a593Smuzhiyun firmware { 124*4882a593Smuzhiyun scm { 125*4882a593Smuzhiyun compatible = "qcom,scm-msm8996"; 126*4882a593Smuzhiyun qcom,dload-mode = <&tcsr 0x13000>; 127*4882a593Smuzhiyun }; 128*4882a593Smuzhiyun }; 129*4882a593Smuzhiyun 130*4882a593Smuzhiyun tcsr_mutex: hwlock { 131*4882a593Smuzhiyun compatible = "qcom,tcsr-mutex"; 132*4882a593Smuzhiyun syscon = <&tcsr_mutex_regs 0 0x1000>; 133*4882a593Smuzhiyun #hwlock-cells = <1>; 134*4882a593Smuzhiyun }; 135*4882a593Smuzhiyun 136*4882a593Smuzhiyun memory { 137*4882a593Smuzhiyun device_type = "memory"; 138*4882a593Smuzhiyun /* We expect the bootloader to fill in the reg */ 139*4882a593Smuzhiyun reg = <0 0 0 0>; 140*4882a593Smuzhiyun }; 141*4882a593Smuzhiyun 142*4882a593Smuzhiyun psci { 143*4882a593Smuzhiyun compatible = "arm,psci-1.0"; 144*4882a593Smuzhiyun method = "smc"; 145*4882a593Smuzhiyun }; 146*4882a593Smuzhiyun 147*4882a593Smuzhiyun reserved-memory { 148*4882a593Smuzhiyun #address-cells = <2>; 149*4882a593Smuzhiyun #size-cells = <2>; 150*4882a593Smuzhiyun ranges; 151*4882a593Smuzhiyun 152*4882a593Smuzhiyun mba_region: mba@91500000 { 153*4882a593Smuzhiyun reg = <0x0 0x91500000 0x0 0x200000>; 154*4882a593Smuzhiyun no-map; 155*4882a593Smuzhiyun }; 156*4882a593Smuzhiyun 157*4882a593Smuzhiyun slpi_region: slpi@90b00000 { 158*4882a593Smuzhiyun reg = <0x0 0x90b00000 0x0 0xa00000>; 159*4882a593Smuzhiyun no-map; 160*4882a593Smuzhiyun }; 161*4882a593Smuzhiyun 162*4882a593Smuzhiyun venus_region: venus@90400000 { 163*4882a593Smuzhiyun reg = <0x0 0x90400000 0x0 0x700000>; 164*4882a593Smuzhiyun no-map; 165*4882a593Smuzhiyun }; 166*4882a593Smuzhiyun 167*4882a593Smuzhiyun adsp_region: adsp@8ea00000 { 168*4882a593Smuzhiyun reg = <0x0 0x8ea00000 0x0 0x1a00000>; 169*4882a593Smuzhiyun no-map; 170*4882a593Smuzhiyun }; 171*4882a593Smuzhiyun 172*4882a593Smuzhiyun mpss_region: mpss@88800000 { 173*4882a593Smuzhiyun reg = <0x0 0x88800000 0x0 0x6200000>; 174*4882a593Smuzhiyun no-map; 175*4882a593Smuzhiyun }; 176*4882a593Smuzhiyun 177*4882a593Smuzhiyun smem_mem: smem-mem@86000000 { 178*4882a593Smuzhiyun reg = <0x0 0x86000000 0x0 0x200000>; 179*4882a593Smuzhiyun no-map; 180*4882a593Smuzhiyun }; 181*4882a593Smuzhiyun 182*4882a593Smuzhiyun memory@85800000 { 183*4882a593Smuzhiyun reg = <0x0 0x85800000 0x0 0x800000>; 184*4882a593Smuzhiyun no-map; 185*4882a593Smuzhiyun }; 186*4882a593Smuzhiyun 187*4882a593Smuzhiyun memory@86200000 { 188*4882a593Smuzhiyun reg = <0x0 0x86200000 0x0 0x2600000>; 189*4882a593Smuzhiyun no-map; 190*4882a593Smuzhiyun }; 191*4882a593Smuzhiyun 192*4882a593Smuzhiyun rmtfs@86700000 { 193*4882a593Smuzhiyun compatible = "qcom,rmtfs-mem"; 194*4882a593Smuzhiyun 195*4882a593Smuzhiyun size = <0x0 0x200000>; 196*4882a593Smuzhiyun alloc-ranges = <0x0 0xa0000000 0x0 0x2000000>; 197*4882a593Smuzhiyun no-map; 198*4882a593Smuzhiyun 199*4882a593Smuzhiyun qcom,client-id = <1>; 200*4882a593Smuzhiyun qcom,vmid = <15>; 201*4882a593Smuzhiyun }; 202*4882a593Smuzhiyun 203*4882a593Smuzhiyun zap_shader_region: gpu@8f200000 { 204*4882a593Smuzhiyun compatible = "shared-dma-pool"; 205*4882a593Smuzhiyun reg = <0x0 0x90b00000 0x0 0xa00000>; 206*4882a593Smuzhiyun no-map; 207*4882a593Smuzhiyun }; 208*4882a593Smuzhiyun }; 209*4882a593Smuzhiyun 210*4882a593Smuzhiyun rpm-glink { 211*4882a593Smuzhiyun compatible = "qcom,glink-rpm"; 212*4882a593Smuzhiyun 213*4882a593Smuzhiyun interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; 214*4882a593Smuzhiyun 215*4882a593Smuzhiyun qcom,rpm-msg-ram = <&rpm_msg_ram>; 216*4882a593Smuzhiyun 217*4882a593Smuzhiyun mboxes = <&apcs_glb 0>; 218*4882a593Smuzhiyun 219*4882a593Smuzhiyun rpm_requests: rpm-requests { 220*4882a593Smuzhiyun compatible = "qcom,rpm-msm8996"; 221*4882a593Smuzhiyun qcom,glink-channels = "rpm_requests"; 222*4882a593Smuzhiyun 223*4882a593Smuzhiyun rpmcc: qcom,rpmcc { 224*4882a593Smuzhiyun compatible = "qcom,rpmcc-msm8996"; 225*4882a593Smuzhiyun #clock-cells = <1>; 226*4882a593Smuzhiyun }; 227*4882a593Smuzhiyun 228*4882a593Smuzhiyun rpmpd: power-controller { 229*4882a593Smuzhiyun compatible = "qcom,msm8996-rpmpd"; 230*4882a593Smuzhiyun #power-domain-cells = <1>; 231*4882a593Smuzhiyun operating-points-v2 = <&rpmpd_opp_table>; 232*4882a593Smuzhiyun 233*4882a593Smuzhiyun rpmpd_opp_table: opp-table { 234*4882a593Smuzhiyun compatible = "operating-points-v2"; 235*4882a593Smuzhiyun 236*4882a593Smuzhiyun rpmpd_opp1: opp1 { 237*4882a593Smuzhiyun opp-level = <1>; 238*4882a593Smuzhiyun }; 239*4882a593Smuzhiyun 240*4882a593Smuzhiyun rpmpd_opp2: opp2 { 241*4882a593Smuzhiyun opp-level = <2>; 242*4882a593Smuzhiyun }; 243*4882a593Smuzhiyun 244*4882a593Smuzhiyun rpmpd_opp3: opp3 { 245*4882a593Smuzhiyun opp-level = <3>; 246*4882a593Smuzhiyun }; 247*4882a593Smuzhiyun 248*4882a593Smuzhiyun rpmpd_opp4: opp4 { 249*4882a593Smuzhiyun opp-level = <4>; 250*4882a593Smuzhiyun }; 251*4882a593Smuzhiyun 252*4882a593Smuzhiyun rpmpd_opp5: opp5 { 253*4882a593Smuzhiyun opp-level = <5>; 254*4882a593Smuzhiyun }; 255*4882a593Smuzhiyun 256*4882a593Smuzhiyun rpmpd_opp6: opp6 { 257*4882a593Smuzhiyun opp-level = <6>; 258*4882a593Smuzhiyun }; 259*4882a593Smuzhiyun }; 260*4882a593Smuzhiyun }; 261*4882a593Smuzhiyun }; 262*4882a593Smuzhiyun }; 263*4882a593Smuzhiyun 264*4882a593Smuzhiyun smem { 265*4882a593Smuzhiyun compatible = "qcom,smem"; 266*4882a593Smuzhiyun memory-region = <&smem_mem>; 267*4882a593Smuzhiyun hwlocks = <&tcsr_mutex 3>; 268*4882a593Smuzhiyun }; 269*4882a593Smuzhiyun 270*4882a593Smuzhiyun smp2p-adsp { 271*4882a593Smuzhiyun compatible = "qcom,smp2p"; 272*4882a593Smuzhiyun qcom,smem = <443>, <429>; 273*4882a593Smuzhiyun 274*4882a593Smuzhiyun interrupts = <0 158 IRQ_TYPE_EDGE_RISING>; 275*4882a593Smuzhiyun 276*4882a593Smuzhiyun mboxes = <&apcs_glb 10>; 277*4882a593Smuzhiyun 278*4882a593Smuzhiyun qcom,local-pid = <0>; 279*4882a593Smuzhiyun qcom,remote-pid = <2>; 280*4882a593Smuzhiyun 281*4882a593Smuzhiyun smp2p_adsp_out: master-kernel { 282*4882a593Smuzhiyun qcom,entry-name = "master-kernel"; 283*4882a593Smuzhiyun #qcom,smem-state-cells = <1>; 284*4882a593Smuzhiyun }; 285*4882a593Smuzhiyun 286*4882a593Smuzhiyun smp2p_adsp_in: slave-kernel { 287*4882a593Smuzhiyun qcom,entry-name = "slave-kernel"; 288*4882a593Smuzhiyun 289*4882a593Smuzhiyun interrupt-controller; 290*4882a593Smuzhiyun #interrupt-cells = <2>; 291*4882a593Smuzhiyun }; 292*4882a593Smuzhiyun }; 293*4882a593Smuzhiyun 294*4882a593Smuzhiyun smp2p-modem { 295*4882a593Smuzhiyun compatible = "qcom,smp2p"; 296*4882a593Smuzhiyun qcom,smem = <435>, <428>; 297*4882a593Smuzhiyun 298*4882a593Smuzhiyun interrupts = <GIC_SPI 451 IRQ_TYPE_EDGE_RISING>; 299*4882a593Smuzhiyun 300*4882a593Smuzhiyun mboxes = <&apcs_glb 14>; 301*4882a593Smuzhiyun 302*4882a593Smuzhiyun qcom,local-pid = <0>; 303*4882a593Smuzhiyun qcom,remote-pid = <1>; 304*4882a593Smuzhiyun 305*4882a593Smuzhiyun modem_smp2p_out: master-kernel { 306*4882a593Smuzhiyun qcom,entry-name = "master-kernel"; 307*4882a593Smuzhiyun #qcom,smem-state-cells = <1>; 308*4882a593Smuzhiyun }; 309*4882a593Smuzhiyun 310*4882a593Smuzhiyun modem_smp2p_in: slave-kernel { 311*4882a593Smuzhiyun qcom,entry-name = "slave-kernel"; 312*4882a593Smuzhiyun 313*4882a593Smuzhiyun interrupt-controller; 314*4882a593Smuzhiyun #interrupt-cells = <2>; 315*4882a593Smuzhiyun }; 316*4882a593Smuzhiyun }; 317*4882a593Smuzhiyun 318*4882a593Smuzhiyun smp2p-slpi { 319*4882a593Smuzhiyun compatible = "qcom,smp2p"; 320*4882a593Smuzhiyun qcom,smem = <481>, <430>; 321*4882a593Smuzhiyun 322*4882a593Smuzhiyun interrupts = <GIC_SPI 178 IRQ_TYPE_EDGE_RISING>; 323*4882a593Smuzhiyun 324*4882a593Smuzhiyun mboxes = <&apcs_glb 26>; 325*4882a593Smuzhiyun 326*4882a593Smuzhiyun qcom,local-pid = <0>; 327*4882a593Smuzhiyun qcom,remote-pid = <3>; 328*4882a593Smuzhiyun 329*4882a593Smuzhiyun smp2p_slpi_in: slave-kernel { 330*4882a593Smuzhiyun qcom,entry-name = "slave-kernel"; 331*4882a593Smuzhiyun interrupt-controller; 332*4882a593Smuzhiyun #interrupt-cells = <2>; 333*4882a593Smuzhiyun }; 334*4882a593Smuzhiyun 335*4882a593Smuzhiyun smp2p_slpi_out: master-kernel { 336*4882a593Smuzhiyun qcom,entry-name = "master-kernel"; 337*4882a593Smuzhiyun #qcom,smem-state-cells = <1>; 338*4882a593Smuzhiyun }; 339*4882a593Smuzhiyun }; 340*4882a593Smuzhiyun 341*4882a593Smuzhiyun soc: soc { 342*4882a593Smuzhiyun #address-cells = <1>; 343*4882a593Smuzhiyun #size-cells = <1>; 344*4882a593Smuzhiyun ranges = <0 0 0 0xffffffff>; 345*4882a593Smuzhiyun compatible = "simple-bus"; 346*4882a593Smuzhiyun 347*4882a593Smuzhiyun pcie_phy: phy@34000 { 348*4882a593Smuzhiyun compatible = "qcom,msm8996-qmp-pcie-phy"; 349*4882a593Smuzhiyun reg = <0x00034000 0x488>; 350*4882a593Smuzhiyun #clock-cells = <1>; 351*4882a593Smuzhiyun #address-cells = <1>; 352*4882a593Smuzhiyun #size-cells = <1>; 353*4882a593Smuzhiyun ranges; 354*4882a593Smuzhiyun 355*4882a593Smuzhiyun clocks = <&gcc GCC_PCIE_PHY_AUX_CLK>, 356*4882a593Smuzhiyun <&gcc GCC_PCIE_PHY_CFG_AHB_CLK>, 357*4882a593Smuzhiyun <&gcc GCC_PCIE_CLKREF_CLK>; 358*4882a593Smuzhiyun clock-names = "aux", "cfg_ahb", "ref"; 359*4882a593Smuzhiyun 360*4882a593Smuzhiyun resets = <&gcc GCC_PCIE_PHY_BCR>, 361*4882a593Smuzhiyun <&gcc GCC_PCIE_PHY_COM_BCR>, 362*4882a593Smuzhiyun <&gcc GCC_PCIE_PHY_COM_NOCSR_BCR>; 363*4882a593Smuzhiyun reset-names = "phy", "common", "cfg"; 364*4882a593Smuzhiyun status = "disabled"; 365*4882a593Smuzhiyun 366*4882a593Smuzhiyun pciephy_0: lane@35000 { 367*4882a593Smuzhiyun reg = <0x00035000 0x130>, 368*4882a593Smuzhiyun <0x00035200 0x200>, 369*4882a593Smuzhiyun <0x00035400 0x1dc>; 370*4882a593Smuzhiyun #phy-cells = <0>; 371*4882a593Smuzhiyun 372*4882a593Smuzhiyun clock-output-names = "pcie_0_pipe_clk_src"; 373*4882a593Smuzhiyun clocks = <&gcc GCC_PCIE_0_PIPE_CLK>; 374*4882a593Smuzhiyun clock-names = "pipe0"; 375*4882a593Smuzhiyun resets = <&gcc GCC_PCIE_0_PHY_BCR>; 376*4882a593Smuzhiyun reset-names = "lane0"; 377*4882a593Smuzhiyun }; 378*4882a593Smuzhiyun 379*4882a593Smuzhiyun pciephy_1: lane@36000 { 380*4882a593Smuzhiyun reg = <0x00036000 0x130>, 381*4882a593Smuzhiyun <0x00036200 0x200>, 382*4882a593Smuzhiyun <0x00036400 0x1dc>; 383*4882a593Smuzhiyun #phy-cells = <0>; 384*4882a593Smuzhiyun 385*4882a593Smuzhiyun clock-output-names = "pcie_1_pipe_clk_src"; 386*4882a593Smuzhiyun clocks = <&gcc GCC_PCIE_1_PIPE_CLK>; 387*4882a593Smuzhiyun clock-names = "pipe1"; 388*4882a593Smuzhiyun resets = <&gcc GCC_PCIE_1_PHY_BCR>; 389*4882a593Smuzhiyun reset-names = "lane1"; 390*4882a593Smuzhiyun }; 391*4882a593Smuzhiyun 392*4882a593Smuzhiyun pciephy_2: lane@37000 { 393*4882a593Smuzhiyun reg = <0x00037000 0x130>, 394*4882a593Smuzhiyun <0x00037200 0x200>, 395*4882a593Smuzhiyun <0x00037400 0x1dc>; 396*4882a593Smuzhiyun #phy-cells = <0>; 397*4882a593Smuzhiyun 398*4882a593Smuzhiyun clock-output-names = "pcie_2_pipe_clk_src"; 399*4882a593Smuzhiyun clocks = <&gcc GCC_PCIE_2_PIPE_CLK>; 400*4882a593Smuzhiyun clock-names = "pipe2"; 401*4882a593Smuzhiyun resets = <&gcc GCC_PCIE_2_PHY_BCR>; 402*4882a593Smuzhiyun reset-names = "lane2"; 403*4882a593Smuzhiyun }; 404*4882a593Smuzhiyun }; 405*4882a593Smuzhiyun 406*4882a593Smuzhiyun rpm_msg_ram: memory@68000 { 407*4882a593Smuzhiyun compatible = "qcom,rpm-msg-ram"; 408*4882a593Smuzhiyun reg = <0x00068000 0x6000>; 409*4882a593Smuzhiyun }; 410*4882a593Smuzhiyun 411*4882a593Smuzhiyun qfprom@74000 { 412*4882a593Smuzhiyun compatible = "qcom,qfprom"; 413*4882a593Smuzhiyun reg = <0x00074000 0x8ff>; 414*4882a593Smuzhiyun #address-cells = <1>; 415*4882a593Smuzhiyun #size-cells = <1>; 416*4882a593Smuzhiyun 417*4882a593Smuzhiyun qusb2p_hstx_trim: hstx_trim@24e { 418*4882a593Smuzhiyun reg = <0x24e 0x2>; 419*4882a593Smuzhiyun bits = <5 4>; 420*4882a593Smuzhiyun }; 421*4882a593Smuzhiyun 422*4882a593Smuzhiyun qusb2s_hstx_trim: hstx_trim@24f { 423*4882a593Smuzhiyun reg = <0x24f 0x1>; 424*4882a593Smuzhiyun bits = <1 4>; 425*4882a593Smuzhiyun }; 426*4882a593Smuzhiyun 427*4882a593Smuzhiyun gpu_speed_bin: gpu_speed_bin@133 { 428*4882a593Smuzhiyun reg = <0x133 0x1>; 429*4882a593Smuzhiyun bits = <5 3>; 430*4882a593Smuzhiyun }; 431*4882a593Smuzhiyun }; 432*4882a593Smuzhiyun 433*4882a593Smuzhiyun rng: rng@83000 { 434*4882a593Smuzhiyun compatible = "qcom,prng-ee"; 435*4882a593Smuzhiyun reg = <0x00083000 0x1000>; 436*4882a593Smuzhiyun clocks = <&gcc GCC_PRNG_AHB_CLK>; 437*4882a593Smuzhiyun clock-names = "core"; 438*4882a593Smuzhiyun }; 439*4882a593Smuzhiyun 440*4882a593Smuzhiyun gcc: clock-controller@300000 { 441*4882a593Smuzhiyun compatible = "qcom,gcc-msm8996"; 442*4882a593Smuzhiyun #clock-cells = <1>; 443*4882a593Smuzhiyun #reset-cells = <1>; 444*4882a593Smuzhiyun #power-domain-cells = <1>; 445*4882a593Smuzhiyun reg = <0x00300000 0x90000>; 446*4882a593Smuzhiyun 447*4882a593Smuzhiyun clocks = <&rpmcc RPM_SMD_LN_BB_CLK>; 448*4882a593Smuzhiyun clock-names = "cxo2"; 449*4882a593Smuzhiyun }; 450*4882a593Smuzhiyun 451*4882a593Smuzhiyun tsens0: thermal-sensor@4a9000 { 452*4882a593Smuzhiyun compatible = "qcom,msm8996-tsens", "qcom,tsens-v2"; 453*4882a593Smuzhiyun reg = <0x004a9000 0x1000>, /* TM */ 454*4882a593Smuzhiyun <0x004a8000 0x1000>; /* SROT */ 455*4882a593Smuzhiyun #qcom,sensors = <13>; 456*4882a593Smuzhiyun interrupts = <GIC_SPI 458 IRQ_TYPE_LEVEL_HIGH>, 457*4882a593Smuzhiyun <GIC_SPI 445 IRQ_TYPE_LEVEL_HIGH>; 458*4882a593Smuzhiyun interrupt-names = "uplow", "critical"; 459*4882a593Smuzhiyun #thermal-sensor-cells = <1>; 460*4882a593Smuzhiyun }; 461*4882a593Smuzhiyun 462*4882a593Smuzhiyun tsens1: thermal-sensor@4ad000 { 463*4882a593Smuzhiyun compatible = "qcom,msm8996-tsens", "qcom,tsens-v2"; 464*4882a593Smuzhiyun reg = <0x004ad000 0x1000>, /* TM */ 465*4882a593Smuzhiyun <0x004ac000 0x1000>; /* SROT */ 466*4882a593Smuzhiyun #qcom,sensors = <8>; 467*4882a593Smuzhiyun interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>, 468*4882a593Smuzhiyun <GIC_SPI 430 IRQ_TYPE_LEVEL_HIGH>; 469*4882a593Smuzhiyun interrupt-names = "uplow", "critical"; 470*4882a593Smuzhiyun #thermal-sensor-cells = <1>; 471*4882a593Smuzhiyun }; 472*4882a593Smuzhiyun 473*4882a593Smuzhiyun tcsr_mutex_regs: syscon@740000 { 474*4882a593Smuzhiyun compatible = "syscon"; 475*4882a593Smuzhiyun reg = <0x00740000 0x20000>; 476*4882a593Smuzhiyun }; 477*4882a593Smuzhiyun 478*4882a593Smuzhiyun tcsr: syscon@7a0000 { 479*4882a593Smuzhiyun compatible = "qcom,tcsr-msm8996", "syscon"; 480*4882a593Smuzhiyun reg = <0x007a0000 0x18000>; 481*4882a593Smuzhiyun }; 482*4882a593Smuzhiyun 483*4882a593Smuzhiyun mmcc: clock-controller@8c0000 { 484*4882a593Smuzhiyun compatible = "qcom,mmcc-msm8996"; 485*4882a593Smuzhiyun #clock-cells = <1>; 486*4882a593Smuzhiyun #reset-cells = <1>; 487*4882a593Smuzhiyun #power-domain-cells = <1>; 488*4882a593Smuzhiyun reg = <0x008c0000 0x40000>; 489*4882a593Smuzhiyun assigned-clocks = <&mmcc MMPLL9_PLL>, 490*4882a593Smuzhiyun <&mmcc MMPLL1_PLL>, 491*4882a593Smuzhiyun <&mmcc MMPLL3_PLL>, 492*4882a593Smuzhiyun <&mmcc MMPLL4_PLL>, 493*4882a593Smuzhiyun <&mmcc MMPLL5_PLL>; 494*4882a593Smuzhiyun assigned-clock-rates = <624000000>, 495*4882a593Smuzhiyun <810000000>, 496*4882a593Smuzhiyun <980000000>, 497*4882a593Smuzhiyun <960000000>, 498*4882a593Smuzhiyun <825000000>; 499*4882a593Smuzhiyun }; 500*4882a593Smuzhiyun 501*4882a593Smuzhiyun mdss: mdss@900000 { 502*4882a593Smuzhiyun compatible = "qcom,mdss"; 503*4882a593Smuzhiyun 504*4882a593Smuzhiyun reg = <0x00900000 0x1000>, 505*4882a593Smuzhiyun <0x009b0000 0x1040>, 506*4882a593Smuzhiyun <0x009b8000 0x1040>; 507*4882a593Smuzhiyun reg-names = "mdss_phys", 508*4882a593Smuzhiyun "vbif_phys", 509*4882a593Smuzhiyun "vbif_nrt_phys"; 510*4882a593Smuzhiyun 511*4882a593Smuzhiyun power-domains = <&mmcc MDSS_GDSC>; 512*4882a593Smuzhiyun interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 513*4882a593Smuzhiyun 514*4882a593Smuzhiyun interrupt-controller; 515*4882a593Smuzhiyun #interrupt-cells = <1>; 516*4882a593Smuzhiyun 517*4882a593Smuzhiyun clocks = <&mmcc MDSS_AHB_CLK>; 518*4882a593Smuzhiyun clock-names = "iface"; 519*4882a593Smuzhiyun 520*4882a593Smuzhiyun #address-cells = <1>; 521*4882a593Smuzhiyun #size-cells = <1>; 522*4882a593Smuzhiyun ranges; 523*4882a593Smuzhiyun 524*4882a593Smuzhiyun mdp: mdp@901000 { 525*4882a593Smuzhiyun compatible = "qcom,mdp5"; 526*4882a593Smuzhiyun reg = <0x00901000 0x90000>; 527*4882a593Smuzhiyun reg-names = "mdp_phys"; 528*4882a593Smuzhiyun 529*4882a593Smuzhiyun interrupt-parent = <&mdss>; 530*4882a593Smuzhiyun interrupts = <0 IRQ_TYPE_LEVEL_HIGH>; 531*4882a593Smuzhiyun 532*4882a593Smuzhiyun clocks = <&mmcc MDSS_AHB_CLK>, 533*4882a593Smuzhiyun <&mmcc MDSS_AXI_CLK>, 534*4882a593Smuzhiyun <&mmcc MDSS_MDP_CLK>, 535*4882a593Smuzhiyun <&mmcc SMMU_MDP_AXI_CLK>, 536*4882a593Smuzhiyun <&mmcc MDSS_VSYNC_CLK>; 537*4882a593Smuzhiyun clock-names = "iface", 538*4882a593Smuzhiyun "bus", 539*4882a593Smuzhiyun "core", 540*4882a593Smuzhiyun "iommu", 541*4882a593Smuzhiyun "vsync"; 542*4882a593Smuzhiyun 543*4882a593Smuzhiyun iommus = <&mdp_smmu 0>; 544*4882a593Smuzhiyun 545*4882a593Smuzhiyun ports { 546*4882a593Smuzhiyun #address-cells = <1>; 547*4882a593Smuzhiyun #size-cells = <0>; 548*4882a593Smuzhiyun 549*4882a593Smuzhiyun port@0 { 550*4882a593Smuzhiyun reg = <0>; 551*4882a593Smuzhiyun mdp5_intf3_out: endpoint { 552*4882a593Smuzhiyun remote-endpoint = <&hdmi_in>; 553*4882a593Smuzhiyun }; 554*4882a593Smuzhiyun }; 555*4882a593Smuzhiyun }; 556*4882a593Smuzhiyun }; 557*4882a593Smuzhiyun 558*4882a593Smuzhiyun hdmi: hdmi-tx@9a0000 { 559*4882a593Smuzhiyun compatible = "qcom,hdmi-tx-8996"; 560*4882a593Smuzhiyun reg = <0x009a0000 0x50c>, 561*4882a593Smuzhiyun <0x00070000 0x6158>, 562*4882a593Smuzhiyun <0x009e0000 0xfff>; 563*4882a593Smuzhiyun reg-names = "core_physical", 564*4882a593Smuzhiyun "qfprom_physical", 565*4882a593Smuzhiyun "hdcp_physical"; 566*4882a593Smuzhiyun 567*4882a593Smuzhiyun interrupt-parent = <&mdss>; 568*4882a593Smuzhiyun interrupts = <8 IRQ_TYPE_LEVEL_HIGH>; 569*4882a593Smuzhiyun 570*4882a593Smuzhiyun clocks = <&mmcc MDSS_MDP_CLK>, 571*4882a593Smuzhiyun <&mmcc MDSS_AHB_CLK>, 572*4882a593Smuzhiyun <&mmcc MDSS_HDMI_CLK>, 573*4882a593Smuzhiyun <&mmcc MDSS_HDMI_AHB_CLK>, 574*4882a593Smuzhiyun <&mmcc MDSS_EXTPCLK_CLK>; 575*4882a593Smuzhiyun clock-names = 576*4882a593Smuzhiyun "mdp_core", 577*4882a593Smuzhiyun "iface", 578*4882a593Smuzhiyun "core", 579*4882a593Smuzhiyun "alt_iface", 580*4882a593Smuzhiyun "extp"; 581*4882a593Smuzhiyun 582*4882a593Smuzhiyun phys = <&hdmi_phy>; 583*4882a593Smuzhiyun phy-names = "hdmi_phy"; 584*4882a593Smuzhiyun #sound-dai-cells = <1>; 585*4882a593Smuzhiyun 586*4882a593Smuzhiyun ports { 587*4882a593Smuzhiyun #address-cells = <1>; 588*4882a593Smuzhiyun #size-cells = <0>; 589*4882a593Smuzhiyun 590*4882a593Smuzhiyun port@0 { 591*4882a593Smuzhiyun reg = <0>; 592*4882a593Smuzhiyun hdmi_in: endpoint { 593*4882a593Smuzhiyun remote-endpoint = <&mdp5_intf3_out>; 594*4882a593Smuzhiyun }; 595*4882a593Smuzhiyun }; 596*4882a593Smuzhiyun }; 597*4882a593Smuzhiyun }; 598*4882a593Smuzhiyun 599*4882a593Smuzhiyun hdmi_phy: hdmi-phy@9a0600 { 600*4882a593Smuzhiyun #phy-cells = <0>; 601*4882a593Smuzhiyun compatible = "qcom,hdmi-phy-8996"; 602*4882a593Smuzhiyun reg = <0x009a0600 0x1c4>, 603*4882a593Smuzhiyun <0x009a0a00 0x124>, 604*4882a593Smuzhiyun <0x009a0c00 0x124>, 605*4882a593Smuzhiyun <0x009a0e00 0x124>, 606*4882a593Smuzhiyun <0x009a1000 0x124>, 607*4882a593Smuzhiyun <0x009a1200 0x0c8>; 608*4882a593Smuzhiyun reg-names = "hdmi_pll", 609*4882a593Smuzhiyun "hdmi_tx_l0", 610*4882a593Smuzhiyun "hdmi_tx_l1", 611*4882a593Smuzhiyun "hdmi_tx_l2", 612*4882a593Smuzhiyun "hdmi_tx_l3", 613*4882a593Smuzhiyun "hdmi_phy"; 614*4882a593Smuzhiyun 615*4882a593Smuzhiyun clocks = <&mmcc MDSS_AHB_CLK>, 616*4882a593Smuzhiyun <&gcc GCC_HDMI_CLKREF_CLK>; 617*4882a593Smuzhiyun clock-names = "iface", 618*4882a593Smuzhiyun "ref"; 619*4882a593Smuzhiyun }; 620*4882a593Smuzhiyun }; 621*4882a593Smuzhiyun gpu@b00000 { 622*4882a593Smuzhiyun compatible = "qcom,adreno-530.2", "qcom,adreno"; 623*4882a593Smuzhiyun #stream-id-cells = <16>; 624*4882a593Smuzhiyun 625*4882a593Smuzhiyun reg = <0x00b00000 0x3f000>; 626*4882a593Smuzhiyun reg-names = "kgsl_3d0_reg_memory"; 627*4882a593Smuzhiyun 628*4882a593Smuzhiyun interrupts = <0 300 IRQ_TYPE_LEVEL_HIGH>; 629*4882a593Smuzhiyun 630*4882a593Smuzhiyun clocks = <&mmcc GPU_GX_GFX3D_CLK>, 631*4882a593Smuzhiyun <&mmcc GPU_AHB_CLK>, 632*4882a593Smuzhiyun <&mmcc GPU_GX_RBBMTIMER_CLK>, 633*4882a593Smuzhiyun <&gcc GCC_BIMC_GFX_CLK>, 634*4882a593Smuzhiyun <&gcc GCC_MMSS_BIMC_GFX_CLK>; 635*4882a593Smuzhiyun 636*4882a593Smuzhiyun clock-names = "core", 637*4882a593Smuzhiyun "iface", 638*4882a593Smuzhiyun "rbbmtimer", 639*4882a593Smuzhiyun "mem", 640*4882a593Smuzhiyun "mem_iface"; 641*4882a593Smuzhiyun 642*4882a593Smuzhiyun power-domains = <&mmcc GPU_GX_GDSC>; 643*4882a593Smuzhiyun iommus = <&adreno_smmu 0>; 644*4882a593Smuzhiyun 645*4882a593Smuzhiyun nvmem-cells = <&gpu_speed_bin>; 646*4882a593Smuzhiyun nvmem-cell-names = "speed_bin"; 647*4882a593Smuzhiyun 648*4882a593Smuzhiyun operating-points-v2 = <&gpu_opp_table>; 649*4882a593Smuzhiyun 650*4882a593Smuzhiyun gpu_opp_table: opp-table { 651*4882a593Smuzhiyun compatible ="operating-points-v2"; 652*4882a593Smuzhiyun 653*4882a593Smuzhiyun /* 654*4882a593Smuzhiyun * 624Mhz and 560Mhz are only available on speed 655*4882a593Smuzhiyun * bin (1 << 0). All the rest are available on 656*4882a593Smuzhiyun * all bins of the hardware 657*4882a593Smuzhiyun */ 658*4882a593Smuzhiyun opp-624000000 { 659*4882a593Smuzhiyun opp-hz = /bits/ 64 <624000000>; 660*4882a593Smuzhiyun opp-supported-hw = <0x01>; 661*4882a593Smuzhiyun }; 662*4882a593Smuzhiyun opp-560000000 { 663*4882a593Smuzhiyun opp-hz = /bits/ 64 <560000000>; 664*4882a593Smuzhiyun opp-supported-hw = <0x01>; 665*4882a593Smuzhiyun }; 666*4882a593Smuzhiyun opp-510000000 { 667*4882a593Smuzhiyun opp-hz = /bits/ 64 <510000000>; 668*4882a593Smuzhiyun opp-supported-hw = <0xFF>; 669*4882a593Smuzhiyun }; 670*4882a593Smuzhiyun opp-401800000 { 671*4882a593Smuzhiyun opp-hz = /bits/ 64 <401800000>; 672*4882a593Smuzhiyun opp-supported-hw = <0xFF>; 673*4882a593Smuzhiyun }; 674*4882a593Smuzhiyun opp-315000000 { 675*4882a593Smuzhiyun opp-hz = /bits/ 64 <315000000>; 676*4882a593Smuzhiyun opp-supported-hw = <0xFF>; 677*4882a593Smuzhiyun }; 678*4882a593Smuzhiyun opp-214000000 { 679*4882a593Smuzhiyun opp-hz = /bits/ 64 <214000000>; 680*4882a593Smuzhiyun opp-supported-hw = <0xFF>; 681*4882a593Smuzhiyun }; 682*4882a593Smuzhiyun opp-133000000 { 683*4882a593Smuzhiyun opp-hz = /bits/ 64 <133000000>; 684*4882a593Smuzhiyun opp-supported-hw = <0xFF>; 685*4882a593Smuzhiyun }; 686*4882a593Smuzhiyun }; 687*4882a593Smuzhiyun 688*4882a593Smuzhiyun zap-shader { 689*4882a593Smuzhiyun memory-region = <&zap_shader_region>; 690*4882a593Smuzhiyun }; 691*4882a593Smuzhiyun }; 692*4882a593Smuzhiyun 693*4882a593Smuzhiyun msmgpio: pinctrl@1010000 { 694*4882a593Smuzhiyun compatible = "qcom,msm8996-pinctrl"; 695*4882a593Smuzhiyun reg = <0x01010000 0x300000>; 696*4882a593Smuzhiyun interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 697*4882a593Smuzhiyun gpio-controller; 698*4882a593Smuzhiyun gpio-ranges = <&msmgpio 0 0 150>; 699*4882a593Smuzhiyun #gpio-cells = <2>; 700*4882a593Smuzhiyun interrupt-controller; 701*4882a593Smuzhiyun #interrupt-cells = <2>; 702*4882a593Smuzhiyun }; 703*4882a593Smuzhiyun 704*4882a593Smuzhiyun spmi_bus: qcom,spmi@400f000 { 705*4882a593Smuzhiyun compatible = "qcom,spmi-pmic-arb"; 706*4882a593Smuzhiyun reg = <0x0400f000 0x1000>, 707*4882a593Smuzhiyun <0x04400000 0x800000>, 708*4882a593Smuzhiyun <0x04c00000 0x800000>, 709*4882a593Smuzhiyun <0x05800000 0x200000>, 710*4882a593Smuzhiyun <0x0400a000 0x002100>; 711*4882a593Smuzhiyun reg-names = "core", "chnls", "obsrvr", "intr", "cnfg"; 712*4882a593Smuzhiyun interrupt-names = "periph_irq"; 713*4882a593Smuzhiyun interrupts = <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>; 714*4882a593Smuzhiyun qcom,ee = <0>; 715*4882a593Smuzhiyun qcom,channel = <0>; 716*4882a593Smuzhiyun #address-cells = <2>; 717*4882a593Smuzhiyun #size-cells = <0>; 718*4882a593Smuzhiyun interrupt-controller; 719*4882a593Smuzhiyun #interrupt-cells = <4>; 720*4882a593Smuzhiyun }; 721*4882a593Smuzhiyun 722*4882a593Smuzhiyun agnoc@0 { 723*4882a593Smuzhiyun power-domains = <&gcc AGGRE0_NOC_GDSC>; 724*4882a593Smuzhiyun compatible = "simple-pm-bus"; 725*4882a593Smuzhiyun #address-cells = <1>; 726*4882a593Smuzhiyun #size-cells = <1>; 727*4882a593Smuzhiyun ranges; 728*4882a593Smuzhiyun 729*4882a593Smuzhiyun pcie0: pcie@600000 { 730*4882a593Smuzhiyun compatible = "qcom,pcie-msm8996", "snps,dw-pcie"; 731*4882a593Smuzhiyun status = "disabled"; 732*4882a593Smuzhiyun power-domains = <&gcc PCIE0_GDSC>; 733*4882a593Smuzhiyun bus-range = <0x00 0xff>; 734*4882a593Smuzhiyun num-lanes = <1>; 735*4882a593Smuzhiyun 736*4882a593Smuzhiyun reg = <0x00600000 0x2000>, 737*4882a593Smuzhiyun <0x0c000000 0xf1d>, 738*4882a593Smuzhiyun <0x0c000f20 0xa8>, 739*4882a593Smuzhiyun <0x0c100000 0x100000>; 740*4882a593Smuzhiyun reg-names = "parf", "dbi", "elbi","config"; 741*4882a593Smuzhiyun 742*4882a593Smuzhiyun phys = <&pciephy_0>; 743*4882a593Smuzhiyun phy-names = "pciephy"; 744*4882a593Smuzhiyun 745*4882a593Smuzhiyun #address-cells = <3>; 746*4882a593Smuzhiyun #size-cells = <2>; 747*4882a593Smuzhiyun ranges = <0x01000000 0x0 0x0c200000 0x0c200000 0x0 0x100000>, 748*4882a593Smuzhiyun <0x02000000 0x0 0x0c300000 0x0c300000 0x0 0xd00000>; 749*4882a593Smuzhiyun 750*4882a593Smuzhiyun interrupts = <GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>; 751*4882a593Smuzhiyun interrupt-names = "msi"; 752*4882a593Smuzhiyun #interrupt-cells = <1>; 753*4882a593Smuzhiyun interrupt-map-mask = <0 0 0 0x7>; 754*4882a593Smuzhiyun interrupt-map = <0 0 0 1 &intc 0 244 IRQ_TYPE_LEVEL_HIGH>, /* int_a */ 755*4882a593Smuzhiyun <0 0 0 2 &intc 0 245 IRQ_TYPE_LEVEL_HIGH>, /* int_b */ 756*4882a593Smuzhiyun <0 0 0 3 &intc 0 247 IRQ_TYPE_LEVEL_HIGH>, /* int_c */ 757*4882a593Smuzhiyun <0 0 0 4 &intc 0 248 IRQ_TYPE_LEVEL_HIGH>; /* int_d */ 758*4882a593Smuzhiyun 759*4882a593Smuzhiyun pinctrl-names = "default", "sleep"; 760*4882a593Smuzhiyun pinctrl-0 = <&pcie0_clkreq_default &pcie0_perst_default &pcie0_wake_default>; 761*4882a593Smuzhiyun pinctrl-1 = <&pcie0_clkreq_sleep &pcie0_perst_default &pcie0_wake_sleep>; 762*4882a593Smuzhiyun 763*4882a593Smuzhiyun linux,pci-domain = <0>; 764*4882a593Smuzhiyun 765*4882a593Smuzhiyun clocks = <&gcc GCC_PCIE_0_PIPE_CLK>, 766*4882a593Smuzhiyun <&gcc GCC_PCIE_0_AUX_CLK>, 767*4882a593Smuzhiyun <&gcc GCC_PCIE_0_CFG_AHB_CLK>, 768*4882a593Smuzhiyun <&gcc GCC_PCIE_0_MSTR_AXI_CLK>, 769*4882a593Smuzhiyun <&gcc GCC_PCIE_0_SLV_AXI_CLK>; 770*4882a593Smuzhiyun 771*4882a593Smuzhiyun clock-names = "pipe", 772*4882a593Smuzhiyun "aux", 773*4882a593Smuzhiyun "cfg", 774*4882a593Smuzhiyun "bus_master", 775*4882a593Smuzhiyun "bus_slave"; 776*4882a593Smuzhiyun 777*4882a593Smuzhiyun }; 778*4882a593Smuzhiyun 779*4882a593Smuzhiyun pcie1: pcie@608000 { 780*4882a593Smuzhiyun compatible = "qcom,pcie-msm8996", "snps,dw-pcie"; 781*4882a593Smuzhiyun power-domains = <&gcc PCIE1_GDSC>; 782*4882a593Smuzhiyun bus-range = <0x00 0xff>; 783*4882a593Smuzhiyun num-lanes = <1>; 784*4882a593Smuzhiyun 785*4882a593Smuzhiyun status = "disabled"; 786*4882a593Smuzhiyun 787*4882a593Smuzhiyun reg = <0x00608000 0x2000>, 788*4882a593Smuzhiyun <0x0d000000 0xf1d>, 789*4882a593Smuzhiyun <0x0d000f20 0xa8>, 790*4882a593Smuzhiyun <0x0d100000 0x100000>; 791*4882a593Smuzhiyun 792*4882a593Smuzhiyun reg-names = "parf", "dbi", "elbi","config"; 793*4882a593Smuzhiyun 794*4882a593Smuzhiyun phys = <&pciephy_1>; 795*4882a593Smuzhiyun phy-names = "pciephy"; 796*4882a593Smuzhiyun 797*4882a593Smuzhiyun #address-cells = <3>; 798*4882a593Smuzhiyun #size-cells = <2>; 799*4882a593Smuzhiyun ranges = <0x01000000 0x0 0x0d200000 0x0d200000 0x0 0x100000>, 800*4882a593Smuzhiyun <0x02000000 0x0 0x0d300000 0x0d300000 0x0 0xd00000>; 801*4882a593Smuzhiyun 802*4882a593Smuzhiyun interrupts = <GIC_SPI 413 IRQ_TYPE_LEVEL_HIGH>; 803*4882a593Smuzhiyun interrupt-names = "msi"; 804*4882a593Smuzhiyun #interrupt-cells = <1>; 805*4882a593Smuzhiyun interrupt-map-mask = <0 0 0 0x7>; 806*4882a593Smuzhiyun interrupt-map = <0 0 0 1 &intc 0 272 IRQ_TYPE_LEVEL_HIGH>, /* int_a */ 807*4882a593Smuzhiyun <0 0 0 2 &intc 0 273 IRQ_TYPE_LEVEL_HIGH>, /* int_b */ 808*4882a593Smuzhiyun <0 0 0 3 &intc 0 274 IRQ_TYPE_LEVEL_HIGH>, /* int_c */ 809*4882a593Smuzhiyun <0 0 0 4 &intc 0 275 IRQ_TYPE_LEVEL_HIGH>; /* int_d */ 810*4882a593Smuzhiyun 811*4882a593Smuzhiyun pinctrl-names = "default", "sleep"; 812*4882a593Smuzhiyun pinctrl-0 = <&pcie1_clkreq_default &pcie1_perst_default &pcie1_wake_default>; 813*4882a593Smuzhiyun pinctrl-1 = <&pcie1_clkreq_sleep &pcie1_perst_default &pcie1_wake_sleep>; 814*4882a593Smuzhiyun 815*4882a593Smuzhiyun linux,pci-domain = <1>; 816*4882a593Smuzhiyun 817*4882a593Smuzhiyun clocks = <&gcc GCC_PCIE_1_PIPE_CLK>, 818*4882a593Smuzhiyun <&gcc GCC_PCIE_1_AUX_CLK>, 819*4882a593Smuzhiyun <&gcc GCC_PCIE_1_CFG_AHB_CLK>, 820*4882a593Smuzhiyun <&gcc GCC_PCIE_1_MSTR_AXI_CLK>, 821*4882a593Smuzhiyun <&gcc GCC_PCIE_1_SLV_AXI_CLK>; 822*4882a593Smuzhiyun 823*4882a593Smuzhiyun clock-names = "pipe", 824*4882a593Smuzhiyun "aux", 825*4882a593Smuzhiyun "cfg", 826*4882a593Smuzhiyun "bus_master", 827*4882a593Smuzhiyun "bus_slave"; 828*4882a593Smuzhiyun }; 829*4882a593Smuzhiyun 830*4882a593Smuzhiyun pcie2: pcie@610000 { 831*4882a593Smuzhiyun compatible = "qcom,pcie-msm8996", "snps,dw-pcie"; 832*4882a593Smuzhiyun power-domains = <&gcc PCIE2_GDSC>; 833*4882a593Smuzhiyun bus-range = <0x00 0xff>; 834*4882a593Smuzhiyun num-lanes = <1>; 835*4882a593Smuzhiyun status = "disabled"; 836*4882a593Smuzhiyun reg = <0x00610000 0x2000>, 837*4882a593Smuzhiyun <0x0e000000 0xf1d>, 838*4882a593Smuzhiyun <0x0e000f20 0xa8>, 839*4882a593Smuzhiyun <0x0e100000 0x100000>; 840*4882a593Smuzhiyun 841*4882a593Smuzhiyun reg-names = "parf", "dbi", "elbi","config"; 842*4882a593Smuzhiyun 843*4882a593Smuzhiyun phys = <&pciephy_2>; 844*4882a593Smuzhiyun phy-names = "pciephy"; 845*4882a593Smuzhiyun 846*4882a593Smuzhiyun #address-cells = <3>; 847*4882a593Smuzhiyun #size-cells = <2>; 848*4882a593Smuzhiyun ranges = <0x01000000 0x0 0x0e200000 0x0e200000 0x0 0x100000>, 849*4882a593Smuzhiyun <0x02000000 0x0 0x0e300000 0x0e300000 0x0 0x1d00000>; 850*4882a593Smuzhiyun 851*4882a593Smuzhiyun device_type = "pci"; 852*4882a593Smuzhiyun 853*4882a593Smuzhiyun interrupts = <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>; 854*4882a593Smuzhiyun interrupt-names = "msi"; 855*4882a593Smuzhiyun #interrupt-cells = <1>; 856*4882a593Smuzhiyun interrupt-map-mask = <0 0 0 0x7>; 857*4882a593Smuzhiyun interrupt-map = <0 0 0 1 &intc 0 142 IRQ_TYPE_LEVEL_HIGH>, /* int_a */ 858*4882a593Smuzhiyun <0 0 0 2 &intc 0 143 IRQ_TYPE_LEVEL_HIGH>, /* int_b */ 859*4882a593Smuzhiyun <0 0 0 3 &intc 0 144 IRQ_TYPE_LEVEL_HIGH>, /* int_c */ 860*4882a593Smuzhiyun <0 0 0 4 &intc 0 145 IRQ_TYPE_LEVEL_HIGH>; /* int_d */ 861*4882a593Smuzhiyun 862*4882a593Smuzhiyun pinctrl-names = "default", "sleep"; 863*4882a593Smuzhiyun pinctrl-0 = <&pcie2_clkreq_default &pcie2_perst_default &pcie2_wake_default>; 864*4882a593Smuzhiyun pinctrl-1 = <&pcie2_clkreq_sleep &pcie2_perst_default &pcie2_wake_sleep >; 865*4882a593Smuzhiyun 866*4882a593Smuzhiyun linux,pci-domain = <2>; 867*4882a593Smuzhiyun clocks = <&gcc GCC_PCIE_2_PIPE_CLK>, 868*4882a593Smuzhiyun <&gcc GCC_PCIE_2_AUX_CLK>, 869*4882a593Smuzhiyun <&gcc GCC_PCIE_2_CFG_AHB_CLK>, 870*4882a593Smuzhiyun <&gcc GCC_PCIE_2_MSTR_AXI_CLK>, 871*4882a593Smuzhiyun <&gcc GCC_PCIE_2_SLV_AXI_CLK>; 872*4882a593Smuzhiyun 873*4882a593Smuzhiyun clock-names = "pipe", 874*4882a593Smuzhiyun "aux", 875*4882a593Smuzhiyun "cfg", 876*4882a593Smuzhiyun "bus_master", 877*4882a593Smuzhiyun "bus_slave"; 878*4882a593Smuzhiyun }; 879*4882a593Smuzhiyun }; 880*4882a593Smuzhiyun 881*4882a593Smuzhiyun ufshc: ufshc@624000 { 882*4882a593Smuzhiyun compatible = "qcom,ufshc"; 883*4882a593Smuzhiyun reg = <0x00624000 0x2500>; 884*4882a593Smuzhiyun interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>; 885*4882a593Smuzhiyun 886*4882a593Smuzhiyun phys = <&ufsphy_lane>; 887*4882a593Smuzhiyun phy-names = "ufsphy"; 888*4882a593Smuzhiyun 889*4882a593Smuzhiyun power-domains = <&gcc UFS_GDSC>; 890*4882a593Smuzhiyun 891*4882a593Smuzhiyun clock-names = 892*4882a593Smuzhiyun "core_clk_src", 893*4882a593Smuzhiyun "core_clk", 894*4882a593Smuzhiyun "bus_clk", 895*4882a593Smuzhiyun "bus_aggr_clk", 896*4882a593Smuzhiyun "iface_clk", 897*4882a593Smuzhiyun "core_clk_unipro_src", 898*4882a593Smuzhiyun "core_clk_unipro", 899*4882a593Smuzhiyun "core_clk_ice", 900*4882a593Smuzhiyun "ref_clk", 901*4882a593Smuzhiyun "tx_lane0_sync_clk", 902*4882a593Smuzhiyun "rx_lane0_sync_clk"; 903*4882a593Smuzhiyun clocks = 904*4882a593Smuzhiyun <&gcc UFS_AXI_CLK_SRC>, 905*4882a593Smuzhiyun <&gcc GCC_UFS_AXI_CLK>, 906*4882a593Smuzhiyun <&gcc GCC_SYS_NOC_UFS_AXI_CLK>, 907*4882a593Smuzhiyun <&gcc GCC_AGGRE2_UFS_AXI_CLK>, 908*4882a593Smuzhiyun <&gcc GCC_UFS_AHB_CLK>, 909*4882a593Smuzhiyun <&gcc UFS_ICE_CORE_CLK_SRC>, 910*4882a593Smuzhiyun <&gcc GCC_UFS_UNIPRO_CORE_CLK>, 911*4882a593Smuzhiyun <&gcc GCC_UFS_ICE_CORE_CLK>, 912*4882a593Smuzhiyun <&rpmcc RPM_SMD_LN_BB_CLK>, 913*4882a593Smuzhiyun <&gcc GCC_UFS_TX_SYMBOL_0_CLK>, 914*4882a593Smuzhiyun <&gcc GCC_UFS_RX_SYMBOL_0_CLK>; 915*4882a593Smuzhiyun freq-table-hz = 916*4882a593Smuzhiyun <100000000 200000000>, 917*4882a593Smuzhiyun <0 0>, 918*4882a593Smuzhiyun <0 0>, 919*4882a593Smuzhiyun <0 0>, 920*4882a593Smuzhiyun <0 0>, 921*4882a593Smuzhiyun <150000000 300000000>, 922*4882a593Smuzhiyun <0 0>, 923*4882a593Smuzhiyun <0 0>, 924*4882a593Smuzhiyun <0 0>, 925*4882a593Smuzhiyun <0 0>, 926*4882a593Smuzhiyun <0 0>; 927*4882a593Smuzhiyun 928*4882a593Smuzhiyun lanes-per-direction = <1>; 929*4882a593Smuzhiyun #reset-cells = <1>; 930*4882a593Smuzhiyun status = "disabled"; 931*4882a593Smuzhiyun 932*4882a593Smuzhiyun ufs_variant { 933*4882a593Smuzhiyun compatible = "qcom,ufs_variant"; 934*4882a593Smuzhiyun }; 935*4882a593Smuzhiyun }; 936*4882a593Smuzhiyun 937*4882a593Smuzhiyun ufsphy: phy@627000 { 938*4882a593Smuzhiyun compatible = "qcom,msm8996-qmp-ufs-phy"; 939*4882a593Smuzhiyun reg = <0x00627000 0x1c4>; 940*4882a593Smuzhiyun #address-cells = <1>; 941*4882a593Smuzhiyun #size-cells = <1>; 942*4882a593Smuzhiyun ranges; 943*4882a593Smuzhiyun 944*4882a593Smuzhiyun clocks = <&gcc GCC_UFS_CLKREF_CLK>; 945*4882a593Smuzhiyun clock-names = "ref"; 946*4882a593Smuzhiyun 947*4882a593Smuzhiyun resets = <&ufshc 0>; 948*4882a593Smuzhiyun reset-names = "ufsphy"; 949*4882a593Smuzhiyun status = "disabled"; 950*4882a593Smuzhiyun 951*4882a593Smuzhiyun ufsphy_lane: lanes@627400 { 952*4882a593Smuzhiyun reg = <0x627400 0x12c>, 953*4882a593Smuzhiyun <0x627600 0x200>, 954*4882a593Smuzhiyun <0x627c00 0x1b4>; 955*4882a593Smuzhiyun #phy-cells = <0>; 956*4882a593Smuzhiyun }; 957*4882a593Smuzhiyun }; 958*4882a593Smuzhiyun 959*4882a593Smuzhiyun camss: camss@a00000 { 960*4882a593Smuzhiyun compatible = "qcom,msm8996-camss"; 961*4882a593Smuzhiyun reg = <0x00a34000 0x1000>, 962*4882a593Smuzhiyun <0x00a00030 0x4>, 963*4882a593Smuzhiyun <0x00a35000 0x1000>, 964*4882a593Smuzhiyun <0x00a00038 0x4>, 965*4882a593Smuzhiyun <0x00a36000 0x1000>, 966*4882a593Smuzhiyun <0x00a00040 0x4>, 967*4882a593Smuzhiyun <0x00a30000 0x100>, 968*4882a593Smuzhiyun <0x00a30400 0x100>, 969*4882a593Smuzhiyun <0x00a30800 0x100>, 970*4882a593Smuzhiyun <0x00a30c00 0x100>, 971*4882a593Smuzhiyun <0x00a31000 0x500>, 972*4882a593Smuzhiyun <0x00a00020 0x10>, 973*4882a593Smuzhiyun <0x00a10000 0x1000>, 974*4882a593Smuzhiyun <0x00a14000 0x1000>; 975*4882a593Smuzhiyun reg-names = "csiphy0", 976*4882a593Smuzhiyun "csiphy0_clk_mux", 977*4882a593Smuzhiyun "csiphy1", 978*4882a593Smuzhiyun "csiphy1_clk_mux", 979*4882a593Smuzhiyun "csiphy2", 980*4882a593Smuzhiyun "csiphy2_clk_mux", 981*4882a593Smuzhiyun "csid0", 982*4882a593Smuzhiyun "csid1", 983*4882a593Smuzhiyun "csid2", 984*4882a593Smuzhiyun "csid3", 985*4882a593Smuzhiyun "ispif", 986*4882a593Smuzhiyun "csi_clk_mux", 987*4882a593Smuzhiyun "vfe0", 988*4882a593Smuzhiyun "vfe1"; 989*4882a593Smuzhiyun interrupts = <GIC_SPI 78 IRQ_TYPE_EDGE_RISING>, 990*4882a593Smuzhiyun <GIC_SPI 79 IRQ_TYPE_EDGE_RISING>, 991*4882a593Smuzhiyun <GIC_SPI 80 IRQ_TYPE_EDGE_RISING>, 992*4882a593Smuzhiyun <GIC_SPI 296 IRQ_TYPE_EDGE_RISING>, 993*4882a593Smuzhiyun <GIC_SPI 297 IRQ_TYPE_EDGE_RISING>, 994*4882a593Smuzhiyun <GIC_SPI 298 IRQ_TYPE_EDGE_RISING>, 995*4882a593Smuzhiyun <GIC_SPI 299 IRQ_TYPE_EDGE_RISING>, 996*4882a593Smuzhiyun <GIC_SPI 309 IRQ_TYPE_EDGE_RISING>, 997*4882a593Smuzhiyun <GIC_SPI 314 IRQ_TYPE_EDGE_RISING>, 998*4882a593Smuzhiyun <GIC_SPI 315 IRQ_TYPE_EDGE_RISING>; 999*4882a593Smuzhiyun interrupt-names = "csiphy0", 1000*4882a593Smuzhiyun "csiphy1", 1001*4882a593Smuzhiyun "csiphy2", 1002*4882a593Smuzhiyun "csid0", 1003*4882a593Smuzhiyun "csid1", 1004*4882a593Smuzhiyun "csid2", 1005*4882a593Smuzhiyun "csid3", 1006*4882a593Smuzhiyun "ispif", 1007*4882a593Smuzhiyun "vfe0", 1008*4882a593Smuzhiyun "vfe1"; 1009*4882a593Smuzhiyun power-domains = <&mmcc VFE0_GDSC>, 1010*4882a593Smuzhiyun <&mmcc VFE1_GDSC>; 1011*4882a593Smuzhiyun clocks = <&mmcc CAMSS_TOP_AHB_CLK>, 1012*4882a593Smuzhiyun <&mmcc CAMSS_ISPIF_AHB_CLK>, 1013*4882a593Smuzhiyun <&mmcc CAMSS_CSI0PHYTIMER_CLK>, 1014*4882a593Smuzhiyun <&mmcc CAMSS_CSI1PHYTIMER_CLK>, 1015*4882a593Smuzhiyun <&mmcc CAMSS_CSI2PHYTIMER_CLK>, 1016*4882a593Smuzhiyun <&mmcc CAMSS_CSI0_AHB_CLK>, 1017*4882a593Smuzhiyun <&mmcc CAMSS_CSI0_CLK>, 1018*4882a593Smuzhiyun <&mmcc CAMSS_CSI0PHY_CLK>, 1019*4882a593Smuzhiyun <&mmcc CAMSS_CSI0PIX_CLK>, 1020*4882a593Smuzhiyun <&mmcc CAMSS_CSI0RDI_CLK>, 1021*4882a593Smuzhiyun <&mmcc CAMSS_CSI1_AHB_CLK>, 1022*4882a593Smuzhiyun <&mmcc CAMSS_CSI1_CLK>, 1023*4882a593Smuzhiyun <&mmcc CAMSS_CSI1PHY_CLK>, 1024*4882a593Smuzhiyun <&mmcc CAMSS_CSI1PIX_CLK>, 1025*4882a593Smuzhiyun <&mmcc CAMSS_CSI1RDI_CLK>, 1026*4882a593Smuzhiyun <&mmcc CAMSS_CSI2_AHB_CLK>, 1027*4882a593Smuzhiyun <&mmcc CAMSS_CSI2_CLK>, 1028*4882a593Smuzhiyun <&mmcc CAMSS_CSI2PHY_CLK>, 1029*4882a593Smuzhiyun <&mmcc CAMSS_CSI2PIX_CLK>, 1030*4882a593Smuzhiyun <&mmcc CAMSS_CSI2RDI_CLK>, 1031*4882a593Smuzhiyun <&mmcc CAMSS_CSI3_AHB_CLK>, 1032*4882a593Smuzhiyun <&mmcc CAMSS_CSI3_CLK>, 1033*4882a593Smuzhiyun <&mmcc CAMSS_CSI3PHY_CLK>, 1034*4882a593Smuzhiyun <&mmcc CAMSS_CSI3PIX_CLK>, 1035*4882a593Smuzhiyun <&mmcc CAMSS_CSI3RDI_CLK>, 1036*4882a593Smuzhiyun <&mmcc CAMSS_AHB_CLK>, 1037*4882a593Smuzhiyun <&mmcc CAMSS_VFE0_CLK>, 1038*4882a593Smuzhiyun <&mmcc CAMSS_CSI_VFE0_CLK>, 1039*4882a593Smuzhiyun <&mmcc CAMSS_VFE0_AHB_CLK>, 1040*4882a593Smuzhiyun <&mmcc CAMSS_VFE0_STREAM_CLK>, 1041*4882a593Smuzhiyun <&mmcc CAMSS_VFE1_CLK>, 1042*4882a593Smuzhiyun <&mmcc CAMSS_CSI_VFE1_CLK>, 1043*4882a593Smuzhiyun <&mmcc CAMSS_VFE1_AHB_CLK>, 1044*4882a593Smuzhiyun <&mmcc CAMSS_VFE1_STREAM_CLK>, 1045*4882a593Smuzhiyun <&mmcc CAMSS_VFE_AHB_CLK>, 1046*4882a593Smuzhiyun <&mmcc CAMSS_VFE_AXI_CLK>; 1047*4882a593Smuzhiyun clock-names = "top_ahb", 1048*4882a593Smuzhiyun "ispif_ahb", 1049*4882a593Smuzhiyun "csiphy0_timer", 1050*4882a593Smuzhiyun "csiphy1_timer", 1051*4882a593Smuzhiyun "csiphy2_timer", 1052*4882a593Smuzhiyun "csi0_ahb", 1053*4882a593Smuzhiyun "csi0", 1054*4882a593Smuzhiyun "csi0_phy", 1055*4882a593Smuzhiyun "csi0_pix", 1056*4882a593Smuzhiyun "csi0_rdi", 1057*4882a593Smuzhiyun "csi1_ahb", 1058*4882a593Smuzhiyun "csi1", 1059*4882a593Smuzhiyun "csi1_phy", 1060*4882a593Smuzhiyun "csi1_pix", 1061*4882a593Smuzhiyun "csi1_rdi", 1062*4882a593Smuzhiyun "csi2_ahb", 1063*4882a593Smuzhiyun "csi2", 1064*4882a593Smuzhiyun "csi2_phy", 1065*4882a593Smuzhiyun "csi2_pix", 1066*4882a593Smuzhiyun "csi2_rdi", 1067*4882a593Smuzhiyun "csi3_ahb", 1068*4882a593Smuzhiyun "csi3", 1069*4882a593Smuzhiyun "csi3_phy", 1070*4882a593Smuzhiyun "csi3_pix", 1071*4882a593Smuzhiyun "csi3_rdi", 1072*4882a593Smuzhiyun "ahb", 1073*4882a593Smuzhiyun "vfe0", 1074*4882a593Smuzhiyun "csi_vfe0", 1075*4882a593Smuzhiyun "vfe0_ahb", 1076*4882a593Smuzhiyun "vfe0_stream", 1077*4882a593Smuzhiyun "vfe1", 1078*4882a593Smuzhiyun "csi_vfe1", 1079*4882a593Smuzhiyun "vfe1_ahb", 1080*4882a593Smuzhiyun "vfe1_stream", 1081*4882a593Smuzhiyun "vfe_ahb", 1082*4882a593Smuzhiyun "vfe_axi"; 1083*4882a593Smuzhiyun iommus = <&vfe_smmu 0>, 1084*4882a593Smuzhiyun <&vfe_smmu 1>, 1085*4882a593Smuzhiyun <&vfe_smmu 2>, 1086*4882a593Smuzhiyun <&vfe_smmu 3>; 1087*4882a593Smuzhiyun status = "disabled"; 1088*4882a593Smuzhiyun ports { 1089*4882a593Smuzhiyun #address-cells = <1>; 1090*4882a593Smuzhiyun #size-cells = <0>; 1091*4882a593Smuzhiyun }; 1092*4882a593Smuzhiyun }; 1093*4882a593Smuzhiyun 1094*4882a593Smuzhiyun cci: cci@a0c000 { 1095*4882a593Smuzhiyun compatible = "qcom,msm8996-cci"; 1096*4882a593Smuzhiyun #address-cells = <1>; 1097*4882a593Smuzhiyun #size-cells = <0>; 1098*4882a593Smuzhiyun reg = <0xa0c000 0x1000>; 1099*4882a593Smuzhiyun interrupts = <GIC_SPI 295 IRQ_TYPE_EDGE_RISING>; 1100*4882a593Smuzhiyun power-domains = <&mmcc CAMSS_GDSC>; 1101*4882a593Smuzhiyun clocks = <&mmcc CAMSS_TOP_AHB_CLK>, 1102*4882a593Smuzhiyun <&mmcc CAMSS_CCI_AHB_CLK>, 1103*4882a593Smuzhiyun <&mmcc CAMSS_CCI_CLK>, 1104*4882a593Smuzhiyun <&mmcc CAMSS_AHB_CLK>; 1105*4882a593Smuzhiyun clock-names = "camss_top_ahb", 1106*4882a593Smuzhiyun "cci_ahb", 1107*4882a593Smuzhiyun "cci", 1108*4882a593Smuzhiyun "camss_ahb"; 1109*4882a593Smuzhiyun assigned-clocks = <&mmcc CAMSS_CCI_AHB_CLK>, 1110*4882a593Smuzhiyun <&mmcc CAMSS_CCI_CLK>; 1111*4882a593Smuzhiyun assigned-clock-rates = <80000000>, <37500000>; 1112*4882a593Smuzhiyun pinctrl-names = "default"; 1113*4882a593Smuzhiyun pinctrl-0 = <&cci0_default &cci1_default>; 1114*4882a593Smuzhiyun status = "disabled"; 1115*4882a593Smuzhiyun 1116*4882a593Smuzhiyun cci_i2c0: i2c-bus@0 { 1117*4882a593Smuzhiyun reg = <0>; 1118*4882a593Smuzhiyun clock-frequency = <400000>; 1119*4882a593Smuzhiyun #address-cells = <1>; 1120*4882a593Smuzhiyun #size-cells = <0>; 1121*4882a593Smuzhiyun }; 1122*4882a593Smuzhiyun 1123*4882a593Smuzhiyun cci_i2c1: i2c-bus@1 { 1124*4882a593Smuzhiyun reg = <1>; 1125*4882a593Smuzhiyun clock-frequency = <400000>; 1126*4882a593Smuzhiyun #address-cells = <1>; 1127*4882a593Smuzhiyun #size-cells = <0>; 1128*4882a593Smuzhiyun }; 1129*4882a593Smuzhiyun }; 1130*4882a593Smuzhiyun 1131*4882a593Smuzhiyun adreno_smmu: iommu@b40000 { 1132*4882a593Smuzhiyun compatible = "qcom,msm8996-smmu-v2", "qcom,smmu-v2"; 1133*4882a593Smuzhiyun reg = <0x00b40000 0x10000>; 1134*4882a593Smuzhiyun 1135*4882a593Smuzhiyun #global-interrupts = <1>; 1136*4882a593Smuzhiyun interrupts = <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>, 1137*4882a593Smuzhiyun <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>, 1138*4882a593Smuzhiyun <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>; 1139*4882a593Smuzhiyun #iommu-cells = <1>; 1140*4882a593Smuzhiyun 1141*4882a593Smuzhiyun clocks = <&mmcc GPU_AHB_CLK>, 1142*4882a593Smuzhiyun <&gcc GCC_MMSS_BIMC_GFX_CLK>; 1143*4882a593Smuzhiyun clock-names = "iface", "bus"; 1144*4882a593Smuzhiyun 1145*4882a593Smuzhiyun power-domains = <&mmcc GPU_GDSC>; 1146*4882a593Smuzhiyun }; 1147*4882a593Smuzhiyun 1148*4882a593Smuzhiyun video-codec@c00000 { 1149*4882a593Smuzhiyun compatible = "qcom,msm8996-venus"; 1150*4882a593Smuzhiyun reg = <0x00c00000 0xff000>; 1151*4882a593Smuzhiyun interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>; 1152*4882a593Smuzhiyun power-domains = <&mmcc VENUS_GDSC>; 1153*4882a593Smuzhiyun clocks = <&mmcc VIDEO_CORE_CLK>, 1154*4882a593Smuzhiyun <&mmcc VIDEO_AHB_CLK>, 1155*4882a593Smuzhiyun <&mmcc VIDEO_AXI_CLK>, 1156*4882a593Smuzhiyun <&mmcc VIDEO_MAXI_CLK>; 1157*4882a593Smuzhiyun clock-names = "core", "iface", "bus", "mbus"; 1158*4882a593Smuzhiyun iommus = <&venus_smmu 0x00>, 1159*4882a593Smuzhiyun <&venus_smmu 0x01>, 1160*4882a593Smuzhiyun <&venus_smmu 0x0a>, 1161*4882a593Smuzhiyun <&venus_smmu 0x07>, 1162*4882a593Smuzhiyun <&venus_smmu 0x0e>, 1163*4882a593Smuzhiyun <&venus_smmu 0x0f>, 1164*4882a593Smuzhiyun <&venus_smmu 0x08>, 1165*4882a593Smuzhiyun <&venus_smmu 0x09>, 1166*4882a593Smuzhiyun <&venus_smmu 0x0b>, 1167*4882a593Smuzhiyun <&venus_smmu 0x0c>, 1168*4882a593Smuzhiyun <&venus_smmu 0x0d>, 1169*4882a593Smuzhiyun <&venus_smmu 0x10>, 1170*4882a593Smuzhiyun <&venus_smmu 0x11>, 1171*4882a593Smuzhiyun <&venus_smmu 0x21>, 1172*4882a593Smuzhiyun <&venus_smmu 0x28>, 1173*4882a593Smuzhiyun <&venus_smmu 0x29>, 1174*4882a593Smuzhiyun <&venus_smmu 0x2b>, 1175*4882a593Smuzhiyun <&venus_smmu 0x2c>, 1176*4882a593Smuzhiyun <&venus_smmu 0x2d>, 1177*4882a593Smuzhiyun <&venus_smmu 0x31>; 1178*4882a593Smuzhiyun memory-region = <&venus_region>; 1179*4882a593Smuzhiyun status = "okay"; 1180*4882a593Smuzhiyun 1181*4882a593Smuzhiyun video-decoder { 1182*4882a593Smuzhiyun compatible = "venus-decoder"; 1183*4882a593Smuzhiyun clocks = <&mmcc VIDEO_SUBCORE0_CLK>; 1184*4882a593Smuzhiyun clock-names = "core"; 1185*4882a593Smuzhiyun power-domains = <&mmcc VENUS_CORE0_GDSC>; 1186*4882a593Smuzhiyun }; 1187*4882a593Smuzhiyun 1188*4882a593Smuzhiyun video-encoder { 1189*4882a593Smuzhiyun compatible = "venus-encoder"; 1190*4882a593Smuzhiyun clocks = <&mmcc VIDEO_SUBCORE1_CLK>; 1191*4882a593Smuzhiyun clock-names = "core"; 1192*4882a593Smuzhiyun power-domains = <&mmcc VENUS_CORE1_GDSC>; 1193*4882a593Smuzhiyun }; 1194*4882a593Smuzhiyun }; 1195*4882a593Smuzhiyun 1196*4882a593Smuzhiyun mdp_smmu: iommu@d00000 { 1197*4882a593Smuzhiyun compatible = "qcom,msm8996-smmu-v2", "qcom,smmu-v2"; 1198*4882a593Smuzhiyun reg = <0x00d00000 0x10000>; 1199*4882a593Smuzhiyun 1200*4882a593Smuzhiyun #global-interrupts = <1>; 1201*4882a593Smuzhiyun interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>, 1202*4882a593Smuzhiyun <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>, 1203*4882a593Smuzhiyun <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>; 1204*4882a593Smuzhiyun #iommu-cells = <1>; 1205*4882a593Smuzhiyun clocks = <&mmcc SMMU_MDP_AHB_CLK>, 1206*4882a593Smuzhiyun <&mmcc SMMU_MDP_AXI_CLK>; 1207*4882a593Smuzhiyun clock-names = "iface", "bus"; 1208*4882a593Smuzhiyun 1209*4882a593Smuzhiyun power-domains = <&mmcc MDSS_GDSC>; 1210*4882a593Smuzhiyun }; 1211*4882a593Smuzhiyun 1212*4882a593Smuzhiyun venus_smmu: iommu@d40000 { 1213*4882a593Smuzhiyun compatible = "qcom,msm8996-smmu-v2", "qcom,smmu-v2"; 1214*4882a593Smuzhiyun reg = <0x00d40000 0x20000>; 1215*4882a593Smuzhiyun #global-interrupts = <1>; 1216*4882a593Smuzhiyun interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>, 1217*4882a593Smuzhiyun <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>, 1218*4882a593Smuzhiyun <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>, 1219*4882a593Smuzhiyun <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>, 1220*4882a593Smuzhiyun <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>, 1221*4882a593Smuzhiyun <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>, 1222*4882a593Smuzhiyun <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>, 1223*4882a593Smuzhiyun <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>; 1224*4882a593Smuzhiyun power-domains = <&mmcc MMAGIC_VIDEO_GDSC>; 1225*4882a593Smuzhiyun clocks = <&mmcc SMMU_VIDEO_AHB_CLK>, 1226*4882a593Smuzhiyun <&mmcc SMMU_VIDEO_AXI_CLK>; 1227*4882a593Smuzhiyun clock-names = "iface", "bus"; 1228*4882a593Smuzhiyun #iommu-cells = <1>; 1229*4882a593Smuzhiyun status = "okay"; 1230*4882a593Smuzhiyun }; 1231*4882a593Smuzhiyun 1232*4882a593Smuzhiyun vfe_smmu: iommu@da0000 { 1233*4882a593Smuzhiyun compatible = "qcom,msm8996-smmu-v2", "qcom,smmu-v2"; 1234*4882a593Smuzhiyun reg = <0x00da0000 0x10000>; 1235*4882a593Smuzhiyun 1236*4882a593Smuzhiyun #global-interrupts = <1>; 1237*4882a593Smuzhiyun interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>, 1238*4882a593Smuzhiyun <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>, 1239*4882a593Smuzhiyun <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>; 1240*4882a593Smuzhiyun power-domains = <&mmcc MMAGIC_CAMSS_GDSC>; 1241*4882a593Smuzhiyun clocks = <&mmcc SMMU_VFE_AHB_CLK>, 1242*4882a593Smuzhiyun <&mmcc SMMU_VFE_AXI_CLK>; 1243*4882a593Smuzhiyun clock-names = "iface", 1244*4882a593Smuzhiyun "bus"; 1245*4882a593Smuzhiyun #iommu-cells = <1>; 1246*4882a593Smuzhiyun }; 1247*4882a593Smuzhiyun 1248*4882a593Smuzhiyun lpass_q6_smmu: iommu@1600000 { 1249*4882a593Smuzhiyun compatible = "qcom,msm8996-smmu-v2", "qcom,smmu-v2"; 1250*4882a593Smuzhiyun reg = <0x01600000 0x20000>; 1251*4882a593Smuzhiyun #iommu-cells = <1>; 1252*4882a593Smuzhiyun power-domains = <&gcc HLOS1_VOTE_LPASS_CORE_GDSC>; 1253*4882a593Smuzhiyun 1254*4882a593Smuzhiyun #global-interrupts = <1>; 1255*4882a593Smuzhiyun interrupts = <GIC_SPI 404 IRQ_TYPE_LEVEL_HIGH>, 1256*4882a593Smuzhiyun <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>, 1257*4882a593Smuzhiyun <GIC_SPI 393 IRQ_TYPE_LEVEL_HIGH>, 1258*4882a593Smuzhiyun <GIC_SPI 394 IRQ_TYPE_LEVEL_HIGH>, 1259*4882a593Smuzhiyun <GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH>, 1260*4882a593Smuzhiyun <GIC_SPI 396 IRQ_TYPE_LEVEL_HIGH>, 1261*4882a593Smuzhiyun <GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH>, 1262*4882a593Smuzhiyun <GIC_SPI 398 IRQ_TYPE_LEVEL_HIGH>, 1263*4882a593Smuzhiyun <GIC_SPI 399 IRQ_TYPE_LEVEL_HIGH>, 1264*4882a593Smuzhiyun <GIC_SPI 400 IRQ_TYPE_LEVEL_HIGH>, 1265*4882a593Smuzhiyun <GIC_SPI 401 IRQ_TYPE_LEVEL_HIGH>, 1266*4882a593Smuzhiyun <GIC_SPI 402 IRQ_TYPE_LEVEL_HIGH>, 1267*4882a593Smuzhiyun <GIC_SPI 403 IRQ_TYPE_LEVEL_HIGH>; 1268*4882a593Smuzhiyun 1269*4882a593Smuzhiyun clocks = <&gcc GCC_HLOS1_VOTE_LPASS_CORE_SMMU_CLK>, 1270*4882a593Smuzhiyun <&gcc GCC_HLOS1_VOTE_LPASS_ADSP_SMMU_CLK>; 1271*4882a593Smuzhiyun clock-names = "iface", "bus"; 1272*4882a593Smuzhiyun }; 1273*4882a593Smuzhiyun 1274*4882a593Smuzhiyun stm@3002000 { 1275*4882a593Smuzhiyun compatible = "arm,coresight-stm", "arm,primecell"; 1276*4882a593Smuzhiyun reg = <0x3002000 0x1000>, 1277*4882a593Smuzhiyun <0x8280000 0x180000>; 1278*4882a593Smuzhiyun reg-names = "stm-base", "stm-stimulus-base"; 1279*4882a593Smuzhiyun 1280*4882a593Smuzhiyun clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 1281*4882a593Smuzhiyun clock-names = "apb_pclk", "atclk"; 1282*4882a593Smuzhiyun 1283*4882a593Smuzhiyun out-ports { 1284*4882a593Smuzhiyun port { 1285*4882a593Smuzhiyun stm_out: endpoint { 1286*4882a593Smuzhiyun remote-endpoint = 1287*4882a593Smuzhiyun <&funnel0_in>; 1288*4882a593Smuzhiyun }; 1289*4882a593Smuzhiyun }; 1290*4882a593Smuzhiyun }; 1291*4882a593Smuzhiyun }; 1292*4882a593Smuzhiyun 1293*4882a593Smuzhiyun tpiu@3020000 { 1294*4882a593Smuzhiyun compatible = "arm,coresight-tpiu", "arm,primecell"; 1295*4882a593Smuzhiyun reg = <0x3020000 0x1000>; 1296*4882a593Smuzhiyun 1297*4882a593Smuzhiyun clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 1298*4882a593Smuzhiyun clock-names = "apb_pclk", "atclk"; 1299*4882a593Smuzhiyun 1300*4882a593Smuzhiyun in-ports { 1301*4882a593Smuzhiyun port { 1302*4882a593Smuzhiyun tpiu_in: endpoint { 1303*4882a593Smuzhiyun remote-endpoint = 1304*4882a593Smuzhiyun <&replicator_out1>; 1305*4882a593Smuzhiyun }; 1306*4882a593Smuzhiyun }; 1307*4882a593Smuzhiyun }; 1308*4882a593Smuzhiyun }; 1309*4882a593Smuzhiyun 1310*4882a593Smuzhiyun funnel@3021000 { 1311*4882a593Smuzhiyun compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 1312*4882a593Smuzhiyun reg = <0x3021000 0x1000>; 1313*4882a593Smuzhiyun 1314*4882a593Smuzhiyun clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 1315*4882a593Smuzhiyun clock-names = "apb_pclk", "atclk"; 1316*4882a593Smuzhiyun 1317*4882a593Smuzhiyun in-ports { 1318*4882a593Smuzhiyun #address-cells = <1>; 1319*4882a593Smuzhiyun #size-cells = <0>; 1320*4882a593Smuzhiyun 1321*4882a593Smuzhiyun port@7 { 1322*4882a593Smuzhiyun reg = <7>; 1323*4882a593Smuzhiyun funnel0_in: endpoint { 1324*4882a593Smuzhiyun remote-endpoint = 1325*4882a593Smuzhiyun <&stm_out>; 1326*4882a593Smuzhiyun }; 1327*4882a593Smuzhiyun }; 1328*4882a593Smuzhiyun }; 1329*4882a593Smuzhiyun 1330*4882a593Smuzhiyun out-ports { 1331*4882a593Smuzhiyun port { 1332*4882a593Smuzhiyun funnel0_out: endpoint { 1333*4882a593Smuzhiyun remote-endpoint = 1334*4882a593Smuzhiyun <&merge_funnel_in0>; 1335*4882a593Smuzhiyun }; 1336*4882a593Smuzhiyun }; 1337*4882a593Smuzhiyun }; 1338*4882a593Smuzhiyun }; 1339*4882a593Smuzhiyun 1340*4882a593Smuzhiyun funnel@3022000 { 1341*4882a593Smuzhiyun compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 1342*4882a593Smuzhiyun reg = <0x3022000 0x1000>; 1343*4882a593Smuzhiyun 1344*4882a593Smuzhiyun clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 1345*4882a593Smuzhiyun clock-names = "apb_pclk", "atclk"; 1346*4882a593Smuzhiyun 1347*4882a593Smuzhiyun in-ports { 1348*4882a593Smuzhiyun #address-cells = <1>; 1349*4882a593Smuzhiyun #size-cells = <0>; 1350*4882a593Smuzhiyun 1351*4882a593Smuzhiyun port@6 { 1352*4882a593Smuzhiyun reg = <6>; 1353*4882a593Smuzhiyun funnel1_in: endpoint { 1354*4882a593Smuzhiyun remote-endpoint = 1355*4882a593Smuzhiyun <&apss_merge_funnel_out>; 1356*4882a593Smuzhiyun }; 1357*4882a593Smuzhiyun }; 1358*4882a593Smuzhiyun }; 1359*4882a593Smuzhiyun 1360*4882a593Smuzhiyun out-ports { 1361*4882a593Smuzhiyun port { 1362*4882a593Smuzhiyun funnel1_out: endpoint { 1363*4882a593Smuzhiyun remote-endpoint = 1364*4882a593Smuzhiyun <&merge_funnel_in1>; 1365*4882a593Smuzhiyun }; 1366*4882a593Smuzhiyun }; 1367*4882a593Smuzhiyun }; 1368*4882a593Smuzhiyun }; 1369*4882a593Smuzhiyun 1370*4882a593Smuzhiyun funnel@3023000 { 1371*4882a593Smuzhiyun compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 1372*4882a593Smuzhiyun reg = <0x3023000 0x1000>; 1373*4882a593Smuzhiyun 1374*4882a593Smuzhiyun clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 1375*4882a593Smuzhiyun clock-names = "apb_pclk", "atclk"; 1376*4882a593Smuzhiyun 1377*4882a593Smuzhiyun 1378*4882a593Smuzhiyun out-ports { 1379*4882a593Smuzhiyun port { 1380*4882a593Smuzhiyun funnel2_out: endpoint { 1381*4882a593Smuzhiyun remote-endpoint = 1382*4882a593Smuzhiyun <&merge_funnel_in2>; 1383*4882a593Smuzhiyun }; 1384*4882a593Smuzhiyun }; 1385*4882a593Smuzhiyun }; 1386*4882a593Smuzhiyun }; 1387*4882a593Smuzhiyun 1388*4882a593Smuzhiyun funnel@3025000 { 1389*4882a593Smuzhiyun compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 1390*4882a593Smuzhiyun reg = <0x3025000 0x1000>; 1391*4882a593Smuzhiyun 1392*4882a593Smuzhiyun clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 1393*4882a593Smuzhiyun clock-names = "apb_pclk", "atclk"; 1394*4882a593Smuzhiyun 1395*4882a593Smuzhiyun in-ports { 1396*4882a593Smuzhiyun #address-cells = <1>; 1397*4882a593Smuzhiyun #size-cells = <0>; 1398*4882a593Smuzhiyun 1399*4882a593Smuzhiyun port@0 { 1400*4882a593Smuzhiyun reg = <0>; 1401*4882a593Smuzhiyun merge_funnel_in0: endpoint { 1402*4882a593Smuzhiyun remote-endpoint = 1403*4882a593Smuzhiyun <&funnel0_out>; 1404*4882a593Smuzhiyun }; 1405*4882a593Smuzhiyun }; 1406*4882a593Smuzhiyun 1407*4882a593Smuzhiyun port@1 { 1408*4882a593Smuzhiyun reg = <1>; 1409*4882a593Smuzhiyun merge_funnel_in1: endpoint { 1410*4882a593Smuzhiyun remote-endpoint = 1411*4882a593Smuzhiyun <&funnel1_out>; 1412*4882a593Smuzhiyun }; 1413*4882a593Smuzhiyun }; 1414*4882a593Smuzhiyun 1415*4882a593Smuzhiyun port@2 { 1416*4882a593Smuzhiyun reg = <2>; 1417*4882a593Smuzhiyun merge_funnel_in2: endpoint { 1418*4882a593Smuzhiyun remote-endpoint = 1419*4882a593Smuzhiyun <&funnel2_out>; 1420*4882a593Smuzhiyun }; 1421*4882a593Smuzhiyun }; 1422*4882a593Smuzhiyun }; 1423*4882a593Smuzhiyun 1424*4882a593Smuzhiyun out-ports { 1425*4882a593Smuzhiyun port { 1426*4882a593Smuzhiyun merge_funnel_out: endpoint { 1427*4882a593Smuzhiyun remote-endpoint = 1428*4882a593Smuzhiyun <&etf_in>; 1429*4882a593Smuzhiyun }; 1430*4882a593Smuzhiyun }; 1431*4882a593Smuzhiyun }; 1432*4882a593Smuzhiyun }; 1433*4882a593Smuzhiyun 1434*4882a593Smuzhiyun replicator@3026000 { 1435*4882a593Smuzhiyun compatible = "arm,coresight-dynamic-replicator", "arm,primecell"; 1436*4882a593Smuzhiyun reg = <0x3026000 0x1000>; 1437*4882a593Smuzhiyun 1438*4882a593Smuzhiyun clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 1439*4882a593Smuzhiyun clock-names = "apb_pclk", "atclk"; 1440*4882a593Smuzhiyun 1441*4882a593Smuzhiyun in-ports { 1442*4882a593Smuzhiyun port { 1443*4882a593Smuzhiyun replicator_in: endpoint { 1444*4882a593Smuzhiyun remote-endpoint = 1445*4882a593Smuzhiyun <&etf_out>; 1446*4882a593Smuzhiyun }; 1447*4882a593Smuzhiyun }; 1448*4882a593Smuzhiyun }; 1449*4882a593Smuzhiyun 1450*4882a593Smuzhiyun out-ports { 1451*4882a593Smuzhiyun #address-cells = <1>; 1452*4882a593Smuzhiyun #size-cells = <0>; 1453*4882a593Smuzhiyun 1454*4882a593Smuzhiyun port@0 { 1455*4882a593Smuzhiyun reg = <0>; 1456*4882a593Smuzhiyun replicator_out0: endpoint { 1457*4882a593Smuzhiyun remote-endpoint = 1458*4882a593Smuzhiyun <&etr_in>; 1459*4882a593Smuzhiyun }; 1460*4882a593Smuzhiyun }; 1461*4882a593Smuzhiyun 1462*4882a593Smuzhiyun port@1 { 1463*4882a593Smuzhiyun reg = <1>; 1464*4882a593Smuzhiyun replicator_out1: endpoint { 1465*4882a593Smuzhiyun remote-endpoint = 1466*4882a593Smuzhiyun <&tpiu_in>; 1467*4882a593Smuzhiyun }; 1468*4882a593Smuzhiyun }; 1469*4882a593Smuzhiyun }; 1470*4882a593Smuzhiyun }; 1471*4882a593Smuzhiyun 1472*4882a593Smuzhiyun etf@3027000 { 1473*4882a593Smuzhiyun compatible = "arm,coresight-tmc", "arm,primecell"; 1474*4882a593Smuzhiyun reg = <0x3027000 0x1000>; 1475*4882a593Smuzhiyun 1476*4882a593Smuzhiyun clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 1477*4882a593Smuzhiyun clock-names = "apb_pclk", "atclk"; 1478*4882a593Smuzhiyun 1479*4882a593Smuzhiyun in-ports { 1480*4882a593Smuzhiyun port { 1481*4882a593Smuzhiyun etf_in: endpoint { 1482*4882a593Smuzhiyun remote-endpoint = 1483*4882a593Smuzhiyun <&merge_funnel_out>; 1484*4882a593Smuzhiyun }; 1485*4882a593Smuzhiyun }; 1486*4882a593Smuzhiyun }; 1487*4882a593Smuzhiyun 1488*4882a593Smuzhiyun out-ports { 1489*4882a593Smuzhiyun port { 1490*4882a593Smuzhiyun etf_out: endpoint { 1491*4882a593Smuzhiyun remote-endpoint = 1492*4882a593Smuzhiyun <&replicator_in>; 1493*4882a593Smuzhiyun }; 1494*4882a593Smuzhiyun }; 1495*4882a593Smuzhiyun }; 1496*4882a593Smuzhiyun }; 1497*4882a593Smuzhiyun 1498*4882a593Smuzhiyun etr@3028000 { 1499*4882a593Smuzhiyun compatible = "arm,coresight-tmc", "arm,primecell"; 1500*4882a593Smuzhiyun reg = <0x3028000 0x1000>; 1501*4882a593Smuzhiyun 1502*4882a593Smuzhiyun clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 1503*4882a593Smuzhiyun clock-names = "apb_pclk", "atclk"; 1504*4882a593Smuzhiyun arm,scatter-gather; 1505*4882a593Smuzhiyun 1506*4882a593Smuzhiyun in-ports { 1507*4882a593Smuzhiyun port { 1508*4882a593Smuzhiyun etr_in: endpoint { 1509*4882a593Smuzhiyun remote-endpoint = 1510*4882a593Smuzhiyun <&replicator_out0>; 1511*4882a593Smuzhiyun }; 1512*4882a593Smuzhiyun }; 1513*4882a593Smuzhiyun }; 1514*4882a593Smuzhiyun }; 1515*4882a593Smuzhiyun 1516*4882a593Smuzhiyun debug@3810000 { 1517*4882a593Smuzhiyun compatible = "arm,coresight-cpu-debug", "arm,primecell"; 1518*4882a593Smuzhiyun reg = <0x3810000 0x1000>; 1519*4882a593Smuzhiyun 1520*4882a593Smuzhiyun clocks = <&rpmcc RPM_QDSS_CLK>; 1521*4882a593Smuzhiyun clock-names = "apb_pclk"; 1522*4882a593Smuzhiyun 1523*4882a593Smuzhiyun cpu = <&CPU0>; 1524*4882a593Smuzhiyun }; 1525*4882a593Smuzhiyun 1526*4882a593Smuzhiyun etm@3840000 { 1527*4882a593Smuzhiyun compatible = "arm,coresight-etm4x", "arm,primecell"; 1528*4882a593Smuzhiyun reg = <0x3840000 0x1000>; 1529*4882a593Smuzhiyun 1530*4882a593Smuzhiyun clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 1531*4882a593Smuzhiyun clock-names = "apb_pclk", "atclk"; 1532*4882a593Smuzhiyun 1533*4882a593Smuzhiyun cpu = <&CPU0>; 1534*4882a593Smuzhiyun 1535*4882a593Smuzhiyun out-ports { 1536*4882a593Smuzhiyun port { 1537*4882a593Smuzhiyun etm0_out: endpoint { 1538*4882a593Smuzhiyun remote-endpoint = 1539*4882a593Smuzhiyun <&apss_funnel0_in0>; 1540*4882a593Smuzhiyun }; 1541*4882a593Smuzhiyun }; 1542*4882a593Smuzhiyun }; 1543*4882a593Smuzhiyun }; 1544*4882a593Smuzhiyun 1545*4882a593Smuzhiyun debug@3910000 { 1546*4882a593Smuzhiyun compatible = "arm,coresight-cpu-debug", "arm,primecell"; 1547*4882a593Smuzhiyun reg = <0x3910000 0x1000>; 1548*4882a593Smuzhiyun 1549*4882a593Smuzhiyun clocks = <&rpmcc RPM_QDSS_CLK>; 1550*4882a593Smuzhiyun clock-names = "apb_pclk"; 1551*4882a593Smuzhiyun 1552*4882a593Smuzhiyun cpu = <&CPU1>; 1553*4882a593Smuzhiyun }; 1554*4882a593Smuzhiyun 1555*4882a593Smuzhiyun etm@3940000 { 1556*4882a593Smuzhiyun compatible = "arm,coresight-etm4x", "arm,primecell"; 1557*4882a593Smuzhiyun reg = <0x3940000 0x1000>; 1558*4882a593Smuzhiyun 1559*4882a593Smuzhiyun clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 1560*4882a593Smuzhiyun clock-names = "apb_pclk", "atclk"; 1561*4882a593Smuzhiyun 1562*4882a593Smuzhiyun cpu = <&CPU1>; 1563*4882a593Smuzhiyun 1564*4882a593Smuzhiyun out-ports { 1565*4882a593Smuzhiyun port { 1566*4882a593Smuzhiyun etm1_out: endpoint { 1567*4882a593Smuzhiyun remote-endpoint = 1568*4882a593Smuzhiyun <&apss_funnel0_in1>; 1569*4882a593Smuzhiyun }; 1570*4882a593Smuzhiyun }; 1571*4882a593Smuzhiyun }; 1572*4882a593Smuzhiyun }; 1573*4882a593Smuzhiyun 1574*4882a593Smuzhiyun funnel@39b0000 { /* APSS Funnel 0 */ 1575*4882a593Smuzhiyun compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 1576*4882a593Smuzhiyun reg = <0x39b0000 0x1000>; 1577*4882a593Smuzhiyun 1578*4882a593Smuzhiyun clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 1579*4882a593Smuzhiyun clock-names = "apb_pclk", "atclk"; 1580*4882a593Smuzhiyun 1581*4882a593Smuzhiyun in-ports { 1582*4882a593Smuzhiyun #address-cells = <1>; 1583*4882a593Smuzhiyun #size-cells = <0>; 1584*4882a593Smuzhiyun 1585*4882a593Smuzhiyun port@0 { 1586*4882a593Smuzhiyun reg = <0>; 1587*4882a593Smuzhiyun apss_funnel0_in0: endpoint { 1588*4882a593Smuzhiyun remote-endpoint = <&etm0_out>; 1589*4882a593Smuzhiyun }; 1590*4882a593Smuzhiyun }; 1591*4882a593Smuzhiyun 1592*4882a593Smuzhiyun port@1 { 1593*4882a593Smuzhiyun reg = <1>; 1594*4882a593Smuzhiyun apss_funnel0_in1: endpoint { 1595*4882a593Smuzhiyun remote-endpoint = <&etm1_out>; 1596*4882a593Smuzhiyun }; 1597*4882a593Smuzhiyun }; 1598*4882a593Smuzhiyun }; 1599*4882a593Smuzhiyun 1600*4882a593Smuzhiyun out-ports { 1601*4882a593Smuzhiyun port { 1602*4882a593Smuzhiyun apss_funnel0_out: endpoint { 1603*4882a593Smuzhiyun remote-endpoint = 1604*4882a593Smuzhiyun <&apss_merge_funnel_in0>; 1605*4882a593Smuzhiyun }; 1606*4882a593Smuzhiyun }; 1607*4882a593Smuzhiyun }; 1608*4882a593Smuzhiyun }; 1609*4882a593Smuzhiyun 1610*4882a593Smuzhiyun debug@3a10000 { 1611*4882a593Smuzhiyun compatible = "arm,coresight-cpu-debug", "arm,primecell"; 1612*4882a593Smuzhiyun reg = <0x3a10000 0x1000>; 1613*4882a593Smuzhiyun 1614*4882a593Smuzhiyun clocks = <&rpmcc RPM_QDSS_CLK>; 1615*4882a593Smuzhiyun clock-names = "apb_pclk"; 1616*4882a593Smuzhiyun 1617*4882a593Smuzhiyun cpu = <&CPU2>; 1618*4882a593Smuzhiyun }; 1619*4882a593Smuzhiyun 1620*4882a593Smuzhiyun etm@3a40000 { 1621*4882a593Smuzhiyun compatible = "arm,coresight-etm4x", "arm,primecell"; 1622*4882a593Smuzhiyun reg = <0x3a40000 0x1000>; 1623*4882a593Smuzhiyun 1624*4882a593Smuzhiyun clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 1625*4882a593Smuzhiyun clock-names = "apb_pclk", "atclk"; 1626*4882a593Smuzhiyun 1627*4882a593Smuzhiyun cpu = <&CPU2>; 1628*4882a593Smuzhiyun 1629*4882a593Smuzhiyun out-ports { 1630*4882a593Smuzhiyun port { 1631*4882a593Smuzhiyun etm2_out: endpoint { 1632*4882a593Smuzhiyun remote-endpoint = 1633*4882a593Smuzhiyun <&apss_funnel1_in0>; 1634*4882a593Smuzhiyun }; 1635*4882a593Smuzhiyun }; 1636*4882a593Smuzhiyun }; 1637*4882a593Smuzhiyun }; 1638*4882a593Smuzhiyun 1639*4882a593Smuzhiyun debug@3b10000 { 1640*4882a593Smuzhiyun compatible = "arm,coresight-cpu-debug", "arm,primecell"; 1641*4882a593Smuzhiyun reg = <0x3b10000 0x1000>; 1642*4882a593Smuzhiyun 1643*4882a593Smuzhiyun clocks = <&rpmcc RPM_QDSS_CLK>; 1644*4882a593Smuzhiyun clock-names = "apb_pclk"; 1645*4882a593Smuzhiyun 1646*4882a593Smuzhiyun cpu = <&CPU3>; 1647*4882a593Smuzhiyun }; 1648*4882a593Smuzhiyun 1649*4882a593Smuzhiyun etm@3b40000 { 1650*4882a593Smuzhiyun compatible = "arm,coresight-etm4x", "arm,primecell"; 1651*4882a593Smuzhiyun reg = <0x3b40000 0x1000>; 1652*4882a593Smuzhiyun 1653*4882a593Smuzhiyun clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 1654*4882a593Smuzhiyun clock-names = "apb_pclk", "atclk"; 1655*4882a593Smuzhiyun 1656*4882a593Smuzhiyun cpu = <&CPU3>; 1657*4882a593Smuzhiyun 1658*4882a593Smuzhiyun out-ports { 1659*4882a593Smuzhiyun port { 1660*4882a593Smuzhiyun etm3_out: endpoint { 1661*4882a593Smuzhiyun remote-endpoint = 1662*4882a593Smuzhiyun <&apss_funnel1_in1>; 1663*4882a593Smuzhiyun }; 1664*4882a593Smuzhiyun }; 1665*4882a593Smuzhiyun }; 1666*4882a593Smuzhiyun }; 1667*4882a593Smuzhiyun 1668*4882a593Smuzhiyun funnel@3bb0000 { /* APSS Funnel 1 */ 1669*4882a593Smuzhiyun compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 1670*4882a593Smuzhiyun reg = <0x3bb0000 0x1000>; 1671*4882a593Smuzhiyun 1672*4882a593Smuzhiyun clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 1673*4882a593Smuzhiyun clock-names = "apb_pclk", "atclk"; 1674*4882a593Smuzhiyun 1675*4882a593Smuzhiyun in-ports { 1676*4882a593Smuzhiyun #address-cells = <1>; 1677*4882a593Smuzhiyun #size-cells = <0>; 1678*4882a593Smuzhiyun 1679*4882a593Smuzhiyun port@0 { 1680*4882a593Smuzhiyun reg = <0>; 1681*4882a593Smuzhiyun apss_funnel1_in0: endpoint { 1682*4882a593Smuzhiyun remote-endpoint = <&etm2_out>; 1683*4882a593Smuzhiyun }; 1684*4882a593Smuzhiyun }; 1685*4882a593Smuzhiyun 1686*4882a593Smuzhiyun port@1 { 1687*4882a593Smuzhiyun reg = <1>; 1688*4882a593Smuzhiyun apss_funnel1_in1: endpoint { 1689*4882a593Smuzhiyun remote-endpoint = <&etm3_out>; 1690*4882a593Smuzhiyun }; 1691*4882a593Smuzhiyun }; 1692*4882a593Smuzhiyun }; 1693*4882a593Smuzhiyun 1694*4882a593Smuzhiyun out-ports { 1695*4882a593Smuzhiyun port { 1696*4882a593Smuzhiyun apss_funnel1_out: endpoint { 1697*4882a593Smuzhiyun remote-endpoint = 1698*4882a593Smuzhiyun <&apss_merge_funnel_in1>; 1699*4882a593Smuzhiyun }; 1700*4882a593Smuzhiyun }; 1701*4882a593Smuzhiyun }; 1702*4882a593Smuzhiyun }; 1703*4882a593Smuzhiyun 1704*4882a593Smuzhiyun funnel@3bc0000 { 1705*4882a593Smuzhiyun compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 1706*4882a593Smuzhiyun reg = <0x3bc0000 0x1000>; 1707*4882a593Smuzhiyun 1708*4882a593Smuzhiyun clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 1709*4882a593Smuzhiyun clock-names = "apb_pclk", "atclk"; 1710*4882a593Smuzhiyun 1711*4882a593Smuzhiyun in-ports { 1712*4882a593Smuzhiyun #address-cells = <1>; 1713*4882a593Smuzhiyun #size-cells = <0>; 1714*4882a593Smuzhiyun 1715*4882a593Smuzhiyun port@0 { 1716*4882a593Smuzhiyun reg = <0>; 1717*4882a593Smuzhiyun apss_merge_funnel_in0: endpoint { 1718*4882a593Smuzhiyun remote-endpoint = 1719*4882a593Smuzhiyun <&apss_funnel0_out>; 1720*4882a593Smuzhiyun }; 1721*4882a593Smuzhiyun }; 1722*4882a593Smuzhiyun 1723*4882a593Smuzhiyun port@1 { 1724*4882a593Smuzhiyun reg = <1>; 1725*4882a593Smuzhiyun apss_merge_funnel_in1: endpoint { 1726*4882a593Smuzhiyun remote-endpoint = 1727*4882a593Smuzhiyun <&apss_funnel1_out>; 1728*4882a593Smuzhiyun }; 1729*4882a593Smuzhiyun }; 1730*4882a593Smuzhiyun }; 1731*4882a593Smuzhiyun 1732*4882a593Smuzhiyun out-ports { 1733*4882a593Smuzhiyun port { 1734*4882a593Smuzhiyun apss_merge_funnel_out: endpoint { 1735*4882a593Smuzhiyun remote-endpoint = 1736*4882a593Smuzhiyun <&funnel1_in>; 1737*4882a593Smuzhiyun }; 1738*4882a593Smuzhiyun }; 1739*4882a593Smuzhiyun }; 1740*4882a593Smuzhiyun }; 1741*4882a593Smuzhiyun kryocc: clock-controller@6400000 { 1742*4882a593Smuzhiyun compatible = "qcom,apcc-msm8996"; 1743*4882a593Smuzhiyun reg = <0x06400000 0x90000>; 1744*4882a593Smuzhiyun #clock-cells = <1>; 1745*4882a593Smuzhiyun }; 1746*4882a593Smuzhiyun 1747*4882a593Smuzhiyun usb3: usb@6af8800 { 1748*4882a593Smuzhiyun compatible = "qcom,msm8996-dwc3", "qcom,dwc3"; 1749*4882a593Smuzhiyun reg = <0x06af8800 0x400>; 1750*4882a593Smuzhiyun #address-cells = <1>; 1751*4882a593Smuzhiyun #size-cells = <1>; 1752*4882a593Smuzhiyun ranges; 1753*4882a593Smuzhiyun 1754*4882a593Smuzhiyun clocks = <&gcc GCC_SYS_NOC_USB3_AXI_CLK>, 1755*4882a593Smuzhiyun <&gcc GCC_USB30_MASTER_CLK>, 1756*4882a593Smuzhiyun <&gcc GCC_AGGRE2_USB3_AXI_CLK>, 1757*4882a593Smuzhiyun <&gcc GCC_USB30_MOCK_UTMI_CLK>, 1758*4882a593Smuzhiyun <&gcc GCC_USB30_SLEEP_CLK>, 1759*4882a593Smuzhiyun <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>; 1760*4882a593Smuzhiyun 1761*4882a593Smuzhiyun assigned-clocks = <&gcc GCC_USB30_MOCK_UTMI_CLK>, 1762*4882a593Smuzhiyun <&gcc GCC_USB30_MASTER_CLK>; 1763*4882a593Smuzhiyun assigned-clock-rates = <19200000>, <120000000>; 1764*4882a593Smuzhiyun 1765*4882a593Smuzhiyun power-domains = <&gcc USB30_GDSC>; 1766*4882a593Smuzhiyun status = "disabled"; 1767*4882a593Smuzhiyun 1768*4882a593Smuzhiyun dwc3@6a00000 { 1769*4882a593Smuzhiyun compatible = "snps,dwc3"; 1770*4882a593Smuzhiyun reg = <0x06a00000 0xcc00>; 1771*4882a593Smuzhiyun interrupts = <0 131 IRQ_TYPE_LEVEL_HIGH>; 1772*4882a593Smuzhiyun phys = <&hsusb_phy1>, <&ssusb_phy_0>; 1773*4882a593Smuzhiyun phy-names = "usb2-phy", "usb3-phy"; 1774*4882a593Smuzhiyun snps,dis_u2_susphy_quirk; 1775*4882a593Smuzhiyun snps,dis_enblslpm_quirk; 1776*4882a593Smuzhiyun }; 1777*4882a593Smuzhiyun }; 1778*4882a593Smuzhiyun 1779*4882a593Smuzhiyun usb3phy: phy@7410000 { 1780*4882a593Smuzhiyun compatible = "qcom,msm8996-qmp-usb3-phy"; 1781*4882a593Smuzhiyun reg = <0x07410000 0x1c4>; 1782*4882a593Smuzhiyun #clock-cells = <1>; 1783*4882a593Smuzhiyun #address-cells = <1>; 1784*4882a593Smuzhiyun #size-cells = <1>; 1785*4882a593Smuzhiyun ranges; 1786*4882a593Smuzhiyun 1787*4882a593Smuzhiyun clocks = <&gcc GCC_USB3_PHY_AUX_CLK>, 1788*4882a593Smuzhiyun <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>, 1789*4882a593Smuzhiyun <&gcc GCC_USB3_CLKREF_CLK>; 1790*4882a593Smuzhiyun clock-names = "aux", "cfg_ahb", "ref"; 1791*4882a593Smuzhiyun 1792*4882a593Smuzhiyun resets = <&gcc GCC_USB3_PHY_BCR>, 1793*4882a593Smuzhiyun <&gcc GCC_USB3PHY_PHY_BCR>; 1794*4882a593Smuzhiyun reset-names = "phy", "common"; 1795*4882a593Smuzhiyun status = "disabled"; 1796*4882a593Smuzhiyun 1797*4882a593Smuzhiyun ssusb_phy_0: lane@7410200 { 1798*4882a593Smuzhiyun reg = <0x07410200 0x200>, 1799*4882a593Smuzhiyun <0x07410400 0x130>, 1800*4882a593Smuzhiyun <0x07410600 0x1a8>; 1801*4882a593Smuzhiyun #phy-cells = <0>; 1802*4882a593Smuzhiyun 1803*4882a593Smuzhiyun clock-output-names = "usb3_phy_pipe_clk_src"; 1804*4882a593Smuzhiyun clocks = <&gcc GCC_USB3_PHY_PIPE_CLK>; 1805*4882a593Smuzhiyun clock-names = "pipe0"; 1806*4882a593Smuzhiyun }; 1807*4882a593Smuzhiyun }; 1808*4882a593Smuzhiyun 1809*4882a593Smuzhiyun hsusb_phy1: phy@7411000 { 1810*4882a593Smuzhiyun compatible = "qcom,msm8996-qusb2-phy"; 1811*4882a593Smuzhiyun reg = <0x07411000 0x180>; 1812*4882a593Smuzhiyun #phy-cells = <0>; 1813*4882a593Smuzhiyun 1814*4882a593Smuzhiyun clocks = <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>, 1815*4882a593Smuzhiyun <&gcc GCC_RX1_USB2_CLKREF_CLK>; 1816*4882a593Smuzhiyun clock-names = "cfg_ahb", "ref"; 1817*4882a593Smuzhiyun 1818*4882a593Smuzhiyun resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>; 1819*4882a593Smuzhiyun nvmem-cells = <&qusb2p_hstx_trim>; 1820*4882a593Smuzhiyun status = "disabled"; 1821*4882a593Smuzhiyun }; 1822*4882a593Smuzhiyun 1823*4882a593Smuzhiyun hsusb_phy2: phy@7412000 { 1824*4882a593Smuzhiyun compatible = "qcom,msm8996-qusb2-phy"; 1825*4882a593Smuzhiyun reg = <0x07412000 0x180>; 1826*4882a593Smuzhiyun #phy-cells = <0>; 1827*4882a593Smuzhiyun 1828*4882a593Smuzhiyun clocks = <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>, 1829*4882a593Smuzhiyun <&gcc GCC_RX2_USB2_CLKREF_CLK>; 1830*4882a593Smuzhiyun clock-names = "cfg_ahb", "ref"; 1831*4882a593Smuzhiyun 1832*4882a593Smuzhiyun resets = <&gcc GCC_QUSB2PHY_SEC_BCR>; 1833*4882a593Smuzhiyun nvmem-cells = <&qusb2s_hstx_trim>; 1834*4882a593Smuzhiyun status = "disabled"; 1835*4882a593Smuzhiyun }; 1836*4882a593Smuzhiyun 1837*4882a593Smuzhiyun sdhc2: sdhci@74a4900 { 1838*4882a593Smuzhiyun status = "disabled"; 1839*4882a593Smuzhiyun compatible = "qcom,sdhci-msm-v4"; 1840*4882a593Smuzhiyun reg = <0x074a4900 0x314>, <0x074a4000 0x800>; 1841*4882a593Smuzhiyun reg-names = "hc_mem", "core_mem"; 1842*4882a593Smuzhiyun 1843*4882a593Smuzhiyun interrupts = <0 125 IRQ_TYPE_LEVEL_HIGH>, 1844*4882a593Smuzhiyun <0 221 IRQ_TYPE_LEVEL_HIGH>; 1845*4882a593Smuzhiyun interrupt-names = "hc_irq", "pwr_irq"; 1846*4882a593Smuzhiyun 1847*4882a593Smuzhiyun clock-names = "iface", "core", "xo"; 1848*4882a593Smuzhiyun clocks = <&gcc GCC_SDCC2_AHB_CLK>, 1849*4882a593Smuzhiyun <&gcc GCC_SDCC2_APPS_CLK>, 1850*4882a593Smuzhiyun <&xo_board>; 1851*4882a593Smuzhiyun bus-width = <4>; 1852*4882a593Smuzhiyun }; 1853*4882a593Smuzhiyun 1854*4882a593Smuzhiyun blsp1_uart1: serial@7570000 { 1855*4882a593Smuzhiyun compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 1856*4882a593Smuzhiyun reg = <0x07570000 0x1000>; 1857*4882a593Smuzhiyun interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 1858*4882a593Smuzhiyun clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>, 1859*4882a593Smuzhiyun <&gcc GCC_BLSP1_AHB_CLK>; 1860*4882a593Smuzhiyun clock-names = "core", "iface"; 1861*4882a593Smuzhiyun status = "disabled"; 1862*4882a593Smuzhiyun }; 1863*4882a593Smuzhiyun 1864*4882a593Smuzhiyun blsp1_spi0: spi@7575000 { 1865*4882a593Smuzhiyun compatible = "qcom,spi-qup-v2.2.1"; 1866*4882a593Smuzhiyun reg = <0x07575000 0x600>; 1867*4882a593Smuzhiyun interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 1868*4882a593Smuzhiyun clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>, 1869*4882a593Smuzhiyun <&gcc GCC_BLSP1_AHB_CLK>; 1870*4882a593Smuzhiyun clock-names = "core", "iface"; 1871*4882a593Smuzhiyun pinctrl-names = "default", "sleep"; 1872*4882a593Smuzhiyun pinctrl-0 = <&blsp1_spi0_default>; 1873*4882a593Smuzhiyun pinctrl-1 = <&blsp1_spi0_sleep>; 1874*4882a593Smuzhiyun #address-cells = <1>; 1875*4882a593Smuzhiyun #size-cells = <0>; 1876*4882a593Smuzhiyun status = "disabled"; 1877*4882a593Smuzhiyun }; 1878*4882a593Smuzhiyun 1879*4882a593Smuzhiyun blsp1_i2c2: i2c@7577000 { 1880*4882a593Smuzhiyun compatible = "qcom,i2c-qup-v2.2.1"; 1881*4882a593Smuzhiyun reg = <0x07577000 0x1000>; 1882*4882a593Smuzhiyun interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 1883*4882a593Smuzhiyun clocks = <&gcc GCC_BLSP1_AHB_CLK>, 1884*4882a593Smuzhiyun <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>; 1885*4882a593Smuzhiyun clock-names = "iface", "core"; 1886*4882a593Smuzhiyun pinctrl-names = "default", "sleep"; 1887*4882a593Smuzhiyun pinctrl-0 = <&blsp1_i2c2_default>; 1888*4882a593Smuzhiyun pinctrl-1 = <&blsp1_i2c2_sleep>; 1889*4882a593Smuzhiyun #address-cells = <1>; 1890*4882a593Smuzhiyun #size-cells = <0>; 1891*4882a593Smuzhiyun status = "disabled"; 1892*4882a593Smuzhiyun }; 1893*4882a593Smuzhiyun 1894*4882a593Smuzhiyun blsp2_uart1: serial@75b0000 { 1895*4882a593Smuzhiyun compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 1896*4882a593Smuzhiyun reg = <0x075b0000 0x1000>; 1897*4882a593Smuzhiyun interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; 1898*4882a593Smuzhiyun clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>, 1899*4882a593Smuzhiyun <&gcc GCC_BLSP2_AHB_CLK>; 1900*4882a593Smuzhiyun clock-names = "core", "iface"; 1901*4882a593Smuzhiyun status = "disabled"; 1902*4882a593Smuzhiyun }; 1903*4882a593Smuzhiyun 1904*4882a593Smuzhiyun blsp2_uart2: serial@75b1000 { 1905*4882a593Smuzhiyun compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 1906*4882a593Smuzhiyun reg = <0x075b1000 0x1000>; 1907*4882a593Smuzhiyun interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>; 1908*4882a593Smuzhiyun clocks = <&gcc GCC_BLSP2_UART3_APPS_CLK>, 1909*4882a593Smuzhiyun <&gcc GCC_BLSP2_AHB_CLK>; 1910*4882a593Smuzhiyun clock-names = "core", "iface"; 1911*4882a593Smuzhiyun status = "disabled"; 1912*4882a593Smuzhiyun }; 1913*4882a593Smuzhiyun 1914*4882a593Smuzhiyun blsp2_i2c0: i2c@75b5000 { 1915*4882a593Smuzhiyun compatible = "qcom,i2c-qup-v2.2.1"; 1916*4882a593Smuzhiyun reg = <0x075b5000 0x1000>; 1917*4882a593Smuzhiyun interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 1918*4882a593Smuzhiyun clocks = <&gcc GCC_BLSP2_AHB_CLK>, 1919*4882a593Smuzhiyun <&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>; 1920*4882a593Smuzhiyun clock-names = "iface", "core"; 1921*4882a593Smuzhiyun pinctrl-names = "default", "sleep"; 1922*4882a593Smuzhiyun pinctrl-0 = <&blsp2_i2c0_default>; 1923*4882a593Smuzhiyun pinctrl-1 = <&blsp2_i2c0_sleep>; 1924*4882a593Smuzhiyun #address-cells = <1>; 1925*4882a593Smuzhiyun #size-cells = <0>; 1926*4882a593Smuzhiyun status = "disabled"; 1927*4882a593Smuzhiyun }; 1928*4882a593Smuzhiyun 1929*4882a593Smuzhiyun blsp2_i2c1: i2c@75b6000 { 1930*4882a593Smuzhiyun compatible = "qcom,i2c-qup-v2.2.1"; 1931*4882a593Smuzhiyun reg = <0x075b6000 0x1000>; 1932*4882a593Smuzhiyun interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>; 1933*4882a593Smuzhiyun clocks = <&gcc GCC_BLSP2_AHB_CLK>, 1934*4882a593Smuzhiyun <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>; 1935*4882a593Smuzhiyun clock-names = "iface", "core"; 1936*4882a593Smuzhiyun pinctrl-names = "default", "sleep"; 1937*4882a593Smuzhiyun pinctrl-0 = <&blsp2_i2c1_default>; 1938*4882a593Smuzhiyun pinctrl-1 = <&blsp2_i2c1_sleep>; 1939*4882a593Smuzhiyun #address-cells = <1>; 1940*4882a593Smuzhiyun #size-cells = <0>; 1941*4882a593Smuzhiyun status = "disabled"; 1942*4882a593Smuzhiyun }; 1943*4882a593Smuzhiyun 1944*4882a593Smuzhiyun blsp2_spi5: spi@75ba000{ 1945*4882a593Smuzhiyun compatible = "qcom,spi-qup-v2.2.1"; 1946*4882a593Smuzhiyun reg = <0x075ba000 0x600>; 1947*4882a593Smuzhiyun interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; 1948*4882a593Smuzhiyun clocks = <&gcc GCC_BLSP2_QUP6_SPI_APPS_CLK>, 1949*4882a593Smuzhiyun <&gcc GCC_BLSP2_AHB_CLK>; 1950*4882a593Smuzhiyun clock-names = "core", "iface"; 1951*4882a593Smuzhiyun pinctrl-names = "default", "sleep"; 1952*4882a593Smuzhiyun pinctrl-0 = <&blsp2_spi5_default>; 1953*4882a593Smuzhiyun pinctrl-1 = <&blsp2_spi5_sleep>; 1954*4882a593Smuzhiyun #address-cells = <1>; 1955*4882a593Smuzhiyun #size-cells = <0>; 1956*4882a593Smuzhiyun status = "disabled"; 1957*4882a593Smuzhiyun }; 1958*4882a593Smuzhiyun 1959*4882a593Smuzhiyun usb2: usb@76f8800 { 1960*4882a593Smuzhiyun compatible = "qcom,msm8996-dwc3", "qcom,dwc3"; 1961*4882a593Smuzhiyun reg = <0x076f8800 0x400>; 1962*4882a593Smuzhiyun #address-cells = <1>; 1963*4882a593Smuzhiyun #size-cells = <1>; 1964*4882a593Smuzhiyun ranges; 1965*4882a593Smuzhiyun 1966*4882a593Smuzhiyun clocks = <&gcc GCC_PERIPH_NOC_USB20_AHB_CLK>, 1967*4882a593Smuzhiyun <&gcc GCC_USB20_MASTER_CLK>, 1968*4882a593Smuzhiyun <&gcc GCC_USB20_MOCK_UTMI_CLK>, 1969*4882a593Smuzhiyun <&gcc GCC_USB20_SLEEP_CLK>, 1970*4882a593Smuzhiyun <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>; 1971*4882a593Smuzhiyun 1972*4882a593Smuzhiyun assigned-clocks = <&gcc GCC_USB20_MOCK_UTMI_CLK>, 1973*4882a593Smuzhiyun <&gcc GCC_USB20_MASTER_CLK>; 1974*4882a593Smuzhiyun assigned-clock-rates = <19200000>, <60000000>; 1975*4882a593Smuzhiyun 1976*4882a593Smuzhiyun power-domains = <&gcc USB30_GDSC>; 1977*4882a593Smuzhiyun status = "disabled"; 1978*4882a593Smuzhiyun 1979*4882a593Smuzhiyun dwc3@7600000 { 1980*4882a593Smuzhiyun compatible = "snps,dwc3"; 1981*4882a593Smuzhiyun reg = <0x07600000 0xcc00>; 1982*4882a593Smuzhiyun interrupts = <0 138 IRQ_TYPE_LEVEL_HIGH>; 1983*4882a593Smuzhiyun phys = <&hsusb_phy2>; 1984*4882a593Smuzhiyun phy-names = "usb2-phy"; 1985*4882a593Smuzhiyun snps,dis_u2_susphy_quirk; 1986*4882a593Smuzhiyun snps,dis_enblslpm_quirk; 1987*4882a593Smuzhiyun }; 1988*4882a593Smuzhiyun }; 1989*4882a593Smuzhiyun 1990*4882a593Smuzhiyun slimbam: dma@9184000 { 1991*4882a593Smuzhiyun compatible = "qcom,bam-v1.7.0"; 1992*4882a593Smuzhiyun qcom,controlled-remotely; 1993*4882a593Smuzhiyun reg = <0x09184000 0x32000>; 1994*4882a593Smuzhiyun num-channels = <31>; 1995*4882a593Smuzhiyun interrupts = <0 164 IRQ_TYPE_LEVEL_HIGH>; 1996*4882a593Smuzhiyun #dma-cells = <1>; 1997*4882a593Smuzhiyun qcom,ee = <1>; 1998*4882a593Smuzhiyun qcom,num-ees = <2>; 1999*4882a593Smuzhiyun }; 2000*4882a593Smuzhiyun 2001*4882a593Smuzhiyun slim_msm: slim@91c0000 { 2002*4882a593Smuzhiyun compatible = "qcom,slim-ngd-v1.5.0"; 2003*4882a593Smuzhiyun reg = <0x091c0000 0x2C000>; 2004*4882a593Smuzhiyun reg-names = "ctrl"; 2005*4882a593Smuzhiyun interrupts = <0 163 IRQ_TYPE_LEVEL_HIGH>; 2006*4882a593Smuzhiyun dmas = <&slimbam 3>, <&slimbam 4>, 2007*4882a593Smuzhiyun <&slimbam 5>, <&slimbam 6>; 2008*4882a593Smuzhiyun dma-names = "rx", "tx", "tx2", "rx2"; 2009*4882a593Smuzhiyun #address-cells = <1>; 2010*4882a593Smuzhiyun #size-cells = <0>; 2011*4882a593Smuzhiyun ngd@1 { 2012*4882a593Smuzhiyun reg = <1>; 2013*4882a593Smuzhiyun #address-cells = <1>; 2014*4882a593Smuzhiyun #size-cells = <1>; 2015*4882a593Smuzhiyun 2016*4882a593Smuzhiyun tasha_ifd: tas-ifd { 2017*4882a593Smuzhiyun compatible = "slim217,1a0"; 2018*4882a593Smuzhiyun reg = <0 0>; 2019*4882a593Smuzhiyun }; 2020*4882a593Smuzhiyun 2021*4882a593Smuzhiyun wcd9335: codec@1{ 2022*4882a593Smuzhiyun pinctrl-0 = <&cdc_reset_active &wcd_intr_default>; 2023*4882a593Smuzhiyun pinctrl-names = "default"; 2024*4882a593Smuzhiyun 2025*4882a593Smuzhiyun compatible = "slim217,1a0"; 2026*4882a593Smuzhiyun reg = <1 0>; 2027*4882a593Smuzhiyun 2028*4882a593Smuzhiyun interrupt-parent = <&msmgpio>; 2029*4882a593Smuzhiyun interrupts = <54 IRQ_TYPE_LEVEL_HIGH>, 2030*4882a593Smuzhiyun <53 IRQ_TYPE_LEVEL_HIGH>; 2031*4882a593Smuzhiyun interrupt-names = "intr1", "intr2"; 2032*4882a593Smuzhiyun interrupt-controller; 2033*4882a593Smuzhiyun #interrupt-cells = <1>; 2034*4882a593Smuzhiyun reset-gpios = <&msmgpio 64 0>; 2035*4882a593Smuzhiyun 2036*4882a593Smuzhiyun slim-ifc-dev = <&tasha_ifd>; 2037*4882a593Smuzhiyun 2038*4882a593Smuzhiyun #sound-dai-cells = <1>; 2039*4882a593Smuzhiyun }; 2040*4882a593Smuzhiyun }; 2041*4882a593Smuzhiyun }; 2042*4882a593Smuzhiyun 2043*4882a593Smuzhiyun adsp_pil: remoteproc@9300000 { 2044*4882a593Smuzhiyun compatible = "qcom,msm8996-adsp-pil"; 2045*4882a593Smuzhiyun reg = <0x09300000 0x80000>; 2046*4882a593Smuzhiyun 2047*4882a593Smuzhiyun interrupts-extended = <&intc 0 162 IRQ_TYPE_EDGE_RISING>, 2048*4882a593Smuzhiyun <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>, 2049*4882a593Smuzhiyun <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>, 2050*4882a593Smuzhiyun <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>, 2051*4882a593Smuzhiyun <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>; 2052*4882a593Smuzhiyun interrupt-names = "wdog", "fatal", "ready", 2053*4882a593Smuzhiyun "handover", "stop-ack"; 2054*4882a593Smuzhiyun 2055*4882a593Smuzhiyun clocks = <&xo_board>; 2056*4882a593Smuzhiyun clock-names = "xo"; 2057*4882a593Smuzhiyun 2058*4882a593Smuzhiyun memory-region = <&adsp_region>; 2059*4882a593Smuzhiyun 2060*4882a593Smuzhiyun qcom,smem-states = <&smp2p_adsp_out 0>; 2061*4882a593Smuzhiyun qcom,smem-state-names = "stop"; 2062*4882a593Smuzhiyun 2063*4882a593Smuzhiyun smd-edge { 2064*4882a593Smuzhiyun interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>; 2065*4882a593Smuzhiyun 2066*4882a593Smuzhiyun label = "lpass"; 2067*4882a593Smuzhiyun mboxes = <&apcs_glb 8>; 2068*4882a593Smuzhiyun qcom,smd-edge = <1>; 2069*4882a593Smuzhiyun qcom,remote-pid = <2>; 2070*4882a593Smuzhiyun #address-cells = <1>; 2071*4882a593Smuzhiyun #size-cells = <0>; 2072*4882a593Smuzhiyun apr { 2073*4882a593Smuzhiyun power-domains = <&gcc HLOS1_VOTE_LPASS_ADSP_GDSC>; 2074*4882a593Smuzhiyun compatible = "qcom,apr-v2"; 2075*4882a593Smuzhiyun qcom,smd-channels = "apr_audio_svc"; 2076*4882a593Smuzhiyun qcom,apr-domain = <APR_DOMAIN_ADSP>; 2077*4882a593Smuzhiyun #address-cells = <1>; 2078*4882a593Smuzhiyun #size-cells = <0>; 2079*4882a593Smuzhiyun 2080*4882a593Smuzhiyun q6core { 2081*4882a593Smuzhiyun reg = <APR_SVC_ADSP_CORE>; 2082*4882a593Smuzhiyun compatible = "qcom,q6core"; 2083*4882a593Smuzhiyun }; 2084*4882a593Smuzhiyun 2085*4882a593Smuzhiyun q6afe: q6afe { 2086*4882a593Smuzhiyun compatible = "qcom,q6afe"; 2087*4882a593Smuzhiyun reg = <APR_SVC_AFE>; 2088*4882a593Smuzhiyun q6afedai: dais { 2089*4882a593Smuzhiyun compatible = "qcom,q6afe-dais"; 2090*4882a593Smuzhiyun #address-cells = <1>; 2091*4882a593Smuzhiyun #size-cells = <0>; 2092*4882a593Smuzhiyun #sound-dai-cells = <1>; 2093*4882a593Smuzhiyun hdmi@1 { 2094*4882a593Smuzhiyun reg = <1>; 2095*4882a593Smuzhiyun }; 2096*4882a593Smuzhiyun }; 2097*4882a593Smuzhiyun }; 2098*4882a593Smuzhiyun 2099*4882a593Smuzhiyun q6asm: q6asm { 2100*4882a593Smuzhiyun compatible = "qcom,q6asm"; 2101*4882a593Smuzhiyun reg = <APR_SVC_ASM>; 2102*4882a593Smuzhiyun q6asmdai: dais { 2103*4882a593Smuzhiyun compatible = "qcom,q6asm-dais"; 2104*4882a593Smuzhiyun #address-cells = <1>; 2105*4882a593Smuzhiyun #size-cells = <0>; 2106*4882a593Smuzhiyun #sound-dai-cells = <1>; 2107*4882a593Smuzhiyun iommus = <&lpass_q6_smmu 1>; 2108*4882a593Smuzhiyun }; 2109*4882a593Smuzhiyun }; 2110*4882a593Smuzhiyun 2111*4882a593Smuzhiyun q6adm: q6adm { 2112*4882a593Smuzhiyun compatible = "qcom,q6adm"; 2113*4882a593Smuzhiyun reg = <APR_SVC_ADM>; 2114*4882a593Smuzhiyun q6routing: routing { 2115*4882a593Smuzhiyun compatible = "qcom,q6adm-routing"; 2116*4882a593Smuzhiyun #sound-dai-cells = <0>; 2117*4882a593Smuzhiyun }; 2118*4882a593Smuzhiyun }; 2119*4882a593Smuzhiyun }; 2120*4882a593Smuzhiyun 2121*4882a593Smuzhiyun }; 2122*4882a593Smuzhiyun }; 2123*4882a593Smuzhiyun 2124*4882a593Smuzhiyun apcs_glb: mailbox@9820000 { 2125*4882a593Smuzhiyun compatible = "qcom,msm8996-apcs-hmss-global"; 2126*4882a593Smuzhiyun reg = <0x09820000 0x1000>; 2127*4882a593Smuzhiyun 2128*4882a593Smuzhiyun #mbox-cells = <1>; 2129*4882a593Smuzhiyun }; 2130*4882a593Smuzhiyun 2131*4882a593Smuzhiyun timer@9840000 { 2132*4882a593Smuzhiyun #address-cells = <1>; 2133*4882a593Smuzhiyun #size-cells = <1>; 2134*4882a593Smuzhiyun ranges; 2135*4882a593Smuzhiyun compatible = "arm,armv7-timer-mem"; 2136*4882a593Smuzhiyun reg = <0x09840000 0x1000>; 2137*4882a593Smuzhiyun clock-frequency = <19200000>; 2138*4882a593Smuzhiyun 2139*4882a593Smuzhiyun frame@9850000 { 2140*4882a593Smuzhiyun frame-number = <0>; 2141*4882a593Smuzhiyun interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>, 2142*4882a593Smuzhiyun <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 2143*4882a593Smuzhiyun reg = <0x09850000 0x1000>, 2144*4882a593Smuzhiyun <0x09860000 0x1000>; 2145*4882a593Smuzhiyun }; 2146*4882a593Smuzhiyun 2147*4882a593Smuzhiyun frame@9870000 { 2148*4882a593Smuzhiyun frame-number = <1>; 2149*4882a593Smuzhiyun interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 2150*4882a593Smuzhiyun reg = <0x09870000 0x1000>; 2151*4882a593Smuzhiyun status = "disabled"; 2152*4882a593Smuzhiyun }; 2153*4882a593Smuzhiyun 2154*4882a593Smuzhiyun frame@9880000 { 2155*4882a593Smuzhiyun frame-number = <2>; 2156*4882a593Smuzhiyun interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 2157*4882a593Smuzhiyun reg = <0x09880000 0x1000>; 2158*4882a593Smuzhiyun status = "disabled"; 2159*4882a593Smuzhiyun }; 2160*4882a593Smuzhiyun 2161*4882a593Smuzhiyun frame@9890000 { 2162*4882a593Smuzhiyun frame-number = <3>; 2163*4882a593Smuzhiyun interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 2164*4882a593Smuzhiyun reg = <0x09890000 0x1000>; 2165*4882a593Smuzhiyun status = "disabled"; 2166*4882a593Smuzhiyun }; 2167*4882a593Smuzhiyun 2168*4882a593Smuzhiyun frame@98a0000 { 2169*4882a593Smuzhiyun frame-number = <4>; 2170*4882a593Smuzhiyun interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 2171*4882a593Smuzhiyun reg = <0x098a0000 0x1000>; 2172*4882a593Smuzhiyun status = "disabled"; 2173*4882a593Smuzhiyun }; 2174*4882a593Smuzhiyun 2175*4882a593Smuzhiyun frame@98b0000 { 2176*4882a593Smuzhiyun frame-number = <5>; 2177*4882a593Smuzhiyun interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 2178*4882a593Smuzhiyun reg = <0x098b0000 0x1000>; 2179*4882a593Smuzhiyun status = "disabled"; 2180*4882a593Smuzhiyun }; 2181*4882a593Smuzhiyun 2182*4882a593Smuzhiyun frame@98c0000 { 2183*4882a593Smuzhiyun frame-number = <6>; 2184*4882a593Smuzhiyun interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 2185*4882a593Smuzhiyun reg = <0x098c0000 0x1000>; 2186*4882a593Smuzhiyun status = "disabled"; 2187*4882a593Smuzhiyun }; 2188*4882a593Smuzhiyun }; 2189*4882a593Smuzhiyun 2190*4882a593Smuzhiyun saw3: syscon@9a10000 { 2191*4882a593Smuzhiyun compatible = "syscon"; 2192*4882a593Smuzhiyun reg = <0x09a10000 0x1000>; 2193*4882a593Smuzhiyun }; 2194*4882a593Smuzhiyun 2195*4882a593Smuzhiyun intc: interrupt-controller@9bc0000 { 2196*4882a593Smuzhiyun compatible = "qcom,msm8996-gic-v3", "arm,gic-v3"; 2197*4882a593Smuzhiyun #interrupt-cells = <3>; 2198*4882a593Smuzhiyun interrupt-controller; 2199*4882a593Smuzhiyun #redistributor-regions = <1>; 2200*4882a593Smuzhiyun redistributor-stride = <0x0 0x40000>; 2201*4882a593Smuzhiyun reg = <0x09bc0000 0x10000>, 2202*4882a593Smuzhiyun <0x09c00000 0x100000>; 2203*4882a593Smuzhiyun interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 2204*4882a593Smuzhiyun }; 2205*4882a593Smuzhiyun }; 2206*4882a593Smuzhiyun 2207*4882a593Smuzhiyun sound: sound { 2208*4882a593Smuzhiyun }; 2209*4882a593Smuzhiyun 2210*4882a593Smuzhiyun thermal-zones { 2211*4882a593Smuzhiyun cpu0-thermal { 2212*4882a593Smuzhiyun polling-delay-passive = <250>; 2213*4882a593Smuzhiyun polling-delay = <1000>; 2214*4882a593Smuzhiyun 2215*4882a593Smuzhiyun thermal-sensors = <&tsens0 3>; 2216*4882a593Smuzhiyun 2217*4882a593Smuzhiyun trips { 2218*4882a593Smuzhiyun cpu0_alert0: trip-point0 { 2219*4882a593Smuzhiyun temperature = <75000>; 2220*4882a593Smuzhiyun hysteresis = <2000>; 2221*4882a593Smuzhiyun type = "passive"; 2222*4882a593Smuzhiyun }; 2223*4882a593Smuzhiyun 2224*4882a593Smuzhiyun cpu0_crit: cpu_crit { 2225*4882a593Smuzhiyun temperature = <110000>; 2226*4882a593Smuzhiyun hysteresis = <2000>; 2227*4882a593Smuzhiyun type = "critical"; 2228*4882a593Smuzhiyun }; 2229*4882a593Smuzhiyun }; 2230*4882a593Smuzhiyun }; 2231*4882a593Smuzhiyun 2232*4882a593Smuzhiyun cpu1-thermal { 2233*4882a593Smuzhiyun polling-delay-passive = <250>; 2234*4882a593Smuzhiyun polling-delay = <1000>; 2235*4882a593Smuzhiyun 2236*4882a593Smuzhiyun thermal-sensors = <&tsens0 5>; 2237*4882a593Smuzhiyun 2238*4882a593Smuzhiyun trips { 2239*4882a593Smuzhiyun cpu1_alert0: trip-point0 { 2240*4882a593Smuzhiyun temperature = <75000>; 2241*4882a593Smuzhiyun hysteresis = <2000>; 2242*4882a593Smuzhiyun type = "passive"; 2243*4882a593Smuzhiyun }; 2244*4882a593Smuzhiyun 2245*4882a593Smuzhiyun cpu1_crit: cpu_crit { 2246*4882a593Smuzhiyun temperature = <110000>; 2247*4882a593Smuzhiyun hysteresis = <2000>; 2248*4882a593Smuzhiyun type = "critical"; 2249*4882a593Smuzhiyun }; 2250*4882a593Smuzhiyun }; 2251*4882a593Smuzhiyun }; 2252*4882a593Smuzhiyun 2253*4882a593Smuzhiyun cpu2-thermal { 2254*4882a593Smuzhiyun polling-delay-passive = <250>; 2255*4882a593Smuzhiyun polling-delay = <1000>; 2256*4882a593Smuzhiyun 2257*4882a593Smuzhiyun thermal-sensors = <&tsens0 8>; 2258*4882a593Smuzhiyun 2259*4882a593Smuzhiyun trips { 2260*4882a593Smuzhiyun cpu2_alert0: trip-point0 { 2261*4882a593Smuzhiyun temperature = <75000>; 2262*4882a593Smuzhiyun hysteresis = <2000>; 2263*4882a593Smuzhiyun type = "passive"; 2264*4882a593Smuzhiyun }; 2265*4882a593Smuzhiyun 2266*4882a593Smuzhiyun cpu2_crit: cpu_crit { 2267*4882a593Smuzhiyun temperature = <110000>; 2268*4882a593Smuzhiyun hysteresis = <2000>; 2269*4882a593Smuzhiyun type = "critical"; 2270*4882a593Smuzhiyun }; 2271*4882a593Smuzhiyun }; 2272*4882a593Smuzhiyun }; 2273*4882a593Smuzhiyun 2274*4882a593Smuzhiyun cpu3-thermal { 2275*4882a593Smuzhiyun polling-delay-passive = <250>; 2276*4882a593Smuzhiyun polling-delay = <1000>; 2277*4882a593Smuzhiyun 2278*4882a593Smuzhiyun thermal-sensors = <&tsens0 10>; 2279*4882a593Smuzhiyun 2280*4882a593Smuzhiyun trips { 2281*4882a593Smuzhiyun cpu3_alert0: trip-point0 { 2282*4882a593Smuzhiyun temperature = <75000>; 2283*4882a593Smuzhiyun hysteresis = <2000>; 2284*4882a593Smuzhiyun type = "passive"; 2285*4882a593Smuzhiyun }; 2286*4882a593Smuzhiyun 2287*4882a593Smuzhiyun cpu3_crit: cpu_crit { 2288*4882a593Smuzhiyun temperature = <110000>; 2289*4882a593Smuzhiyun hysteresis = <2000>; 2290*4882a593Smuzhiyun type = "critical"; 2291*4882a593Smuzhiyun }; 2292*4882a593Smuzhiyun }; 2293*4882a593Smuzhiyun }; 2294*4882a593Smuzhiyun 2295*4882a593Smuzhiyun gpu-thermal-top { 2296*4882a593Smuzhiyun polling-delay-passive = <250>; 2297*4882a593Smuzhiyun polling-delay = <1000>; 2298*4882a593Smuzhiyun 2299*4882a593Smuzhiyun thermal-sensors = <&tsens1 6>; 2300*4882a593Smuzhiyun 2301*4882a593Smuzhiyun trips { 2302*4882a593Smuzhiyun gpu1_alert0: trip-point0 { 2303*4882a593Smuzhiyun temperature = <90000>; 2304*4882a593Smuzhiyun hysteresis = <2000>; 2305*4882a593Smuzhiyun type = "hot"; 2306*4882a593Smuzhiyun }; 2307*4882a593Smuzhiyun }; 2308*4882a593Smuzhiyun }; 2309*4882a593Smuzhiyun 2310*4882a593Smuzhiyun gpu-thermal-bottom { 2311*4882a593Smuzhiyun polling-delay-passive = <250>; 2312*4882a593Smuzhiyun polling-delay = <1000>; 2313*4882a593Smuzhiyun 2314*4882a593Smuzhiyun thermal-sensors = <&tsens1 7>; 2315*4882a593Smuzhiyun 2316*4882a593Smuzhiyun trips { 2317*4882a593Smuzhiyun gpu2_alert0: trip-point0 { 2318*4882a593Smuzhiyun temperature = <90000>; 2319*4882a593Smuzhiyun hysteresis = <2000>; 2320*4882a593Smuzhiyun type = "hot"; 2321*4882a593Smuzhiyun }; 2322*4882a593Smuzhiyun }; 2323*4882a593Smuzhiyun }; 2324*4882a593Smuzhiyun 2325*4882a593Smuzhiyun m4m-thermal { 2326*4882a593Smuzhiyun polling-delay-passive = <250>; 2327*4882a593Smuzhiyun polling-delay = <1000>; 2328*4882a593Smuzhiyun 2329*4882a593Smuzhiyun thermal-sensors = <&tsens0 1>; 2330*4882a593Smuzhiyun 2331*4882a593Smuzhiyun trips { 2332*4882a593Smuzhiyun m4m_alert0: trip-point0 { 2333*4882a593Smuzhiyun temperature = <90000>; 2334*4882a593Smuzhiyun hysteresis = <2000>; 2335*4882a593Smuzhiyun type = "hot"; 2336*4882a593Smuzhiyun }; 2337*4882a593Smuzhiyun }; 2338*4882a593Smuzhiyun }; 2339*4882a593Smuzhiyun 2340*4882a593Smuzhiyun l3-or-venus-thermal { 2341*4882a593Smuzhiyun polling-delay-passive = <250>; 2342*4882a593Smuzhiyun polling-delay = <1000>; 2343*4882a593Smuzhiyun 2344*4882a593Smuzhiyun thermal-sensors = <&tsens0 2>; 2345*4882a593Smuzhiyun 2346*4882a593Smuzhiyun trips { 2347*4882a593Smuzhiyun l3_or_venus_alert0: trip-point0 { 2348*4882a593Smuzhiyun temperature = <90000>; 2349*4882a593Smuzhiyun hysteresis = <2000>; 2350*4882a593Smuzhiyun type = "hot"; 2351*4882a593Smuzhiyun }; 2352*4882a593Smuzhiyun }; 2353*4882a593Smuzhiyun }; 2354*4882a593Smuzhiyun 2355*4882a593Smuzhiyun cluster0-l2-thermal { 2356*4882a593Smuzhiyun polling-delay-passive = <250>; 2357*4882a593Smuzhiyun polling-delay = <1000>; 2358*4882a593Smuzhiyun 2359*4882a593Smuzhiyun thermal-sensors = <&tsens0 7>; 2360*4882a593Smuzhiyun 2361*4882a593Smuzhiyun trips { 2362*4882a593Smuzhiyun cluster0_l2_alert0: trip-point0 { 2363*4882a593Smuzhiyun temperature = <90000>; 2364*4882a593Smuzhiyun hysteresis = <2000>; 2365*4882a593Smuzhiyun type = "hot"; 2366*4882a593Smuzhiyun }; 2367*4882a593Smuzhiyun }; 2368*4882a593Smuzhiyun }; 2369*4882a593Smuzhiyun 2370*4882a593Smuzhiyun cluster1-l2-thermal { 2371*4882a593Smuzhiyun polling-delay-passive = <250>; 2372*4882a593Smuzhiyun polling-delay = <1000>; 2373*4882a593Smuzhiyun 2374*4882a593Smuzhiyun thermal-sensors = <&tsens0 12>; 2375*4882a593Smuzhiyun 2376*4882a593Smuzhiyun trips { 2377*4882a593Smuzhiyun cluster1_l2_alert0: trip-point0 { 2378*4882a593Smuzhiyun temperature = <90000>; 2379*4882a593Smuzhiyun hysteresis = <2000>; 2380*4882a593Smuzhiyun type = "hot"; 2381*4882a593Smuzhiyun }; 2382*4882a593Smuzhiyun }; 2383*4882a593Smuzhiyun }; 2384*4882a593Smuzhiyun 2385*4882a593Smuzhiyun camera-thermal { 2386*4882a593Smuzhiyun polling-delay-passive = <250>; 2387*4882a593Smuzhiyun polling-delay = <1000>; 2388*4882a593Smuzhiyun 2389*4882a593Smuzhiyun thermal-sensors = <&tsens1 1>; 2390*4882a593Smuzhiyun 2391*4882a593Smuzhiyun trips { 2392*4882a593Smuzhiyun camera_alert0: trip-point0 { 2393*4882a593Smuzhiyun temperature = <90000>; 2394*4882a593Smuzhiyun hysteresis = <2000>; 2395*4882a593Smuzhiyun type = "hot"; 2396*4882a593Smuzhiyun }; 2397*4882a593Smuzhiyun }; 2398*4882a593Smuzhiyun }; 2399*4882a593Smuzhiyun 2400*4882a593Smuzhiyun q6-dsp-thermal { 2401*4882a593Smuzhiyun polling-delay-passive = <250>; 2402*4882a593Smuzhiyun polling-delay = <1000>; 2403*4882a593Smuzhiyun 2404*4882a593Smuzhiyun thermal-sensors = <&tsens1 2>; 2405*4882a593Smuzhiyun 2406*4882a593Smuzhiyun trips { 2407*4882a593Smuzhiyun q6_dsp_alert0: trip-point0 { 2408*4882a593Smuzhiyun temperature = <90000>; 2409*4882a593Smuzhiyun hysteresis = <2000>; 2410*4882a593Smuzhiyun type = "hot"; 2411*4882a593Smuzhiyun }; 2412*4882a593Smuzhiyun }; 2413*4882a593Smuzhiyun }; 2414*4882a593Smuzhiyun 2415*4882a593Smuzhiyun mem-thermal { 2416*4882a593Smuzhiyun polling-delay-passive = <250>; 2417*4882a593Smuzhiyun polling-delay = <1000>; 2418*4882a593Smuzhiyun 2419*4882a593Smuzhiyun thermal-sensors = <&tsens1 3>; 2420*4882a593Smuzhiyun 2421*4882a593Smuzhiyun trips { 2422*4882a593Smuzhiyun mem_alert0: trip-point0 { 2423*4882a593Smuzhiyun temperature = <90000>; 2424*4882a593Smuzhiyun hysteresis = <2000>; 2425*4882a593Smuzhiyun type = "hot"; 2426*4882a593Smuzhiyun }; 2427*4882a593Smuzhiyun }; 2428*4882a593Smuzhiyun }; 2429*4882a593Smuzhiyun 2430*4882a593Smuzhiyun modemtx-thermal { 2431*4882a593Smuzhiyun polling-delay-passive = <250>; 2432*4882a593Smuzhiyun polling-delay = <1000>; 2433*4882a593Smuzhiyun 2434*4882a593Smuzhiyun thermal-sensors = <&tsens1 4>; 2435*4882a593Smuzhiyun 2436*4882a593Smuzhiyun trips { 2437*4882a593Smuzhiyun modemtx_alert0: trip-point0 { 2438*4882a593Smuzhiyun temperature = <90000>; 2439*4882a593Smuzhiyun hysteresis = <2000>; 2440*4882a593Smuzhiyun type = "hot"; 2441*4882a593Smuzhiyun }; 2442*4882a593Smuzhiyun }; 2443*4882a593Smuzhiyun }; 2444*4882a593Smuzhiyun }; 2445*4882a593Smuzhiyun 2446*4882a593Smuzhiyun timer { 2447*4882a593Smuzhiyun compatible = "arm,armv8-timer"; 2448*4882a593Smuzhiyun interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, 2449*4882a593Smuzhiyun <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, 2450*4882a593Smuzhiyun <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, 2451*4882a593Smuzhiyun <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; 2452*4882a593Smuzhiyun }; 2453*4882a593Smuzhiyun}; 2454*4882a593Smuzhiyun#include "msm8996-pins.dtsi" 2455