1*07c8ded6SRichard Acayan// SPDX-License-Identifier: GPL-2.0 2*07c8ded6SRichard Acayan/* 3*07c8ded6SRichard Acayan * SDM670 SoC device tree source, adapted from SDM845 SoC device tree 4*07c8ded6SRichard Acayan * 5*07c8ded6SRichard Acayan * Copyright (c) 2018, The Linux Foundation. All rights reserved. 6*07c8ded6SRichard Acayan * Copyright (c) 2022, Richard Acayan. All rights reserved. 7*07c8ded6SRichard Acayan */ 8*07c8ded6SRichard Acayan 9*07c8ded6SRichard Acayan#include <dt-bindings/clock/qcom,gcc-sdm845.h> 10*07c8ded6SRichard Acayan#include <dt-bindings/clock/qcom,rpmh.h> 11*07c8ded6SRichard Acayan#include <dt-bindings/dma/qcom-gpi.h> 12*07c8ded6SRichard Acayan#include <dt-bindings/gpio/gpio.h> 13*07c8ded6SRichard Acayan#include <dt-bindings/interrupt-controller/arm-gic.h> 14*07c8ded6SRichard Acayan#include <dt-bindings/phy/phy-qcom-qusb2.h> 15*07c8ded6SRichard Acayan#include <dt-bindings/power/qcom-rpmpd.h> 16*07c8ded6SRichard Acayan#include <dt-bindings/soc/qcom,rpmh-rsc.h> 17*07c8ded6SRichard Acayan 18*07c8ded6SRichard Acayan/ { 19*07c8ded6SRichard Acayan interrupt-parent = <&intc>; 20*07c8ded6SRichard Acayan 21*07c8ded6SRichard Acayan #address-cells = <2>; 22*07c8ded6SRichard Acayan #size-cells = <2>; 23*07c8ded6SRichard Acayan 24*07c8ded6SRichard Acayan aliases { }; 25*07c8ded6SRichard Acayan 26*07c8ded6SRichard Acayan chosen { }; 27*07c8ded6SRichard Acayan 28*07c8ded6SRichard Acayan cpus { 29*07c8ded6SRichard Acayan #address-cells = <2>; 30*07c8ded6SRichard Acayan #size-cells = <0>; 31*07c8ded6SRichard Acayan 32*07c8ded6SRichard Acayan CPU0: cpu@0 { 33*07c8ded6SRichard Acayan device_type = "cpu"; 34*07c8ded6SRichard Acayan compatible = "qcom,kryo360"; 35*07c8ded6SRichard Acayan reg = <0x0 0x0>; 36*07c8ded6SRichard Acayan enable-method = "psci"; 37*07c8ded6SRichard Acayan power-domains = <&CPU_PD0>; 38*07c8ded6SRichard Acayan power-domain-names = "psci"; 39*07c8ded6SRichard Acayan next-level-cache = <&L2_0>; 40*07c8ded6SRichard Acayan L2_0: l2-cache { 41*07c8ded6SRichard Acayan compatible = "cache"; 42*07c8ded6SRichard Acayan next-level-cache = <&L3_0>; 43*07c8ded6SRichard Acayan L3_0: l3-cache { 44*07c8ded6SRichard Acayan compatible = "cache"; 45*07c8ded6SRichard Acayan }; 46*07c8ded6SRichard Acayan }; 47*07c8ded6SRichard Acayan }; 48*07c8ded6SRichard Acayan 49*07c8ded6SRichard Acayan CPU1: cpu@100 { 50*07c8ded6SRichard Acayan device_type = "cpu"; 51*07c8ded6SRichard Acayan compatible = "qcom,kryo360"; 52*07c8ded6SRichard Acayan reg = <0x0 0x100>; 53*07c8ded6SRichard Acayan enable-method = "psci"; 54*07c8ded6SRichard Acayan power-domains = <&CPU_PD1>; 55*07c8ded6SRichard Acayan power-domain-names = "psci"; 56*07c8ded6SRichard Acayan next-level-cache = <&L2_100>; 57*07c8ded6SRichard Acayan L2_100: l2-cache { 58*07c8ded6SRichard Acayan compatible = "cache"; 59*07c8ded6SRichard Acayan next-level-cache = <&L3_0>; 60*07c8ded6SRichard Acayan }; 61*07c8ded6SRichard Acayan }; 62*07c8ded6SRichard Acayan 63*07c8ded6SRichard Acayan CPU2: cpu@200 { 64*07c8ded6SRichard Acayan device_type = "cpu"; 65*07c8ded6SRichard Acayan compatible = "qcom,kryo360"; 66*07c8ded6SRichard Acayan reg = <0x0 0x200>; 67*07c8ded6SRichard Acayan enable-method = "psci"; 68*07c8ded6SRichard Acayan power-domains = <&CPU_PD2>; 69*07c8ded6SRichard Acayan power-domain-names = "psci"; 70*07c8ded6SRichard Acayan next-level-cache = <&L2_200>; 71*07c8ded6SRichard Acayan L2_200: l2-cache { 72*07c8ded6SRichard Acayan compatible = "cache"; 73*07c8ded6SRichard Acayan next-level-cache = <&L3_0>; 74*07c8ded6SRichard Acayan }; 75*07c8ded6SRichard Acayan }; 76*07c8ded6SRichard Acayan 77*07c8ded6SRichard Acayan CPU3: cpu@300 { 78*07c8ded6SRichard Acayan device_type = "cpu"; 79*07c8ded6SRichard Acayan compatible = "qcom,kryo360"; 80*07c8ded6SRichard Acayan reg = <0x0 0x300>; 81*07c8ded6SRichard Acayan enable-method = "psci"; 82*07c8ded6SRichard Acayan power-domains = <&CPU_PD3>; 83*07c8ded6SRichard Acayan power-domain-names = "psci"; 84*07c8ded6SRichard Acayan next-level-cache = <&L2_300>; 85*07c8ded6SRichard Acayan L2_300: l2-cache { 86*07c8ded6SRichard Acayan compatible = "cache"; 87*07c8ded6SRichard Acayan next-level-cache = <&L3_0>; 88*07c8ded6SRichard Acayan }; 89*07c8ded6SRichard Acayan }; 90*07c8ded6SRichard Acayan 91*07c8ded6SRichard Acayan CPU4: cpu@400 { 92*07c8ded6SRichard Acayan device_type = "cpu"; 93*07c8ded6SRichard Acayan compatible = "qcom,kryo360"; 94*07c8ded6SRichard Acayan reg = <0x0 0x400>; 95*07c8ded6SRichard Acayan enable-method = "psci"; 96*07c8ded6SRichard Acayan power-domains = <&CPU_PD4>; 97*07c8ded6SRichard Acayan power-domain-names = "psci"; 98*07c8ded6SRichard Acayan next-level-cache = <&L2_400>; 99*07c8ded6SRichard Acayan L2_400: l2-cache { 100*07c8ded6SRichard Acayan compatible = "cache"; 101*07c8ded6SRichard Acayan next-level-cache = <&L3_0>; 102*07c8ded6SRichard Acayan }; 103*07c8ded6SRichard Acayan }; 104*07c8ded6SRichard Acayan 105*07c8ded6SRichard Acayan CPU5: cpu@500 { 106*07c8ded6SRichard Acayan device_type = "cpu"; 107*07c8ded6SRichard Acayan compatible = "qcom,kryo360"; 108*07c8ded6SRichard Acayan reg = <0x0 0x500>; 109*07c8ded6SRichard Acayan enable-method = "psci"; 110*07c8ded6SRichard Acayan power-domains = <&CPU_PD5>; 111*07c8ded6SRichard Acayan power-domain-names = "psci"; 112*07c8ded6SRichard Acayan next-level-cache = <&L2_500>; 113*07c8ded6SRichard Acayan L2_500: l2-cache { 114*07c8ded6SRichard Acayan compatible = "cache"; 115*07c8ded6SRichard Acayan next-level-cache = <&L3_0>; 116*07c8ded6SRichard Acayan }; 117*07c8ded6SRichard Acayan }; 118*07c8ded6SRichard Acayan 119*07c8ded6SRichard Acayan CPU6: cpu@600 { 120*07c8ded6SRichard Acayan device_type = "cpu"; 121*07c8ded6SRichard Acayan compatible = "qcom,kryo360"; 122*07c8ded6SRichard Acayan reg = <0x0 0x600>; 123*07c8ded6SRichard Acayan enable-method = "psci"; 124*07c8ded6SRichard Acayan power-domains = <&CPU_PD6>; 125*07c8ded6SRichard Acayan power-domain-names = "psci"; 126*07c8ded6SRichard Acayan next-level-cache = <&L2_600>; 127*07c8ded6SRichard Acayan L2_600: l2-cache { 128*07c8ded6SRichard Acayan compatible = "cache"; 129*07c8ded6SRichard Acayan next-level-cache = <&L3_0>; 130*07c8ded6SRichard Acayan }; 131*07c8ded6SRichard Acayan }; 132*07c8ded6SRichard Acayan 133*07c8ded6SRichard Acayan CPU7: cpu@700 { 134*07c8ded6SRichard Acayan device_type = "cpu"; 135*07c8ded6SRichard Acayan compatible = "qcom,kryo360"; 136*07c8ded6SRichard Acayan reg = <0x0 0x700>; 137*07c8ded6SRichard Acayan enable-method = "psci"; 138*07c8ded6SRichard Acayan power-domains = <&CPU_PD7>; 139*07c8ded6SRichard Acayan power-domain-names = "psci"; 140*07c8ded6SRichard Acayan next-level-cache = <&L2_700>; 141*07c8ded6SRichard Acayan L2_700: l2-cache { 142*07c8ded6SRichard Acayan compatible = "cache"; 143*07c8ded6SRichard Acayan next-level-cache = <&L3_0>; 144*07c8ded6SRichard Acayan }; 145*07c8ded6SRichard Acayan }; 146*07c8ded6SRichard Acayan 147*07c8ded6SRichard Acayan cpu-map { 148*07c8ded6SRichard Acayan cluster0 { 149*07c8ded6SRichard Acayan core0 { 150*07c8ded6SRichard Acayan cpu = <&CPU0>; 151*07c8ded6SRichard Acayan }; 152*07c8ded6SRichard Acayan 153*07c8ded6SRichard Acayan core1 { 154*07c8ded6SRichard Acayan cpu = <&CPU1>; 155*07c8ded6SRichard Acayan }; 156*07c8ded6SRichard Acayan 157*07c8ded6SRichard Acayan core2 { 158*07c8ded6SRichard Acayan cpu = <&CPU2>; 159*07c8ded6SRichard Acayan }; 160*07c8ded6SRichard Acayan 161*07c8ded6SRichard Acayan core3 { 162*07c8ded6SRichard Acayan cpu = <&CPU3>; 163*07c8ded6SRichard Acayan }; 164*07c8ded6SRichard Acayan 165*07c8ded6SRichard Acayan core4 { 166*07c8ded6SRichard Acayan cpu = <&CPU4>; 167*07c8ded6SRichard Acayan }; 168*07c8ded6SRichard Acayan 169*07c8ded6SRichard Acayan core5 { 170*07c8ded6SRichard Acayan cpu = <&CPU5>; 171*07c8ded6SRichard Acayan }; 172*07c8ded6SRichard Acayan 173*07c8ded6SRichard Acayan core6 { 174*07c8ded6SRichard Acayan cpu = <&CPU6>; 175*07c8ded6SRichard Acayan }; 176*07c8ded6SRichard Acayan 177*07c8ded6SRichard Acayan core7 { 178*07c8ded6SRichard Acayan cpu = <&CPU7>; 179*07c8ded6SRichard Acayan }; 180*07c8ded6SRichard Acayan }; 181*07c8ded6SRichard Acayan }; 182*07c8ded6SRichard Acayan 183*07c8ded6SRichard Acayan idle-states { 184*07c8ded6SRichard Acayan entry-method = "psci"; 185*07c8ded6SRichard Acayan 186*07c8ded6SRichard Acayan LITTLE_CPU_SLEEP_0: cpu-sleep-0-0 { 187*07c8ded6SRichard Acayan compatible = "arm,idle-state"; 188*07c8ded6SRichard Acayan idle-state-name = "little-rail-power-collapse"; 189*07c8ded6SRichard Acayan arm,psci-suspend-param = <0x40000004>; 190*07c8ded6SRichard Acayan entry-latency-us = <702>; 191*07c8ded6SRichard Acayan exit-latency-us = <915>; 192*07c8ded6SRichard Acayan min-residency-us = <1617>; 193*07c8ded6SRichard Acayan local-timer-stop; 194*07c8ded6SRichard Acayan }; 195*07c8ded6SRichard Acayan 196*07c8ded6SRichard Acayan BIG_CPU_SLEEP_0: cpu-sleep-1-0 { 197*07c8ded6SRichard Acayan compatible = "arm,idle-state"; 198*07c8ded6SRichard Acayan idle-state-name = "big-rail-power-collapse"; 199*07c8ded6SRichard Acayan arm,psci-suspend-param = <0x40000004>; 200*07c8ded6SRichard Acayan entry-latency-us = <526>; 201*07c8ded6SRichard Acayan exit-latency-us = <1854>; 202*07c8ded6SRichard Acayan min-residency-us = <2380>; 203*07c8ded6SRichard Acayan local-timer-stop; 204*07c8ded6SRichard Acayan }; 205*07c8ded6SRichard Acayan }; 206*07c8ded6SRichard Acayan 207*07c8ded6SRichard Acayan domain-idle-states { 208*07c8ded6SRichard Acayan CLUSTER_SLEEP_0: cluster-sleep-0 { 209*07c8ded6SRichard Acayan compatible = "domain-idle-state"; 210*07c8ded6SRichard Acayan arm,psci-suspend-param = <0x4100c244>; 211*07c8ded6SRichard Acayan entry-latency-us = <3263>; 212*07c8ded6SRichard Acayan exit-latency-us = <6562>; 213*07c8ded6SRichard Acayan min-residency-us = <9825>; 214*07c8ded6SRichard Acayan }; 215*07c8ded6SRichard Acayan }; 216*07c8ded6SRichard Acayan }; 217*07c8ded6SRichard Acayan 218*07c8ded6SRichard Acayan firmware { 219*07c8ded6SRichard Acayan scm { 220*07c8ded6SRichard Acayan compatible = "qcom,scm-sdm670", "qcom,scm"; 221*07c8ded6SRichard Acayan }; 222*07c8ded6SRichard Acayan }; 223*07c8ded6SRichard Acayan 224*07c8ded6SRichard Acayan memory@80000000 { 225*07c8ded6SRichard Acayan device_type = "memory"; 226*07c8ded6SRichard Acayan /* We expect the bootloader to fill in the size */ 227*07c8ded6SRichard Acayan reg = <0x0 0x80000000 0x0 0x0>; 228*07c8ded6SRichard Acayan }; 229*07c8ded6SRichard Acayan 230*07c8ded6SRichard Acayan psci { 231*07c8ded6SRichard Acayan compatible = "arm,psci-1.0"; 232*07c8ded6SRichard Acayan method = "smc"; 233*07c8ded6SRichard Acayan 234*07c8ded6SRichard Acayan CPU_PD0: power-domain-cpu0 { 235*07c8ded6SRichard Acayan #power-domain-cells = <0>; 236*07c8ded6SRichard Acayan power-domains = <&CLUSTER_PD>; 237*07c8ded6SRichard Acayan domain-idle-states = <&LITTLE_CPU_SLEEP_0>; 238*07c8ded6SRichard Acayan }; 239*07c8ded6SRichard Acayan 240*07c8ded6SRichard Acayan CPU_PD1: power-domain-cpu1 { 241*07c8ded6SRichard Acayan #power-domain-cells = <0>; 242*07c8ded6SRichard Acayan power-domains = <&CLUSTER_PD>; 243*07c8ded6SRichard Acayan domain-idle-states = <&LITTLE_CPU_SLEEP_0>; 244*07c8ded6SRichard Acayan }; 245*07c8ded6SRichard Acayan 246*07c8ded6SRichard Acayan CPU_PD2: power-domain-cpu2 { 247*07c8ded6SRichard Acayan #power-domain-cells = <0>; 248*07c8ded6SRichard Acayan power-domains = <&CLUSTER_PD>; 249*07c8ded6SRichard Acayan domain-idle-states = <&LITTLE_CPU_SLEEP_0>; 250*07c8ded6SRichard Acayan }; 251*07c8ded6SRichard Acayan 252*07c8ded6SRichard Acayan CPU_PD3: power-domain-cpu3 { 253*07c8ded6SRichard Acayan #power-domain-cells = <0>; 254*07c8ded6SRichard Acayan power-domains = <&CLUSTER_PD>; 255*07c8ded6SRichard Acayan domain-idle-states = <&LITTLE_CPU_SLEEP_0>; 256*07c8ded6SRichard Acayan }; 257*07c8ded6SRichard Acayan 258*07c8ded6SRichard Acayan CPU_PD4: power-domain-cpu4 { 259*07c8ded6SRichard Acayan #power-domain-cells = <0>; 260*07c8ded6SRichard Acayan power-domains = <&CLUSTER_PD>; 261*07c8ded6SRichard Acayan domain-idle-states = <&LITTLE_CPU_SLEEP_0>; 262*07c8ded6SRichard Acayan }; 263*07c8ded6SRichard Acayan 264*07c8ded6SRichard Acayan CPU_PD5: power-domain-cpu5 { 265*07c8ded6SRichard Acayan #power-domain-cells = <0>; 266*07c8ded6SRichard Acayan power-domains = <&CLUSTER_PD>; 267*07c8ded6SRichard Acayan domain-idle-states = <&LITTLE_CPU_SLEEP_0>; 268*07c8ded6SRichard Acayan }; 269*07c8ded6SRichard Acayan 270*07c8ded6SRichard Acayan CPU_PD6: power-domain-cpu6 { 271*07c8ded6SRichard Acayan #power-domain-cells = <0>; 272*07c8ded6SRichard Acayan power-domains = <&CLUSTER_PD>; 273*07c8ded6SRichard Acayan domain-idle-states = <&BIG_CPU_SLEEP_0>; 274*07c8ded6SRichard Acayan }; 275*07c8ded6SRichard Acayan 276*07c8ded6SRichard Acayan CPU_PD7: power-domain-cpu7 { 277*07c8ded6SRichard Acayan #power-domain-cells = <0>; 278*07c8ded6SRichard Acayan power-domains = <&CLUSTER_PD>; 279*07c8ded6SRichard Acayan domain-idle-states = <&BIG_CPU_SLEEP_0>; 280*07c8ded6SRichard Acayan }; 281*07c8ded6SRichard Acayan 282*07c8ded6SRichard Acayan CLUSTER_PD: power-domain-cluster { 283*07c8ded6SRichard Acayan #power-domain-cells = <0>; 284*07c8ded6SRichard Acayan domain-idle-states = <&CLUSTER_SLEEP_0>; 285*07c8ded6SRichard Acayan }; 286*07c8ded6SRichard Acayan }; 287*07c8ded6SRichard Acayan 288*07c8ded6SRichard Acayan reserved-memory { 289*07c8ded6SRichard Acayan #address-cells = <2>; 290*07c8ded6SRichard Acayan #size-cells = <2>; 291*07c8ded6SRichard Acayan ranges; 292*07c8ded6SRichard Acayan 293*07c8ded6SRichard Acayan hyp_mem: hyp-mem@85700000 { 294*07c8ded6SRichard Acayan reg = <0 0x85700000 0 0x600000>; 295*07c8ded6SRichard Acayan no-map; 296*07c8ded6SRichard Acayan }; 297*07c8ded6SRichard Acayan 298*07c8ded6SRichard Acayan xbl_mem: xbl-mem@85e00000 { 299*07c8ded6SRichard Acayan reg = <0 0x85e00000 0 0x100000>; 300*07c8ded6SRichard Acayan no-map; 301*07c8ded6SRichard Acayan }; 302*07c8ded6SRichard Acayan 303*07c8ded6SRichard Acayan aop_mem: aop-mem@85fc0000 { 304*07c8ded6SRichard Acayan reg = <0 0x85fc0000 0 0x20000>; 305*07c8ded6SRichard Acayan no-map; 306*07c8ded6SRichard Acayan }; 307*07c8ded6SRichard Acayan 308*07c8ded6SRichard Acayan aop_cmd_db_mem: aop-cmd-db-mem@85fe0000 { 309*07c8ded6SRichard Acayan compatible = "qcom,cmd-db"; 310*07c8ded6SRichard Acayan reg = <0 0x85fe0000 0 0x20000>; 311*07c8ded6SRichard Acayan no-map; 312*07c8ded6SRichard Acayan }; 313*07c8ded6SRichard Acayan 314*07c8ded6SRichard Acayan camera_mem: camera-mem@8ab00000 { 315*07c8ded6SRichard Acayan reg = <0 0x8ab00000 0 0x500000>; 316*07c8ded6SRichard Acayan no-map; 317*07c8ded6SRichard Acayan }; 318*07c8ded6SRichard Acayan 319*07c8ded6SRichard Acayan mpss_region: mpss@8b000000 { 320*07c8ded6SRichard Acayan reg = <0 0x8b000000 0 0x7e00000>; 321*07c8ded6SRichard Acayan no-map; 322*07c8ded6SRichard Acayan }; 323*07c8ded6SRichard Acayan 324*07c8ded6SRichard Acayan venus_mem: venus@92e00000 { 325*07c8ded6SRichard Acayan reg = <0 0x92e00000 0 0x500000>; 326*07c8ded6SRichard Acayan no-map; 327*07c8ded6SRichard Acayan }; 328*07c8ded6SRichard Acayan 329*07c8ded6SRichard Acayan wlan_msa_mem: wlan-msa@93300000 { 330*07c8ded6SRichard Acayan reg = <0 0x93300000 0 0x100000>; 331*07c8ded6SRichard Acayan no-map; 332*07c8ded6SRichard Acayan }; 333*07c8ded6SRichard Acayan 334*07c8ded6SRichard Acayan cdsp_mem: cdsp@93400000 { 335*07c8ded6SRichard Acayan reg = <0 0x93400000 0 0x800000>; 336*07c8ded6SRichard Acayan no-map; 337*07c8ded6SRichard Acayan }; 338*07c8ded6SRichard Acayan 339*07c8ded6SRichard Acayan mba_region: mba@93c00000 { 340*07c8ded6SRichard Acayan reg = <0 0x93c00000 0 0x200000>; 341*07c8ded6SRichard Acayan no-map; 342*07c8ded6SRichard Acayan }; 343*07c8ded6SRichard Acayan 344*07c8ded6SRichard Acayan adsp_mem: adsp@93e00000 { 345*07c8ded6SRichard Acayan reg = <0 0x93e00000 0 0x1e00000>; 346*07c8ded6SRichard Acayan no-map; 347*07c8ded6SRichard Acayan }; 348*07c8ded6SRichard Acayan 349*07c8ded6SRichard Acayan ipa_fw_mem: ipa-fw@95c00000 { 350*07c8ded6SRichard Acayan reg = <0 0x95c00000 0 0x10000>; 351*07c8ded6SRichard Acayan no-map; 352*07c8ded6SRichard Acayan }; 353*07c8ded6SRichard Acayan 354*07c8ded6SRichard Acayan ipa_gsi_mem: ipa-gsi@95c10000 { 355*07c8ded6SRichard Acayan reg = <0 0x95c10000 0 0x5000>; 356*07c8ded6SRichard Acayan no-map; 357*07c8ded6SRichard Acayan }; 358*07c8ded6SRichard Acayan 359*07c8ded6SRichard Acayan gpu_mem: gpu@95c15000 { 360*07c8ded6SRichard Acayan reg = <0 0x95c15000 0 0x2000>; 361*07c8ded6SRichard Acayan no-map; 362*07c8ded6SRichard Acayan }; 363*07c8ded6SRichard Acayan 364*07c8ded6SRichard Acayan spss_mem: spss@97b00000 { 365*07c8ded6SRichard Acayan reg = <0 0x97b00000 0 0x100000>; 366*07c8ded6SRichard Acayan no-map; 367*07c8ded6SRichard Acayan }; 368*07c8ded6SRichard Acayan 369*07c8ded6SRichard Acayan qseecom_mem: qseecom@9e400000 { 370*07c8ded6SRichard Acayan reg = <0 0x9e400000 0 0x1400000>; 371*07c8ded6SRichard Acayan no-map; 372*07c8ded6SRichard Acayan }; 373*07c8ded6SRichard Acayan }; 374*07c8ded6SRichard Acayan 375*07c8ded6SRichard Acayan timer { 376*07c8ded6SRichard Acayan compatible = "arm,armv8-timer"; 377*07c8ded6SRichard Acayan interrupts = <GIC_PPI 1 IRQ_TYPE_LEVEL_LOW>, 378*07c8ded6SRichard Acayan <GIC_PPI 2 IRQ_TYPE_LEVEL_LOW>, 379*07c8ded6SRichard Acayan <GIC_PPI 3 IRQ_TYPE_LEVEL_LOW>, 380*07c8ded6SRichard Acayan <GIC_PPI 0 IRQ_TYPE_LEVEL_LOW>; 381*07c8ded6SRichard Acayan }; 382*07c8ded6SRichard Acayan 383*07c8ded6SRichard Acayan soc: soc@0 { 384*07c8ded6SRichard Acayan #address-cells = <2>; 385*07c8ded6SRichard Acayan #size-cells = <2>; 386*07c8ded6SRichard Acayan ranges = <0 0 0 0 0x10 0>; 387*07c8ded6SRichard Acayan dma-ranges = <0 0 0 0 0x10 0>; 388*07c8ded6SRichard Acayan compatible = "simple-bus"; 389*07c8ded6SRichard Acayan 390*07c8ded6SRichard Acayan gcc: clock-controller@100000 { 391*07c8ded6SRichard Acayan compatible = "qcom,gcc-sdm670"; 392*07c8ded6SRichard Acayan reg = <0 0x00100000 0 0x1f0000>; 393*07c8ded6SRichard Acayan clocks = <&rpmhcc RPMH_CXO_CLK>, 394*07c8ded6SRichard Acayan <&rpmhcc RPMH_CXO_CLK_A>, 395*07c8ded6SRichard Acayan <&sleep_clk>; 396*07c8ded6SRichard Acayan clock-names = "bi_tcxo", 397*07c8ded6SRichard Acayan "bi_tcxo_ao", 398*07c8ded6SRichard Acayan "sleep_clk"; 399*07c8ded6SRichard Acayan #clock-cells = <1>; 400*07c8ded6SRichard Acayan #reset-cells = <1>; 401*07c8ded6SRichard Acayan #power-domain-cells = <1>; 402*07c8ded6SRichard Acayan }; 403*07c8ded6SRichard Acayan 404*07c8ded6SRichard Acayan sdhc_1: mmc@7c4000 { 405*07c8ded6SRichard Acayan compatible = "qcom,sdm670-sdhci", "qcom,sdhci-msm-v5"; 406*07c8ded6SRichard Acayan reg = <0 0x007c4000 0 0x1000>, 407*07c8ded6SRichard Acayan <0 0x007c5000 0 0x1000>, 408*07c8ded6SRichard Acayan <0 0x007c8000 0 0x8000>; 409*07c8ded6SRichard Acayan reg-names = "hc", "cqhci", "ice"; 410*07c8ded6SRichard Acayan 411*07c8ded6SRichard Acayan interrupts = <GIC_SPI 641 IRQ_TYPE_LEVEL_HIGH>, 412*07c8ded6SRichard Acayan <GIC_SPI 644 IRQ_TYPE_LEVEL_HIGH>; 413*07c8ded6SRichard Acayan interrupt-names = "hc_irq", "pwr_irq"; 414*07c8ded6SRichard Acayan 415*07c8ded6SRichard Acayan clocks = <&gcc GCC_SDCC1_AHB_CLK>, 416*07c8ded6SRichard Acayan <&gcc GCC_SDCC1_APPS_CLK>, 417*07c8ded6SRichard Acayan <&rpmhcc RPMH_CXO_CLK>, 418*07c8ded6SRichard Acayan <&gcc GCC_SDCC1_ICE_CORE_CLK>, 419*07c8ded6SRichard Acayan <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>; 420*07c8ded6SRichard Acayan clock-names = "iface", "core", "xo", "ice", "bus"; 421*07c8ded6SRichard Acayan 422*07c8ded6SRichard Acayan iommus = <&apps_smmu 0x140 0xf>; 423*07c8ded6SRichard Acayan 424*07c8ded6SRichard Acayan pinctrl-names = "default", "sleep"; 425*07c8ded6SRichard Acayan pinctrl-0 = <&sdc1_state_on>; 426*07c8ded6SRichard Acayan pinctrl-1 = <&sdc1_state_off>; 427*07c8ded6SRichard Acayan power-domains = <&rpmhpd SDM670_CX>; 428*07c8ded6SRichard Acayan 429*07c8ded6SRichard Acayan bus-width = <8>; 430*07c8ded6SRichard Acayan non-removable; 431*07c8ded6SRichard Acayan 432*07c8ded6SRichard Acayan status = "disabled"; 433*07c8ded6SRichard Acayan }; 434*07c8ded6SRichard Acayan 435*07c8ded6SRichard Acayan gpi_dma0: dma-controller@800000 { 436*07c8ded6SRichard Acayan #dma-cells = <3>; 437*07c8ded6SRichard Acayan compatible = "qcom,sdm670-gpi-dma", "qcom,sdm845-gpi-dma"; 438*07c8ded6SRichard Acayan reg = <0 0x00800000 0 0x60000>; 439*07c8ded6SRichard Acayan interrupts = <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>, 440*07c8ded6SRichard Acayan <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>, 441*07c8ded6SRichard Acayan <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>, 442*07c8ded6SRichard Acayan <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>, 443*07c8ded6SRichard Acayan <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>, 444*07c8ded6SRichard Acayan <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>, 445*07c8ded6SRichard Acayan <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>, 446*07c8ded6SRichard Acayan <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>, 447*07c8ded6SRichard Acayan <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>, 448*07c8ded6SRichard Acayan <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>, 449*07c8ded6SRichard Acayan <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>, 450*07c8ded6SRichard Acayan <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>, 451*07c8ded6SRichard Acayan <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>; 452*07c8ded6SRichard Acayan dma-channels = <13>; 453*07c8ded6SRichard Acayan dma-channel-mask = <0xfa>; 454*07c8ded6SRichard Acayan iommus = <&apps_smmu 0x16 0x0>; 455*07c8ded6SRichard Acayan status = "disabled"; 456*07c8ded6SRichard Acayan }; 457*07c8ded6SRichard Acayan 458*07c8ded6SRichard Acayan qupv3_id_0: geniqup@8c0000 { 459*07c8ded6SRichard Acayan compatible = "qcom,geni-se-qup"; 460*07c8ded6SRichard Acayan reg = <0 0x008c0000 0 0x6000>; 461*07c8ded6SRichard Acayan clock-names = "m-ahb", "s-ahb"; 462*07c8ded6SRichard Acayan clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>, 463*07c8ded6SRichard Acayan <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>; 464*07c8ded6SRichard Acayan iommus = <&apps_smmu 0x3 0x0>; 465*07c8ded6SRichard Acayan #address-cells = <2>; 466*07c8ded6SRichard Acayan #size-cells = <2>; 467*07c8ded6SRichard Acayan ranges; 468*07c8ded6SRichard Acayan status = "disabled"; 469*07c8ded6SRichard Acayan 470*07c8ded6SRichard Acayan i2c0: i2c@880000 { 471*07c8ded6SRichard Acayan compatible = "qcom,geni-i2c"; 472*07c8ded6SRichard Acayan reg = <0 0x00880000 0 0x4000>; 473*07c8ded6SRichard Acayan clock-names = "se"; 474*07c8ded6SRichard Acayan clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>; 475*07c8ded6SRichard Acayan pinctrl-names = "default"; 476*07c8ded6SRichard Acayan pinctrl-0 = <&qup_i2c0_default>; 477*07c8ded6SRichard Acayan interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>; 478*07c8ded6SRichard Acayan #address-cells = <1>; 479*07c8ded6SRichard Acayan #size-cells = <0>; 480*07c8ded6SRichard Acayan power-domains = <&rpmhpd SDM670_CX>; 481*07c8ded6SRichard Acayan dmas = <&gpi_dma0 0 0 QCOM_GPI_I2C>, 482*07c8ded6SRichard Acayan <&gpi_dma0 1 0 QCOM_GPI_I2C>; 483*07c8ded6SRichard Acayan dma-names = "tx", "rx"; 484*07c8ded6SRichard Acayan status = "disabled"; 485*07c8ded6SRichard Acayan }; 486*07c8ded6SRichard Acayan 487*07c8ded6SRichard Acayan i2c1: i2c@884000 { 488*07c8ded6SRichard Acayan compatible = "qcom,geni-i2c"; 489*07c8ded6SRichard Acayan reg = <0 0x00884000 0 0x4000>; 490*07c8ded6SRichard Acayan clock-names = "se"; 491*07c8ded6SRichard Acayan clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>; 492*07c8ded6SRichard Acayan pinctrl-names = "default"; 493*07c8ded6SRichard Acayan pinctrl-0 = <&qup_i2c1_default>; 494*07c8ded6SRichard Acayan interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>; 495*07c8ded6SRichard Acayan #address-cells = <1>; 496*07c8ded6SRichard Acayan #size-cells = <0>; 497*07c8ded6SRichard Acayan power-domains = <&rpmhpd SDM670_CX>; 498*07c8ded6SRichard Acayan dmas = <&gpi_dma0 0 1 QCOM_GPI_I2C>, 499*07c8ded6SRichard Acayan <&gpi_dma0 1 1 QCOM_GPI_I2C>; 500*07c8ded6SRichard Acayan dma-names = "tx", "rx"; 501*07c8ded6SRichard Acayan status = "disabled"; 502*07c8ded6SRichard Acayan }; 503*07c8ded6SRichard Acayan 504*07c8ded6SRichard Acayan i2c2: i2c@888000 { 505*07c8ded6SRichard Acayan compatible = "qcom,geni-i2c"; 506*07c8ded6SRichard Acayan reg = <0 0x00888000 0 0x4000>; 507*07c8ded6SRichard Acayan clock-names = "se"; 508*07c8ded6SRichard Acayan clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>; 509*07c8ded6SRichard Acayan pinctrl-names = "default"; 510*07c8ded6SRichard Acayan pinctrl-0 = <&qup_i2c2_default>; 511*07c8ded6SRichard Acayan interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>; 512*07c8ded6SRichard Acayan #address-cells = <1>; 513*07c8ded6SRichard Acayan #size-cells = <0>; 514*07c8ded6SRichard Acayan power-domains = <&rpmhpd SDM670_CX>; 515*07c8ded6SRichard Acayan dmas = <&gpi_dma0 0 2 QCOM_GPI_I2C>, 516*07c8ded6SRichard Acayan <&gpi_dma0 1 2 QCOM_GPI_I2C>; 517*07c8ded6SRichard Acayan dma-names = "tx", "rx"; 518*07c8ded6SRichard Acayan status = "disabled"; 519*07c8ded6SRichard Acayan }; 520*07c8ded6SRichard Acayan 521*07c8ded6SRichard Acayan i2c3: i2c@88c000 { 522*07c8ded6SRichard Acayan compatible = "qcom,geni-i2c"; 523*07c8ded6SRichard Acayan reg = <0 0x0088c000 0 0x4000>; 524*07c8ded6SRichard Acayan clock-names = "se"; 525*07c8ded6SRichard Acayan clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>; 526*07c8ded6SRichard Acayan pinctrl-names = "default"; 527*07c8ded6SRichard Acayan pinctrl-0 = <&qup_i2c3_default>; 528*07c8ded6SRichard Acayan interrupts = <GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>; 529*07c8ded6SRichard Acayan #address-cells = <1>; 530*07c8ded6SRichard Acayan #size-cells = <0>; 531*07c8ded6SRichard Acayan power-domains = <&rpmhpd SDM670_CX>; 532*07c8ded6SRichard Acayan dmas = <&gpi_dma0 0 3 QCOM_GPI_I2C>, 533*07c8ded6SRichard Acayan <&gpi_dma0 1 3 QCOM_GPI_I2C>; 534*07c8ded6SRichard Acayan dma-names = "tx", "rx"; 535*07c8ded6SRichard Acayan status = "disabled"; 536*07c8ded6SRichard Acayan }; 537*07c8ded6SRichard Acayan 538*07c8ded6SRichard Acayan i2c4: i2c@890000 { 539*07c8ded6SRichard Acayan compatible = "qcom,geni-i2c"; 540*07c8ded6SRichard Acayan reg = <0 0x00890000 0 0x4000>; 541*07c8ded6SRichard Acayan clock-names = "se"; 542*07c8ded6SRichard Acayan clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>; 543*07c8ded6SRichard Acayan pinctrl-names = "default"; 544*07c8ded6SRichard Acayan pinctrl-0 = <&qup_i2c4_default>; 545*07c8ded6SRichard Acayan interrupts = <GIC_SPI 605 IRQ_TYPE_LEVEL_HIGH>; 546*07c8ded6SRichard Acayan #address-cells = <1>; 547*07c8ded6SRichard Acayan #size-cells = <0>; 548*07c8ded6SRichard Acayan power-domains = <&rpmhpd SDM670_CX>; 549*07c8ded6SRichard Acayan dmas = <&gpi_dma0 0 4 QCOM_GPI_I2C>, 550*07c8ded6SRichard Acayan <&gpi_dma0 1 4 QCOM_GPI_I2C>; 551*07c8ded6SRichard Acayan dma-names = "tx", "rx"; 552*07c8ded6SRichard Acayan status = "disabled"; 553*07c8ded6SRichard Acayan }; 554*07c8ded6SRichard Acayan 555*07c8ded6SRichard Acayan i2c5: i2c@894000 { 556*07c8ded6SRichard Acayan compatible = "qcom,geni-i2c"; 557*07c8ded6SRichard Acayan reg = <0 0x00894000 0 0x4000>; 558*07c8ded6SRichard Acayan clock-names = "se"; 559*07c8ded6SRichard Acayan clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>; 560*07c8ded6SRichard Acayan pinctrl-names = "default"; 561*07c8ded6SRichard Acayan pinctrl-0 = <&qup_i2c5_default>; 562*07c8ded6SRichard Acayan interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>; 563*07c8ded6SRichard Acayan #address-cells = <1>; 564*07c8ded6SRichard Acayan #size-cells = <0>; 565*07c8ded6SRichard Acayan power-domains = <&rpmhpd SDM670_CX>; 566*07c8ded6SRichard Acayan dmas = <&gpi_dma0 0 5 QCOM_GPI_I2C>, 567*07c8ded6SRichard Acayan <&gpi_dma0 1 5 QCOM_GPI_I2C>; 568*07c8ded6SRichard Acayan dma-names = "tx", "rx"; 569*07c8ded6SRichard Acayan status = "disabled"; 570*07c8ded6SRichard Acayan }; 571*07c8ded6SRichard Acayan 572*07c8ded6SRichard Acayan i2c6: i2c@898000 { 573*07c8ded6SRichard Acayan compatible = "qcom,geni-i2c"; 574*07c8ded6SRichard Acayan reg = <0 0x00898000 0 0x4000>; 575*07c8ded6SRichard Acayan clock-names = "se"; 576*07c8ded6SRichard Acayan clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>; 577*07c8ded6SRichard Acayan pinctrl-names = "default"; 578*07c8ded6SRichard Acayan pinctrl-0 = <&qup_i2c6_default>; 579*07c8ded6SRichard Acayan interrupts = <GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>; 580*07c8ded6SRichard Acayan #address-cells = <1>; 581*07c8ded6SRichard Acayan #size-cells = <0>; 582*07c8ded6SRichard Acayan power-domains = <&rpmhpd SDM670_CX>; 583*07c8ded6SRichard Acayan dmas = <&gpi_dma0 0 6 QCOM_GPI_I2C>, 584*07c8ded6SRichard Acayan <&gpi_dma0 1 6 QCOM_GPI_I2C>; 585*07c8ded6SRichard Acayan dma-names = "tx", "rx"; 586*07c8ded6SRichard Acayan status = "disabled"; 587*07c8ded6SRichard Acayan }; 588*07c8ded6SRichard Acayan 589*07c8ded6SRichard Acayan i2c7: i2c@89c000 { 590*07c8ded6SRichard Acayan compatible = "qcom,geni-i2c"; 591*07c8ded6SRichard Acayan reg = <0 0x0089c000 0 0x4000>; 592*07c8ded6SRichard Acayan clock-names = "se"; 593*07c8ded6SRichard Acayan clocks = <&gcc GCC_QUPV3_WRAP0_S7_CLK>; 594*07c8ded6SRichard Acayan pinctrl-names = "default"; 595*07c8ded6SRichard Acayan pinctrl-0 = <&qup_i2c7_default>; 596*07c8ded6SRichard Acayan interrupts = <GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>; 597*07c8ded6SRichard Acayan #address-cells = <1>; 598*07c8ded6SRichard Acayan #size-cells = <0>; 599*07c8ded6SRichard Acayan power-domains = <&rpmhpd SDM670_CX>; 600*07c8ded6SRichard Acayan dmas = <&gpi_dma0 0 7 QCOM_GPI_I2C>, 601*07c8ded6SRichard Acayan <&gpi_dma0 1 7 QCOM_GPI_I2C>; 602*07c8ded6SRichard Acayan dma-names = "tx", "rx"; 603*07c8ded6SRichard Acayan status = "disabled"; 604*07c8ded6SRichard Acayan }; 605*07c8ded6SRichard Acayan }; 606*07c8ded6SRichard Acayan 607*07c8ded6SRichard Acayan gpi_dma1: dma-controller@a00000 { 608*07c8ded6SRichard Acayan #dma-cells = <3>; 609*07c8ded6SRichard Acayan compatible = "qcom,sdm670-gpi-dma", "qcom,sdm845-gpi-dma"; 610*07c8ded6SRichard Acayan reg = <0 0x00a00000 0 0x60000>; 611*07c8ded6SRichard Acayan interrupts = <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>, 612*07c8ded6SRichard Acayan <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH>, 613*07c8ded6SRichard Acayan <GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH>, 614*07c8ded6SRichard Acayan <GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>, 615*07c8ded6SRichard Acayan <GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>, 616*07c8ded6SRichard Acayan <GIC_SPI 284 IRQ_TYPE_LEVEL_HIGH>, 617*07c8ded6SRichard Acayan <GIC_SPI 293 IRQ_TYPE_LEVEL_HIGH>, 618*07c8ded6SRichard Acayan <GIC_SPI 294 IRQ_TYPE_LEVEL_HIGH>, 619*07c8ded6SRichard Acayan <GIC_SPI 295 IRQ_TYPE_LEVEL_HIGH>, 620*07c8ded6SRichard Acayan <GIC_SPI 296 IRQ_TYPE_LEVEL_HIGH>, 621*07c8ded6SRichard Acayan <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>, 622*07c8ded6SRichard Acayan <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>, 623*07c8ded6SRichard Acayan <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>; 624*07c8ded6SRichard Acayan dma-channels = <13>; 625*07c8ded6SRichard Acayan dma-channel-mask = <0xfa>; 626*07c8ded6SRichard Acayan iommus = <&apps_smmu 0x6d6 0x0>; 627*07c8ded6SRichard Acayan status = "disabled"; 628*07c8ded6SRichard Acayan }; 629*07c8ded6SRichard Acayan 630*07c8ded6SRichard Acayan qupv3_id_1: geniqup@ac0000 { 631*07c8ded6SRichard Acayan compatible = "qcom,geni-se-qup"; 632*07c8ded6SRichard Acayan reg = <0 0x00ac0000 0 0x6000>; 633*07c8ded6SRichard Acayan clock-names = "m-ahb", "s-ahb"; 634*07c8ded6SRichard Acayan clocks = <&gcc GCC_QUPV3_WRAP_1_M_AHB_CLK>, 635*07c8ded6SRichard Acayan <&gcc GCC_QUPV3_WRAP_1_S_AHB_CLK>; 636*07c8ded6SRichard Acayan iommus = <&apps_smmu 0x6c3 0x0>; 637*07c8ded6SRichard Acayan #address-cells = <2>; 638*07c8ded6SRichard Acayan #size-cells = <2>; 639*07c8ded6SRichard Acayan ranges; 640*07c8ded6SRichard Acayan status = "disabled"; 641*07c8ded6SRichard Acayan 642*07c8ded6SRichard Acayan i2c8: i2c@a80000 { 643*07c8ded6SRichard Acayan compatible = "qcom,geni-i2c"; 644*07c8ded6SRichard Acayan reg = <0 0x00a80000 0 0x4000>; 645*07c8ded6SRichard Acayan clock-names = "se"; 646*07c8ded6SRichard Acayan clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>; 647*07c8ded6SRichard Acayan pinctrl-names = "default"; 648*07c8ded6SRichard Acayan pinctrl-0 = <&qup_i2c8_default>; 649*07c8ded6SRichard Acayan interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>; 650*07c8ded6SRichard Acayan #address-cells = <1>; 651*07c8ded6SRichard Acayan #size-cells = <0>; 652*07c8ded6SRichard Acayan power-domains = <&rpmhpd SDM670_CX>; 653*07c8ded6SRichard Acayan dmas = <&gpi_dma1 0 0 QCOM_GPI_I2C>, 654*07c8ded6SRichard Acayan <&gpi_dma1 1 0 QCOM_GPI_I2C>; 655*07c8ded6SRichard Acayan dma-names = "tx", "rx"; 656*07c8ded6SRichard Acayan status = "disabled"; 657*07c8ded6SRichard Acayan }; 658*07c8ded6SRichard Acayan 659*07c8ded6SRichard Acayan i2c9: i2c@a84000 { 660*07c8ded6SRichard Acayan compatible = "qcom,geni-i2c"; 661*07c8ded6SRichard Acayan reg = <0 0x00a84000 0 0x4000>; 662*07c8ded6SRichard Acayan clock-names = "se"; 663*07c8ded6SRichard Acayan clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>; 664*07c8ded6SRichard Acayan pinctrl-names = "default"; 665*07c8ded6SRichard Acayan pinctrl-0 = <&qup_i2c9_default>; 666*07c8ded6SRichard Acayan interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>; 667*07c8ded6SRichard Acayan #address-cells = <1>; 668*07c8ded6SRichard Acayan #size-cells = <0>; 669*07c8ded6SRichard Acayan power-domains = <&rpmhpd SDM670_CX>; 670*07c8ded6SRichard Acayan dmas = <&gpi_dma1 0 1 QCOM_GPI_I2C>, 671*07c8ded6SRichard Acayan <&gpi_dma1 1 1 QCOM_GPI_I2C>; 672*07c8ded6SRichard Acayan dma-names = "tx", "rx"; 673*07c8ded6SRichard Acayan status = "disabled"; 674*07c8ded6SRichard Acayan }; 675*07c8ded6SRichard Acayan 676*07c8ded6SRichard Acayan i2c10: i2c@a88000 { 677*07c8ded6SRichard Acayan compatible = "qcom,geni-i2c"; 678*07c8ded6SRichard Acayan reg = <0 0x00a88000 0 0x4000>; 679*07c8ded6SRichard Acayan clock-names = "se"; 680*07c8ded6SRichard Acayan clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>; 681*07c8ded6SRichard Acayan pinctrl-names = "default"; 682*07c8ded6SRichard Acayan pinctrl-0 = <&qup_i2c10_default>; 683*07c8ded6SRichard Acayan interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>; 684*07c8ded6SRichard Acayan #address-cells = <1>; 685*07c8ded6SRichard Acayan #size-cells = <0>; 686*07c8ded6SRichard Acayan power-domains = <&rpmhpd SDM670_CX>; 687*07c8ded6SRichard Acayan dmas = <&gpi_dma1 0 2 QCOM_GPI_I2C>, 688*07c8ded6SRichard Acayan <&gpi_dma1 1 2 QCOM_GPI_I2C>; 689*07c8ded6SRichard Acayan dma-names = "tx", "rx"; 690*07c8ded6SRichard Acayan status = "disabled"; 691*07c8ded6SRichard Acayan }; 692*07c8ded6SRichard Acayan 693*07c8ded6SRichard Acayan i2c11: i2c@a8c000 { 694*07c8ded6SRichard Acayan compatible = "qcom,geni-i2c"; 695*07c8ded6SRichard Acayan reg = <0 0x00a8c000 0 0x4000>; 696*07c8ded6SRichard Acayan clock-names = "se"; 697*07c8ded6SRichard Acayan clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>; 698*07c8ded6SRichard Acayan pinctrl-names = "default"; 699*07c8ded6SRichard Acayan pinctrl-0 = <&qup_i2c11_default>; 700*07c8ded6SRichard Acayan interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>; 701*07c8ded6SRichard Acayan #address-cells = <1>; 702*07c8ded6SRichard Acayan #size-cells = <0>; 703*07c8ded6SRichard Acayan power-domains = <&rpmhpd SDM670_CX>; 704*07c8ded6SRichard Acayan dmas = <&gpi_dma1 0 3 QCOM_GPI_I2C>, 705*07c8ded6SRichard Acayan <&gpi_dma1 1 3 QCOM_GPI_I2C>; 706*07c8ded6SRichard Acayan dma-names = "tx", "rx"; 707*07c8ded6SRichard Acayan status = "disabled"; 708*07c8ded6SRichard Acayan }; 709*07c8ded6SRichard Acayan 710*07c8ded6SRichard Acayan i2c12: i2c@a90000 { 711*07c8ded6SRichard Acayan compatible = "qcom,geni-i2c"; 712*07c8ded6SRichard Acayan reg = <0 0x00a90000 0 0x4000>; 713*07c8ded6SRichard Acayan clock-names = "se"; 714*07c8ded6SRichard Acayan clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>; 715*07c8ded6SRichard Acayan pinctrl-names = "default"; 716*07c8ded6SRichard Acayan pinctrl-0 = <&qup_i2c12_default>; 717*07c8ded6SRichard Acayan interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>; 718*07c8ded6SRichard Acayan #address-cells = <1>; 719*07c8ded6SRichard Acayan #size-cells = <0>; 720*07c8ded6SRichard Acayan power-domains = <&rpmhpd SDM670_CX>; 721*07c8ded6SRichard Acayan dmas = <&gpi_dma1 0 4 QCOM_GPI_I2C>, 722*07c8ded6SRichard Acayan <&gpi_dma1 1 4 QCOM_GPI_I2C>; 723*07c8ded6SRichard Acayan dma-names = "tx", "rx"; 724*07c8ded6SRichard Acayan status = "disabled"; 725*07c8ded6SRichard Acayan }; 726*07c8ded6SRichard Acayan 727*07c8ded6SRichard Acayan i2c13: i2c@a94000 { 728*07c8ded6SRichard Acayan compatible = "qcom,geni-i2c"; 729*07c8ded6SRichard Acayan reg = <0 0x00a94000 0 0x4000>; 730*07c8ded6SRichard Acayan clock-names = "se"; 731*07c8ded6SRichard Acayan clocks = <&gcc GCC_QUPV3_WRAP1_S5_CLK>; 732*07c8ded6SRichard Acayan pinctrl-names = "default"; 733*07c8ded6SRichard Acayan pinctrl-0 = <&qup_i2c13_default>; 734*07c8ded6SRichard Acayan interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>; 735*07c8ded6SRichard Acayan #address-cells = <1>; 736*07c8ded6SRichard Acayan #size-cells = <0>; 737*07c8ded6SRichard Acayan power-domains = <&rpmhpd SDM670_CX>; 738*07c8ded6SRichard Acayan dmas = <&gpi_dma1 0 5 QCOM_GPI_I2C>, 739*07c8ded6SRichard Acayan <&gpi_dma1 1 5 QCOM_GPI_I2C>; 740*07c8ded6SRichard Acayan dma-names = "tx", "rx"; 741*07c8ded6SRichard Acayan status = "disabled"; 742*07c8ded6SRichard Acayan }; 743*07c8ded6SRichard Acayan 744*07c8ded6SRichard Acayan i2c14: i2c@a98000 { 745*07c8ded6SRichard Acayan compatible = "qcom,geni-i2c"; 746*07c8ded6SRichard Acayan reg = <0 0x00a98000 0 0x4000>; 747*07c8ded6SRichard Acayan clock-names = "se"; 748*07c8ded6SRichard Acayan clocks = <&gcc GCC_QUPV3_WRAP1_S6_CLK>; 749*07c8ded6SRichard Acayan pinctrl-names = "default"; 750*07c8ded6SRichard Acayan pinctrl-0 = <&qup_i2c14_default>; 751*07c8ded6SRichard Acayan interrupts = <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>; 752*07c8ded6SRichard Acayan #address-cells = <1>; 753*07c8ded6SRichard Acayan #size-cells = <0>; 754*07c8ded6SRichard Acayan power-domains = <&rpmhpd SDM670_CX>; 755*07c8ded6SRichard Acayan dmas = <&gpi_dma1 0 6 QCOM_GPI_I2C>, 756*07c8ded6SRichard Acayan <&gpi_dma1 1 6 QCOM_GPI_I2C>; 757*07c8ded6SRichard Acayan dma-names = "tx", "rx"; 758*07c8ded6SRichard Acayan status = "disabled"; 759*07c8ded6SRichard Acayan }; 760*07c8ded6SRichard Acayan 761*07c8ded6SRichard Acayan i2c15: i2c@a9c000 { 762*07c8ded6SRichard Acayan compatible = "qcom,geni-i2c"; 763*07c8ded6SRichard Acayan reg = <0 0x00a9c000 0 0x4000>; 764*07c8ded6SRichard Acayan clock-names = "se"; 765*07c8ded6SRichard Acayan clocks = <&gcc GCC_QUPV3_WRAP1_S7_CLK>; 766*07c8ded6SRichard Acayan pinctrl-names = "default"; 767*07c8ded6SRichard Acayan pinctrl-0 = <&qup_i2c15_default>; 768*07c8ded6SRichard Acayan interrupts = <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>; 769*07c8ded6SRichard Acayan #address-cells = <1>; 770*07c8ded6SRichard Acayan #size-cells = <0>; 771*07c8ded6SRichard Acayan power-domains = <&rpmhpd SDM670_CX>; 772*07c8ded6SRichard Acayan dmas = <&gpi_dma1 0 7 QCOM_GPI_I2C>, 773*07c8ded6SRichard Acayan <&gpi_dma1 1 7 QCOM_GPI_I2C>; 774*07c8ded6SRichard Acayan dma-names = "tx", "rx"; 775*07c8ded6SRichard Acayan status = "disabled"; 776*07c8ded6SRichard Acayan }; 777*07c8ded6SRichard Acayan }; 778*07c8ded6SRichard Acayan 779*07c8ded6SRichard Acayan tlmm: pinctrl@3400000 { 780*07c8ded6SRichard Acayan compatible = "qcom,sdm670-tlmm"; 781*07c8ded6SRichard Acayan reg = <0 0x03400000 0 0xc00000>; 782*07c8ded6SRichard Acayan interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 783*07c8ded6SRichard Acayan gpio-controller; 784*07c8ded6SRichard Acayan #gpio-cells = <2>; 785*07c8ded6SRichard Acayan interrupt-controller; 786*07c8ded6SRichard Acayan #interrupt-cells = <2>; 787*07c8ded6SRichard Acayan gpio-ranges = <&tlmm 0 0 151>; 788*07c8ded6SRichard Acayan 789*07c8ded6SRichard Acayan qup_i2c0_default: qup-i2c0-default-state { 790*07c8ded6SRichard Acayan pins = "gpio0", "gpio1"; 791*07c8ded6SRichard Acayan function = "qup0"; 792*07c8ded6SRichard Acayan }; 793*07c8ded6SRichard Acayan 794*07c8ded6SRichard Acayan qup_i2c1_default: qup-i2c1-default-state { 795*07c8ded6SRichard Acayan pins = "gpio17", "gpio18"; 796*07c8ded6SRichard Acayan function = "qup1"; 797*07c8ded6SRichard Acayan }; 798*07c8ded6SRichard Acayan 799*07c8ded6SRichard Acayan qup_i2c2_default: qup-i2c2-default-state { 800*07c8ded6SRichard Acayan pins = "gpio27", "gpio28"; 801*07c8ded6SRichard Acayan function = "qup2"; 802*07c8ded6SRichard Acayan }; 803*07c8ded6SRichard Acayan 804*07c8ded6SRichard Acayan qup_i2c3_default: qup-i2c3-default-state { 805*07c8ded6SRichard Acayan pins = "gpio41", "gpio42"; 806*07c8ded6SRichard Acayan function = "qup3"; 807*07c8ded6SRichard Acayan }; 808*07c8ded6SRichard Acayan 809*07c8ded6SRichard Acayan qup_i2c4_default: qup-i2c4-default-state { 810*07c8ded6SRichard Acayan pins = "gpio89", "gpio90"; 811*07c8ded6SRichard Acayan function = "qup4"; 812*07c8ded6SRichard Acayan }; 813*07c8ded6SRichard Acayan 814*07c8ded6SRichard Acayan qup_i2c5_default: qup-i2c5-default-state { 815*07c8ded6SRichard Acayan pins = "gpio85", "gpio86"; 816*07c8ded6SRichard Acayan function = "qup5"; 817*07c8ded6SRichard Acayan }; 818*07c8ded6SRichard Acayan 819*07c8ded6SRichard Acayan qup_i2c6_default: qup-i2c6-default-state { 820*07c8ded6SRichard Acayan pins = "gpio45", "gpio46"; 821*07c8ded6SRichard Acayan function = "qup6"; 822*07c8ded6SRichard Acayan }; 823*07c8ded6SRichard Acayan 824*07c8ded6SRichard Acayan qup_i2c7_default: qup-i2c7-default-state { 825*07c8ded6SRichard Acayan pins = "gpio93", "gpio94"; 826*07c8ded6SRichard Acayan function = "qup7"; 827*07c8ded6SRichard Acayan }; 828*07c8ded6SRichard Acayan 829*07c8ded6SRichard Acayan qup_i2c8_default: qup-i2c8-default-state { 830*07c8ded6SRichard Acayan pins = "gpio65", "gpio66"; 831*07c8ded6SRichard Acayan function = "qup8"; 832*07c8ded6SRichard Acayan }; 833*07c8ded6SRichard Acayan 834*07c8ded6SRichard Acayan qup_i2c9_default: qup-i2c9-default-state { 835*07c8ded6SRichard Acayan pins = "gpio6", "gpio7"; 836*07c8ded6SRichard Acayan function = "qup9"; 837*07c8ded6SRichard Acayan }; 838*07c8ded6SRichard Acayan 839*07c8ded6SRichard Acayan qup_i2c10_default: qup-i2c10-default-state { 840*07c8ded6SRichard Acayan pins = "gpio55", "gpio56"; 841*07c8ded6SRichard Acayan function = "qup10"; 842*07c8ded6SRichard Acayan }; 843*07c8ded6SRichard Acayan 844*07c8ded6SRichard Acayan qup_i2c11_default: qup-i2c11-default-state { 845*07c8ded6SRichard Acayan pins = "gpio31", "gpio32"; 846*07c8ded6SRichard Acayan function = "qup11"; 847*07c8ded6SRichard Acayan }; 848*07c8ded6SRichard Acayan 849*07c8ded6SRichard Acayan qup_i2c12_default: qup-i2c12-default-state { 850*07c8ded6SRichard Acayan pins = "gpio49", "gpio50"; 851*07c8ded6SRichard Acayan function = "qup12"; 852*07c8ded6SRichard Acayan }; 853*07c8ded6SRichard Acayan 854*07c8ded6SRichard Acayan qup_i2c13_default: qup-i2c13-default-state { 855*07c8ded6SRichard Acayan pins = "gpio105", "gpio106"; 856*07c8ded6SRichard Acayan function = "qup13"; 857*07c8ded6SRichard Acayan }; 858*07c8ded6SRichard Acayan 859*07c8ded6SRichard Acayan qup_i2c14_default: qup-i2c14-default-state { 860*07c8ded6SRichard Acayan pins = "gpio33", "gpio34"; 861*07c8ded6SRichard Acayan function = "qup14"; 862*07c8ded6SRichard Acayan }; 863*07c8ded6SRichard Acayan 864*07c8ded6SRichard Acayan qup_i2c15_default: qup-i2c15-default-state { 865*07c8ded6SRichard Acayan pins = "gpio81", "gpio82"; 866*07c8ded6SRichard Acayan function = "qup15"; 867*07c8ded6SRichard Acayan }; 868*07c8ded6SRichard Acayan 869*07c8ded6SRichard Acayan sdc1_state_on: sdc1-on-state { 870*07c8ded6SRichard Acayan clk-pins { 871*07c8ded6SRichard Acayan pins = "sdc1_clk"; 872*07c8ded6SRichard Acayan bias-disable; 873*07c8ded6SRichard Acayan drive-strength = <16>; 874*07c8ded6SRichard Acayan }; 875*07c8ded6SRichard Acayan 876*07c8ded6SRichard Acayan cmd-pins { 877*07c8ded6SRichard Acayan pins = "sdc1_cmd"; 878*07c8ded6SRichard Acayan bias-pull-up; 879*07c8ded6SRichard Acayan drive-strength = <10>; 880*07c8ded6SRichard Acayan }; 881*07c8ded6SRichard Acayan 882*07c8ded6SRichard Acayan data-pins { 883*07c8ded6SRichard Acayan pins = "sdc1_data"; 884*07c8ded6SRichard Acayan bias-pull-up; 885*07c8ded6SRichard Acayan drive-strength = <10>; 886*07c8ded6SRichard Acayan }; 887*07c8ded6SRichard Acayan 888*07c8ded6SRichard Acayan rclk-pins { 889*07c8ded6SRichard Acayan pins = "sdc1_rclk"; 890*07c8ded6SRichard Acayan bias-pull-down; 891*07c8ded6SRichard Acayan }; 892*07c8ded6SRichard Acayan }; 893*07c8ded6SRichard Acayan 894*07c8ded6SRichard Acayan sdc1_state_off: sdc1-off-state { 895*07c8ded6SRichard Acayan clk-pins { 896*07c8ded6SRichard Acayan pins = "sdc1_clk"; 897*07c8ded6SRichard Acayan bias-disable; 898*07c8ded6SRichard Acayan drive-strength = <2>; 899*07c8ded6SRichard Acayan }; 900*07c8ded6SRichard Acayan 901*07c8ded6SRichard Acayan cmd-pins { 902*07c8ded6SRichard Acayan pins = "sdc1_cmd"; 903*07c8ded6SRichard Acayan bias-pull-up; 904*07c8ded6SRichard Acayan drive-strength = <2>; 905*07c8ded6SRichard Acayan }; 906*07c8ded6SRichard Acayan 907*07c8ded6SRichard Acayan data-pins { 908*07c8ded6SRichard Acayan pins = "sdc1_data"; 909*07c8ded6SRichard Acayan bias-pull-up; 910*07c8ded6SRichard Acayan drive-strength = <2>; 911*07c8ded6SRichard Acayan }; 912*07c8ded6SRichard Acayan 913*07c8ded6SRichard Acayan rclk-pins { 914*07c8ded6SRichard Acayan pins = "sdc1_rclk"; 915*07c8ded6SRichard Acayan bias-pull-down; 916*07c8ded6SRichard Acayan }; 917*07c8ded6SRichard Acayan }; 918*07c8ded6SRichard Acayan }; 919*07c8ded6SRichard Acayan 920*07c8ded6SRichard Acayan usb_1_hsphy: phy@88e2000 { 921*07c8ded6SRichard Acayan compatible = "qcom,sdm670-qusb2-phy", "qcom,qusb2-v2-phy"; 922*07c8ded6SRichard Acayan reg = <0 0x088e2000 0 0x400>; 923*07c8ded6SRichard Acayan #phy-cells = <0>; 924*07c8ded6SRichard Acayan 925*07c8ded6SRichard Acayan clocks = <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>, 926*07c8ded6SRichard Acayan <&rpmhcc RPMH_CXO_CLK>; 927*07c8ded6SRichard Acayan clock-names = "cfg_ahb", "ref"; 928*07c8ded6SRichard Acayan 929*07c8ded6SRichard Acayan resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>; 930*07c8ded6SRichard Acayan 931*07c8ded6SRichard Acayan status = "disabled"; 932*07c8ded6SRichard Acayan }; 933*07c8ded6SRichard Acayan 934*07c8ded6SRichard Acayan usb_1: usb@a6f8800 { 935*07c8ded6SRichard Acayan compatible = "qcom,sdm670-dwc3", "qcom,dwc3"; 936*07c8ded6SRichard Acayan reg = <0 0x0a6f8800 0 0x400>; 937*07c8ded6SRichard Acayan #address-cells = <2>; 938*07c8ded6SRichard Acayan #size-cells = <2>; 939*07c8ded6SRichard Acayan ranges; 940*07c8ded6SRichard Acayan dma-ranges; 941*07c8ded6SRichard Acayan 942*07c8ded6SRichard Acayan clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>, 943*07c8ded6SRichard Acayan <&gcc GCC_USB30_PRIM_MASTER_CLK>, 944*07c8ded6SRichard Acayan <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>, 945*07c8ded6SRichard Acayan <&gcc GCC_USB30_PRIM_SLEEP_CLK>, 946*07c8ded6SRichard Acayan <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>; 947*07c8ded6SRichard Acayan clock-names = "cfg_noc", 948*07c8ded6SRichard Acayan "core", 949*07c8ded6SRichard Acayan "iface", 950*07c8ded6SRichard Acayan "sleep", 951*07c8ded6SRichard Acayan "mock_utmi"; 952*07c8ded6SRichard Acayan 953*07c8ded6SRichard Acayan assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>, 954*07c8ded6SRichard Acayan <&gcc GCC_USB30_PRIM_MASTER_CLK>; 955*07c8ded6SRichard Acayan assigned-clock-rates = <19200000>, <150000000>; 956*07c8ded6SRichard Acayan 957*07c8ded6SRichard Acayan interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>, 958*07c8ded6SRichard Acayan <GIC_SPI 486 IRQ_TYPE_LEVEL_HIGH>, 959*07c8ded6SRichard Acayan <GIC_SPI 488 IRQ_TYPE_LEVEL_HIGH>, 960*07c8ded6SRichard Acayan <GIC_SPI 489 IRQ_TYPE_LEVEL_HIGH>; 961*07c8ded6SRichard Acayan interrupt-names = "hs_phy_irq", "ss_phy_irq", 962*07c8ded6SRichard Acayan "dm_hs_phy_irq", "dp_hs_phy_irq"; 963*07c8ded6SRichard Acayan 964*07c8ded6SRichard Acayan power-domains = <&gcc USB30_PRIM_GDSC>; 965*07c8ded6SRichard Acayan 966*07c8ded6SRichard Acayan resets = <&gcc GCC_USB30_PRIM_BCR>; 967*07c8ded6SRichard Acayan 968*07c8ded6SRichard Acayan status = "disabled"; 969*07c8ded6SRichard Acayan 970*07c8ded6SRichard Acayan usb_1_dwc3: usb@a600000 { 971*07c8ded6SRichard Acayan compatible = "snps,dwc3"; 972*07c8ded6SRichard Acayan reg = <0 0x0a600000 0 0xcd00>; 973*07c8ded6SRichard Acayan interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>; 974*07c8ded6SRichard Acayan iommus = <&apps_smmu 0x740 0>; 975*07c8ded6SRichard Acayan snps,dis_u2_susphy_quirk; 976*07c8ded6SRichard Acayan snps,dis_enblslpm_quirk; 977*07c8ded6SRichard Acayan phys = <&usb_1_hsphy>; 978*07c8ded6SRichard Acayan phy-names = "usb2-phy"; 979*07c8ded6SRichard Acayan }; 980*07c8ded6SRichard Acayan }; 981*07c8ded6SRichard Acayan 982*07c8ded6SRichard Acayan spmi_bus: spmi@c440000 { 983*07c8ded6SRichard Acayan compatible = "qcom,spmi-pmic-arb"; 984*07c8ded6SRichard Acayan reg = <0 0x0c440000 0 0x1100>, 985*07c8ded6SRichard Acayan <0 0x0c600000 0 0x2000000>, 986*07c8ded6SRichard Acayan <0 0x0e600000 0 0x100000>, 987*07c8ded6SRichard Acayan <0 0x0e700000 0 0xa0000>, 988*07c8ded6SRichard Acayan <0 0x0c40a000 0 0x26000>; 989*07c8ded6SRichard Acayan reg-names = "core", "chnls", "obsrvr", "intr", "cnfg"; 990*07c8ded6SRichard Acayan interrupt-names = "periph_irq"; 991*07c8ded6SRichard Acayan interrupts = <GIC_SPI 481 IRQ_TYPE_LEVEL_HIGH>; 992*07c8ded6SRichard Acayan qcom,ee = <0>; 993*07c8ded6SRichard Acayan qcom,channel = <0>; 994*07c8ded6SRichard Acayan #address-cells = <2>; 995*07c8ded6SRichard Acayan #size-cells = <0>; 996*07c8ded6SRichard Acayan interrupt-controller; 997*07c8ded6SRichard Acayan #interrupt-cells = <4>; 998*07c8ded6SRichard Acayan }; 999*07c8ded6SRichard Acayan 1000*07c8ded6SRichard Acayan apps_smmu: iommu@15000000 { 1001*07c8ded6SRichard Acayan compatible = "qcom,sdm670-smmu-500", "qcom,smmu-500", "arm,mmu-500"; 1002*07c8ded6SRichard Acayan reg = <0 0x15000000 0 0x80000>; 1003*07c8ded6SRichard Acayan #iommu-cells = <2>; 1004*07c8ded6SRichard Acayan #global-interrupts = <1>; 1005*07c8ded6SRichard Acayan interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, 1006*07c8ded6SRichard Acayan <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>, 1007*07c8ded6SRichard Acayan <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>, 1008*07c8ded6SRichard Acayan <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, 1009*07c8ded6SRichard Acayan <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>, 1010*07c8ded6SRichard Acayan <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>, 1011*07c8ded6SRichard Acayan <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>, 1012*07c8ded6SRichard Acayan <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, 1013*07c8ded6SRichard Acayan <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>, 1014*07c8ded6SRichard Acayan <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>, 1015*07c8ded6SRichard Acayan <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>, 1016*07c8ded6SRichard Acayan <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>, 1017*07c8ded6SRichard Acayan <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>, 1018*07c8ded6SRichard Acayan <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>, 1019*07c8ded6SRichard Acayan <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>, 1020*07c8ded6SRichard Acayan <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>, 1021*07c8ded6SRichard Acayan <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>, 1022*07c8ded6SRichard Acayan <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>, 1023*07c8ded6SRichard Acayan <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>, 1024*07c8ded6SRichard Acayan <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>, 1025*07c8ded6SRichard Acayan <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>, 1026*07c8ded6SRichard Acayan <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>, 1027*07c8ded6SRichard Acayan <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>, 1028*07c8ded6SRichard Acayan <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, 1029*07c8ded6SRichard Acayan <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>, 1030*07c8ded6SRichard Acayan <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>, 1031*07c8ded6SRichard Acayan <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>, 1032*07c8ded6SRichard Acayan <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>, 1033*07c8ded6SRichard Acayan <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>, 1034*07c8ded6SRichard Acayan <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>, 1035*07c8ded6SRichard Acayan <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>, 1036*07c8ded6SRichard Acayan <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>, 1037*07c8ded6SRichard Acayan <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>, 1038*07c8ded6SRichard Acayan <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>, 1039*07c8ded6SRichard Acayan <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>, 1040*07c8ded6SRichard Acayan <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>, 1041*07c8ded6SRichard Acayan <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>, 1042*07c8ded6SRichard Acayan <GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>, 1043*07c8ded6SRichard Acayan <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>, 1044*07c8ded6SRichard Acayan <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>, 1045*07c8ded6SRichard Acayan <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>, 1046*07c8ded6SRichard Acayan <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>, 1047*07c8ded6SRichard Acayan <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>, 1048*07c8ded6SRichard Acayan <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH>, 1049*07c8ded6SRichard Acayan <GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH>, 1050*07c8ded6SRichard Acayan <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>, 1051*07c8ded6SRichard Acayan <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH>, 1052*07c8ded6SRichard Acayan <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>, 1053*07c8ded6SRichard Acayan <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>, 1054*07c8ded6SRichard Acayan <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>, 1055*07c8ded6SRichard Acayan <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>, 1056*07c8ded6SRichard Acayan <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>, 1057*07c8ded6SRichard Acayan <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>, 1058*07c8ded6SRichard Acayan <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>, 1059*07c8ded6SRichard Acayan <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>, 1060*07c8ded6SRichard Acayan <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>, 1061*07c8ded6SRichard Acayan <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>, 1062*07c8ded6SRichard Acayan <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>, 1063*07c8ded6SRichard Acayan <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>, 1064*07c8ded6SRichard Acayan <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>, 1065*07c8ded6SRichard Acayan <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>, 1066*07c8ded6SRichard Acayan <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>, 1067*07c8ded6SRichard Acayan <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>, 1068*07c8ded6SRichard Acayan <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>, 1069*07c8ded6SRichard Acayan <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>; 1070*07c8ded6SRichard Acayan }; 1071*07c8ded6SRichard Acayan 1072*07c8ded6SRichard Acayan apps_rsc: rsc@179c0000 { 1073*07c8ded6SRichard Acayan compatible = "qcom,rpmh-rsc"; 1074*07c8ded6SRichard Acayan reg = <0 0x179c0000 0 0x10000>, 1075*07c8ded6SRichard Acayan <0 0x179d0000 0 0x10000>, 1076*07c8ded6SRichard Acayan <0 0x179e0000 0 0x10000>; 1077*07c8ded6SRichard Acayan reg-names = "drv-0", "drv-1", "drv-2"; 1078*07c8ded6SRichard Acayan interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>, 1079*07c8ded6SRichard Acayan <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, 1080*07c8ded6SRichard Acayan <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 1081*07c8ded6SRichard Acayan label = "apps_rsc"; 1082*07c8ded6SRichard Acayan qcom,tcs-offset = <0xd00>; 1083*07c8ded6SRichard Acayan qcom,drv-id = <2>; 1084*07c8ded6SRichard Acayan qcom,tcs-config = <ACTIVE_TCS 2>, 1085*07c8ded6SRichard Acayan <SLEEP_TCS 3>, 1086*07c8ded6SRichard Acayan <WAKE_TCS 3>, 1087*07c8ded6SRichard Acayan <CONTROL_TCS 1>; 1088*07c8ded6SRichard Acayan 1089*07c8ded6SRichard Acayan apps_bcm_voter: bcm-voter { 1090*07c8ded6SRichard Acayan compatible = "qcom,bcm-voter"; 1091*07c8ded6SRichard Acayan }; 1092*07c8ded6SRichard Acayan 1093*07c8ded6SRichard Acayan rpmhcc: clock-controller { 1094*07c8ded6SRichard Acayan compatible = "qcom,sdm670-rpmh-clk"; 1095*07c8ded6SRichard Acayan #clock-cells = <1>; 1096*07c8ded6SRichard Acayan clock-names = "xo"; 1097*07c8ded6SRichard Acayan clocks = <&xo_board>; 1098*07c8ded6SRichard Acayan }; 1099*07c8ded6SRichard Acayan 1100*07c8ded6SRichard Acayan rpmhpd: power-controller { 1101*07c8ded6SRichard Acayan compatible = "qcom,sdm670-rpmhpd"; 1102*07c8ded6SRichard Acayan #power-domain-cells = <1>; 1103*07c8ded6SRichard Acayan operating-points-v2 = <&rpmhpd_opp_table>; 1104*07c8ded6SRichard Acayan 1105*07c8ded6SRichard Acayan rpmhpd_opp_table: opp-table { 1106*07c8ded6SRichard Acayan compatible = "operating-points-v2"; 1107*07c8ded6SRichard Acayan 1108*07c8ded6SRichard Acayan rpmhpd_opp_ret: opp1 { 1109*07c8ded6SRichard Acayan opp-level = <RPMH_REGULATOR_LEVEL_RETENTION>; 1110*07c8ded6SRichard Acayan }; 1111*07c8ded6SRichard Acayan 1112*07c8ded6SRichard Acayan rpmhpd_opp_min_svs: opp2 { 1113*07c8ded6SRichard Acayan opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>; 1114*07c8ded6SRichard Acayan }; 1115*07c8ded6SRichard Acayan 1116*07c8ded6SRichard Acayan rpmhpd_opp_low_svs: opp3 { 1117*07c8ded6SRichard Acayan opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>; 1118*07c8ded6SRichard Acayan }; 1119*07c8ded6SRichard Acayan 1120*07c8ded6SRichard Acayan rpmhpd_opp_svs: opp4 { 1121*07c8ded6SRichard Acayan opp-level = <RPMH_REGULATOR_LEVEL_SVS>; 1122*07c8ded6SRichard Acayan }; 1123*07c8ded6SRichard Acayan 1124*07c8ded6SRichard Acayan rpmhpd_opp_svs_l1: opp5 { 1125*07c8ded6SRichard Acayan opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>; 1126*07c8ded6SRichard Acayan }; 1127*07c8ded6SRichard Acayan 1128*07c8ded6SRichard Acayan rpmhpd_opp_nom: opp6 { 1129*07c8ded6SRichard Acayan opp-level = <RPMH_REGULATOR_LEVEL_NOM>; 1130*07c8ded6SRichard Acayan }; 1131*07c8ded6SRichard Acayan 1132*07c8ded6SRichard Acayan rpmhpd_opp_nom_l1: opp7 { 1133*07c8ded6SRichard Acayan opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>; 1134*07c8ded6SRichard Acayan }; 1135*07c8ded6SRichard Acayan 1136*07c8ded6SRichard Acayan rpmhpd_opp_nom_l2: opp8 { 1137*07c8ded6SRichard Acayan opp-level = <RPMH_REGULATOR_LEVEL_NOM_L2>; 1138*07c8ded6SRichard Acayan }; 1139*07c8ded6SRichard Acayan 1140*07c8ded6SRichard Acayan rpmhpd_opp_turbo: opp9 { 1141*07c8ded6SRichard Acayan opp-level = <RPMH_REGULATOR_LEVEL_TURBO>; 1142*07c8ded6SRichard Acayan }; 1143*07c8ded6SRichard Acayan 1144*07c8ded6SRichard Acayan rpmhpd_opp_turbo_l1: opp10 { 1145*07c8ded6SRichard Acayan opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>; 1146*07c8ded6SRichard Acayan }; 1147*07c8ded6SRichard Acayan }; 1148*07c8ded6SRichard Acayan }; 1149*07c8ded6SRichard Acayan }; 1150*07c8ded6SRichard Acayan 1151*07c8ded6SRichard Acayan intc: interrupt-controller@17a00000 { 1152*07c8ded6SRichard Acayan compatible = "arm,gic-v3"; 1153*07c8ded6SRichard Acayan reg = <0 0x17a00000 0 0x10000>, /* GICD */ 1154*07c8ded6SRichard Acayan <0 0x17a60000 0 0x100000>; /* GICR * 8 */ 1155*07c8ded6SRichard Acayan interrupt-controller; 1156*07c8ded6SRichard Acayan interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 1157*07c8ded6SRichard Acayan #interrupt-cells = <3>; 1158*07c8ded6SRichard Acayan }; 1159*07c8ded6SRichard Acayan }; 1160*07c8ded6SRichard Acayan}; 1161