1 1.1.1.3 jmcneill // SPDX-License-Identifier: GPL-2.0 2 1.1 jmcneill /dts-v1/; 3 1.1 jmcneill 4 1.1 jmcneill #include <dt-bindings/clock/qcom,gcc-msm8960.h> 5 1.1 jmcneill #include <dt-bindings/reset/qcom,gcc-msm8960.h> 6 1.1 jmcneill #include <dt-bindings/clock/qcom,mmcc-msm8960.h> 7 1.1 jmcneill #include <dt-bindings/clock/qcom,rpmcc.h> 8 1.1 jmcneill #include <dt-bindings/soc/qcom,gsbi.h> 9 1.1 jmcneill #include <dt-bindings/interrupt-controller/irq.h> 10 1.1 jmcneill #include <dt-bindings/interrupt-controller/arm-gic.h> 11 1.1 jmcneill / { 12 1.1.1.7 jmcneill #address-cells = <1>; 13 1.1.1.7 jmcneill #size-cells = <1>; 14 1.1 jmcneill model = "Qualcomm APQ8064"; 15 1.1 jmcneill compatible = "qcom,apq8064"; 16 1.1 jmcneill interrupt-parent = <&intc>; 17 1.1 jmcneill 18 1.1 jmcneill reserved-memory { 19 1.1 jmcneill #address-cells = <1>; 20 1.1 jmcneill #size-cells = <1>; 21 1.1 jmcneill ranges; 22 1.1 jmcneill 23 1.1 jmcneill smem_region: smem@80000000 { 24 1.1 jmcneill reg = <0x80000000 0x200000>; 25 1.1 jmcneill no-map; 26 1.1 jmcneill }; 27 1.1 jmcneill 28 1.1 jmcneill wcnss_mem: wcnss@8f000000 { 29 1.1 jmcneill reg = <0x8f000000 0x700000>; 30 1.1 jmcneill no-map; 31 1.1 jmcneill }; 32 1.1 jmcneill }; 33 1.1 jmcneill 34 1.1 jmcneill cpus { 35 1.1 jmcneill #address-cells = <1>; 36 1.1 jmcneill #size-cells = <0>; 37 1.1 jmcneill 38 1.1 jmcneill CPU0: cpu@0 { 39 1.1 jmcneill compatible = "qcom,krait"; 40 1.1 jmcneill enable-method = "qcom,kpss-acc-v1"; 41 1.1 jmcneill device_type = "cpu"; 42 1.1 jmcneill reg = <0>; 43 1.1 jmcneill next-level-cache = <&L2>; 44 1.1 jmcneill qcom,acc = <&acc0>; 45 1.1 jmcneill qcom,saw = <&saw0>; 46 1.1 jmcneill cpu-idle-states = <&CPU_SPC>; 47 1.1 jmcneill }; 48 1.1 jmcneill 49 1.1 jmcneill CPU1: cpu@1 { 50 1.1 jmcneill compatible = "qcom,krait"; 51 1.1 jmcneill enable-method = "qcom,kpss-acc-v1"; 52 1.1 jmcneill device_type = "cpu"; 53 1.1 jmcneill reg = <1>; 54 1.1 jmcneill next-level-cache = <&L2>; 55 1.1 jmcneill qcom,acc = <&acc1>; 56 1.1 jmcneill qcom,saw = <&saw1>; 57 1.1 jmcneill cpu-idle-states = <&CPU_SPC>; 58 1.1 jmcneill }; 59 1.1 jmcneill 60 1.1 jmcneill CPU2: cpu@2 { 61 1.1 jmcneill compatible = "qcom,krait"; 62 1.1 jmcneill enable-method = "qcom,kpss-acc-v1"; 63 1.1 jmcneill device_type = "cpu"; 64 1.1 jmcneill reg = <2>; 65 1.1 jmcneill next-level-cache = <&L2>; 66 1.1 jmcneill qcom,acc = <&acc2>; 67 1.1 jmcneill qcom,saw = <&saw2>; 68 1.1 jmcneill cpu-idle-states = <&CPU_SPC>; 69 1.1 jmcneill }; 70 1.1 jmcneill 71 1.1 jmcneill CPU3: cpu@3 { 72 1.1 jmcneill compatible = "qcom,krait"; 73 1.1 jmcneill enable-method = "qcom,kpss-acc-v1"; 74 1.1 jmcneill device_type = "cpu"; 75 1.1 jmcneill reg = <3>; 76 1.1 jmcneill next-level-cache = <&L2>; 77 1.1 jmcneill qcom,acc = <&acc3>; 78 1.1 jmcneill qcom,saw = <&saw3>; 79 1.1 jmcneill cpu-idle-states = <&CPU_SPC>; 80 1.1 jmcneill }; 81 1.1 jmcneill 82 1.1 jmcneill L2: l2-cache { 83 1.1 jmcneill compatible = "cache"; 84 1.1 jmcneill cache-level = <2>; 85 1.1 jmcneill }; 86 1.1 jmcneill 87 1.1 jmcneill idle-states { 88 1.1 jmcneill CPU_SPC: spc { 89 1.1 jmcneill compatible = "qcom,idle-state-spc", 90 1.1 jmcneill "arm,idle-state"; 91 1.1 jmcneill entry-latency-us = <400>; 92 1.1 jmcneill exit-latency-us = <900>; 93 1.1 jmcneill min-residency-us = <3000>; 94 1.1 jmcneill }; 95 1.1 jmcneill }; 96 1.1 jmcneill }; 97 1.1 jmcneill 98 1.1.1.7 jmcneill memory { 99 1.1.1.7 jmcneill device_type = "memory"; 100 1.1.1.7 jmcneill reg = <0x0 0x0>; 101 1.1.1.7 jmcneill }; 102 1.1.1.7 jmcneill 103 1.1 jmcneill thermal-zones { 104 1.1 jmcneill cpu-thermal0 { 105 1.1 jmcneill polling-delay-passive = <250>; 106 1.1 jmcneill polling-delay = <1000>; 107 1.1 jmcneill 108 1.1 jmcneill thermal-sensors = <&gcc 7>; 109 1.1 jmcneill coefficients = <1199 0>; 110 1.1 jmcneill 111 1.1 jmcneill trips { 112 1.1 jmcneill cpu_alert0: trip0 { 113 1.1 jmcneill temperature = <75000>; 114 1.1 jmcneill hysteresis = <2000>; 115 1.1 jmcneill type = "passive"; 116 1.1 jmcneill }; 117 1.1 jmcneill cpu_crit0: trip1 { 118 1.1 jmcneill temperature = <110000>; 119 1.1 jmcneill hysteresis = <2000>; 120 1.1 jmcneill type = "critical"; 121 1.1 jmcneill }; 122 1.1 jmcneill }; 123 1.1 jmcneill }; 124 1.1 jmcneill 125 1.1 jmcneill cpu-thermal1 { 126 1.1 jmcneill polling-delay-passive = <250>; 127 1.1 jmcneill polling-delay = <1000>; 128 1.1 jmcneill 129 1.1 jmcneill thermal-sensors = <&gcc 8>; 130 1.1 jmcneill coefficients = <1132 0>; 131 1.1 jmcneill 132 1.1 jmcneill trips { 133 1.1 jmcneill cpu_alert1: trip0 { 134 1.1 jmcneill temperature = <75000>; 135 1.1 jmcneill hysteresis = <2000>; 136 1.1 jmcneill type = "passive"; 137 1.1 jmcneill }; 138 1.1 jmcneill cpu_crit1: trip1 { 139 1.1 jmcneill temperature = <110000>; 140 1.1 jmcneill hysteresis = <2000>; 141 1.1 jmcneill type = "critical"; 142 1.1 jmcneill }; 143 1.1 jmcneill }; 144 1.1 jmcneill }; 145 1.1 jmcneill 146 1.1 jmcneill cpu-thermal2 { 147 1.1 jmcneill polling-delay-passive = <250>; 148 1.1 jmcneill polling-delay = <1000>; 149 1.1 jmcneill 150 1.1 jmcneill thermal-sensors = <&gcc 9>; 151 1.1 jmcneill coefficients = <1199 0>; 152 1.1 jmcneill 153 1.1 jmcneill trips { 154 1.1 jmcneill cpu_alert2: trip0 { 155 1.1 jmcneill temperature = <75000>; 156 1.1 jmcneill hysteresis = <2000>; 157 1.1 jmcneill type = "passive"; 158 1.1 jmcneill }; 159 1.1 jmcneill cpu_crit2: trip1 { 160 1.1 jmcneill temperature = <110000>; 161 1.1 jmcneill hysteresis = <2000>; 162 1.1 jmcneill type = "critical"; 163 1.1 jmcneill }; 164 1.1 jmcneill }; 165 1.1 jmcneill }; 166 1.1 jmcneill 167 1.1 jmcneill cpu-thermal3 { 168 1.1 jmcneill polling-delay-passive = <250>; 169 1.1 jmcneill polling-delay = <1000>; 170 1.1 jmcneill 171 1.1 jmcneill thermal-sensors = <&gcc 10>; 172 1.1 jmcneill coefficients = <1132 0>; 173 1.1 jmcneill 174 1.1 jmcneill trips { 175 1.1 jmcneill cpu_alert3: trip0 { 176 1.1 jmcneill temperature = <75000>; 177 1.1 jmcneill hysteresis = <2000>; 178 1.1 jmcneill type = "passive"; 179 1.1 jmcneill }; 180 1.1 jmcneill cpu_crit3: trip1 { 181 1.1 jmcneill temperature = <110000>; 182 1.1 jmcneill hysteresis = <2000>; 183 1.1 jmcneill type = "critical"; 184 1.1 jmcneill }; 185 1.1 jmcneill }; 186 1.1 jmcneill }; 187 1.1 jmcneill }; 188 1.1 jmcneill 189 1.1 jmcneill cpu-pmu { 190 1.1 jmcneill compatible = "qcom,krait-pmu"; 191 1.1 jmcneill interrupts = <1 10 0x304>; 192 1.1 jmcneill }; 193 1.1 jmcneill 194 1.1 jmcneill clocks { 195 1.1 jmcneill cxo_board: cxo_board { 196 1.1 jmcneill compatible = "fixed-clock"; 197 1.1 jmcneill #clock-cells = <0>; 198 1.1 jmcneill clock-frequency = <19200000>; 199 1.1 jmcneill }; 200 1.1 jmcneill 201 1.1.1.9 jmcneill pxo_board: pxo_board { 202 1.1 jmcneill compatible = "fixed-clock"; 203 1.1 jmcneill #clock-cells = <0>; 204 1.1 jmcneill clock-frequency = <27000000>; 205 1.1 jmcneill }; 206 1.1 jmcneill 207 1.1.1.2 jmcneill sleep_clk: sleep_clk { 208 1.1 jmcneill compatible = "fixed-clock"; 209 1.1 jmcneill #clock-cells = <0>; 210 1.1 jmcneill clock-frequency = <32768>; 211 1.1 jmcneill }; 212 1.1 jmcneill }; 213 1.1 jmcneill 214 1.1 jmcneill sfpb_mutex: hwmutex { 215 1.1 jmcneill compatible = "qcom,sfpb-mutex"; 216 1.1 jmcneill syscon = <&sfpb_wrapper_mutex 0x604 0x4>; 217 1.1 jmcneill #hwlock-cells = <1>; 218 1.1 jmcneill }; 219 1.1 jmcneill 220 1.1 jmcneill smem { 221 1.1 jmcneill compatible = "qcom,smem"; 222 1.1 jmcneill memory-region = <&smem_region>; 223 1.1 jmcneill 224 1.1 jmcneill hwlocks = <&sfpb_mutex 3>; 225 1.1 jmcneill }; 226 1.1 jmcneill 227 1.1 jmcneill smd { 228 1.1 jmcneill compatible = "qcom,smd"; 229 1.1 jmcneill 230 1.1 jmcneill modem@0 { 231 1.1 jmcneill interrupts = <0 37 IRQ_TYPE_EDGE_RISING>; 232 1.1 jmcneill 233 1.1 jmcneill qcom,ipc = <&l2cc 8 3>; 234 1.1 jmcneill qcom,smd-edge = <0>; 235 1.1 jmcneill 236 1.1 jmcneill status = "disabled"; 237 1.1 jmcneill }; 238 1.1 jmcneill 239 1.1 jmcneill q6@1 { 240 1.1 jmcneill interrupts = <0 90 IRQ_TYPE_EDGE_RISING>; 241 1.1 jmcneill 242 1.1 jmcneill qcom,ipc = <&l2cc 8 15>; 243 1.1 jmcneill qcom,smd-edge = <1>; 244 1.1 jmcneill 245 1.1 jmcneill status = "disabled"; 246 1.1 jmcneill }; 247 1.1 jmcneill 248 1.1 jmcneill dsps@3 { 249 1.1 jmcneill interrupts = <0 138 IRQ_TYPE_EDGE_RISING>; 250 1.1 jmcneill 251 1.1 jmcneill qcom,ipc = <&sps_sic_non_secure 0x4080 0>; 252 1.1 jmcneill qcom,smd-edge = <3>; 253 1.1 jmcneill 254 1.1 jmcneill status = "disabled"; 255 1.1 jmcneill }; 256 1.1 jmcneill 257 1.1 jmcneill riva@6 { 258 1.1 jmcneill interrupts = <0 198 IRQ_TYPE_EDGE_RISING>; 259 1.1 jmcneill 260 1.1 jmcneill qcom,ipc = <&l2cc 8 25>; 261 1.1 jmcneill qcom,smd-edge = <6>; 262 1.1 jmcneill 263 1.1 jmcneill status = "disabled"; 264 1.1 jmcneill }; 265 1.1 jmcneill }; 266 1.1 jmcneill 267 1.1 jmcneill smsm { 268 1.1 jmcneill compatible = "qcom,smsm"; 269 1.1 jmcneill 270 1.1 jmcneill #address-cells = <1>; 271 1.1 jmcneill #size-cells = <0>; 272 1.1 jmcneill 273 1.1 jmcneill qcom,ipc-1 = <&l2cc 8 4>; 274 1.1 jmcneill qcom,ipc-2 = <&l2cc 8 14>; 275 1.1 jmcneill qcom,ipc-3 = <&l2cc 8 23>; 276 1.1 jmcneill qcom,ipc-4 = <&sps_sic_non_secure 0x4094 0>; 277 1.1 jmcneill 278 1.1 jmcneill apps_smsm: apps@0 { 279 1.1 jmcneill reg = <0>; 280 1.1 jmcneill #qcom,smem-state-cells = <1>; 281 1.1 jmcneill }; 282 1.1 jmcneill 283 1.1 jmcneill modem_smsm: modem@1 { 284 1.1 jmcneill reg = <1>; 285 1.1 jmcneill interrupts = <0 38 IRQ_TYPE_EDGE_RISING>; 286 1.1 jmcneill 287 1.1 jmcneill interrupt-controller; 288 1.1 jmcneill #interrupt-cells = <2>; 289 1.1 jmcneill }; 290 1.1 jmcneill 291 1.1 jmcneill q6_smsm: q6@2 { 292 1.1 jmcneill reg = <2>; 293 1.1 jmcneill interrupts = <0 89 IRQ_TYPE_EDGE_RISING>; 294 1.1 jmcneill 295 1.1 jmcneill interrupt-controller; 296 1.1 jmcneill #interrupt-cells = <2>; 297 1.1 jmcneill }; 298 1.1 jmcneill 299 1.1 jmcneill wcnss_smsm: wcnss@3 { 300 1.1 jmcneill reg = <3>; 301 1.1 jmcneill interrupts = <0 204 IRQ_TYPE_EDGE_RISING>; 302 1.1 jmcneill 303 1.1 jmcneill interrupt-controller; 304 1.1 jmcneill #interrupt-cells = <2>; 305 1.1 jmcneill }; 306 1.1 jmcneill 307 1.1 jmcneill dsps_smsm: dsps@4 { 308 1.1 jmcneill reg = <4>; 309 1.1 jmcneill interrupts = <0 137 IRQ_TYPE_EDGE_RISING>; 310 1.1 jmcneill 311 1.1 jmcneill interrupt-controller; 312 1.1 jmcneill #interrupt-cells = <2>; 313 1.1 jmcneill }; 314 1.1 jmcneill }; 315 1.1 jmcneill 316 1.1 jmcneill firmware { 317 1.1 jmcneill scm { 318 1.1 jmcneill compatible = "qcom,scm-apq8064"; 319 1.1 jmcneill 320 1.1 jmcneill clocks = <&rpmcc RPM_DAYTONA_FABRIC_CLK>; 321 1.1 jmcneill clock-names = "core"; 322 1.1 jmcneill }; 323 1.1 jmcneill }; 324 1.1 jmcneill 325 1.1.1.4 jmcneill 326 1.1.1.4 jmcneill /* 327 1.1.1.4 jmcneill * These channels from the ADC are simply hardware monitors. 328 1.1.1.4 jmcneill * That is why the ADC is referred to as "HKADC" - HouseKeeping 329 1.1.1.4 jmcneill * ADC. 330 1.1.1.4 jmcneill */ 331 1.1.1.4 jmcneill iio-hwmon { 332 1.1.1.4 jmcneill compatible = "iio-hwmon"; 333 1.1.1.4 jmcneill io-channels = <&xoadc 0x00 0x01>, /* Battery */ 334 1.1.1.4 jmcneill <&xoadc 0x00 0x02>, /* DC in (charger) */ 335 1.1.1.4 jmcneill <&xoadc 0x00 0x04>, /* VPH the main system voltage */ 336 1.1.1.4 jmcneill <&xoadc 0x00 0x0b>, /* Die temperature */ 337 1.1.1.4 jmcneill <&xoadc 0x00 0x0c>, /* Reference voltage 1.25V */ 338 1.1.1.4 jmcneill <&xoadc 0x00 0x0d>, /* Reference voltage 0.625V */ 339 1.1.1.4 jmcneill <&xoadc 0x00 0x0e>; /* Charger temperature */ 340 1.1.1.4 jmcneill }; 341 1.1.1.4 jmcneill 342 1.1 jmcneill soc: soc { 343 1.1 jmcneill #address-cells = <1>; 344 1.1 jmcneill #size-cells = <1>; 345 1.1 jmcneill ranges; 346 1.1 jmcneill compatible = "simple-bus"; 347 1.1 jmcneill 348 1.1 jmcneill tlmm_pinmux: pinctrl@800000 { 349 1.1 jmcneill compatible = "qcom,apq8064-pinctrl"; 350 1.1 jmcneill reg = <0x800000 0x4000>; 351 1.1 jmcneill 352 1.1 jmcneill gpio-controller; 353 1.1.1.9 jmcneill gpio-ranges = <&tlmm_pinmux 0 0 90>; 354 1.1 jmcneill #gpio-cells = <2>; 355 1.1 jmcneill interrupt-controller; 356 1.1 jmcneill #interrupt-cells = <2>; 357 1.1 jmcneill interrupts = <0 16 IRQ_TYPE_LEVEL_HIGH>; 358 1.1 jmcneill 359 1.1 jmcneill pinctrl-names = "default"; 360 1.1 jmcneill pinctrl-0 = <&ps_hold>; 361 1.1 jmcneill }; 362 1.1 jmcneill 363 1.1 jmcneill sfpb_wrapper_mutex: syscon@1200000 { 364 1.1 jmcneill compatible = "syscon"; 365 1.1 jmcneill reg = <0x01200000 0x8000>; 366 1.1 jmcneill }; 367 1.1 jmcneill 368 1.1 jmcneill intc: interrupt-controller@2000000 { 369 1.1 jmcneill compatible = "qcom,msm-qgic2"; 370 1.1 jmcneill interrupt-controller; 371 1.1 jmcneill #interrupt-cells = <3>; 372 1.1 jmcneill reg = <0x02000000 0x1000>, 373 1.1 jmcneill <0x02002000 0x1000>; 374 1.1 jmcneill }; 375 1.1 jmcneill 376 1.1 jmcneill timer@200a000 { 377 1.1 jmcneill compatible = "qcom,kpss-timer", 378 1.1 jmcneill "qcom,kpss-wdt-apq8064", "qcom,msm-timer"; 379 1.1 jmcneill interrupts = <1 1 0x301>, 380 1.1 jmcneill <1 2 0x301>, 381 1.1 jmcneill <1 3 0x301>; 382 1.1 jmcneill reg = <0x0200a000 0x100>; 383 1.1 jmcneill clock-frequency = <27000000>, 384 1.1 jmcneill <32768>; 385 1.1 jmcneill cpu-offset = <0x80000>; 386 1.1 jmcneill }; 387 1.1 jmcneill 388 1.1 jmcneill acc0: clock-controller@2088000 { 389 1.1 jmcneill compatible = "qcom,kpss-acc-v1"; 390 1.1 jmcneill reg = <0x02088000 0x1000>, <0x02008000 0x1000>; 391 1.1 jmcneill }; 392 1.1 jmcneill 393 1.1 jmcneill acc1: clock-controller@2098000 { 394 1.1 jmcneill compatible = "qcom,kpss-acc-v1"; 395 1.1 jmcneill reg = <0x02098000 0x1000>, <0x02008000 0x1000>; 396 1.1 jmcneill }; 397 1.1 jmcneill 398 1.1 jmcneill acc2: clock-controller@20a8000 { 399 1.1 jmcneill compatible = "qcom,kpss-acc-v1"; 400 1.1 jmcneill reg = <0x020a8000 0x1000>, <0x02008000 0x1000>; 401 1.1 jmcneill }; 402 1.1 jmcneill 403 1.1 jmcneill acc3: clock-controller@20b8000 { 404 1.1 jmcneill compatible = "qcom,kpss-acc-v1"; 405 1.1 jmcneill reg = <0x020b8000 0x1000>, <0x02008000 0x1000>; 406 1.1 jmcneill }; 407 1.1 jmcneill 408 1.1 jmcneill saw0: power-controller@2089000 { 409 1.1 jmcneill compatible = "qcom,apq8064-saw2-v1.1-cpu", "qcom,saw2"; 410 1.1 jmcneill reg = <0x02089000 0x1000>, <0x02009000 0x1000>; 411 1.1 jmcneill regulator; 412 1.1 jmcneill }; 413 1.1 jmcneill 414 1.1 jmcneill saw1: power-controller@2099000 { 415 1.1 jmcneill compatible = "qcom,apq8064-saw2-v1.1-cpu", "qcom,saw2"; 416 1.1 jmcneill reg = <0x02099000 0x1000>, <0x02009000 0x1000>; 417 1.1 jmcneill regulator; 418 1.1 jmcneill }; 419 1.1 jmcneill 420 1.1 jmcneill saw2: power-controller@20a9000 { 421 1.1 jmcneill compatible = "qcom,apq8064-saw2-v1.1-cpu", "qcom,saw2"; 422 1.1 jmcneill reg = <0x020a9000 0x1000>, <0x02009000 0x1000>; 423 1.1 jmcneill regulator; 424 1.1 jmcneill }; 425 1.1 jmcneill 426 1.1 jmcneill saw3: power-controller@20b9000 { 427 1.1 jmcneill compatible = "qcom,apq8064-saw2-v1.1-cpu", "qcom,saw2"; 428 1.1 jmcneill reg = <0x020b9000 0x1000>, <0x02009000 0x1000>; 429 1.1 jmcneill regulator; 430 1.1 jmcneill }; 431 1.1 jmcneill 432 1.1 jmcneill sps_sic_non_secure: sps-sic-non-secure@12100000 { 433 1.1 jmcneill compatible = "syscon"; 434 1.1 jmcneill reg = <0x12100000 0x10000>; 435 1.1 jmcneill }; 436 1.1 jmcneill 437 1.1 jmcneill gsbi1: gsbi@12440000 { 438 1.1 jmcneill status = "disabled"; 439 1.1 jmcneill compatible = "qcom,gsbi-v1.0.0"; 440 1.1 jmcneill cell-index = <1>; 441 1.1 jmcneill reg = <0x12440000 0x100>; 442 1.1 jmcneill clocks = <&gcc GSBI1_H_CLK>; 443 1.1 jmcneill clock-names = "iface"; 444 1.1 jmcneill #address-cells = <1>; 445 1.1 jmcneill #size-cells = <1>; 446 1.1 jmcneill ranges; 447 1.1 jmcneill 448 1.1 jmcneill syscon-tcsr = <&tcsr>; 449 1.1 jmcneill 450 1.1 jmcneill gsbi1_serial: serial@12450000 { 451 1.1 jmcneill compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm"; 452 1.1 jmcneill reg = <0x12450000 0x100>, 453 1.1 jmcneill <0x12400000 0x03>; 454 1.1.1.5 jmcneill interrupts = <0 193 IRQ_TYPE_LEVEL_HIGH>; 455 1.1 jmcneill clocks = <&gcc GSBI1_UART_CLK>, <&gcc GSBI1_H_CLK>; 456 1.1 jmcneill clock-names = "core", "iface"; 457 1.1 jmcneill status = "disabled"; 458 1.1 jmcneill }; 459 1.1 jmcneill 460 1.1 jmcneill gsbi1_i2c: i2c@12460000 { 461 1.1 jmcneill compatible = "qcom,i2c-qup-v1.1.1"; 462 1.1 jmcneill pinctrl-0 = <&i2c1_pins>; 463 1.1 jmcneill pinctrl-1 = <&i2c1_pins_sleep>; 464 1.1 jmcneill pinctrl-names = "default", "sleep"; 465 1.1 jmcneill reg = <0x12460000 0x1000>; 466 1.1.1.5 jmcneill interrupts = <0 194 IRQ_TYPE_LEVEL_HIGH>; 467 1.1 jmcneill clocks = <&gcc GSBI1_QUP_CLK>, <&gcc GSBI1_H_CLK>; 468 1.1 jmcneill clock-names = "core", "iface"; 469 1.1 jmcneill #address-cells = <1>; 470 1.1 jmcneill #size-cells = <0>; 471 1.1.1.5 jmcneill status = "disabled"; 472 1.1 jmcneill }; 473 1.1 jmcneill 474 1.1 jmcneill }; 475 1.1 jmcneill 476 1.1 jmcneill gsbi2: gsbi@12480000 { 477 1.1 jmcneill status = "disabled"; 478 1.1 jmcneill compatible = "qcom,gsbi-v1.0.0"; 479 1.1 jmcneill cell-index = <2>; 480 1.1 jmcneill reg = <0x12480000 0x100>; 481 1.1 jmcneill clocks = <&gcc GSBI2_H_CLK>; 482 1.1 jmcneill clock-names = "iface"; 483 1.1 jmcneill #address-cells = <1>; 484 1.1 jmcneill #size-cells = <1>; 485 1.1 jmcneill ranges; 486 1.1 jmcneill 487 1.1 jmcneill syscon-tcsr = <&tcsr>; 488 1.1 jmcneill 489 1.1 jmcneill gsbi2_i2c: i2c@124a0000 { 490 1.1 jmcneill compatible = "qcom,i2c-qup-v1.1.1"; 491 1.1 jmcneill reg = <0x124a0000 0x1000>; 492 1.1 jmcneill pinctrl-0 = <&i2c2_pins>; 493 1.1 jmcneill pinctrl-1 = <&i2c2_pins_sleep>; 494 1.1 jmcneill pinctrl-names = "default", "sleep"; 495 1.1.1.5 jmcneill interrupts = <0 196 IRQ_TYPE_LEVEL_HIGH>; 496 1.1 jmcneill clocks = <&gcc GSBI2_QUP_CLK>, <&gcc GSBI2_H_CLK>; 497 1.1 jmcneill clock-names = "core", "iface"; 498 1.1 jmcneill #address-cells = <1>; 499 1.1 jmcneill #size-cells = <0>; 500 1.1.1.5 jmcneill status = "disabled"; 501 1.1 jmcneill }; 502 1.1 jmcneill }; 503 1.1 jmcneill 504 1.1 jmcneill gsbi3: gsbi@16200000 { 505 1.1 jmcneill status = "disabled"; 506 1.1 jmcneill compatible = "qcom,gsbi-v1.0.0"; 507 1.1 jmcneill cell-index = <3>; 508 1.1 jmcneill reg = <0x16200000 0x100>; 509 1.1 jmcneill clocks = <&gcc GSBI3_H_CLK>; 510 1.1 jmcneill clock-names = "iface"; 511 1.1 jmcneill #address-cells = <1>; 512 1.1 jmcneill #size-cells = <1>; 513 1.1 jmcneill ranges; 514 1.1 jmcneill gsbi3_i2c: i2c@16280000 { 515 1.1 jmcneill compatible = "qcom,i2c-qup-v1.1.1"; 516 1.1 jmcneill pinctrl-0 = <&i2c3_pins>; 517 1.1 jmcneill pinctrl-1 = <&i2c3_pins_sleep>; 518 1.1 jmcneill pinctrl-names = "default", "sleep"; 519 1.1 jmcneill reg = <0x16280000 0x1000>; 520 1.1.1.5 jmcneill interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>; 521 1.1 jmcneill clocks = <&gcc GSBI3_QUP_CLK>, 522 1.1 jmcneill <&gcc GSBI3_H_CLK>; 523 1.1 jmcneill clock-names = "core", "iface"; 524 1.1 jmcneill #address-cells = <1>; 525 1.1 jmcneill #size-cells = <0>; 526 1.1.1.5 jmcneill status = "disabled"; 527 1.1 jmcneill }; 528 1.1 jmcneill }; 529 1.1 jmcneill 530 1.1 jmcneill gsbi4: gsbi@16300000 { 531 1.1 jmcneill status = "disabled"; 532 1.1 jmcneill compatible = "qcom,gsbi-v1.0.0"; 533 1.1 jmcneill cell-index = <4>; 534 1.1 jmcneill reg = <0x16300000 0x03>; 535 1.1 jmcneill clocks = <&gcc GSBI4_H_CLK>; 536 1.1 jmcneill clock-names = "iface"; 537 1.1 jmcneill #address-cells = <1>; 538 1.1 jmcneill #size-cells = <1>; 539 1.1 jmcneill ranges; 540 1.1 jmcneill 541 1.1 jmcneill gsbi4_i2c: i2c@16380000 { 542 1.1 jmcneill compatible = "qcom,i2c-qup-v1.1.1"; 543 1.1 jmcneill pinctrl-0 = <&i2c4_pins>; 544 1.1 jmcneill pinctrl-1 = <&i2c4_pins_sleep>; 545 1.1 jmcneill pinctrl-names = "default", "sleep"; 546 1.1 jmcneill reg = <0x16380000 0x1000>; 547 1.1.1.5 jmcneill interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>; 548 1.1 jmcneill clocks = <&gcc GSBI4_QUP_CLK>, 549 1.1 jmcneill <&gcc GSBI4_H_CLK>; 550 1.1 jmcneill clock-names = "core", "iface"; 551 1.1.1.5 jmcneill status = "disabled"; 552 1.1 jmcneill }; 553 1.1 jmcneill }; 554 1.1 jmcneill 555 1.1 jmcneill gsbi5: gsbi@1a200000 { 556 1.1 jmcneill status = "disabled"; 557 1.1 jmcneill compatible = "qcom,gsbi-v1.0.0"; 558 1.1 jmcneill cell-index = <5>; 559 1.1 jmcneill reg = <0x1a200000 0x03>; 560 1.1 jmcneill clocks = <&gcc GSBI5_H_CLK>; 561 1.1 jmcneill clock-names = "iface"; 562 1.1 jmcneill #address-cells = <1>; 563 1.1 jmcneill #size-cells = <1>; 564 1.1 jmcneill ranges; 565 1.1 jmcneill 566 1.1 jmcneill gsbi5_serial: serial@1a240000 { 567 1.1 jmcneill compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm"; 568 1.1 jmcneill reg = <0x1a240000 0x100>, 569 1.1 jmcneill <0x1a200000 0x03>; 570 1.1.1.5 jmcneill interrupts = <0 154 IRQ_TYPE_LEVEL_HIGH>; 571 1.1 jmcneill clocks = <&gcc GSBI5_UART_CLK>, <&gcc GSBI5_H_CLK>; 572 1.1 jmcneill clock-names = "core", "iface"; 573 1.1 jmcneill status = "disabled"; 574 1.1 jmcneill }; 575 1.1 jmcneill 576 1.1 jmcneill gsbi5_spi: spi@1a280000 { 577 1.1 jmcneill compatible = "qcom,spi-qup-v1.1.1"; 578 1.1 jmcneill reg = <0x1a280000 0x1000>; 579 1.1.1.5 jmcneill interrupts = <0 155 IRQ_TYPE_LEVEL_HIGH>; 580 1.1 jmcneill pinctrl-0 = <&spi5_default>; 581 1.1 jmcneill pinctrl-1 = <&spi5_sleep>; 582 1.1 jmcneill pinctrl-names = "default", "sleep"; 583 1.1 jmcneill clocks = <&gcc GSBI5_QUP_CLK>, <&gcc GSBI5_H_CLK>; 584 1.1 jmcneill clock-names = "core", "iface"; 585 1.1 jmcneill status = "disabled"; 586 1.1 jmcneill #address-cells = <1>; 587 1.1 jmcneill #size-cells = <0>; 588 1.1 jmcneill }; 589 1.1 jmcneill }; 590 1.1 jmcneill 591 1.1 jmcneill gsbi6: gsbi@16500000 { 592 1.1 jmcneill status = "disabled"; 593 1.1 jmcneill compatible = "qcom,gsbi-v1.0.0"; 594 1.1 jmcneill cell-index = <6>; 595 1.1 jmcneill reg = <0x16500000 0x03>; 596 1.1 jmcneill clocks = <&gcc GSBI6_H_CLK>; 597 1.1 jmcneill clock-names = "iface"; 598 1.1 jmcneill #address-cells = <1>; 599 1.1 jmcneill #size-cells = <1>; 600 1.1 jmcneill ranges; 601 1.1 jmcneill 602 1.1 jmcneill gsbi6_serial: serial@16540000 { 603 1.1 jmcneill compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm"; 604 1.1 jmcneill reg = <0x16540000 0x100>, 605 1.1 jmcneill <0x16500000 0x03>; 606 1.1.1.5 jmcneill interrupts = <0 156 IRQ_TYPE_LEVEL_HIGH>; 607 1.1 jmcneill clocks = <&gcc GSBI6_UART_CLK>, <&gcc GSBI6_H_CLK>; 608 1.1 jmcneill clock-names = "core", "iface"; 609 1.1 jmcneill status = "disabled"; 610 1.1 jmcneill }; 611 1.1 jmcneill 612 1.1 jmcneill gsbi6_i2c: i2c@16580000 { 613 1.1 jmcneill compatible = "qcom,i2c-qup-v1.1.1"; 614 1.1 jmcneill pinctrl-0 = <&i2c6_pins>; 615 1.1 jmcneill pinctrl-1 = <&i2c6_pins_sleep>; 616 1.1 jmcneill pinctrl-names = "default", "sleep"; 617 1.1 jmcneill reg = <0x16580000 0x1000>; 618 1.1.1.5 jmcneill interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>; 619 1.1 jmcneill clocks = <&gcc GSBI6_QUP_CLK>, 620 1.1 jmcneill <&gcc GSBI6_H_CLK>; 621 1.1 jmcneill clock-names = "core", "iface"; 622 1.1.1.3 jmcneill status = "disabled"; 623 1.1 jmcneill }; 624 1.1 jmcneill }; 625 1.1 jmcneill 626 1.1 jmcneill gsbi7: gsbi@16600000 { 627 1.1 jmcneill status = "disabled"; 628 1.1 jmcneill compatible = "qcom,gsbi-v1.0.0"; 629 1.1 jmcneill cell-index = <7>; 630 1.1 jmcneill reg = <0x16600000 0x100>; 631 1.1 jmcneill clocks = <&gcc GSBI7_H_CLK>; 632 1.1 jmcneill clock-names = "iface"; 633 1.1 jmcneill #address-cells = <1>; 634 1.1 jmcneill #size-cells = <1>; 635 1.1 jmcneill ranges; 636 1.1 jmcneill syscon-tcsr = <&tcsr>; 637 1.1 jmcneill 638 1.1 jmcneill gsbi7_serial: serial@16640000 { 639 1.1 jmcneill compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm"; 640 1.1 jmcneill reg = <0x16640000 0x1000>, 641 1.1 jmcneill <0x16600000 0x1000>; 642 1.1.1.5 jmcneill interrupts = <0 158 IRQ_TYPE_LEVEL_HIGH>; 643 1.1 jmcneill clocks = <&gcc GSBI7_UART_CLK>, <&gcc GSBI7_H_CLK>; 644 1.1 jmcneill clock-names = "core", "iface"; 645 1.1 jmcneill status = "disabled"; 646 1.1 jmcneill }; 647 1.1 jmcneill 648 1.1 jmcneill gsbi7_i2c: i2c@16680000 { 649 1.1 jmcneill compatible = "qcom,i2c-qup-v1.1.1"; 650 1.1 jmcneill pinctrl-0 = <&i2c7_pins>; 651 1.1 jmcneill pinctrl-1 = <&i2c7_pins_sleep>; 652 1.1 jmcneill pinctrl-names = "default", "sleep"; 653 1.1 jmcneill reg = <0x16680000 0x1000>; 654 1.1.1.5 jmcneill interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>; 655 1.1 jmcneill clocks = <&gcc GSBI7_QUP_CLK>, 656 1.1 jmcneill <&gcc GSBI7_H_CLK>; 657 1.1 jmcneill clock-names = "core", "iface"; 658 1.1 jmcneill status = "disabled"; 659 1.1 jmcneill }; 660 1.1 jmcneill }; 661 1.1 jmcneill 662 1.1 jmcneill rng@1a500000 { 663 1.1 jmcneill compatible = "qcom,prng"; 664 1.1 jmcneill reg = <0x1a500000 0x200>; 665 1.1 jmcneill clocks = <&gcc PRNG_CLK>; 666 1.1 jmcneill clock-names = "core"; 667 1.1 jmcneill }; 668 1.1 jmcneill 669 1.1 jmcneill ssbi@c00000 { 670 1.1 jmcneill compatible = "qcom,ssbi"; 671 1.1 jmcneill reg = <0x00c00000 0x1000>; 672 1.1 jmcneill qcom,controller-type = "pmic-arbiter"; 673 1.1 jmcneill 674 1.1 jmcneill pm8821: pmic@1 { 675 1.1 jmcneill compatible = "qcom,pm8821"; 676 1.1 jmcneill interrupt-parent = <&tlmm_pinmux>; 677 1.1 jmcneill interrupts = <76 IRQ_TYPE_LEVEL_LOW>; 678 1.1 jmcneill #interrupt-cells = <2>; 679 1.1 jmcneill interrupt-controller; 680 1.1 jmcneill #address-cells = <1>; 681 1.1 jmcneill #size-cells = <0>; 682 1.1 jmcneill 683 1.1 jmcneill pm8821_mpps: mpps@50 { 684 1.1 jmcneill compatible = "qcom,pm8821-mpp", "qcom,ssbi-mpp"; 685 1.1 jmcneill reg = <0x50>; 686 1.1 jmcneill interrupts = <24 IRQ_TYPE_NONE>, 687 1.1 jmcneill <25 IRQ_TYPE_NONE>, 688 1.1 jmcneill <26 IRQ_TYPE_NONE>, 689 1.1 jmcneill <27 IRQ_TYPE_NONE>; 690 1.1 jmcneill gpio-controller; 691 1.1 jmcneill #gpio-cells = <2>; 692 1.1 jmcneill }; 693 1.1 jmcneill }; 694 1.1 jmcneill }; 695 1.1 jmcneill 696 1.1 jmcneill qcom,ssbi@500000 { 697 1.1 jmcneill compatible = "qcom,ssbi"; 698 1.1 jmcneill reg = <0x00500000 0x1000>; 699 1.1 jmcneill qcom,controller-type = "pmic-arbiter"; 700 1.1 jmcneill 701 1.1 jmcneill pmicintc: pmic@0 { 702 1.1 jmcneill compatible = "qcom,pm8921"; 703 1.1 jmcneill interrupt-parent = <&tlmm_pinmux>; 704 1.1 jmcneill interrupts = <74 8>; 705 1.1 jmcneill #interrupt-cells = <2>; 706 1.1 jmcneill interrupt-controller; 707 1.1 jmcneill #address-cells = <1>; 708 1.1 jmcneill #size-cells = <0>; 709 1.1 jmcneill 710 1.1 jmcneill pm8921_gpio: gpio@150 { 711 1.1 jmcneill 712 1.1 jmcneill compatible = "qcom,pm8921-gpio", 713 1.1 jmcneill "qcom,ssbi-gpio"; 714 1.1 jmcneill reg = <0x150>; 715 1.1.1.7 jmcneill interrupt-controller; 716 1.1.1.7 jmcneill #interrupt-cells = <2>; 717 1.1 jmcneill gpio-controller; 718 1.1.1.8 skrll gpio-ranges = <&pm8921_gpio 0 0 44>; 719 1.1 jmcneill #gpio-cells = <2>; 720 1.1 jmcneill 721 1.1 jmcneill }; 722 1.1 jmcneill 723 1.1 jmcneill pm8921_mpps: mpps@50 { 724 1.1 jmcneill compatible = "qcom,pm8921-mpp", 725 1.1 jmcneill "qcom,ssbi-mpp"; 726 1.1 jmcneill reg = <0x50>; 727 1.1 jmcneill gpio-controller; 728 1.1 jmcneill #gpio-cells = <2>; 729 1.1 jmcneill interrupts = 730 1.1 jmcneill <128 IRQ_TYPE_NONE>, 731 1.1 jmcneill <129 IRQ_TYPE_NONE>, 732 1.1 jmcneill <130 IRQ_TYPE_NONE>, 733 1.1 jmcneill <131 IRQ_TYPE_NONE>, 734 1.1 jmcneill <132 IRQ_TYPE_NONE>, 735 1.1 jmcneill <133 IRQ_TYPE_NONE>, 736 1.1 jmcneill <134 IRQ_TYPE_NONE>, 737 1.1 jmcneill <135 IRQ_TYPE_NONE>, 738 1.1 jmcneill <136 IRQ_TYPE_NONE>, 739 1.1 jmcneill <137 IRQ_TYPE_NONE>, 740 1.1 jmcneill <138 IRQ_TYPE_NONE>, 741 1.1 jmcneill <139 IRQ_TYPE_NONE>; 742 1.1 jmcneill }; 743 1.1 jmcneill 744 1.1 jmcneill rtc@11d { 745 1.1 jmcneill compatible = "qcom,pm8921-rtc"; 746 1.1 jmcneill interrupt-parent = <&pmicintc>; 747 1.1 jmcneill interrupts = <39 1>; 748 1.1 jmcneill reg = <0x11d>; 749 1.1 jmcneill allow-set-time; 750 1.1 jmcneill }; 751 1.1 jmcneill 752 1.1 jmcneill pwrkey@1c { 753 1.1 jmcneill compatible = "qcom,pm8921-pwrkey"; 754 1.1 jmcneill reg = <0x1c>; 755 1.1 jmcneill interrupt-parent = <&pmicintc>; 756 1.1 jmcneill interrupts = <50 1>, <51 1>; 757 1.1 jmcneill debounce = <15625>; 758 1.1 jmcneill pull-up; 759 1.1 jmcneill }; 760 1.1.1.4 jmcneill 761 1.1.1.4 jmcneill xoadc: xoadc@197 { 762 1.1.1.4 jmcneill compatible = "qcom,pm8921-adc"; 763 1.1.1.4 jmcneill reg = <197>; 764 1.1.1.4 jmcneill interrupts-extended = <&pmicintc 78 IRQ_TYPE_EDGE_RISING>; 765 1.1.1.4 jmcneill #address-cells = <2>; 766 1.1.1.4 jmcneill #size-cells = <0>; 767 1.1.1.4 jmcneill #io-channel-cells = <2>; 768 1.1.1.4 jmcneill 769 1.1.1.9 jmcneill vcoin: adc-channel@0 { 770 1.1.1.4 jmcneill reg = <0x00 0x00>; 771 1.1.1.4 jmcneill }; 772 1.1.1.9 jmcneill vbat: adc-channel@1 { 773 1.1.1.4 jmcneill reg = <0x00 0x01>; 774 1.1.1.4 jmcneill }; 775 1.1.1.9 jmcneill dcin: adc-channel@2 { 776 1.1.1.4 jmcneill reg = <0x00 0x02>; 777 1.1.1.4 jmcneill }; 778 1.1.1.9 jmcneill vph_pwr: adc-channel@4 { 779 1.1.1.4 jmcneill reg = <0x00 0x04>; 780 1.1.1.4 jmcneill }; 781 1.1.1.9 jmcneill batt_therm: adc-channel@8 { 782 1.1.1.4 jmcneill reg = <0x00 0x08>; 783 1.1.1.4 jmcneill }; 784 1.1.1.9 jmcneill batt_id: adc-channel@9 { 785 1.1.1.4 jmcneill reg = <0x00 0x09>; 786 1.1.1.4 jmcneill }; 787 1.1.1.9 jmcneill usb_vbus: adc-channel@a { 788 1.1.1.4 jmcneill reg = <0x00 0x0a>; 789 1.1.1.4 jmcneill }; 790 1.1.1.9 jmcneill die_temp: adc-channel@b { 791 1.1.1.4 jmcneill reg = <0x00 0x0b>; 792 1.1.1.4 jmcneill }; 793 1.1.1.9 jmcneill ref_625mv: adc-channel@c { 794 1.1.1.4 jmcneill reg = <0x00 0x0c>; 795 1.1.1.4 jmcneill }; 796 1.1.1.9 jmcneill ref_1250mv: adc-channel@d { 797 1.1.1.4 jmcneill reg = <0x00 0x0d>; 798 1.1.1.4 jmcneill }; 799 1.1.1.9 jmcneill chg_temp: adc-channel@e { 800 1.1.1.4 jmcneill reg = <0x00 0x0e>; 801 1.1.1.4 jmcneill }; 802 1.1.1.9 jmcneill ref_muxoff: adc-channel@f { 803 1.1.1.4 jmcneill reg = <0x00 0x0f>; 804 1.1.1.4 jmcneill }; 805 1.1.1.4 jmcneill }; 806 1.1 jmcneill }; 807 1.1 jmcneill }; 808 1.1 jmcneill 809 1.1 jmcneill qfprom: qfprom@700000 { 810 1.1 jmcneill compatible = "qcom,qfprom"; 811 1.1 jmcneill reg = <0x00700000 0x1000>; 812 1.1 jmcneill #address-cells = <1>; 813 1.1 jmcneill #size-cells = <1>; 814 1.1 jmcneill ranges; 815 1.1 jmcneill tsens_calib: calib { 816 1.1 jmcneill reg = <0x404 0x10>; 817 1.1 jmcneill }; 818 1.1 jmcneill tsens_backup: backup_calib { 819 1.1 jmcneill reg = <0x414 0x10>; 820 1.1 jmcneill }; 821 1.1 jmcneill }; 822 1.1 jmcneill 823 1.1 jmcneill gcc: clock-controller@900000 { 824 1.1 jmcneill compatible = "qcom,gcc-apq8064"; 825 1.1 jmcneill reg = <0x00900000 0x4000>; 826 1.1 jmcneill nvmem-cells = <&tsens_calib>, <&tsens_backup>; 827 1.1 jmcneill nvmem-cell-names = "calib", "calib_backup"; 828 1.1 jmcneill #clock-cells = <1>; 829 1.1 jmcneill #reset-cells = <1>; 830 1.1 jmcneill #thermal-sensor-cells = <1>; 831 1.1 jmcneill }; 832 1.1 jmcneill 833 1.1 jmcneill lcc: clock-controller@28000000 { 834 1.1 jmcneill compatible = "qcom,lcc-apq8064"; 835 1.1 jmcneill reg = <0x28000000 0x1000>; 836 1.1 jmcneill #clock-cells = <1>; 837 1.1 jmcneill #reset-cells = <1>; 838 1.1 jmcneill }; 839 1.1 jmcneill 840 1.1 jmcneill mmcc: clock-controller@4000000 { 841 1.1 jmcneill compatible = "qcom,mmcc-apq8064"; 842 1.1 jmcneill reg = <0x4000000 0x1000>; 843 1.1 jmcneill #clock-cells = <1>; 844 1.1 jmcneill #reset-cells = <1>; 845 1.1 jmcneill }; 846 1.1 jmcneill 847 1.1 jmcneill l2cc: clock-controller@2011000 { 848 1.1 jmcneill compatible = "syscon"; 849 1.1 jmcneill reg = <0x2011000 0x1000>; 850 1.1 jmcneill }; 851 1.1 jmcneill 852 1.1 jmcneill rpm@108000 { 853 1.1 jmcneill compatible = "qcom,rpm-apq8064"; 854 1.1 jmcneill reg = <0x108000 0x1000>; 855 1.1 jmcneill qcom,ipc = <&l2cc 0x8 2>; 856 1.1 jmcneill 857 1.1 jmcneill interrupts = <GIC_SPI 19 IRQ_TYPE_EDGE_RISING>, 858 1.1 jmcneill <GIC_SPI 21 IRQ_TYPE_EDGE_RISING>, 859 1.1 jmcneill <GIC_SPI 22 IRQ_TYPE_EDGE_RISING>; 860 1.1 jmcneill interrupt-names = "ack", "err", "wakeup"; 861 1.1 jmcneill 862 1.1 jmcneill rpmcc: clock-controller { 863 1.1 jmcneill compatible = "qcom,rpmcc-apq8064", "qcom,rpmcc"; 864 1.1 jmcneill #clock-cells = <1>; 865 1.1 jmcneill }; 866 1.1 jmcneill 867 1.1 jmcneill regulators { 868 1.1 jmcneill compatible = "qcom,rpm-pm8921-regulators"; 869 1.1 jmcneill 870 1.1 jmcneill pm8921_s1: s1 {}; 871 1.1 jmcneill pm8921_s2: s2 {}; 872 1.1 jmcneill pm8921_s3: s3 {}; 873 1.1 jmcneill pm8921_s4: s4 {}; 874 1.1 jmcneill pm8921_s7: s7 {}; 875 1.1 jmcneill pm8921_s8: s8 {}; 876 1.1 jmcneill 877 1.1 jmcneill pm8921_l1: l1 {}; 878 1.1 jmcneill pm8921_l2: l2 {}; 879 1.1 jmcneill pm8921_l3: l3 {}; 880 1.1 jmcneill pm8921_l4: l4 {}; 881 1.1 jmcneill pm8921_l5: l5 {}; 882 1.1 jmcneill pm8921_l6: l6 {}; 883 1.1 jmcneill pm8921_l7: l7 {}; 884 1.1 jmcneill pm8921_l8: l8 {}; 885 1.1 jmcneill pm8921_l9: l9 {}; 886 1.1 jmcneill pm8921_l10: l10 {}; 887 1.1 jmcneill pm8921_l11: l11 {}; 888 1.1 jmcneill pm8921_l12: l12 {}; 889 1.1 jmcneill pm8921_l14: l14 {}; 890 1.1 jmcneill pm8921_l15: l15 {}; 891 1.1 jmcneill pm8921_l16: l16 {}; 892 1.1 jmcneill pm8921_l17: l17 {}; 893 1.1 jmcneill pm8921_l18: l18 {}; 894 1.1 jmcneill pm8921_l21: l21 {}; 895 1.1 jmcneill pm8921_l22: l22 {}; 896 1.1 jmcneill pm8921_l23: l23 {}; 897 1.1 jmcneill pm8921_l24: l24 {}; 898 1.1 jmcneill pm8921_l25: l25 {}; 899 1.1 jmcneill pm8921_l26: l26 {}; 900 1.1 jmcneill pm8921_l27: l27 {}; 901 1.1 jmcneill pm8921_l28: l28 {}; 902 1.1 jmcneill pm8921_l29: l29 {}; 903 1.1 jmcneill 904 1.1 jmcneill pm8921_lvs1: lvs1 {}; 905 1.1 jmcneill pm8921_lvs2: lvs2 {}; 906 1.1 jmcneill pm8921_lvs3: lvs3 {}; 907 1.1 jmcneill pm8921_lvs4: lvs4 {}; 908 1.1 jmcneill pm8921_lvs5: lvs5 {}; 909 1.1 jmcneill pm8921_lvs6: lvs6 {}; 910 1.1 jmcneill pm8921_lvs7: lvs7 {}; 911 1.1 jmcneill 912 1.1 jmcneill pm8921_usb_switch: usb-switch {}; 913 1.1 jmcneill 914 1.1 jmcneill pm8921_hdmi_switch: hdmi-switch { 915 1.1 jmcneill bias-pull-down; 916 1.1 jmcneill }; 917 1.1 jmcneill 918 1.1 jmcneill pm8921_ncp: ncp {}; 919 1.1 jmcneill }; 920 1.1 jmcneill }; 921 1.1 jmcneill 922 1.1 jmcneill usb1: usb@12500000 { 923 1.1.1.2 jmcneill compatible = "qcom,ci-hdrc"; 924 1.1.1.2 jmcneill reg = <0x12500000 0x200>, 925 1.1.1.2 jmcneill <0x12500200 0x200>; 926 1.1.1.2 jmcneill interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 927 1.1.1.2 jmcneill clocks = <&gcc USB_HS1_XCVR_CLK>, <&gcc USB_HS1_H_CLK>; 928 1.1.1.2 jmcneill clock-names = "core", "iface"; 929 1.1.1.2 jmcneill assigned-clocks = <&gcc USB_HS1_XCVR_CLK>; 930 1.1.1.2 jmcneill assigned-clock-rates = <60000000>; 931 1.1.1.2 jmcneill resets = <&gcc USB_HS1_RESET>; 932 1.1.1.2 jmcneill reset-names = "core"; 933 1.1.1.2 jmcneill phy_type = "ulpi"; 934 1.1.1.2 jmcneill ahb-burst-config = <0>; 935 1.1.1.2 jmcneill phys = <&usb_hs1_phy>; 936 1.1.1.2 jmcneill phy-names = "usb-phy"; 937 1.1.1.2 jmcneill status = "disabled"; 938 1.1.1.2 jmcneill #reset-cells = <1>; 939 1.1.1.2 jmcneill 940 1.1.1.2 jmcneill ulpi { 941 1.1.1.2 jmcneill usb_hs1_phy: phy { 942 1.1.1.2 jmcneill compatible = "qcom,usb-hs-phy-apq8064", 943 1.1.1.2 jmcneill "qcom,usb-hs-phy"; 944 1.1.1.2 jmcneill clocks = <&sleep_clk>, <&cxo_board>; 945 1.1.1.2 jmcneill clock-names = "sleep", "ref"; 946 1.1.1.2 jmcneill resets = <&usb1 0>; 947 1.1.1.2 jmcneill reset-names = "por"; 948 1.1.1.3 jmcneill #phy-cells = <0>; 949 1.1.1.2 jmcneill }; 950 1.1.1.2 jmcneill }; 951 1.1 jmcneill }; 952 1.1 jmcneill 953 1.1 jmcneill usb3: usb@12520000 { 954 1.1.1.2 jmcneill compatible = "qcom,ci-hdrc"; 955 1.1.1.2 jmcneill reg = <0x12520000 0x200>, 956 1.1.1.2 jmcneill <0x12520200 0x200>; 957 1.1.1.2 jmcneill interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>; 958 1.1.1.2 jmcneill clocks = <&gcc USB_HS3_XCVR_CLK>, <&gcc USB_HS3_H_CLK>; 959 1.1.1.2 jmcneill clock-names = "core", "iface"; 960 1.1.1.2 jmcneill assigned-clocks = <&gcc USB_HS3_XCVR_CLK>; 961 1.1.1.2 jmcneill assigned-clock-rates = <60000000>; 962 1.1.1.2 jmcneill resets = <&gcc USB_HS3_RESET>; 963 1.1.1.2 jmcneill reset-names = "core"; 964 1.1.1.2 jmcneill phy_type = "ulpi"; 965 1.1.1.2 jmcneill ahb-burst-config = <0>; 966 1.1.1.2 jmcneill phys = <&usb_hs3_phy>; 967 1.1.1.2 jmcneill phy-names = "usb-phy"; 968 1.1.1.2 jmcneill status = "disabled"; 969 1.1.1.2 jmcneill #reset-cells = <1>; 970 1.1.1.2 jmcneill 971 1.1.1.2 jmcneill ulpi { 972 1.1.1.2 jmcneill usb_hs3_phy: phy { 973 1.1.1.2 jmcneill compatible = "qcom,usb-hs-phy-apq8064", 974 1.1.1.2 jmcneill "qcom,usb-hs-phy"; 975 1.1.1.2 jmcneill #phy-cells = <0>; 976 1.1.1.2 jmcneill clocks = <&sleep_clk>, <&cxo_board>; 977 1.1.1.2 jmcneill clock-names = "sleep", "ref"; 978 1.1.1.2 jmcneill resets = <&usb3 0>; 979 1.1.1.2 jmcneill reset-names = "por"; 980 1.1.1.2 jmcneill }; 981 1.1.1.2 jmcneill }; 982 1.1 jmcneill }; 983 1.1 jmcneill 984 1.1 jmcneill usb4: usb@12530000 { 985 1.1.1.2 jmcneill compatible = "qcom,ci-hdrc"; 986 1.1.1.2 jmcneill reg = <0x12530000 0x200>, 987 1.1.1.2 jmcneill <0x12530200 0x200>; 988 1.1.1.2 jmcneill interrupts = <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>; 989 1.1.1.2 jmcneill clocks = <&gcc USB_HS4_XCVR_CLK>, <&gcc USB_HS4_H_CLK>; 990 1.1.1.2 jmcneill clock-names = "core", "iface"; 991 1.1.1.2 jmcneill assigned-clocks = <&gcc USB_HS4_XCVR_CLK>; 992 1.1.1.2 jmcneill assigned-clock-rates = <60000000>; 993 1.1.1.2 jmcneill resets = <&gcc USB_HS4_RESET>; 994 1.1.1.2 jmcneill reset-names = "core"; 995 1.1.1.2 jmcneill phy_type = "ulpi"; 996 1.1.1.2 jmcneill ahb-burst-config = <0>; 997 1.1.1.2 jmcneill phys = <&usb_hs4_phy>; 998 1.1.1.2 jmcneill phy-names = "usb-phy"; 999 1.1.1.2 jmcneill status = "disabled"; 1000 1.1.1.2 jmcneill #reset-cells = <1>; 1001 1.1.1.2 jmcneill 1002 1.1.1.2 jmcneill ulpi { 1003 1.1.1.2 jmcneill usb_hs4_phy: phy { 1004 1.1.1.2 jmcneill compatible = "qcom,usb-hs-phy-apq8064", 1005 1.1.1.2 jmcneill "qcom,usb-hs-phy"; 1006 1.1.1.2 jmcneill #phy-cells = <0>; 1007 1.1.1.2 jmcneill clocks = <&sleep_clk>, <&cxo_board>; 1008 1.1.1.2 jmcneill clock-names = "sleep", "ref"; 1009 1.1.1.2 jmcneill resets = <&usb4 0>; 1010 1.1.1.2 jmcneill reset-names = "por"; 1011 1.1.1.2 jmcneill }; 1012 1.1.1.2 jmcneill }; 1013 1.1 jmcneill }; 1014 1.1 jmcneill 1015 1.1 jmcneill sata_phy0: phy@1b400000 { 1016 1.1 jmcneill compatible = "qcom,apq8064-sata-phy"; 1017 1.1 jmcneill status = "disabled"; 1018 1.1 jmcneill reg = <0x1b400000 0x200>; 1019 1.1 jmcneill reg-names = "phy_mem"; 1020 1.1 jmcneill clocks = <&gcc SATA_PHY_CFG_CLK>; 1021 1.1 jmcneill clock-names = "cfg"; 1022 1.1 jmcneill #phy-cells = <0>; 1023 1.1 jmcneill }; 1024 1.1 jmcneill 1025 1.1 jmcneill sata0: sata@29000000 { 1026 1.1 jmcneill compatible = "qcom,apq8064-ahci", "generic-ahci"; 1027 1.1 jmcneill status = "disabled"; 1028 1.1 jmcneill reg = <0x29000000 0x180>; 1029 1.1.1.5 jmcneill interrupts = <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>; 1030 1.1 jmcneill 1031 1.1 jmcneill clocks = <&gcc SFAB_SATA_S_H_CLK>, 1032 1.1 jmcneill <&gcc SATA_H_CLK>, 1033 1.1 jmcneill <&gcc SATA_A_CLK>, 1034 1.1 jmcneill <&gcc SATA_RXOOB_CLK>, 1035 1.1 jmcneill <&gcc SATA_PMALIVE_CLK>; 1036 1.1 jmcneill clock-names = "slave_iface", 1037 1.1 jmcneill "iface", 1038 1.1 jmcneill "bus", 1039 1.1 jmcneill "rxoob", 1040 1.1 jmcneill "core_pmalive"; 1041 1.1 jmcneill 1042 1.1 jmcneill assigned-clocks = <&gcc SATA_RXOOB_CLK>, 1043 1.1 jmcneill <&gcc SATA_PMALIVE_CLK>; 1044 1.1 jmcneill assigned-clock-rates = <100000000>, <100000000>; 1045 1.1 jmcneill 1046 1.1 jmcneill phys = <&sata_phy0>; 1047 1.1 jmcneill phy-names = "sata-phy"; 1048 1.1 jmcneill ports-implemented = <0x1>; 1049 1.1 jmcneill }; 1050 1.1 jmcneill 1051 1.1 jmcneill /* Temporary fixed regulator */ 1052 1.1 jmcneill sdcc1bam:dma@12402000{ 1053 1.1 jmcneill compatible = "qcom,bam-v1.3.0"; 1054 1.1 jmcneill reg = <0x12402000 0x8000>; 1055 1.1.1.5 jmcneill interrupts = <0 98 IRQ_TYPE_LEVEL_HIGH>; 1056 1.1 jmcneill clocks = <&gcc SDC1_H_CLK>; 1057 1.1 jmcneill clock-names = "bam_clk"; 1058 1.1 jmcneill #dma-cells = <1>; 1059 1.1 jmcneill qcom,ee = <0>; 1060 1.1 jmcneill }; 1061 1.1 jmcneill 1062 1.1 jmcneill sdcc3bam:dma@12182000{ 1063 1.1 jmcneill compatible = "qcom,bam-v1.3.0"; 1064 1.1 jmcneill reg = <0x12182000 0x8000>; 1065 1.1.1.5 jmcneill interrupts = <0 96 IRQ_TYPE_LEVEL_HIGH>; 1066 1.1 jmcneill clocks = <&gcc SDC3_H_CLK>; 1067 1.1 jmcneill clock-names = "bam_clk"; 1068 1.1 jmcneill #dma-cells = <1>; 1069 1.1 jmcneill qcom,ee = <0>; 1070 1.1 jmcneill }; 1071 1.1 jmcneill 1072 1.1 jmcneill sdcc4bam:dma@121c2000{ 1073 1.1 jmcneill compatible = "qcom,bam-v1.3.0"; 1074 1.1 jmcneill reg = <0x121c2000 0x8000>; 1075 1.1.1.5 jmcneill interrupts = <0 95 IRQ_TYPE_LEVEL_HIGH>; 1076 1.1 jmcneill clocks = <&gcc SDC4_H_CLK>; 1077 1.1 jmcneill clock-names = "bam_clk"; 1078 1.1 jmcneill #dma-cells = <1>; 1079 1.1 jmcneill qcom,ee = <0>; 1080 1.1 jmcneill }; 1081 1.1 jmcneill 1082 1.1 jmcneill amba { 1083 1.1 jmcneill compatible = "simple-bus"; 1084 1.1 jmcneill #address-cells = <1>; 1085 1.1 jmcneill #size-cells = <1>; 1086 1.1 jmcneill ranges; 1087 1.1 jmcneill sdcc1: sdcc@12400000 { 1088 1.1 jmcneill status = "disabled"; 1089 1.1 jmcneill compatible = "arm,pl18x", "arm,primecell"; 1090 1.1 jmcneill pinctrl-names = "default"; 1091 1.1 jmcneill pinctrl-0 = <&sdcc1_pins>; 1092 1.1 jmcneill arm,primecell-periphid = <0x00051180>; 1093 1.1 jmcneill reg = <0x12400000 0x2000>; 1094 1.1 jmcneill interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>; 1095 1.1 jmcneill interrupt-names = "cmd_irq"; 1096 1.1 jmcneill clocks = <&gcc SDC1_CLK>, <&gcc SDC1_H_CLK>; 1097 1.1 jmcneill clock-names = "mclk", "apb_pclk"; 1098 1.1 jmcneill bus-width = <8>; 1099 1.1 jmcneill max-frequency = <96000000>; 1100 1.1 jmcneill non-removable; 1101 1.1 jmcneill cap-sd-highspeed; 1102 1.1 jmcneill cap-mmc-highspeed; 1103 1.1 jmcneill dmas = <&sdcc1bam 2>, <&sdcc1bam 1>; 1104 1.1 jmcneill dma-names = "tx", "rx"; 1105 1.1 jmcneill }; 1106 1.1 jmcneill 1107 1.1 jmcneill sdcc3: sdcc@12180000 { 1108 1.1 jmcneill compatible = "arm,pl18x", "arm,primecell"; 1109 1.1 jmcneill arm,primecell-periphid = <0x00051180>; 1110 1.1 jmcneill status = "disabled"; 1111 1.1 jmcneill reg = <0x12180000 0x2000>; 1112 1.1 jmcneill interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>; 1113 1.1 jmcneill interrupt-names = "cmd_irq"; 1114 1.1 jmcneill clocks = <&gcc SDC3_CLK>, <&gcc SDC3_H_CLK>; 1115 1.1 jmcneill clock-names = "mclk", "apb_pclk"; 1116 1.1 jmcneill bus-width = <4>; 1117 1.1 jmcneill cap-sd-highspeed; 1118 1.1 jmcneill cap-mmc-highspeed; 1119 1.1 jmcneill max-frequency = <192000000>; 1120 1.1 jmcneill no-1-8-v; 1121 1.1 jmcneill dmas = <&sdcc3bam 2>, <&sdcc3bam 1>; 1122 1.1 jmcneill dma-names = "tx", "rx"; 1123 1.1 jmcneill }; 1124 1.1 jmcneill 1125 1.1 jmcneill sdcc4: sdcc@121c0000 { 1126 1.1 jmcneill compatible = "arm,pl18x", "arm,primecell"; 1127 1.1 jmcneill arm,primecell-periphid = <0x00051180>; 1128 1.1 jmcneill status = "disabled"; 1129 1.1 jmcneill reg = <0x121c0000 0x2000>; 1130 1.1 jmcneill interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 1131 1.1 jmcneill interrupt-names = "cmd_irq"; 1132 1.1 jmcneill clocks = <&gcc SDC4_CLK>, <&gcc SDC4_H_CLK>; 1133 1.1 jmcneill clock-names = "mclk", "apb_pclk"; 1134 1.1 jmcneill bus-width = <4>; 1135 1.1 jmcneill cap-sd-highspeed; 1136 1.1 jmcneill cap-mmc-highspeed; 1137 1.1 jmcneill max-frequency = <48000000>; 1138 1.1 jmcneill dmas = <&sdcc4bam 2>, <&sdcc4bam 1>; 1139 1.1 jmcneill dma-names = "tx", "rx"; 1140 1.1 jmcneill pinctrl-names = "default"; 1141 1.1 jmcneill pinctrl-0 = <&sdc4_gpios>; 1142 1.1 jmcneill }; 1143 1.1 jmcneill }; 1144 1.1 jmcneill 1145 1.1 jmcneill tcsr: syscon@1a400000 { 1146 1.1 jmcneill compatible = "qcom,tcsr-apq8064", "syscon"; 1147 1.1 jmcneill reg = <0x1a400000 0x100>; 1148 1.1 jmcneill }; 1149 1.1 jmcneill 1150 1.1 jmcneill gpu: adreno-3xx@4300000 { 1151 1.1.1.9 jmcneill compatible = "qcom,adreno-320.2", "qcom,adreno"; 1152 1.1 jmcneill reg = <0x04300000 0x20000>; 1153 1.1 jmcneill reg-names = "kgsl_3d0_reg_memory"; 1154 1.1.1.5 jmcneill interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; 1155 1.1 jmcneill interrupt-names = "kgsl_3d0_irq"; 1156 1.1 jmcneill clock-names = 1157 1.1.1.9 jmcneill "core", 1158 1.1.1.9 jmcneill "iface", 1159 1.1.1.9 jmcneill "mem", 1160 1.1.1.9 jmcneill "mem_iface"; 1161 1.1 jmcneill clocks = 1162 1.1 jmcneill <&mmcc GFX3D_CLK>, 1163 1.1 jmcneill <&mmcc GFX3D_AHB_CLK>, 1164 1.1 jmcneill <&mmcc GFX3D_AXI_CLK>, 1165 1.1 jmcneill <&mmcc MMSS_IMEM_AHB_CLK>; 1166 1.1 jmcneill 1167 1.1 jmcneill iommus = <&gfx3d 0 1168 1.1 jmcneill &gfx3d 1 1169 1.1 jmcneill &gfx3d 2 1170 1.1 jmcneill &gfx3d 3 1171 1.1 jmcneill &gfx3d 4 1172 1.1 jmcneill &gfx3d 5 1173 1.1 jmcneill &gfx3d 6 1174 1.1 jmcneill &gfx3d 7 1175 1.1 jmcneill &gfx3d 8 1176 1.1 jmcneill &gfx3d 9 1177 1.1 jmcneill &gfx3d 10 1178 1.1 jmcneill &gfx3d 11 1179 1.1 jmcneill &gfx3d 12 1180 1.1 jmcneill &gfx3d 13 1181 1.1 jmcneill &gfx3d 14 1182 1.1 jmcneill &gfx3d 15 1183 1.1 jmcneill &gfx3d 16 1184 1.1 jmcneill &gfx3d 17 1185 1.1 jmcneill &gfx3d 18 1186 1.1 jmcneill &gfx3d 19 1187 1.1 jmcneill &gfx3d 20 1188 1.1 jmcneill &gfx3d 21 1189 1.1 jmcneill &gfx3d 22 1190 1.1 jmcneill &gfx3d 23 1191 1.1 jmcneill &gfx3d 24 1192 1.1 jmcneill &gfx3d 25 1193 1.1 jmcneill &gfx3d 26 1194 1.1 jmcneill &gfx3d 27 1195 1.1 jmcneill &gfx3d 28 1196 1.1 jmcneill &gfx3d 29 1197 1.1 jmcneill &gfx3d 30 1198 1.1 jmcneill &gfx3d 31 1199 1.1 jmcneill &gfx3d1 0 1200 1.1 jmcneill &gfx3d1 1 1201 1.1 jmcneill &gfx3d1 2 1202 1.1 jmcneill &gfx3d1 3 1203 1.1 jmcneill &gfx3d1 4 1204 1.1 jmcneill &gfx3d1 5 1205 1.1 jmcneill &gfx3d1 6 1206 1.1 jmcneill &gfx3d1 7 1207 1.1 jmcneill &gfx3d1 8 1208 1.1 jmcneill &gfx3d1 9 1209 1.1 jmcneill &gfx3d1 10 1210 1.1 jmcneill &gfx3d1 11 1211 1.1 jmcneill &gfx3d1 12 1212 1.1 jmcneill &gfx3d1 13 1213 1.1 jmcneill &gfx3d1 14 1214 1.1 jmcneill &gfx3d1 15 1215 1.1 jmcneill &gfx3d1 16 1216 1.1 jmcneill &gfx3d1 17 1217 1.1 jmcneill &gfx3d1 18 1218 1.1 jmcneill &gfx3d1 19 1219 1.1 jmcneill &gfx3d1 20 1220 1.1 jmcneill &gfx3d1 21 1221 1.1 jmcneill &gfx3d1 22 1222 1.1 jmcneill &gfx3d1 23 1223 1.1 jmcneill &gfx3d1 24 1224 1.1 jmcneill &gfx3d1 25 1225 1.1 jmcneill &gfx3d1 26 1226 1.1 jmcneill &gfx3d1 27 1227 1.1 jmcneill &gfx3d1 28 1228 1.1 jmcneill &gfx3d1 29 1229 1.1 jmcneill &gfx3d1 30 1230 1.1 jmcneill &gfx3d1 31>; 1231 1.1 jmcneill 1232 1.1 jmcneill qcom,gpu-pwrlevels { 1233 1.1 jmcneill compatible = "qcom,gpu-pwrlevels"; 1234 1.1 jmcneill qcom,gpu-pwrlevel@0 { 1235 1.1 jmcneill qcom,gpu-freq = <450000000>; 1236 1.1 jmcneill }; 1237 1.1 jmcneill qcom,gpu-pwrlevel@1 { 1238 1.1 jmcneill qcom,gpu-freq = <27000000>; 1239 1.1 jmcneill }; 1240 1.1 jmcneill }; 1241 1.1 jmcneill }; 1242 1.1 jmcneill 1243 1.1 jmcneill mmss_sfpb: syscon@5700000 { 1244 1.1 jmcneill compatible = "syscon"; 1245 1.1 jmcneill reg = <0x5700000 0x70>; 1246 1.1 jmcneill }; 1247 1.1 jmcneill 1248 1.1 jmcneill dsi0: mdss_dsi@4700000 { 1249 1.1 jmcneill compatible = "qcom,mdss-dsi-ctrl"; 1250 1.1 jmcneill label = "MDSS DSI CTRL->0"; 1251 1.1 jmcneill #address-cells = <1>; 1252 1.1 jmcneill #size-cells = <0>; 1253 1.1.1.5 jmcneill interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; 1254 1.1 jmcneill reg = <0x04700000 0x200>; 1255 1.1 jmcneill reg-names = "dsi_ctrl"; 1256 1.1 jmcneill 1257 1.1 jmcneill clocks = <&mmcc DSI_M_AHB_CLK>, 1258 1.1 jmcneill <&mmcc DSI_S_AHB_CLK>, 1259 1.1 jmcneill <&mmcc AMP_AHB_CLK>, 1260 1.1 jmcneill <&mmcc DSI_CLK>, 1261 1.1 jmcneill <&mmcc DSI1_BYTE_CLK>, 1262 1.1 jmcneill <&mmcc DSI_PIXEL_CLK>, 1263 1.1 jmcneill <&mmcc DSI1_ESC_CLK>; 1264 1.1.1.9 jmcneill clock-names = "iface", "bus", "core_mmss", 1265 1.1.1.9 jmcneill "src", "byte", "pixel", 1266 1.1.1.9 jmcneill "core"; 1267 1.1 jmcneill 1268 1.1 jmcneill assigned-clocks = <&mmcc DSI1_BYTE_SRC>, 1269 1.1 jmcneill <&mmcc DSI1_ESC_SRC>, 1270 1.1 jmcneill <&mmcc DSI_SRC>, 1271 1.1 jmcneill <&mmcc DSI_PIXEL_SRC>; 1272 1.1 jmcneill assigned-clock-parents = <&dsi0_phy 0>, 1273 1.1 jmcneill <&dsi0_phy 0>, 1274 1.1 jmcneill <&dsi0_phy 1>, 1275 1.1 jmcneill <&dsi0_phy 1>; 1276 1.1 jmcneill syscon-sfpb = <&mmss_sfpb>; 1277 1.1 jmcneill phys = <&dsi0_phy>; 1278 1.1 jmcneill ports { 1279 1.1 jmcneill #address-cells = <1>; 1280 1.1 jmcneill #size-cells = <0>; 1281 1.1 jmcneill 1282 1.1 jmcneill port@0 { 1283 1.1 jmcneill reg = <0>; 1284 1.1 jmcneill dsi0_in: endpoint { 1285 1.1 jmcneill }; 1286 1.1 jmcneill }; 1287 1.1 jmcneill 1288 1.1 jmcneill port@1 { 1289 1.1 jmcneill reg = <1>; 1290 1.1 jmcneill dsi0_out: endpoint { 1291 1.1 jmcneill }; 1292 1.1 jmcneill }; 1293 1.1 jmcneill }; 1294 1.1 jmcneill }; 1295 1.1 jmcneill 1296 1.1 jmcneill 1297 1.1 jmcneill dsi0_phy: dsi-phy@4700200 { 1298 1.1 jmcneill compatible = "qcom,dsi-phy-28nm-8960"; 1299 1.1 jmcneill #clock-cells = <1>; 1300 1.1.1.3 jmcneill #phy-cells = <0>; 1301 1.1 jmcneill 1302 1.1 jmcneill reg = <0x04700200 0x100>, 1303 1.1 jmcneill <0x04700300 0x200>, 1304 1.1 jmcneill <0x04700500 0x5c>; 1305 1.1 jmcneill reg-names = "dsi_pll", "dsi_phy", "dsi_phy_regulator"; 1306 1.1.1.8 skrll clock-names = "iface_clk", "ref"; 1307 1.1.1.8 skrll clocks = <&mmcc DSI_M_AHB_CLK>, 1308 1.1.1.9 jmcneill <&pxo_board>; 1309 1.1 jmcneill }; 1310 1.1 jmcneill 1311 1.1 jmcneill 1312 1.1 jmcneill mdp_port0: iommu@7500000 { 1313 1.1 jmcneill compatible = "qcom,apq8064-iommu"; 1314 1.1 jmcneill #iommu-cells = <1>; 1315 1.1 jmcneill clock-names = 1316 1.1 jmcneill "smmu_pclk", 1317 1.1 jmcneill "iommu_clk"; 1318 1.1 jmcneill clocks = 1319 1.1 jmcneill <&mmcc SMMU_AHB_CLK>, 1320 1.1 jmcneill <&mmcc MDP_AXI_CLK>; 1321 1.1 jmcneill reg = <0x07500000 0x100000>; 1322 1.1 jmcneill interrupts = 1323 1.1.1.5 jmcneill <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>, 1324 1.1.1.5 jmcneill <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; 1325 1.1 jmcneill qcom,ncb = <2>; 1326 1.1 jmcneill }; 1327 1.1 jmcneill 1328 1.1 jmcneill mdp_port1: iommu@7600000 { 1329 1.1 jmcneill compatible = "qcom,apq8064-iommu"; 1330 1.1 jmcneill #iommu-cells = <1>; 1331 1.1 jmcneill clock-names = 1332 1.1 jmcneill "smmu_pclk", 1333 1.1 jmcneill "iommu_clk"; 1334 1.1 jmcneill clocks = 1335 1.1 jmcneill <&mmcc SMMU_AHB_CLK>, 1336 1.1 jmcneill <&mmcc MDP_AXI_CLK>; 1337 1.1 jmcneill reg = <0x07600000 0x100000>; 1338 1.1 jmcneill interrupts = 1339 1.1.1.5 jmcneill <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>, 1340 1.1.1.5 jmcneill <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 1341 1.1 jmcneill qcom,ncb = <2>; 1342 1.1 jmcneill }; 1343 1.1 jmcneill 1344 1.1 jmcneill gfx3d: iommu@7c00000 { 1345 1.1 jmcneill compatible = "qcom,apq8064-iommu"; 1346 1.1 jmcneill #iommu-cells = <1>; 1347 1.1 jmcneill clock-names = 1348 1.1 jmcneill "smmu_pclk", 1349 1.1 jmcneill "iommu_clk"; 1350 1.1 jmcneill clocks = 1351 1.1 jmcneill <&mmcc SMMU_AHB_CLK>, 1352 1.1 jmcneill <&mmcc GFX3D_AXI_CLK>; 1353 1.1 jmcneill reg = <0x07c00000 0x100000>; 1354 1.1 jmcneill interrupts = 1355 1.1.1.5 jmcneill <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>, 1356 1.1.1.5 jmcneill <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; 1357 1.1 jmcneill qcom,ncb = <3>; 1358 1.1 jmcneill }; 1359 1.1 jmcneill 1360 1.1 jmcneill gfx3d1: iommu@7d00000 { 1361 1.1 jmcneill compatible = "qcom,apq8064-iommu"; 1362 1.1 jmcneill #iommu-cells = <1>; 1363 1.1 jmcneill clock-names = 1364 1.1 jmcneill "smmu_pclk", 1365 1.1 jmcneill "iommu_clk"; 1366 1.1 jmcneill clocks = 1367 1.1 jmcneill <&mmcc SMMU_AHB_CLK>, 1368 1.1 jmcneill <&mmcc GFX3D_AXI_CLK>; 1369 1.1 jmcneill reg = <0x07d00000 0x100000>; 1370 1.1 jmcneill interrupts = 1371 1.1.1.5 jmcneill <GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH>, 1372 1.1.1.5 jmcneill <GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH>; 1373 1.1 jmcneill qcom,ncb = <3>; 1374 1.1 jmcneill }; 1375 1.1 jmcneill 1376 1.1 jmcneill pcie: pci@1b500000 { 1377 1.1 jmcneill compatible = "qcom,pcie-apq8064", "snps,dw-pcie"; 1378 1.1 jmcneill reg = <0x1b500000 0x1000 1379 1.1 jmcneill 0x1b502000 0x80 1380 1.1 jmcneill 0x1b600000 0x100 1381 1.1 jmcneill 0x0ff00000 0x100000>; 1382 1.1 jmcneill reg-names = "dbi", "elbi", "parf", "config"; 1383 1.1 jmcneill device_type = "pci"; 1384 1.1 jmcneill linux,pci-domain = <0>; 1385 1.1 jmcneill bus-range = <0x00 0xff>; 1386 1.1 jmcneill num-lanes = <1>; 1387 1.1 jmcneill #address-cells = <3>; 1388 1.1 jmcneill #size-cells = <2>; 1389 1.1 jmcneill ranges = <0x81000000 0 0 0x0fe00000 0 0x00100000 /* I/O */ 1390 1.1.1.5 jmcneill 0x82000000 0 0x08000000 0x08000000 0 0x07e00000>; /* memory */ 1391 1.1.1.5 jmcneill interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>; 1392 1.1 jmcneill interrupt-names = "msi"; 1393 1.1 jmcneill #interrupt-cells = <1>; 1394 1.1 jmcneill interrupt-map-mask = <0 0 0 0x7>; 1395 1.1 jmcneill interrupt-map = <0 0 0 1 &intc 0 36 IRQ_TYPE_LEVEL_HIGH>, /* int_a */ 1396 1.1 jmcneill <0 0 0 2 &intc 0 37 IRQ_TYPE_LEVEL_HIGH>, /* int_b */ 1397 1.1 jmcneill <0 0 0 3 &intc 0 38 IRQ_TYPE_LEVEL_HIGH>, /* int_c */ 1398 1.1 jmcneill <0 0 0 4 &intc 0 39 IRQ_TYPE_LEVEL_HIGH>; /* int_d */ 1399 1.1 jmcneill clocks = <&gcc PCIE_A_CLK>, 1400 1.1 jmcneill <&gcc PCIE_H_CLK>, 1401 1.1 jmcneill <&gcc PCIE_PHY_REF_CLK>; 1402 1.1 jmcneill clock-names = "core", "iface", "phy"; 1403 1.1 jmcneill resets = <&gcc PCIE_ACLK_RESET>, 1404 1.1 jmcneill <&gcc PCIE_HCLK_RESET>, 1405 1.1 jmcneill <&gcc PCIE_POR_RESET>, 1406 1.1 jmcneill <&gcc PCIE_PCI_RESET>, 1407 1.1 jmcneill <&gcc PCIE_PHY_RESET>; 1408 1.1 jmcneill reset-names = "axi", "ahb", "por", "pci", "phy"; 1409 1.1 jmcneill status = "disabled"; 1410 1.1 jmcneill }; 1411 1.1 jmcneill 1412 1.1 jmcneill hdmi: hdmi-tx@4a00000 { 1413 1.1 jmcneill compatible = "qcom,hdmi-tx-8960"; 1414 1.1 jmcneill pinctrl-names = "default"; 1415 1.1 jmcneill pinctrl-0 = <&hdmi_pinctrl>; 1416 1.1 jmcneill reg = <0x04a00000 0x2f0>; 1417 1.1 jmcneill reg-names = "core_physical"; 1418 1.1 jmcneill interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; 1419 1.1 jmcneill clocks = <&mmcc HDMI_APP_CLK>, 1420 1.1 jmcneill <&mmcc HDMI_M_AHB_CLK>, 1421 1.1 jmcneill <&mmcc HDMI_S_AHB_CLK>; 1422 1.1 jmcneill clock-names = "core_clk", 1423 1.1 jmcneill "master_iface_clk", 1424 1.1 jmcneill "slave_iface_clk"; 1425 1.1 jmcneill 1426 1.1 jmcneill phys = <&hdmi_phy>; 1427 1.1 jmcneill phy-names = "hdmi-phy"; 1428 1.1 jmcneill 1429 1.1 jmcneill ports { 1430 1.1 jmcneill #address-cells = <1>; 1431 1.1 jmcneill #size-cells = <0>; 1432 1.1 jmcneill 1433 1.1 jmcneill port@0 { 1434 1.1 jmcneill reg = <0>; 1435 1.1 jmcneill hdmi_in: endpoint { 1436 1.1 jmcneill }; 1437 1.1 jmcneill }; 1438 1.1 jmcneill 1439 1.1 jmcneill port@1 { 1440 1.1 jmcneill reg = <1>; 1441 1.1 jmcneill hdmi_out: endpoint { 1442 1.1 jmcneill }; 1443 1.1 jmcneill }; 1444 1.1 jmcneill }; 1445 1.1 jmcneill }; 1446 1.1 jmcneill 1447 1.1 jmcneill hdmi_phy: hdmi-phy@4a00400 { 1448 1.1 jmcneill compatible = "qcom,hdmi-phy-8960"; 1449 1.1 jmcneill reg = <0x4a00400 0x60>, 1450 1.1 jmcneill <0x4a00500 0x100>; 1451 1.1 jmcneill reg-names = "hdmi_phy", 1452 1.1 jmcneill "hdmi_pll"; 1453 1.1 jmcneill 1454 1.1 jmcneill clocks = <&mmcc HDMI_S_AHB_CLK>; 1455 1.1 jmcneill clock-names = "slave_iface_clk"; 1456 1.1.1.3 jmcneill #phy-cells = <0>; 1457 1.1 jmcneill }; 1458 1.1 jmcneill 1459 1.1 jmcneill mdp: mdp@5100000 { 1460 1.1 jmcneill compatible = "qcom,mdp4"; 1461 1.1 jmcneill reg = <0x05100000 0xf0000>; 1462 1.1 jmcneill interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 1463 1.1 jmcneill clocks = <&mmcc MDP_CLK>, 1464 1.1 jmcneill <&mmcc MDP_AHB_CLK>, 1465 1.1 jmcneill <&mmcc MDP_AXI_CLK>, 1466 1.1 jmcneill <&mmcc MDP_LUT_CLK>, 1467 1.1 jmcneill <&mmcc HDMI_TV_CLK>, 1468 1.1 jmcneill <&mmcc MDP_TV_CLK>; 1469 1.1 jmcneill clock-names = "core_clk", 1470 1.1 jmcneill "iface_clk", 1471 1.1 jmcneill "bus_clk", 1472 1.1 jmcneill "lut_clk", 1473 1.1 jmcneill "hdmi_clk", 1474 1.1 jmcneill "tv_clk"; 1475 1.1 jmcneill 1476 1.1 jmcneill iommus = <&mdp_port0 0 1477 1.1 jmcneill &mdp_port0 2 1478 1.1 jmcneill &mdp_port1 0 1479 1.1 jmcneill &mdp_port1 2>; 1480 1.1 jmcneill 1481 1.1 jmcneill ports { 1482 1.1 jmcneill #address-cells = <1>; 1483 1.1 jmcneill #size-cells = <0>; 1484 1.1 jmcneill 1485 1.1 jmcneill port@0 { 1486 1.1 jmcneill reg = <0>; 1487 1.1 jmcneill mdp_lvds_out: endpoint { 1488 1.1 jmcneill }; 1489 1.1 jmcneill }; 1490 1.1 jmcneill 1491 1.1 jmcneill port@1 { 1492 1.1 jmcneill reg = <1>; 1493 1.1 jmcneill mdp_dsi1_out: endpoint { 1494 1.1 jmcneill }; 1495 1.1 jmcneill }; 1496 1.1 jmcneill 1497 1.1 jmcneill port@2 { 1498 1.1 jmcneill reg = <2>; 1499 1.1 jmcneill mdp_dsi2_out: endpoint { 1500 1.1 jmcneill }; 1501 1.1 jmcneill }; 1502 1.1 jmcneill 1503 1.1 jmcneill port@3 { 1504 1.1 jmcneill reg = <3>; 1505 1.1 jmcneill mdp_dtv_out: endpoint { 1506 1.1 jmcneill }; 1507 1.1 jmcneill }; 1508 1.1 jmcneill }; 1509 1.1 jmcneill }; 1510 1.1 jmcneill 1511 1.1 jmcneill riva: riva-pil@3204000 { 1512 1.1 jmcneill compatible = "qcom,riva-pil"; 1513 1.1 jmcneill 1514 1.1 jmcneill reg = <0x03200800 0x1000>, <0x03202000 0x2000>, <0x03204000 0x100>; 1515 1.1 jmcneill reg-names = "ccu", "dxe", "pmu"; 1516 1.1 jmcneill 1517 1.1 jmcneill interrupts-extended = <&intc GIC_SPI 199 IRQ_TYPE_EDGE_RISING>, 1518 1.1 jmcneill <&wcnss_smsm 6 IRQ_TYPE_EDGE_RISING>; 1519 1.1 jmcneill interrupt-names = "wdog", "fatal"; 1520 1.1 jmcneill 1521 1.1 jmcneill memory-region = <&wcnss_mem>; 1522 1.1 jmcneill 1523 1.1 jmcneill vddcx-supply = <&pm8921_s3>; 1524 1.1 jmcneill vddmx-supply = <&pm8921_l24>; 1525 1.1 jmcneill vddpx-supply = <&pm8921_s4>; 1526 1.1 jmcneill 1527 1.1 jmcneill status = "disabled"; 1528 1.1 jmcneill 1529 1.1 jmcneill iris { 1530 1.1 jmcneill compatible = "qcom,wcn3660"; 1531 1.1 jmcneill 1532 1.1 jmcneill clocks = <&cxo_board>; 1533 1.1 jmcneill clock-names = "xo"; 1534 1.1 jmcneill 1535 1.1 jmcneill vddxo-supply = <&pm8921_l4>; 1536 1.1 jmcneill vddrfa-supply = <&pm8921_s2>; 1537 1.1 jmcneill vddpa-supply = <&pm8921_l10>; 1538 1.1 jmcneill vdddig-supply = <&pm8921_lvs2>; 1539 1.1 jmcneill }; 1540 1.1 jmcneill 1541 1.1 jmcneill smd-edge { 1542 1.1 jmcneill interrupts = <GIC_SPI 198 IRQ_TYPE_EDGE_RISING>; 1543 1.1 jmcneill 1544 1.1 jmcneill qcom,ipc = <&l2cc 8 25>; 1545 1.1 jmcneill qcom,smd-edge = <6>; 1546 1.1 jmcneill 1547 1.1 jmcneill label = "riva"; 1548 1.1 jmcneill 1549 1.1 jmcneill wcnss { 1550 1.1 jmcneill compatible = "qcom,wcnss"; 1551 1.1 jmcneill qcom,smd-channels = "WCNSS_CTRL"; 1552 1.1 jmcneill 1553 1.1 jmcneill qcom,mmio = <&riva>; 1554 1.1 jmcneill 1555 1.1 jmcneill bt { 1556 1.1 jmcneill compatible = "qcom,wcnss-bt"; 1557 1.1 jmcneill }; 1558 1.1 jmcneill 1559 1.1 jmcneill wifi { 1560 1.1 jmcneill compatible = "qcom,wcnss-wlan"; 1561 1.1 jmcneill 1562 1.1 jmcneill interrupts = <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>, 1563 1.1 jmcneill <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>; 1564 1.1 jmcneill interrupt-names = "tx", "rx"; 1565 1.1 jmcneill 1566 1.1 jmcneill qcom,smem-states = <&apps_smsm 10>, <&apps_smsm 9>; 1567 1.1 jmcneill qcom,smem-state-names = "tx-enable", "tx-rings-empty"; 1568 1.1 jmcneill }; 1569 1.1 jmcneill }; 1570 1.1 jmcneill }; 1571 1.1 jmcneill }; 1572 1.1 jmcneill 1573 1.1 jmcneill etb@1a01000 { 1574 1.1 jmcneill compatible = "coresight-etb10", "arm,primecell"; 1575 1.1 jmcneill reg = <0x1a01000 0x1000>; 1576 1.1 jmcneill 1577 1.1 jmcneill clocks = <&rpmcc RPM_QDSS_CLK>; 1578 1.1 jmcneill clock-names = "apb_pclk"; 1579 1.1 jmcneill 1580 1.1.1.6 jmcneill in-ports { 1581 1.1.1.6 jmcneill port { 1582 1.1.1.6 jmcneill etb_in: endpoint { 1583 1.1.1.6 jmcneill remote-endpoint = <&replicator_out0>; 1584 1.1.1.6 jmcneill }; 1585 1.1 jmcneill }; 1586 1.1 jmcneill }; 1587 1.1 jmcneill }; 1588 1.1 jmcneill 1589 1.1 jmcneill tpiu@1a03000 { 1590 1.1 jmcneill compatible = "arm,coresight-tpiu", "arm,primecell"; 1591 1.1 jmcneill reg = <0x1a03000 0x1000>; 1592 1.1 jmcneill 1593 1.1 jmcneill clocks = <&rpmcc RPM_QDSS_CLK>; 1594 1.1 jmcneill clock-names = "apb_pclk"; 1595 1.1 jmcneill 1596 1.1.1.6 jmcneill in-ports { 1597 1.1.1.6 jmcneill port { 1598 1.1.1.6 jmcneill tpiu_in: endpoint { 1599 1.1.1.6 jmcneill remote-endpoint = <&replicator_out1>; 1600 1.1.1.6 jmcneill }; 1601 1.1 jmcneill }; 1602 1.1 jmcneill }; 1603 1.1 jmcneill }; 1604 1.1 jmcneill 1605 1.1 jmcneill replicator { 1606 1.1.1.8 skrll compatible = "arm,coresight-static-replicator"; 1607 1.1 jmcneill 1608 1.1 jmcneill clocks = <&rpmcc RPM_QDSS_CLK>; 1609 1.1 jmcneill clock-names = "apb_pclk"; 1610 1.1 jmcneill 1611 1.1.1.6 jmcneill out-ports { 1612 1.1 jmcneill #address-cells = <1>; 1613 1.1 jmcneill #size-cells = <0>; 1614 1.1 jmcneill 1615 1.1 jmcneill port@0 { 1616 1.1 jmcneill reg = <0>; 1617 1.1 jmcneill replicator_out0: endpoint { 1618 1.1 jmcneill remote-endpoint = <&etb_in>; 1619 1.1 jmcneill }; 1620 1.1 jmcneill }; 1621 1.1 jmcneill port@1 { 1622 1.1 jmcneill reg = <1>; 1623 1.1 jmcneill replicator_out1: endpoint { 1624 1.1 jmcneill remote-endpoint = <&tpiu_in>; 1625 1.1 jmcneill }; 1626 1.1 jmcneill }; 1627 1.1.1.6 jmcneill }; 1628 1.1.1.6 jmcneill 1629 1.1.1.6 jmcneill in-ports { 1630 1.1.1.6 jmcneill port { 1631 1.1 jmcneill replicator_in: endpoint { 1632 1.1 jmcneill remote-endpoint = <&funnel_out>; 1633 1.1 jmcneill }; 1634 1.1 jmcneill }; 1635 1.1 jmcneill }; 1636 1.1 jmcneill }; 1637 1.1 jmcneill 1638 1.1 jmcneill funnel@1a04000 { 1639 1.1.1.8 skrll compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 1640 1.1 jmcneill reg = <0x1a04000 0x1000>; 1641 1.1 jmcneill 1642 1.1 jmcneill clocks = <&rpmcc RPM_QDSS_CLK>; 1643 1.1 jmcneill clock-names = "apb_pclk"; 1644 1.1 jmcneill 1645 1.1.1.6 jmcneill in-ports { 1646 1.1 jmcneill #address-cells = <1>; 1647 1.1 jmcneill #size-cells = <0>; 1648 1.1 jmcneill 1649 1.1 jmcneill /* 1650 1.1 jmcneill * Not described input ports: 1651 1.1 jmcneill * 2 - connected to STM component 1652 1.1 jmcneill * 3 - not-connected 1653 1.1 jmcneill * 6 - not-connected 1654 1.1 jmcneill * 7 - not-connected 1655 1.1 jmcneill */ 1656 1.1 jmcneill port@0 { 1657 1.1 jmcneill reg = <0>; 1658 1.1 jmcneill funnel_in0: endpoint { 1659 1.1 jmcneill remote-endpoint = <&etm0_out>; 1660 1.1 jmcneill }; 1661 1.1 jmcneill }; 1662 1.1 jmcneill port@1 { 1663 1.1 jmcneill reg = <1>; 1664 1.1 jmcneill funnel_in1: endpoint { 1665 1.1 jmcneill remote-endpoint = <&etm1_out>; 1666 1.1 jmcneill }; 1667 1.1 jmcneill }; 1668 1.1 jmcneill port@4 { 1669 1.1 jmcneill reg = <4>; 1670 1.1 jmcneill funnel_in4: endpoint { 1671 1.1 jmcneill remote-endpoint = <&etm2_out>; 1672 1.1 jmcneill }; 1673 1.1 jmcneill }; 1674 1.1 jmcneill port@5 { 1675 1.1 jmcneill reg = <5>; 1676 1.1 jmcneill funnel_in5: endpoint { 1677 1.1 jmcneill remote-endpoint = <&etm3_out>; 1678 1.1 jmcneill }; 1679 1.1 jmcneill }; 1680 1.1.1.6 jmcneill }; 1681 1.1.1.6 jmcneill 1682 1.1.1.6 jmcneill out-ports { 1683 1.1.1.6 jmcneill port { 1684 1.1 jmcneill funnel_out: endpoint { 1685 1.1 jmcneill remote-endpoint = <&replicator_in>; 1686 1.1 jmcneill }; 1687 1.1 jmcneill }; 1688 1.1 jmcneill }; 1689 1.1 jmcneill }; 1690 1.1 jmcneill 1691 1.1 jmcneill etm@1a1c000 { 1692 1.1 jmcneill compatible = "arm,coresight-etm3x", "arm,primecell"; 1693 1.1 jmcneill reg = <0x1a1c000 0x1000>; 1694 1.1 jmcneill 1695 1.1 jmcneill clocks = <&rpmcc RPM_QDSS_CLK>; 1696 1.1 jmcneill clock-names = "apb_pclk"; 1697 1.1 jmcneill 1698 1.1 jmcneill cpu = <&CPU0>; 1699 1.1 jmcneill 1700 1.1.1.6 jmcneill out-ports { 1701 1.1.1.6 jmcneill port { 1702 1.1.1.6 jmcneill etm0_out: endpoint { 1703 1.1.1.6 jmcneill remote-endpoint = <&funnel_in0>; 1704 1.1.1.6 jmcneill }; 1705 1.1 jmcneill }; 1706 1.1 jmcneill }; 1707 1.1 jmcneill }; 1708 1.1 jmcneill 1709 1.1 jmcneill etm@1a1d000 { 1710 1.1 jmcneill compatible = "arm,coresight-etm3x", "arm,primecell"; 1711 1.1 jmcneill reg = <0x1a1d000 0x1000>; 1712 1.1 jmcneill 1713 1.1 jmcneill clocks = <&rpmcc RPM_QDSS_CLK>; 1714 1.1 jmcneill clock-names = "apb_pclk"; 1715 1.1 jmcneill 1716 1.1 jmcneill cpu = <&CPU1>; 1717 1.1 jmcneill 1718 1.1.1.6 jmcneill out-ports { 1719 1.1.1.6 jmcneill port { 1720 1.1.1.6 jmcneill etm1_out: endpoint { 1721 1.1.1.6 jmcneill remote-endpoint = <&funnel_in1>; 1722 1.1.1.6 jmcneill }; 1723 1.1 jmcneill }; 1724 1.1 jmcneill }; 1725 1.1 jmcneill }; 1726 1.1 jmcneill 1727 1.1 jmcneill etm@1a1e000 { 1728 1.1 jmcneill compatible = "arm,coresight-etm3x", "arm,primecell"; 1729 1.1 jmcneill reg = <0x1a1e000 0x1000>; 1730 1.1 jmcneill 1731 1.1 jmcneill clocks = <&rpmcc RPM_QDSS_CLK>; 1732 1.1 jmcneill clock-names = "apb_pclk"; 1733 1.1 jmcneill 1734 1.1 jmcneill cpu = <&CPU2>; 1735 1.1 jmcneill 1736 1.1.1.6 jmcneill out-ports { 1737 1.1.1.6 jmcneill port { 1738 1.1.1.6 jmcneill etm2_out: endpoint { 1739 1.1.1.6 jmcneill remote-endpoint = <&funnel_in4>; 1740 1.1.1.6 jmcneill }; 1741 1.1 jmcneill }; 1742 1.1 jmcneill }; 1743 1.1 jmcneill }; 1744 1.1 jmcneill 1745 1.1 jmcneill etm@1a1f000 { 1746 1.1 jmcneill compatible = "arm,coresight-etm3x", "arm,primecell"; 1747 1.1 jmcneill reg = <0x1a1f000 0x1000>; 1748 1.1 jmcneill 1749 1.1 jmcneill clocks = <&rpmcc RPM_QDSS_CLK>; 1750 1.1 jmcneill clock-names = "apb_pclk"; 1751 1.1 jmcneill 1752 1.1 jmcneill cpu = <&CPU3>; 1753 1.1 jmcneill 1754 1.1.1.6 jmcneill out-ports { 1755 1.1.1.6 jmcneill port { 1756 1.1.1.6 jmcneill etm3_out: endpoint { 1757 1.1.1.6 jmcneill remote-endpoint = <&funnel_in5>; 1758 1.1.1.6 jmcneill }; 1759 1.1 jmcneill }; 1760 1.1 jmcneill }; 1761 1.1 jmcneill }; 1762 1.1 jmcneill }; 1763 1.1 jmcneill }; 1764 1.1 jmcneill #include "qcom-apq8064-pins.dtsi" 1765