1f126890aSEmmanuel Vadot// SPDX-License-Identifier: BSD-3-Clause 2f126890aSEmmanuel Vadot/* 3f126890aSEmmanuel Vadot * Copyright (c) 2020, The Linux Foundation. All rights reserved. 4f126890aSEmmanuel Vadot */ 5f126890aSEmmanuel Vadot 6f126890aSEmmanuel Vadot/dts-v1/; 7f126890aSEmmanuel Vadot 8f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 9f126890aSEmmanuel Vadot#include <dt-bindings/clock/qcom,gcc-msm8974.h> 10f126890aSEmmanuel Vadot#include <dt-bindings/clock/qcom,mmcc-msm8974.h> 11f126890aSEmmanuel Vadot#include <dt-bindings/clock/qcom,rpmcc.h> 12f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 13f126890aSEmmanuel Vadot#include <dt-bindings/power/qcom-rpmpd.h> 14f126890aSEmmanuel Vadot#include <dt-bindings/reset/qcom,gcc-msm8974.h> 15*b2d2a78aSEmmanuel Vadot#include <dt-bindings/thermal/thermal.h> 16f126890aSEmmanuel Vadot 17f126890aSEmmanuel Vadot/ { 18f126890aSEmmanuel Vadot #address-cells = <1>; 19f126890aSEmmanuel Vadot #size-cells = <1>; 20f126890aSEmmanuel Vadot interrupt-parent = <&intc>; 21f126890aSEmmanuel Vadot 22f126890aSEmmanuel Vadot chosen { }; 23f126890aSEmmanuel Vadot 24f126890aSEmmanuel Vadot clocks { 25f126890aSEmmanuel Vadot xo_board: xo_board { 26f126890aSEmmanuel Vadot compatible = "fixed-clock"; 27f126890aSEmmanuel Vadot #clock-cells = <0>; 28f126890aSEmmanuel Vadot clock-frequency = <19200000>; 29f126890aSEmmanuel Vadot }; 30f126890aSEmmanuel Vadot 31f126890aSEmmanuel Vadot sleep_clk: sleep_clk { 32f126890aSEmmanuel Vadot compatible = "fixed-clock"; 33f126890aSEmmanuel Vadot #clock-cells = <0>; 34f126890aSEmmanuel Vadot clock-frequency = <32768>; 35f126890aSEmmanuel Vadot }; 36f126890aSEmmanuel Vadot }; 37f126890aSEmmanuel Vadot 3801950c46SEmmanuel Vadot cpus { 3901950c46SEmmanuel Vadot #address-cells = <1>; 4001950c46SEmmanuel Vadot #size-cells = <0>; 4101950c46SEmmanuel Vadot 4201950c46SEmmanuel Vadot CPU0: cpu@0 { 4301950c46SEmmanuel Vadot compatible = "arm,cortex-a7"; 4401950c46SEmmanuel Vadot enable-method = "qcom,msm8226-smp"; 4501950c46SEmmanuel Vadot device_type = "cpu"; 4601950c46SEmmanuel Vadot reg = <0>; 4701950c46SEmmanuel Vadot next-level-cache = <&L2>; 48*b2d2a78aSEmmanuel Vadot clocks = <&apcs>; 49*b2d2a78aSEmmanuel Vadot operating-points-v2 = <&cpu_opp_table>; 5001950c46SEmmanuel Vadot qcom,acc = <&acc0>; 5101950c46SEmmanuel Vadot qcom,saw = <&saw0>; 52*b2d2a78aSEmmanuel Vadot #cooling-cells = <2>; 5301950c46SEmmanuel Vadot }; 5401950c46SEmmanuel Vadot 5501950c46SEmmanuel Vadot CPU1: cpu@1 { 5601950c46SEmmanuel Vadot compatible = "arm,cortex-a7"; 5701950c46SEmmanuel Vadot enable-method = "qcom,msm8226-smp"; 5801950c46SEmmanuel Vadot device_type = "cpu"; 5901950c46SEmmanuel Vadot reg = <1>; 6001950c46SEmmanuel Vadot next-level-cache = <&L2>; 61*b2d2a78aSEmmanuel Vadot clocks = <&apcs>; 62*b2d2a78aSEmmanuel Vadot operating-points-v2 = <&cpu_opp_table>; 6301950c46SEmmanuel Vadot qcom,acc = <&acc1>; 6401950c46SEmmanuel Vadot qcom,saw = <&saw1>; 65*b2d2a78aSEmmanuel Vadot #cooling-cells = <2>; 6601950c46SEmmanuel Vadot }; 6701950c46SEmmanuel Vadot 6801950c46SEmmanuel Vadot CPU2: cpu@2 { 6901950c46SEmmanuel Vadot compatible = "arm,cortex-a7"; 7001950c46SEmmanuel Vadot enable-method = "qcom,msm8226-smp"; 7101950c46SEmmanuel Vadot device_type = "cpu"; 7201950c46SEmmanuel Vadot reg = <2>; 7301950c46SEmmanuel Vadot next-level-cache = <&L2>; 74*b2d2a78aSEmmanuel Vadot clocks = <&apcs>; 75*b2d2a78aSEmmanuel Vadot operating-points-v2 = <&cpu_opp_table>; 7601950c46SEmmanuel Vadot qcom,acc = <&acc2>; 7701950c46SEmmanuel Vadot qcom,saw = <&saw2>; 78*b2d2a78aSEmmanuel Vadot #cooling-cells = <2>; 7901950c46SEmmanuel Vadot }; 8001950c46SEmmanuel Vadot 8101950c46SEmmanuel Vadot CPU3: cpu@3 { 8201950c46SEmmanuel Vadot compatible = "arm,cortex-a7"; 8301950c46SEmmanuel Vadot enable-method = "qcom,msm8226-smp"; 8401950c46SEmmanuel Vadot device_type = "cpu"; 8501950c46SEmmanuel Vadot reg = <3>; 8601950c46SEmmanuel Vadot next-level-cache = <&L2>; 87*b2d2a78aSEmmanuel Vadot clocks = <&apcs>; 88*b2d2a78aSEmmanuel Vadot operating-points-v2 = <&cpu_opp_table>; 8901950c46SEmmanuel Vadot qcom,acc = <&acc3>; 9001950c46SEmmanuel Vadot qcom,saw = <&saw3>; 91*b2d2a78aSEmmanuel Vadot #cooling-cells = <2>; 9201950c46SEmmanuel Vadot }; 9301950c46SEmmanuel Vadot 9401950c46SEmmanuel Vadot L2: l2-cache { 9501950c46SEmmanuel Vadot compatible = "cache"; 9601950c46SEmmanuel Vadot cache-level = <2>; 9701950c46SEmmanuel Vadot cache-unified; 9801950c46SEmmanuel Vadot }; 9901950c46SEmmanuel Vadot }; 10001950c46SEmmanuel Vadot 101f126890aSEmmanuel Vadot firmware { 102f126890aSEmmanuel Vadot scm { 103f126890aSEmmanuel Vadot compatible = "qcom,scm-msm8226", "qcom,scm"; 104f126890aSEmmanuel Vadot clocks = <&gcc GCC_CE1_CLK>, <&gcc GCC_CE1_AXI_CLK>, <&gcc GCC_CE1_AHB_CLK>; 105f126890aSEmmanuel Vadot clock-names = "core", "bus", "iface"; 106f126890aSEmmanuel Vadot }; 107f126890aSEmmanuel Vadot }; 108f126890aSEmmanuel Vadot 10901950c46SEmmanuel Vadot memory@0 { 11001950c46SEmmanuel Vadot device_type = "memory"; 11101950c46SEmmanuel Vadot reg = <0x0 0x0>; 11201950c46SEmmanuel Vadot }; 11301950c46SEmmanuel Vadot 114*b2d2a78aSEmmanuel Vadot cpu_opp_table: opp-table-cpu { 115*b2d2a78aSEmmanuel Vadot compatible = "operating-points-v2"; 116*b2d2a78aSEmmanuel Vadot opp-shared; 117*b2d2a78aSEmmanuel Vadot 118*b2d2a78aSEmmanuel Vadot opp-300000000 { 119*b2d2a78aSEmmanuel Vadot opp-hz = /bits/ 64 <300000000>; 120*b2d2a78aSEmmanuel Vadot }; 121*b2d2a78aSEmmanuel Vadot 122*b2d2a78aSEmmanuel Vadot opp-384000000 { 123*b2d2a78aSEmmanuel Vadot opp-hz = /bits/ 64 <384000000>; 124*b2d2a78aSEmmanuel Vadot }; 125*b2d2a78aSEmmanuel Vadot 126*b2d2a78aSEmmanuel Vadot opp-600000000 { 127*b2d2a78aSEmmanuel Vadot opp-hz = /bits/ 64 <600000000>; 128*b2d2a78aSEmmanuel Vadot }; 129*b2d2a78aSEmmanuel Vadot 130*b2d2a78aSEmmanuel Vadot opp-787200000 { 131*b2d2a78aSEmmanuel Vadot opp-hz = /bits/ 64 <787200000>; 132*b2d2a78aSEmmanuel Vadot }; 133*b2d2a78aSEmmanuel Vadot 134*b2d2a78aSEmmanuel Vadot /* Higher CPU frequencies need speedbin support */ 135*b2d2a78aSEmmanuel Vadot }; 136*b2d2a78aSEmmanuel Vadot 137f126890aSEmmanuel Vadot pmu { 138f126890aSEmmanuel Vadot compatible = "arm,cortex-a7-pmu"; 139f126890aSEmmanuel Vadot interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4) | 140f126890aSEmmanuel Vadot IRQ_TYPE_LEVEL_HIGH)>; 141f126890aSEmmanuel Vadot }; 142f126890aSEmmanuel Vadot 143aa1a8ff2SEmmanuel Vadot rpm: remoteproc { 144aa1a8ff2SEmmanuel Vadot compatible = "qcom,msm8226-rpm-proc", "qcom,rpm-proc"; 145f126890aSEmmanuel Vadot 14684943d6fSEmmanuel Vadot master-stats { 14784943d6fSEmmanuel Vadot compatible = "qcom,rpm-master-stats"; 14884943d6fSEmmanuel Vadot qcom,rpm-msg-ram = <&apss_master_stats>, 14984943d6fSEmmanuel Vadot <&mpss_master_stats>, 15084943d6fSEmmanuel Vadot <&lpss_master_stats>, 15184943d6fSEmmanuel Vadot <&pronto_master_stats>; 15284943d6fSEmmanuel Vadot qcom,master-names = "APSS", 15384943d6fSEmmanuel Vadot "MPSS", 15484943d6fSEmmanuel Vadot "LPSS", 15584943d6fSEmmanuel Vadot "PRONTO"; 15684943d6fSEmmanuel Vadot }; 15784943d6fSEmmanuel Vadot 158aa1a8ff2SEmmanuel Vadot smd-edge { 159f126890aSEmmanuel Vadot interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; 160*b2d2a78aSEmmanuel Vadot mboxes = <&apcs 0>; 161f126890aSEmmanuel Vadot qcom,smd-edge = <15>; 162f126890aSEmmanuel Vadot 163f126890aSEmmanuel Vadot rpm_requests: rpm-requests { 164*b2d2a78aSEmmanuel Vadot compatible = "qcom,rpm-msm8226", "qcom,smd-rpm"; 165f126890aSEmmanuel Vadot qcom,smd-channels = "rpm_requests"; 166f126890aSEmmanuel Vadot 167f126890aSEmmanuel Vadot rpmcc: clock-controller { 168f126890aSEmmanuel Vadot compatible = "qcom,rpmcc-msm8226", "qcom,rpmcc"; 169f126890aSEmmanuel Vadot #clock-cells = <1>; 170f126890aSEmmanuel Vadot clocks = <&xo_board>; 171f126890aSEmmanuel Vadot clock-names = "xo"; 172f126890aSEmmanuel Vadot }; 173f126890aSEmmanuel Vadot 174f126890aSEmmanuel Vadot rpmpd: power-controller { 175f126890aSEmmanuel Vadot compatible = "qcom,msm8226-rpmpd"; 176f126890aSEmmanuel Vadot #power-domain-cells = <1>; 177f126890aSEmmanuel Vadot operating-points-v2 = <&rpmpd_opp_table>; 178f126890aSEmmanuel Vadot 179f126890aSEmmanuel Vadot rpmpd_opp_table: opp-table { 180f126890aSEmmanuel Vadot compatible = "operating-points-v2"; 181f126890aSEmmanuel Vadot 182f126890aSEmmanuel Vadot rpmpd_opp_ret: opp1 { 183f126890aSEmmanuel Vadot opp-level = <1>; 184f126890aSEmmanuel Vadot }; 185f126890aSEmmanuel Vadot rpmpd_opp_svs_krait: opp2 { 186f126890aSEmmanuel Vadot opp-level = <2>; 187f126890aSEmmanuel Vadot }; 188f126890aSEmmanuel Vadot rpmpd_opp_svs_soc: opp3 { 189f126890aSEmmanuel Vadot opp-level = <3>; 190f126890aSEmmanuel Vadot }; 191f126890aSEmmanuel Vadot rpmpd_opp_nom: opp4 { 192f126890aSEmmanuel Vadot opp-level = <4>; 193f126890aSEmmanuel Vadot }; 194f126890aSEmmanuel Vadot rpmpd_opp_turbo: opp5 { 195f126890aSEmmanuel Vadot opp-level = <5>; 196f126890aSEmmanuel Vadot }; 197f126890aSEmmanuel Vadot rpmpd_opp_super_turbo: opp6 { 198f126890aSEmmanuel Vadot opp-level = <6>; 199f126890aSEmmanuel Vadot }; 200f126890aSEmmanuel Vadot }; 201f126890aSEmmanuel Vadot }; 202f126890aSEmmanuel Vadot }; 203f126890aSEmmanuel Vadot }; 204f126890aSEmmanuel Vadot }; 205f126890aSEmmanuel Vadot 206aa1a8ff2SEmmanuel Vadot reserved-memory { 207aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 208aa1a8ff2SEmmanuel Vadot #size-cells = <1>; 209aa1a8ff2SEmmanuel Vadot ranges; 210aa1a8ff2SEmmanuel Vadot 211aa1a8ff2SEmmanuel Vadot smem_region: smem@3000000 { 212aa1a8ff2SEmmanuel Vadot reg = <0x3000000 0x100000>; 213aa1a8ff2SEmmanuel Vadot no-map; 214aa1a8ff2SEmmanuel Vadot }; 215aa1a8ff2SEmmanuel Vadot 216aa1a8ff2SEmmanuel Vadot adsp_region: adsp@dc00000 { 217aa1a8ff2SEmmanuel Vadot reg = <0x0dc00000 0x1900000>; 218aa1a8ff2SEmmanuel Vadot no-map; 219aa1a8ff2SEmmanuel Vadot }; 220aa1a8ff2SEmmanuel Vadot }; 221aa1a8ff2SEmmanuel Vadot 222f126890aSEmmanuel Vadot smem { 223f126890aSEmmanuel Vadot compatible = "qcom,smem"; 224f126890aSEmmanuel Vadot 225f126890aSEmmanuel Vadot memory-region = <&smem_region>; 226f126890aSEmmanuel Vadot qcom,rpm-msg-ram = <&rpm_msg_ram>; 227f126890aSEmmanuel Vadot 228f126890aSEmmanuel Vadot hwlocks = <&tcsr_mutex 3>; 229f126890aSEmmanuel Vadot }; 230f126890aSEmmanuel Vadot 231f126890aSEmmanuel Vadot smp2p-adsp { 232f126890aSEmmanuel Vadot compatible = "qcom,smp2p"; 233f126890aSEmmanuel Vadot qcom,smem = <443>, <429>; 234f126890aSEmmanuel Vadot 235f126890aSEmmanuel Vadot interrupt-parent = <&intc>; 236f126890aSEmmanuel Vadot interrupts = <GIC_SPI 158 IRQ_TYPE_EDGE_RISING>; 237f126890aSEmmanuel Vadot 238*b2d2a78aSEmmanuel Vadot mboxes = <&apcs 10>; 239f126890aSEmmanuel Vadot 240f126890aSEmmanuel Vadot qcom,local-pid = <0>; 241f126890aSEmmanuel Vadot qcom,remote-pid = <2>; 242f126890aSEmmanuel Vadot 243f126890aSEmmanuel Vadot adsp_smp2p_out: master-kernel { 244f126890aSEmmanuel Vadot qcom,entry-name = "master-kernel"; 245f126890aSEmmanuel Vadot #qcom,smem-state-cells = <1>; 246f126890aSEmmanuel Vadot }; 247f126890aSEmmanuel Vadot 248f126890aSEmmanuel Vadot adsp_smp2p_in: slave-kernel { 249f126890aSEmmanuel Vadot qcom,entry-name = "slave-kernel"; 250f126890aSEmmanuel Vadot 251f126890aSEmmanuel Vadot interrupt-controller; 252f126890aSEmmanuel Vadot #interrupt-cells = <2>; 253f126890aSEmmanuel Vadot }; 254f126890aSEmmanuel Vadot }; 255f126890aSEmmanuel Vadot 256f126890aSEmmanuel Vadot soc: soc { 257f126890aSEmmanuel Vadot compatible = "simple-bus"; 258f126890aSEmmanuel Vadot #address-cells = <1>; 259f126890aSEmmanuel Vadot #size-cells = <1>; 260f126890aSEmmanuel Vadot ranges; 261f126890aSEmmanuel Vadot 262f126890aSEmmanuel Vadot intc: interrupt-controller@f9000000 { 263f126890aSEmmanuel Vadot compatible = "qcom,msm-qgic2"; 264f126890aSEmmanuel Vadot reg = <0xf9000000 0x1000>, 265f126890aSEmmanuel Vadot <0xf9002000 0x1000>; 266f126890aSEmmanuel Vadot interrupt-controller; 267f126890aSEmmanuel Vadot #interrupt-cells = <3>; 268f126890aSEmmanuel Vadot }; 269f126890aSEmmanuel Vadot 270*b2d2a78aSEmmanuel Vadot apcs: mailbox@f9011000 { 271*b2d2a78aSEmmanuel Vadot compatible = "qcom,msm8226-apcs-kpss-global", 272*b2d2a78aSEmmanuel Vadot "qcom,msm8916-apcs-kpss-global", "syscon"; 273f126890aSEmmanuel Vadot reg = <0xf9011000 0x1000>; 274*b2d2a78aSEmmanuel Vadot #mbox-cells = <1>; 275*b2d2a78aSEmmanuel Vadot clocks = <&a7pll>, <&gcc GPLL0_VOTE>; 276*b2d2a78aSEmmanuel Vadot clock-names = "pll", "aux"; 277*b2d2a78aSEmmanuel Vadot #clock-cells = <0>; 278*b2d2a78aSEmmanuel Vadot }; 279*b2d2a78aSEmmanuel Vadot 280*b2d2a78aSEmmanuel Vadot a7pll: clock@f9016000 { 281*b2d2a78aSEmmanuel Vadot compatible = "qcom,msm8226-a7pll"; 282*b2d2a78aSEmmanuel Vadot reg = <0xf9016000 0x40>; 283*b2d2a78aSEmmanuel Vadot #clock-cells = <0>; 284*b2d2a78aSEmmanuel Vadot clocks = <&xo_board>; 285*b2d2a78aSEmmanuel Vadot clock-names = "xo"; 286*b2d2a78aSEmmanuel Vadot operating-points-v2 = <&a7pll_opp_table>; 287*b2d2a78aSEmmanuel Vadot 288*b2d2a78aSEmmanuel Vadot a7pll_opp_table: opp-table { 289*b2d2a78aSEmmanuel Vadot compatible = "operating-points-v2"; 290*b2d2a78aSEmmanuel Vadot 291*b2d2a78aSEmmanuel Vadot opp-768000000 { 292*b2d2a78aSEmmanuel Vadot opp-hz = /bits/ 64 <768000000>; 293*b2d2a78aSEmmanuel Vadot }; 294*b2d2a78aSEmmanuel Vadot 295*b2d2a78aSEmmanuel Vadot opp-787200000 { 296*b2d2a78aSEmmanuel Vadot opp-hz = /bits/ 64 <787200000>; 297*b2d2a78aSEmmanuel Vadot }; 298*b2d2a78aSEmmanuel Vadot 299*b2d2a78aSEmmanuel Vadot opp-998400000 { 300*b2d2a78aSEmmanuel Vadot opp-hz = /bits/ 64 <998400000>; 301*b2d2a78aSEmmanuel Vadot }; 302*b2d2a78aSEmmanuel Vadot 303*b2d2a78aSEmmanuel Vadot opp-1094400000 { 304*b2d2a78aSEmmanuel Vadot opp-hz = /bits/ 64 <1094400000>; 305*b2d2a78aSEmmanuel Vadot }; 306*b2d2a78aSEmmanuel Vadot 307*b2d2a78aSEmmanuel Vadot opp-1190400000 { 308*b2d2a78aSEmmanuel Vadot opp-hz = /bits/ 64 <1190400000>; 309*b2d2a78aSEmmanuel Vadot }; 310*b2d2a78aSEmmanuel Vadot 311*b2d2a78aSEmmanuel Vadot opp-1305600000 { 312*b2d2a78aSEmmanuel Vadot opp-hz = /bits/ 64 <1305600000>; 313*b2d2a78aSEmmanuel Vadot }; 314*b2d2a78aSEmmanuel Vadot 315*b2d2a78aSEmmanuel Vadot opp-1344000000 { 316*b2d2a78aSEmmanuel Vadot opp-hz = /bits/ 64 <1344000000>; 317*b2d2a78aSEmmanuel Vadot }; 318*b2d2a78aSEmmanuel Vadot 319*b2d2a78aSEmmanuel Vadot opp-1401600000 { 320*b2d2a78aSEmmanuel Vadot opp-hz = /bits/ 64 <1401600000>; 321*b2d2a78aSEmmanuel Vadot }; 322*b2d2a78aSEmmanuel Vadot 323*b2d2a78aSEmmanuel Vadot opp-1497600000 { 324*b2d2a78aSEmmanuel Vadot opp-hz = /bits/ 64 <1497600000>; 325*b2d2a78aSEmmanuel Vadot }; 326*b2d2a78aSEmmanuel Vadot 327*b2d2a78aSEmmanuel Vadot opp-1593600000 { 328*b2d2a78aSEmmanuel Vadot opp-hz = /bits/ 64 <1593600000>; 329*b2d2a78aSEmmanuel Vadot }; 330*b2d2a78aSEmmanuel Vadot 331*b2d2a78aSEmmanuel Vadot opp-1689600000 { 332*b2d2a78aSEmmanuel Vadot opp-hz = /bits/ 64 <1689600000>; 333*b2d2a78aSEmmanuel Vadot }; 334*b2d2a78aSEmmanuel Vadot 335*b2d2a78aSEmmanuel Vadot opp-1785600000 { 336*b2d2a78aSEmmanuel Vadot opp-hz = /bits/ 64 <1785600000>; 337*b2d2a78aSEmmanuel Vadot }; 338*b2d2a78aSEmmanuel Vadot }; 339f126890aSEmmanuel Vadot }; 340f126890aSEmmanuel Vadot 34101950c46SEmmanuel Vadot saw_l2: power-manager@f9012000 { 34201950c46SEmmanuel Vadot compatible = "qcom,msm8226-saw2-v2.1-l2", "qcom,saw2"; 34301950c46SEmmanuel Vadot reg = <0xf9012000 0x1000>; 34401950c46SEmmanuel Vadot }; 34501950c46SEmmanuel Vadot 34601950c46SEmmanuel Vadot watchdog@f9017000 { 34701950c46SEmmanuel Vadot compatible = "qcom,apss-wdt-msm8226", "qcom,kpss-wdt"; 34801950c46SEmmanuel Vadot reg = <0xf9017000 0x1000>; 34901950c46SEmmanuel Vadot interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>, 35001950c46SEmmanuel Vadot <GIC_SPI 4 IRQ_TYPE_EDGE_RISING>; 35101950c46SEmmanuel Vadot clocks = <&sleep_clk>; 35201950c46SEmmanuel Vadot }; 35301950c46SEmmanuel Vadot 35401950c46SEmmanuel Vadot timer@f9020000 { 35501950c46SEmmanuel Vadot compatible = "arm,armv7-timer-mem"; 35601950c46SEmmanuel Vadot reg = <0xf9020000 0x1000>; 35701950c46SEmmanuel Vadot #address-cells = <1>; 35801950c46SEmmanuel Vadot #size-cells = <1>; 35901950c46SEmmanuel Vadot ranges; 36001950c46SEmmanuel Vadot 36101950c46SEmmanuel Vadot frame@f9021000 { 36201950c46SEmmanuel Vadot frame-number = <0>; 36301950c46SEmmanuel Vadot interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 36401950c46SEmmanuel Vadot <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 36501950c46SEmmanuel Vadot reg = <0xf9021000 0x1000>, 36601950c46SEmmanuel Vadot <0xf9022000 0x1000>; 36701950c46SEmmanuel Vadot }; 36801950c46SEmmanuel Vadot 36901950c46SEmmanuel Vadot frame@f9023000 { 37001950c46SEmmanuel Vadot frame-number = <1>; 37101950c46SEmmanuel Vadot interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 37201950c46SEmmanuel Vadot reg = <0xf9023000 0x1000>; 37301950c46SEmmanuel Vadot status = "disabled"; 37401950c46SEmmanuel Vadot }; 37501950c46SEmmanuel Vadot 37601950c46SEmmanuel Vadot frame@f9024000 { 37701950c46SEmmanuel Vadot frame-number = <2>; 37801950c46SEmmanuel Vadot interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 37901950c46SEmmanuel Vadot reg = <0xf9024000 0x1000>; 38001950c46SEmmanuel Vadot status = "disabled"; 38101950c46SEmmanuel Vadot }; 38201950c46SEmmanuel Vadot 38301950c46SEmmanuel Vadot frame@f9025000 { 38401950c46SEmmanuel Vadot frame-number = <3>; 38501950c46SEmmanuel Vadot interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 38601950c46SEmmanuel Vadot reg = <0xf9025000 0x1000>; 38701950c46SEmmanuel Vadot status = "disabled"; 38801950c46SEmmanuel Vadot }; 38901950c46SEmmanuel Vadot 39001950c46SEmmanuel Vadot frame@f9026000 { 39101950c46SEmmanuel Vadot frame-number = <4>; 39201950c46SEmmanuel Vadot interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 39301950c46SEmmanuel Vadot reg = <0xf9026000 0x1000>; 39401950c46SEmmanuel Vadot status = "disabled"; 39501950c46SEmmanuel Vadot }; 39601950c46SEmmanuel Vadot 39701950c46SEmmanuel Vadot frame@f9027000 { 39801950c46SEmmanuel Vadot frame-number = <5>; 39901950c46SEmmanuel Vadot interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 40001950c46SEmmanuel Vadot reg = <0xf9027000 0x1000>; 40101950c46SEmmanuel Vadot status = "disabled"; 40201950c46SEmmanuel Vadot }; 40301950c46SEmmanuel Vadot 40401950c46SEmmanuel Vadot frame@f9028000 { 40501950c46SEmmanuel Vadot frame-number = <6>; 40601950c46SEmmanuel Vadot interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 40701950c46SEmmanuel Vadot reg = <0xf9028000 0x1000>; 40801950c46SEmmanuel Vadot status = "disabled"; 40901950c46SEmmanuel Vadot }; 41001950c46SEmmanuel Vadot }; 41101950c46SEmmanuel Vadot 41201950c46SEmmanuel Vadot acc0: power-manager@f9088000 { 41301950c46SEmmanuel Vadot compatible = "qcom,kpss-acc-v2"; 41401950c46SEmmanuel Vadot reg = <0xf9088000 0x1000>, <0xf9008000 0x1000>; 41501950c46SEmmanuel Vadot }; 41601950c46SEmmanuel Vadot 41701950c46SEmmanuel Vadot saw0: power-manager@f9089000 { 41801950c46SEmmanuel Vadot compatible = "qcom,msm8226-saw2-v2.1-cpu", "qcom,saw2"; 41901950c46SEmmanuel Vadot reg = <0xf9089000 0x1000>; 42001950c46SEmmanuel Vadot }; 42101950c46SEmmanuel Vadot 42201950c46SEmmanuel Vadot acc1: power-manager@f9098000 { 42301950c46SEmmanuel Vadot compatible = "qcom,kpss-acc-v2"; 42401950c46SEmmanuel Vadot reg = <0xf9098000 0x1000>, <0xf9008000 0x1000>; 42501950c46SEmmanuel Vadot }; 42601950c46SEmmanuel Vadot 42701950c46SEmmanuel Vadot saw1: power-manager@f9099000 { 42801950c46SEmmanuel Vadot compatible = "qcom,msm8226-saw2-v2.1-cpu", "qcom,saw2"; 42901950c46SEmmanuel Vadot reg = <0xf9099000 0x1000>; 43001950c46SEmmanuel Vadot }; 43101950c46SEmmanuel Vadot 43201950c46SEmmanuel Vadot acc2: power-manager@f90a8000 { 43301950c46SEmmanuel Vadot compatible = "qcom,kpss-acc-v2"; 43401950c46SEmmanuel Vadot reg = <0xf90a8000 0x1000>, <0xf9008000 0x1000>; 43501950c46SEmmanuel Vadot }; 43601950c46SEmmanuel Vadot 43701950c46SEmmanuel Vadot saw2: power-manager@f90a9000 { 43801950c46SEmmanuel Vadot compatible = "qcom,msm8226-saw2-v2.1-cpu", "qcom,saw2"; 43901950c46SEmmanuel Vadot reg = <0xf90a9000 0x1000>; 44001950c46SEmmanuel Vadot }; 44101950c46SEmmanuel Vadot 44201950c46SEmmanuel Vadot acc3: power-manager@f90b8000 { 44301950c46SEmmanuel Vadot compatible = "qcom,kpss-acc-v2"; 44401950c46SEmmanuel Vadot reg = <0xf90b8000 0x1000>, <0xf9008000 0x1000>; 44501950c46SEmmanuel Vadot }; 44601950c46SEmmanuel Vadot 44701950c46SEmmanuel Vadot saw3: power-manager@f90b9000 { 44801950c46SEmmanuel Vadot compatible = "qcom,msm8226-saw2-v2.1-cpu", "qcom,saw2"; 44901950c46SEmmanuel Vadot reg = <0xf90b9000 0x1000>; 45001950c46SEmmanuel Vadot }; 45101950c46SEmmanuel Vadot 452f126890aSEmmanuel Vadot sdhc_1: mmc@f9824900 { 453f126890aSEmmanuel Vadot compatible = "qcom,msm8226-sdhci", "qcom,sdhci-msm-v4"; 454f126890aSEmmanuel Vadot reg = <0xf9824900 0x11c>, <0xf9824000 0x800>; 455f126890aSEmmanuel Vadot reg-names = "hc", "core"; 456f126890aSEmmanuel Vadot interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>, 457f126890aSEmmanuel Vadot <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>; 458f126890aSEmmanuel Vadot interrupt-names = "hc_irq", "pwr_irq"; 459f126890aSEmmanuel Vadot clocks = <&gcc GCC_SDCC1_AHB_CLK>, 460f126890aSEmmanuel Vadot <&gcc GCC_SDCC1_APPS_CLK>, 461f126890aSEmmanuel Vadot <&rpmcc RPM_SMD_XO_CLK_SRC>; 462f126890aSEmmanuel Vadot clock-names = "iface", "core", "xo"; 463f126890aSEmmanuel Vadot pinctrl-names = "default"; 464f126890aSEmmanuel Vadot pinctrl-0 = <&sdhc1_default_state>; 465f126890aSEmmanuel Vadot status = "disabled"; 466f126890aSEmmanuel Vadot }; 467f126890aSEmmanuel Vadot 468f126890aSEmmanuel Vadot sdhc_3: mmc@f9864900 { 469f126890aSEmmanuel Vadot compatible = "qcom,msm8226-sdhci", "qcom,sdhci-msm-v4"; 470f126890aSEmmanuel Vadot reg = <0xf9864900 0x11c>, <0xf9864000 0x800>; 471f126890aSEmmanuel Vadot reg-names = "hc", "core"; 472f126890aSEmmanuel Vadot interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>, 473f126890aSEmmanuel Vadot <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>; 474f126890aSEmmanuel Vadot interrupt-names = "hc_irq", "pwr_irq"; 475f126890aSEmmanuel Vadot clocks = <&gcc GCC_SDCC3_AHB_CLK>, 476f126890aSEmmanuel Vadot <&gcc GCC_SDCC3_APPS_CLK>, 477f126890aSEmmanuel Vadot <&rpmcc RPM_SMD_XO_CLK_SRC>; 478f126890aSEmmanuel Vadot clock-names = "iface", "core", "xo"; 479f126890aSEmmanuel Vadot pinctrl-names = "default"; 480f126890aSEmmanuel Vadot pinctrl-0 = <&sdhc3_default_state>; 481f126890aSEmmanuel Vadot status = "disabled"; 482f126890aSEmmanuel Vadot }; 483f126890aSEmmanuel Vadot 48401950c46SEmmanuel Vadot sdhc_2: mmc@f98a4900 { 48501950c46SEmmanuel Vadot compatible = "qcom,msm8226-sdhci", "qcom,sdhci-msm-v4"; 48601950c46SEmmanuel Vadot reg = <0xf98a4900 0x11c>, <0xf98a4000 0x800>; 48701950c46SEmmanuel Vadot reg-names = "hc", "core"; 48801950c46SEmmanuel Vadot interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>, 48901950c46SEmmanuel Vadot <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>; 49001950c46SEmmanuel Vadot interrupt-names = "hc_irq", "pwr_irq"; 49101950c46SEmmanuel Vadot clocks = <&gcc GCC_SDCC2_AHB_CLK>, 49201950c46SEmmanuel Vadot <&gcc GCC_SDCC2_APPS_CLK>, 49301950c46SEmmanuel Vadot <&rpmcc RPM_SMD_XO_CLK_SRC>; 49401950c46SEmmanuel Vadot clock-names = "iface", "core", "xo"; 49501950c46SEmmanuel Vadot pinctrl-names = "default"; 49601950c46SEmmanuel Vadot pinctrl-0 = <&sdhc2_default_state>; 49701950c46SEmmanuel Vadot status = "disabled"; 49801950c46SEmmanuel Vadot }; 49901950c46SEmmanuel Vadot 500f126890aSEmmanuel Vadot blsp1_uart1: serial@f991d000 { 501f126890aSEmmanuel Vadot compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 502f126890aSEmmanuel Vadot reg = <0xf991d000 0x1000>; 503f126890aSEmmanuel Vadot interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 504f126890aSEmmanuel Vadot clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 505f126890aSEmmanuel Vadot clock-names = "core", "iface"; 506f126890aSEmmanuel Vadot status = "disabled"; 507f126890aSEmmanuel Vadot }; 508f126890aSEmmanuel Vadot 50984943d6fSEmmanuel Vadot blsp1_uart2: serial@f991e000 { 51084943d6fSEmmanuel Vadot compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 51184943d6fSEmmanuel Vadot reg = <0xf991e000 0x1000>; 51284943d6fSEmmanuel Vadot interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 51384943d6fSEmmanuel Vadot clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>, 51484943d6fSEmmanuel Vadot <&gcc GCC_BLSP1_AHB_CLK>; 51584943d6fSEmmanuel Vadot clock-names = "core", 51684943d6fSEmmanuel Vadot "iface"; 51784943d6fSEmmanuel Vadot status = "disabled"; 51884943d6fSEmmanuel Vadot }; 51984943d6fSEmmanuel Vadot 520f126890aSEmmanuel Vadot blsp1_uart3: serial@f991f000 { 521f126890aSEmmanuel Vadot compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 522f126890aSEmmanuel Vadot reg = <0xf991f000 0x1000>; 523f126890aSEmmanuel Vadot interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; 524f126890aSEmmanuel Vadot clocks = <&gcc GCC_BLSP1_UART3_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 525f126890aSEmmanuel Vadot clock-names = "core", "iface"; 526f126890aSEmmanuel Vadot status = "disabled"; 527f126890aSEmmanuel Vadot }; 528f126890aSEmmanuel Vadot 529f126890aSEmmanuel Vadot blsp1_uart4: serial@f9920000 { 530f126890aSEmmanuel Vadot compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 531f126890aSEmmanuel Vadot reg = <0xf9920000 0x1000>; 532f126890aSEmmanuel Vadot interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; 533f126890aSEmmanuel Vadot clocks = <&gcc GCC_BLSP1_UART4_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 534f126890aSEmmanuel Vadot clock-names = "core", "iface"; 535f126890aSEmmanuel Vadot status = "disabled"; 536f126890aSEmmanuel Vadot }; 537f126890aSEmmanuel Vadot 538f126890aSEmmanuel Vadot blsp1_i2c1: i2c@f9923000 { 539f126890aSEmmanuel Vadot compatible = "qcom,i2c-qup-v2.1.1"; 540f126890aSEmmanuel Vadot reg = <0xf9923000 0x1000>; 541f126890aSEmmanuel Vadot interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 542f126890aSEmmanuel Vadot clocks = <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 543f126890aSEmmanuel Vadot clock-names = "core", "iface"; 544f126890aSEmmanuel Vadot pinctrl-names = "default"; 545f126890aSEmmanuel Vadot pinctrl-0 = <&blsp1_i2c1_pins>; 546f126890aSEmmanuel Vadot #address-cells = <1>; 547f126890aSEmmanuel Vadot #size-cells = <0>; 54801950c46SEmmanuel Vadot status = "disabled"; 549f126890aSEmmanuel Vadot }; 550f126890aSEmmanuel Vadot 551f126890aSEmmanuel Vadot blsp1_i2c2: i2c@f9924000 { 552f126890aSEmmanuel Vadot compatible = "qcom,i2c-qup-v2.1.1"; 553f126890aSEmmanuel Vadot reg = <0xf9924000 0x1000>; 554f126890aSEmmanuel Vadot interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 555f126890aSEmmanuel Vadot clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 556f126890aSEmmanuel Vadot clock-names = "core", "iface"; 557f126890aSEmmanuel Vadot pinctrl-names = "default"; 558f126890aSEmmanuel Vadot pinctrl-0 = <&blsp1_i2c2_pins>; 559f126890aSEmmanuel Vadot #address-cells = <1>; 560f126890aSEmmanuel Vadot #size-cells = <0>; 56101950c46SEmmanuel Vadot status = "disabled"; 562f126890aSEmmanuel Vadot }; 563f126890aSEmmanuel Vadot 564f126890aSEmmanuel Vadot blsp1_i2c3: i2c@f9925000 { 565f126890aSEmmanuel Vadot compatible = "qcom,i2c-qup-v2.1.1"; 566f126890aSEmmanuel Vadot reg = <0xf9925000 0x1000>; 567f126890aSEmmanuel Vadot interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 568f126890aSEmmanuel Vadot clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 569f126890aSEmmanuel Vadot clock-names = "core", "iface"; 570f126890aSEmmanuel Vadot pinctrl-names = "default"; 571f126890aSEmmanuel Vadot pinctrl-0 = <&blsp1_i2c3_pins>; 572f126890aSEmmanuel Vadot #address-cells = <1>; 573f126890aSEmmanuel Vadot #size-cells = <0>; 57401950c46SEmmanuel Vadot status = "disabled"; 575f126890aSEmmanuel Vadot }; 576f126890aSEmmanuel Vadot 577f126890aSEmmanuel Vadot blsp1_i2c4: i2c@f9926000 { 578f126890aSEmmanuel Vadot compatible = "qcom,i2c-qup-v2.1.1"; 579f126890aSEmmanuel Vadot reg = <0xf9926000 0x1000>; 580f126890aSEmmanuel Vadot interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 581f126890aSEmmanuel Vadot clocks = <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 582f126890aSEmmanuel Vadot clock-names = "core", "iface"; 583f126890aSEmmanuel Vadot pinctrl-names = "default"; 584f126890aSEmmanuel Vadot pinctrl-0 = <&blsp1_i2c4_pins>; 585f126890aSEmmanuel Vadot #address-cells = <1>; 586f126890aSEmmanuel Vadot #size-cells = <0>; 58701950c46SEmmanuel Vadot status = "disabled"; 588f126890aSEmmanuel Vadot }; 589f126890aSEmmanuel Vadot 590f126890aSEmmanuel Vadot blsp1_i2c5: i2c@f9927000 { 591f126890aSEmmanuel Vadot compatible = "qcom,i2c-qup-v2.1.1"; 592f126890aSEmmanuel Vadot reg = <0xf9927000 0x1000>; 593f126890aSEmmanuel Vadot interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 594f126890aSEmmanuel Vadot clocks = <&gcc GCC_BLSP1_QUP5_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 595f126890aSEmmanuel Vadot clock-names = "core", "iface"; 596f126890aSEmmanuel Vadot pinctrl-names = "default"; 597f126890aSEmmanuel Vadot pinctrl-0 = <&blsp1_i2c5_pins>; 598f126890aSEmmanuel Vadot #address-cells = <1>; 599f126890aSEmmanuel Vadot #size-cells = <0>; 60001950c46SEmmanuel Vadot status = "disabled"; 601f126890aSEmmanuel Vadot }; 602f126890aSEmmanuel Vadot 60384943d6fSEmmanuel Vadot blsp1_i2c6: i2c@f9928000 { 60484943d6fSEmmanuel Vadot compatible = "qcom,i2c-qup-v2.1.1"; 60584943d6fSEmmanuel Vadot reg = <0xf9928000 0x1000>; 60684943d6fSEmmanuel Vadot interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 60784943d6fSEmmanuel Vadot clocks = <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>, 60884943d6fSEmmanuel Vadot <&gcc GCC_BLSP1_AHB_CLK>; 60984943d6fSEmmanuel Vadot clock-names = "core", 61084943d6fSEmmanuel Vadot "iface"; 61184943d6fSEmmanuel Vadot pinctrl-0 = <&blsp1_i2c6_pins>; 61284943d6fSEmmanuel Vadot pinctrl-names = "default"; 61384943d6fSEmmanuel Vadot #address-cells = <1>; 61484943d6fSEmmanuel Vadot #size-cells = <0>; 61584943d6fSEmmanuel Vadot status = "disabled"; 61684943d6fSEmmanuel Vadot }; 61784943d6fSEmmanuel Vadot 618f126890aSEmmanuel Vadot usb: usb@f9a55000 { 619f126890aSEmmanuel Vadot compatible = "qcom,ci-hdrc"; 620f126890aSEmmanuel Vadot reg = <0xf9a55000 0x200>, 621f126890aSEmmanuel Vadot <0xf9a55200 0x200>; 622f126890aSEmmanuel Vadot interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>; 623f126890aSEmmanuel Vadot clocks = <&gcc GCC_USB_HS_AHB_CLK>, 624f126890aSEmmanuel Vadot <&gcc GCC_USB_HS_SYSTEM_CLK>; 625f126890aSEmmanuel Vadot clock-names = "iface", "core"; 626f126890aSEmmanuel Vadot assigned-clocks = <&gcc GCC_USB_HS_SYSTEM_CLK>; 627f126890aSEmmanuel Vadot assigned-clock-rates = <75000000>; 628f126890aSEmmanuel Vadot resets = <&gcc GCC_USB_HS_BCR>; 629f126890aSEmmanuel Vadot reset-names = "core"; 630f126890aSEmmanuel Vadot phy_type = "ulpi"; 631f126890aSEmmanuel Vadot dr_mode = "otg"; 632f126890aSEmmanuel Vadot hnp-disable; 633f126890aSEmmanuel Vadot srp-disable; 634f126890aSEmmanuel Vadot adp-disable; 635f126890aSEmmanuel Vadot ahb-burst-config = <0>; 636f126890aSEmmanuel Vadot phy-names = "usb-phy"; 637f126890aSEmmanuel Vadot phys = <&usb_hs_phy>; 638f126890aSEmmanuel Vadot status = "disabled"; 639f126890aSEmmanuel Vadot #reset-cells = <1>; 640f126890aSEmmanuel Vadot 641f126890aSEmmanuel Vadot ulpi { 642f126890aSEmmanuel Vadot usb_hs_phy: phy { 643f126890aSEmmanuel Vadot compatible = "qcom,usb-hs-phy-msm8226", 644f126890aSEmmanuel Vadot "qcom,usb-hs-phy"; 645f126890aSEmmanuel Vadot #phy-cells = <0>; 646f126890aSEmmanuel Vadot clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, 647f126890aSEmmanuel Vadot <&gcc GCC_USB2A_PHY_SLEEP_CLK>; 648f126890aSEmmanuel Vadot clock-names = "ref", "sleep"; 649f126890aSEmmanuel Vadot resets = <&gcc GCC_USB2A_PHY_BCR>, <&usb 0>; 650f126890aSEmmanuel Vadot reset-names = "phy", "por"; 651f126890aSEmmanuel Vadot qcom,init-seq = /bits/ 8 <0x0 0x44 652f126890aSEmmanuel Vadot 0x1 0x68 0x2 0x24 0x3 0x13>; 653f126890aSEmmanuel Vadot }; 654f126890aSEmmanuel Vadot }; 655f126890aSEmmanuel Vadot }; 656f126890aSEmmanuel Vadot 65701950c46SEmmanuel Vadot rng@f9bff000 { 65801950c46SEmmanuel Vadot compatible = "qcom,prng"; 65901950c46SEmmanuel Vadot reg = <0xf9bff000 0x200>; 66001950c46SEmmanuel Vadot clocks = <&gcc GCC_PRNG_AHB_CLK>; 66101950c46SEmmanuel Vadot clock-names = "core"; 66201950c46SEmmanuel Vadot }; 66301950c46SEmmanuel Vadot 66401950c46SEmmanuel Vadot sram@fc190000 { 66501950c46SEmmanuel Vadot compatible = "qcom,msm8226-rpm-stats"; 66601950c46SEmmanuel Vadot reg = <0xfc190000 0x10000>; 66701950c46SEmmanuel Vadot }; 66801950c46SEmmanuel Vadot 669f126890aSEmmanuel Vadot gcc: clock-controller@fc400000 { 670f126890aSEmmanuel Vadot compatible = "qcom,gcc-msm8226"; 671f126890aSEmmanuel Vadot reg = <0xfc400000 0x4000>; 672f126890aSEmmanuel Vadot #clock-cells = <1>; 673f126890aSEmmanuel Vadot #reset-cells = <1>; 674f126890aSEmmanuel Vadot #power-domain-cells = <1>; 675f126890aSEmmanuel Vadot 676*b2d2a78aSEmmanuel Vadot clocks = <&xo_board>, 677f126890aSEmmanuel Vadot <&sleep_clk>; 678f126890aSEmmanuel Vadot clock-names = "xo", 679f126890aSEmmanuel Vadot "sleep_clk"; 680f126890aSEmmanuel Vadot }; 681f126890aSEmmanuel Vadot 68201950c46SEmmanuel Vadot rpm_msg_ram: sram@fc428000 { 68301950c46SEmmanuel Vadot compatible = "qcom,rpm-msg-ram"; 68401950c46SEmmanuel Vadot reg = <0xfc428000 0x4000>; 685f126890aSEmmanuel Vadot 68601950c46SEmmanuel Vadot #address-cells = <1>; 68701950c46SEmmanuel Vadot #size-cells = <1>; 68801950c46SEmmanuel Vadot ranges = <0 0xfc428000 0x4000>; 68901950c46SEmmanuel Vadot 69001950c46SEmmanuel Vadot apss_master_stats: sram@150 { 69101950c46SEmmanuel Vadot reg = <0x150 0x14>; 692f126890aSEmmanuel Vadot }; 693f126890aSEmmanuel Vadot 69401950c46SEmmanuel Vadot mpss_master_stats: sram@b50 { 69501950c46SEmmanuel Vadot reg = <0xb50 0x14>; 696f126890aSEmmanuel Vadot }; 697f126890aSEmmanuel Vadot 69801950c46SEmmanuel Vadot lpss_master_stats: sram@1550 { 69901950c46SEmmanuel Vadot reg = <0x1550 0x14>; 700f126890aSEmmanuel Vadot }; 701f126890aSEmmanuel Vadot 70201950c46SEmmanuel Vadot pronto_master_stats: sram@1f50 { 70301950c46SEmmanuel Vadot reg = <0x1f50 0x14>; 704f126890aSEmmanuel Vadot }; 705f126890aSEmmanuel Vadot }; 706f126890aSEmmanuel Vadot 707f126890aSEmmanuel Vadot tsens: thermal-sensor@fc4a9000 { 708f126890aSEmmanuel Vadot compatible = "qcom,msm8226-tsens", "qcom,tsens-v0_1"; 709f126890aSEmmanuel Vadot reg = <0xfc4a9000 0x1000>, /* TM */ 710f126890aSEmmanuel Vadot <0xfc4a8000 0x1000>; /* SROT */ 711f126890aSEmmanuel Vadot nvmem-cells = <&tsens_mode>, 712f126890aSEmmanuel Vadot <&tsens_base1>, <&tsens_base2>, 713f126890aSEmmanuel Vadot <&tsens_s0_p1>, <&tsens_s0_p2>, 714f126890aSEmmanuel Vadot <&tsens_s1_p1>, <&tsens_s1_p2>, 715f126890aSEmmanuel Vadot <&tsens_s2_p1>, <&tsens_s2_p2>, 716f126890aSEmmanuel Vadot <&tsens_s3_p1>, <&tsens_s3_p2>, 717f126890aSEmmanuel Vadot <&tsens_s4_p1>, <&tsens_s4_p2>, 718f126890aSEmmanuel Vadot <&tsens_s5_p1>, <&tsens_s5_p2>, 719f126890aSEmmanuel Vadot <&tsens_s6_p1>, <&tsens_s6_p2>; 720f126890aSEmmanuel Vadot nvmem-cell-names = "mode", 721f126890aSEmmanuel Vadot "base1", "base2", 722f126890aSEmmanuel Vadot "s0_p1", "s0_p2", 723f126890aSEmmanuel Vadot "s1_p1", "s1_p2", 724f126890aSEmmanuel Vadot "s2_p1", "s2_p2", 725f126890aSEmmanuel Vadot "s3_p1", "s3_p2", 726f126890aSEmmanuel Vadot "s4_p1", "s4_p2", 727f126890aSEmmanuel Vadot "s5_p1", "s5_p2", 728f126890aSEmmanuel Vadot "s6_p1", "s6_p2"; 729f126890aSEmmanuel Vadot #qcom,sensors = <6>; 730f126890aSEmmanuel Vadot interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>; 731f126890aSEmmanuel Vadot interrupt-names = "uplow"; 732f126890aSEmmanuel Vadot #thermal-sensor-cells = <1>; 733f126890aSEmmanuel Vadot }; 734f126890aSEmmanuel Vadot 735f126890aSEmmanuel Vadot restart@fc4ab000 { 736f126890aSEmmanuel Vadot compatible = "qcom,pshold"; 737f126890aSEmmanuel Vadot reg = <0xfc4ab000 0x4>; 738f126890aSEmmanuel Vadot }; 739f126890aSEmmanuel Vadot 7400e8011faSEmmanuel Vadot qfprom: efuse@fc4bc000 { 741f126890aSEmmanuel Vadot compatible = "qcom,msm8226-qfprom", "qcom,qfprom"; 742f126890aSEmmanuel Vadot reg = <0xfc4bc000 0x1000>; 743f126890aSEmmanuel Vadot #address-cells = <1>; 744f126890aSEmmanuel Vadot #size-cells = <1>; 745f126890aSEmmanuel Vadot 746f126890aSEmmanuel Vadot tsens_base1: base1@1c1 { 747f126890aSEmmanuel Vadot reg = <0x1c1 0x2>; 748f126890aSEmmanuel Vadot bits = <5 8>; 749f126890aSEmmanuel Vadot }; 750f126890aSEmmanuel Vadot 751f126890aSEmmanuel Vadot tsens_s0_p1: s0-p1@1c2 { 752f126890aSEmmanuel Vadot reg = <0x1c2 0x2>; 753f126890aSEmmanuel Vadot bits = <5 6>; 754f126890aSEmmanuel Vadot }; 755f126890aSEmmanuel Vadot 756f126890aSEmmanuel Vadot tsens_s1_p1: s1-p1@1c4 { 757f126890aSEmmanuel Vadot reg = <0x1c4 0x1>; 758f126890aSEmmanuel Vadot bits = <0 6>; 759f126890aSEmmanuel Vadot }; 760f126890aSEmmanuel Vadot 761f126890aSEmmanuel Vadot tsens_s2_p1: s2-p1@1c4 { 762f126890aSEmmanuel Vadot reg = <0x1c4 0x2>; 763f126890aSEmmanuel Vadot bits = <6 6>; 764f126890aSEmmanuel Vadot }; 765f126890aSEmmanuel Vadot 766f126890aSEmmanuel Vadot tsens_s3_p1: s3-p1@1c5 { 767f126890aSEmmanuel Vadot reg = <0x1c5 0x2>; 768f126890aSEmmanuel Vadot bits = <4 6>; 769f126890aSEmmanuel Vadot }; 770f126890aSEmmanuel Vadot 771f126890aSEmmanuel Vadot tsens_s4_p1: s4-p1@1c6 { 772f126890aSEmmanuel Vadot reg = <0x1c6 0x1>; 773f126890aSEmmanuel Vadot bits = <2 6>; 774f126890aSEmmanuel Vadot }; 775f126890aSEmmanuel Vadot 776f126890aSEmmanuel Vadot tsens_s5_p1: s5-p1@1c7 { 777f126890aSEmmanuel Vadot reg = <0x1c7 0x1>; 778f126890aSEmmanuel Vadot bits = <0 6>; 779f126890aSEmmanuel Vadot }; 780f126890aSEmmanuel Vadot 781f126890aSEmmanuel Vadot tsens_s6_p1: s6-p1@1ca { 782f126890aSEmmanuel Vadot reg = <0x1ca 0x2>; 783f126890aSEmmanuel Vadot bits = <4 6>; 784f126890aSEmmanuel Vadot }; 785f126890aSEmmanuel Vadot 786f126890aSEmmanuel Vadot tsens_base2: base2@1cc { 787f126890aSEmmanuel Vadot reg = <0x1cc 0x1>; 788f126890aSEmmanuel Vadot bits = <0 8>; 789f126890aSEmmanuel Vadot }; 790f126890aSEmmanuel Vadot 791f126890aSEmmanuel Vadot tsens_s0_p2: s0-p2@1cd { 792f126890aSEmmanuel Vadot reg = <0x1cd 0x1>; 793f126890aSEmmanuel Vadot bits = <0 6>; 794f126890aSEmmanuel Vadot }; 795f126890aSEmmanuel Vadot 796f126890aSEmmanuel Vadot tsens_s1_p2: s1-p2@1cd { 797f126890aSEmmanuel Vadot reg = <0x1cd 0x2>; 798f126890aSEmmanuel Vadot bits = <6 6>; 799f126890aSEmmanuel Vadot }; 800f126890aSEmmanuel Vadot 801f126890aSEmmanuel Vadot tsens_s2_p2: s2-p2@1ce { 802f126890aSEmmanuel Vadot reg = <0x1ce 0x2>; 803f126890aSEmmanuel Vadot bits = <4 6>; 804f126890aSEmmanuel Vadot }; 805f126890aSEmmanuel Vadot 806f126890aSEmmanuel Vadot tsens_s3_p2: s3-p2@1cf { 807f126890aSEmmanuel Vadot reg = <0x1cf 0x1>; 808f126890aSEmmanuel Vadot bits = <2 6>; 809f126890aSEmmanuel Vadot }; 810f126890aSEmmanuel Vadot 811f126890aSEmmanuel Vadot tsens_s4_p2: s4-p2@446 { 812f126890aSEmmanuel Vadot reg = <0x446 0x2>; 813f126890aSEmmanuel Vadot bits = <4 6>; 814f126890aSEmmanuel Vadot }; 815f126890aSEmmanuel Vadot 816f126890aSEmmanuel Vadot tsens_s5_p2: s5-p2@447 { 817f126890aSEmmanuel Vadot reg = <0x447 0x1>; 818f126890aSEmmanuel Vadot bits = <2 6>; 819f126890aSEmmanuel Vadot }; 820f126890aSEmmanuel Vadot 821f126890aSEmmanuel Vadot tsens_s6_p2: s6-p2@44e { 822f126890aSEmmanuel Vadot reg = <0x44e 0x1>; 823f126890aSEmmanuel Vadot bits = <1 6>; 824f126890aSEmmanuel Vadot }; 825f126890aSEmmanuel Vadot 826f126890aSEmmanuel Vadot tsens_mode: mode@44f { 827f126890aSEmmanuel Vadot reg = <0x44f 0x1>; 828f126890aSEmmanuel Vadot bits = <5 3>; 829f126890aSEmmanuel Vadot }; 830f126890aSEmmanuel Vadot }; 831f126890aSEmmanuel Vadot 832f126890aSEmmanuel Vadot spmi_bus: spmi@fc4cf000 { 833f126890aSEmmanuel Vadot compatible = "qcom,spmi-pmic-arb"; 834f126890aSEmmanuel Vadot reg-names = "core", "intr", "cnfg"; 835f126890aSEmmanuel Vadot reg = <0xfc4cf000 0x1000>, 836f126890aSEmmanuel Vadot <0xfc4cb000 0x1000>, 837f126890aSEmmanuel Vadot <0xfc4ca000 0x1000>; 838f126890aSEmmanuel Vadot interrupt-names = "periph_irq"; 839f126890aSEmmanuel Vadot interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>; 840f126890aSEmmanuel Vadot qcom,ee = <0>; 841f126890aSEmmanuel Vadot qcom,channel = <0>; 842f126890aSEmmanuel Vadot #address-cells = <2>; 843f126890aSEmmanuel Vadot #size-cells = <0>; 844f126890aSEmmanuel Vadot interrupt-controller; 845f126890aSEmmanuel Vadot #interrupt-cells = <4>; 846f126890aSEmmanuel Vadot }; 847f126890aSEmmanuel Vadot 848f126890aSEmmanuel Vadot tcsr_mutex: hwlock@fd484000 { 849f126890aSEmmanuel Vadot compatible = "qcom,msm8226-tcsr-mutex", "qcom,tcsr-mutex"; 850f126890aSEmmanuel Vadot reg = <0xfd484000 0x1000>; 851f126890aSEmmanuel Vadot #hwlock-cells = <1>; 852f126890aSEmmanuel Vadot }; 853f126890aSEmmanuel Vadot 85401950c46SEmmanuel Vadot tlmm: pinctrl@fd510000 { 85501950c46SEmmanuel Vadot compatible = "qcom,msm8226-pinctrl"; 85601950c46SEmmanuel Vadot reg = <0xfd510000 0x4000>; 85701950c46SEmmanuel Vadot gpio-controller; 85801950c46SEmmanuel Vadot #gpio-cells = <2>; 85901950c46SEmmanuel Vadot gpio-ranges = <&tlmm 0 0 117>; 86001950c46SEmmanuel Vadot interrupt-controller; 86101950c46SEmmanuel Vadot #interrupt-cells = <2>; 86201950c46SEmmanuel Vadot interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 863f126890aSEmmanuel Vadot 86401950c46SEmmanuel Vadot blsp1_i2c1_pins: blsp1-i2c1-state { 86501950c46SEmmanuel Vadot pins = "gpio2", "gpio3"; 86601950c46SEmmanuel Vadot function = "blsp_i2c1"; 86701950c46SEmmanuel Vadot drive-strength = <2>; 86801950c46SEmmanuel Vadot bias-disable; 86901950c46SEmmanuel Vadot }; 870f126890aSEmmanuel Vadot 87101950c46SEmmanuel Vadot blsp1_i2c2_pins: blsp1-i2c2-state { 87201950c46SEmmanuel Vadot pins = "gpio6", "gpio7"; 87301950c46SEmmanuel Vadot function = "blsp_i2c2"; 87401950c46SEmmanuel Vadot drive-strength = <2>; 87501950c46SEmmanuel Vadot bias-disable; 87601950c46SEmmanuel Vadot }; 877f126890aSEmmanuel Vadot 87801950c46SEmmanuel Vadot blsp1_i2c3_pins: blsp1-i2c3-state { 87901950c46SEmmanuel Vadot pins = "gpio10", "gpio11"; 88001950c46SEmmanuel Vadot function = "blsp_i2c3"; 88101950c46SEmmanuel Vadot drive-strength = <2>; 88201950c46SEmmanuel Vadot bias-disable; 88301950c46SEmmanuel Vadot }; 884f126890aSEmmanuel Vadot 88501950c46SEmmanuel Vadot blsp1_i2c4_pins: blsp1-i2c4-state { 88601950c46SEmmanuel Vadot pins = "gpio14", "gpio15"; 88701950c46SEmmanuel Vadot function = "blsp_i2c4"; 88801950c46SEmmanuel Vadot drive-strength = <2>; 88901950c46SEmmanuel Vadot bias-disable; 89001950c46SEmmanuel Vadot }; 891f126890aSEmmanuel Vadot 89201950c46SEmmanuel Vadot blsp1_i2c5_pins: blsp1-i2c5-state { 89301950c46SEmmanuel Vadot pins = "gpio18", "gpio19"; 89401950c46SEmmanuel Vadot function = "blsp_i2c5"; 89501950c46SEmmanuel Vadot drive-strength = <2>; 89601950c46SEmmanuel Vadot bias-disable; 89701950c46SEmmanuel Vadot }; 898f126890aSEmmanuel Vadot 89901950c46SEmmanuel Vadot blsp1_i2c6_pins: blsp1-i2c6-state { 90001950c46SEmmanuel Vadot pins = "gpio22", "gpio23"; 90101950c46SEmmanuel Vadot function = "blsp_i2c6"; 90201950c46SEmmanuel Vadot drive-strength = <2>; 90301950c46SEmmanuel Vadot bias-disable; 90401950c46SEmmanuel Vadot }; 905f126890aSEmmanuel Vadot 90601950c46SEmmanuel Vadot cci_default: cci-default-state { 90701950c46SEmmanuel Vadot pins = "gpio29", "gpio30"; 90801950c46SEmmanuel Vadot function = "cci_i2c0"; 909f126890aSEmmanuel Vadot 91001950c46SEmmanuel Vadot drive-strength = <2>; 91101950c46SEmmanuel Vadot bias-disable; 91201950c46SEmmanuel Vadot }; 913f126890aSEmmanuel Vadot 91401950c46SEmmanuel Vadot cci_sleep: cci-sleep-state { 91501950c46SEmmanuel Vadot pins = "gpio29", "gpio30"; 91601950c46SEmmanuel Vadot function = "gpio"; 91701950c46SEmmanuel Vadot 91801950c46SEmmanuel Vadot drive-strength = <2>; 91901950c46SEmmanuel Vadot bias-disable; 92001950c46SEmmanuel Vadot }; 92101950c46SEmmanuel Vadot 92201950c46SEmmanuel Vadot sdhc1_default_state: sdhc1-default-state { 92301950c46SEmmanuel Vadot clk-pins { 92401950c46SEmmanuel Vadot pins = "sdc1_clk"; 92501950c46SEmmanuel Vadot drive-strength = <10>; 92601950c46SEmmanuel Vadot bias-disable; 92701950c46SEmmanuel Vadot }; 92801950c46SEmmanuel Vadot 92901950c46SEmmanuel Vadot cmd-data-pins { 93001950c46SEmmanuel Vadot pins = "sdc1_cmd", "sdc1_data"; 93101950c46SEmmanuel Vadot drive-strength = <10>; 93201950c46SEmmanuel Vadot bias-pull-up; 933f126890aSEmmanuel Vadot }; 934f126890aSEmmanuel Vadot }; 935f126890aSEmmanuel Vadot 93601950c46SEmmanuel Vadot sdhc2_default_state: sdhc2-default-state { 93701950c46SEmmanuel Vadot clk-pins { 93801950c46SEmmanuel Vadot pins = "sdc2_clk"; 93901950c46SEmmanuel Vadot drive-strength = <10>; 94001950c46SEmmanuel Vadot bias-disable; 94101950c46SEmmanuel Vadot }; 942aa1a8ff2SEmmanuel Vadot 94301950c46SEmmanuel Vadot cmd-data-pins { 94401950c46SEmmanuel Vadot pins = "sdc2_cmd", "sdc2_data"; 94501950c46SEmmanuel Vadot drive-strength = <10>; 94601950c46SEmmanuel Vadot bias-pull-up; 947aa1a8ff2SEmmanuel Vadot }; 948aa1a8ff2SEmmanuel Vadot }; 949aa1a8ff2SEmmanuel Vadot 95001950c46SEmmanuel Vadot sdhc3_default_state: sdhc3-default-state { 95101950c46SEmmanuel Vadot clk-pins { 95201950c46SEmmanuel Vadot pins = "gpio44"; 95301950c46SEmmanuel Vadot function = "sdc3"; 95401950c46SEmmanuel Vadot drive-strength = <8>; 95501950c46SEmmanuel Vadot bias-disable; 956f126890aSEmmanuel Vadot }; 95701950c46SEmmanuel Vadot 95801950c46SEmmanuel Vadot cmd-pins { 95901950c46SEmmanuel Vadot pins = "gpio43"; 96001950c46SEmmanuel Vadot function = "sdc3"; 96101950c46SEmmanuel Vadot drive-strength = <8>; 96201950c46SEmmanuel Vadot bias-pull-up; 96301950c46SEmmanuel Vadot }; 96401950c46SEmmanuel Vadot 96501950c46SEmmanuel Vadot data-pins { 96601950c46SEmmanuel Vadot pins = "gpio39", "gpio40", "gpio41", "gpio42"; 96701950c46SEmmanuel Vadot function = "sdc3"; 96801950c46SEmmanuel Vadot drive-strength = <8>; 96901950c46SEmmanuel Vadot bias-pull-up; 97001950c46SEmmanuel Vadot }; 97101950c46SEmmanuel Vadot }; 97201950c46SEmmanuel Vadot }; 97301950c46SEmmanuel Vadot 97401950c46SEmmanuel Vadot mmcc: clock-controller@fd8c0000 { 97501950c46SEmmanuel Vadot compatible = "qcom,mmcc-msm8226"; 97601950c46SEmmanuel Vadot reg = <0xfd8c0000 0x6000>; 97701950c46SEmmanuel Vadot #clock-cells = <1>; 97801950c46SEmmanuel Vadot #reset-cells = <1>; 97901950c46SEmmanuel Vadot #power-domain-cells = <1>; 98001950c46SEmmanuel Vadot 98101950c46SEmmanuel Vadot clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, 98201950c46SEmmanuel Vadot <&gcc GCC_MMSS_GPLL0_CLK_SRC>, 98301950c46SEmmanuel Vadot <&gcc GPLL0_VOTE>, 98401950c46SEmmanuel Vadot <&gcc GPLL1_VOTE>, 98501950c46SEmmanuel Vadot <&rpmcc RPM_SMD_GFX3D_CLK_SRC>, 98601950c46SEmmanuel Vadot <&mdss_dsi0_phy 1>, 98701950c46SEmmanuel Vadot <&mdss_dsi0_phy 0>; 98801950c46SEmmanuel Vadot clock-names = "xo", 98901950c46SEmmanuel Vadot "mmss_gpll0_vote", 99001950c46SEmmanuel Vadot "gpll0_vote", 99101950c46SEmmanuel Vadot "gpll1_vote", 99201950c46SEmmanuel Vadot "gfx3d_clk_src", 99301950c46SEmmanuel Vadot "dsi0pll", 99401950c46SEmmanuel Vadot "dsi0pllbyte"; 995f126890aSEmmanuel Vadot }; 996aa1a8ff2SEmmanuel Vadot 997aa1a8ff2SEmmanuel Vadot mdss: display-subsystem@fd900000 { 998aa1a8ff2SEmmanuel Vadot compatible = "qcom,mdss"; 999aa1a8ff2SEmmanuel Vadot reg = <0xfd900000 0x100>, <0xfd924000 0x1000>; 1000aa1a8ff2SEmmanuel Vadot reg-names = "mdss_phys", "vbif_phys"; 1001aa1a8ff2SEmmanuel Vadot 1002aa1a8ff2SEmmanuel Vadot power-domains = <&mmcc MDSS_GDSC>; 1003aa1a8ff2SEmmanuel Vadot 1004aa1a8ff2SEmmanuel Vadot clocks = <&mmcc MDSS_AHB_CLK>, 1005aa1a8ff2SEmmanuel Vadot <&mmcc MDSS_AXI_CLK>, 1006aa1a8ff2SEmmanuel Vadot <&mmcc MDSS_VSYNC_CLK>; 1007aa1a8ff2SEmmanuel Vadot clock-names = "iface", 1008aa1a8ff2SEmmanuel Vadot "bus", 1009aa1a8ff2SEmmanuel Vadot "vsync"; 1010aa1a8ff2SEmmanuel Vadot 1011aa1a8ff2SEmmanuel Vadot interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; 1012aa1a8ff2SEmmanuel Vadot 1013aa1a8ff2SEmmanuel Vadot interrupt-controller; 1014aa1a8ff2SEmmanuel Vadot #interrupt-cells = <1>; 1015aa1a8ff2SEmmanuel Vadot 1016aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 1017aa1a8ff2SEmmanuel Vadot #size-cells = <1>; 1018aa1a8ff2SEmmanuel Vadot ranges; 1019aa1a8ff2SEmmanuel Vadot 1020aa1a8ff2SEmmanuel Vadot status = "disabled"; 1021aa1a8ff2SEmmanuel Vadot 1022aa1a8ff2SEmmanuel Vadot mdss_mdp: display-controller@fd900000 { 1023aa1a8ff2SEmmanuel Vadot compatible = "qcom,msm8226-mdp5", "qcom,mdp5"; 1024aa1a8ff2SEmmanuel Vadot reg = <0xfd900100 0x22000>; 1025aa1a8ff2SEmmanuel Vadot reg-names = "mdp_phys"; 1026aa1a8ff2SEmmanuel Vadot 1027aa1a8ff2SEmmanuel Vadot interrupt-parent = <&mdss>; 1028aa1a8ff2SEmmanuel Vadot interrupts = <0>; 1029aa1a8ff2SEmmanuel Vadot 1030aa1a8ff2SEmmanuel Vadot clocks = <&mmcc MDSS_AHB_CLK>, 1031aa1a8ff2SEmmanuel Vadot <&mmcc MDSS_AXI_CLK>, 1032aa1a8ff2SEmmanuel Vadot <&mmcc MDSS_MDP_CLK>, 1033aa1a8ff2SEmmanuel Vadot <&mmcc MDSS_VSYNC_CLK>; 1034aa1a8ff2SEmmanuel Vadot clock-names = "iface", 1035aa1a8ff2SEmmanuel Vadot "bus", 1036aa1a8ff2SEmmanuel Vadot "core", 1037aa1a8ff2SEmmanuel Vadot "vsync"; 1038aa1a8ff2SEmmanuel Vadot 1039aa1a8ff2SEmmanuel Vadot ports { 1040aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 1041aa1a8ff2SEmmanuel Vadot #size-cells = <0>; 1042aa1a8ff2SEmmanuel Vadot 1043aa1a8ff2SEmmanuel Vadot port@0 { 1044aa1a8ff2SEmmanuel Vadot reg = <0>; 1045aa1a8ff2SEmmanuel Vadot mdss_mdp_intf1_out: endpoint { 1046aa1a8ff2SEmmanuel Vadot remote-endpoint = <&mdss_dsi0_in>; 1047aa1a8ff2SEmmanuel Vadot }; 1048aa1a8ff2SEmmanuel Vadot }; 1049aa1a8ff2SEmmanuel Vadot }; 1050aa1a8ff2SEmmanuel Vadot }; 1051aa1a8ff2SEmmanuel Vadot 1052aa1a8ff2SEmmanuel Vadot mdss_dsi0: dsi@fd922800 { 1053aa1a8ff2SEmmanuel Vadot compatible = "qcom,msm8226-dsi-ctrl", 1054aa1a8ff2SEmmanuel Vadot "qcom,mdss-dsi-ctrl"; 1055aa1a8ff2SEmmanuel Vadot reg = <0xfd922800 0x1f8>; 1056aa1a8ff2SEmmanuel Vadot reg-names = "dsi_ctrl"; 1057aa1a8ff2SEmmanuel Vadot 1058aa1a8ff2SEmmanuel Vadot interrupt-parent = <&mdss>; 1059aa1a8ff2SEmmanuel Vadot interrupts = <4>; 1060aa1a8ff2SEmmanuel Vadot 1061aa1a8ff2SEmmanuel Vadot assigned-clocks = <&mmcc BYTE0_CLK_SRC>, 1062aa1a8ff2SEmmanuel Vadot <&mmcc PCLK0_CLK_SRC>; 1063aa1a8ff2SEmmanuel Vadot assigned-clock-parents = <&mdss_dsi0_phy 0>, 1064aa1a8ff2SEmmanuel Vadot <&mdss_dsi0_phy 1>; 1065aa1a8ff2SEmmanuel Vadot 1066aa1a8ff2SEmmanuel Vadot clocks = <&mmcc MDSS_MDP_CLK>, 1067aa1a8ff2SEmmanuel Vadot <&mmcc MDSS_AHB_CLK>, 1068aa1a8ff2SEmmanuel Vadot <&mmcc MDSS_AXI_CLK>, 1069aa1a8ff2SEmmanuel Vadot <&mmcc MDSS_BYTE0_CLK>, 1070aa1a8ff2SEmmanuel Vadot <&mmcc MDSS_PCLK0_CLK>, 1071aa1a8ff2SEmmanuel Vadot <&mmcc MDSS_ESC0_CLK>, 1072aa1a8ff2SEmmanuel Vadot <&mmcc MMSS_MISC_AHB_CLK>; 1073aa1a8ff2SEmmanuel Vadot clock-names = "mdp_core", 1074aa1a8ff2SEmmanuel Vadot "iface", 1075aa1a8ff2SEmmanuel Vadot "bus", 1076aa1a8ff2SEmmanuel Vadot "byte", 1077aa1a8ff2SEmmanuel Vadot "pixel", 1078aa1a8ff2SEmmanuel Vadot "core", 1079aa1a8ff2SEmmanuel Vadot "core_mmss"; 1080aa1a8ff2SEmmanuel Vadot 1081aa1a8ff2SEmmanuel Vadot phys = <&mdss_dsi0_phy>; 1082aa1a8ff2SEmmanuel Vadot 1083aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 1084aa1a8ff2SEmmanuel Vadot #size-cells = <0>; 1085aa1a8ff2SEmmanuel Vadot 1086aa1a8ff2SEmmanuel Vadot ports { 1087aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 1088aa1a8ff2SEmmanuel Vadot #size-cells = <0>; 1089aa1a8ff2SEmmanuel Vadot 1090aa1a8ff2SEmmanuel Vadot port@0 { 1091aa1a8ff2SEmmanuel Vadot reg = <0>; 1092aa1a8ff2SEmmanuel Vadot mdss_dsi0_in: endpoint { 1093aa1a8ff2SEmmanuel Vadot remote-endpoint = <&mdss_mdp_intf1_out>; 1094aa1a8ff2SEmmanuel Vadot }; 1095aa1a8ff2SEmmanuel Vadot }; 1096aa1a8ff2SEmmanuel Vadot 1097aa1a8ff2SEmmanuel Vadot port@1 { 1098aa1a8ff2SEmmanuel Vadot reg = <1>; 1099aa1a8ff2SEmmanuel Vadot mdss_dsi0_out: endpoint { 1100aa1a8ff2SEmmanuel Vadot }; 1101aa1a8ff2SEmmanuel Vadot }; 1102aa1a8ff2SEmmanuel Vadot }; 1103aa1a8ff2SEmmanuel Vadot }; 1104aa1a8ff2SEmmanuel Vadot 1105aa1a8ff2SEmmanuel Vadot mdss_dsi0_phy: phy@fd922a00 { 1106aa1a8ff2SEmmanuel Vadot compatible = "qcom,dsi-phy-28nm-8226"; 1107aa1a8ff2SEmmanuel Vadot reg = <0xfd922a00 0xd4>, 1108aa1a8ff2SEmmanuel Vadot <0xfd922b00 0x280>, 1109aa1a8ff2SEmmanuel Vadot <0xfd922d80 0x30>; 1110aa1a8ff2SEmmanuel Vadot reg-names = "dsi_pll", 1111aa1a8ff2SEmmanuel Vadot "dsi_phy", 1112aa1a8ff2SEmmanuel Vadot "dsi_phy_regulator"; 1113aa1a8ff2SEmmanuel Vadot 1114aa1a8ff2SEmmanuel Vadot #clock-cells = <1>; 1115aa1a8ff2SEmmanuel Vadot #phy-cells = <0>; 1116aa1a8ff2SEmmanuel Vadot 1117aa1a8ff2SEmmanuel Vadot clocks = <&mmcc MDSS_AHB_CLK>, 1118aa1a8ff2SEmmanuel Vadot <&rpmcc RPM_SMD_XO_CLK_SRC>; 1119aa1a8ff2SEmmanuel Vadot clock-names = "iface", 1120aa1a8ff2SEmmanuel Vadot "ref"; 1121aa1a8ff2SEmmanuel Vadot }; 1122aa1a8ff2SEmmanuel Vadot }; 11238d13bc63SEmmanuel Vadot 112401950c46SEmmanuel Vadot cci: cci@fda0c000 { 112501950c46SEmmanuel Vadot compatible = "qcom,msm8226-cci"; 112601950c46SEmmanuel Vadot reg = <0xfda0c000 0x1000>; 112701950c46SEmmanuel Vadot #address-cells = <1>; 112801950c46SEmmanuel Vadot #size-cells = <0>; 112901950c46SEmmanuel Vadot interrupts = <GIC_SPI 50 IRQ_TYPE_EDGE_RISING>; 113001950c46SEmmanuel Vadot clocks = <&mmcc CAMSS_TOP_AHB_CLK>, 113101950c46SEmmanuel Vadot <&mmcc CAMSS_CCI_CCI_AHB_CLK>, 113201950c46SEmmanuel Vadot <&mmcc CAMSS_CCI_CCI_CLK>; 113301950c46SEmmanuel Vadot clock-names = "camss_top_ahb", 113401950c46SEmmanuel Vadot "cci_ahb", 113501950c46SEmmanuel Vadot "cci"; 113601950c46SEmmanuel Vadot 113701950c46SEmmanuel Vadot pinctrl-names = "default", "sleep"; 113801950c46SEmmanuel Vadot pinctrl-0 = <&cci_default>; 113901950c46SEmmanuel Vadot pinctrl-1 = <&cci_sleep>; 114001950c46SEmmanuel Vadot 114101950c46SEmmanuel Vadot status = "disabled"; 114201950c46SEmmanuel Vadot 114301950c46SEmmanuel Vadot cci_i2c0: i2c-bus@0 { 114401950c46SEmmanuel Vadot reg = <0>; 114501950c46SEmmanuel Vadot clock-frequency = <400000>; 114601950c46SEmmanuel Vadot #address-cells = <1>; 114701950c46SEmmanuel Vadot #size-cells = <0>; 114801950c46SEmmanuel Vadot }; 114901950c46SEmmanuel Vadot }; 115001950c46SEmmanuel Vadot 11510e8011faSEmmanuel Vadot gpu: gpu@fdb00000 { 11528d13bc63SEmmanuel Vadot compatible = "qcom,adreno-305.18", "qcom,adreno"; 11538d13bc63SEmmanuel Vadot reg = <0xfdb00000 0x10000>; 11548d13bc63SEmmanuel Vadot reg-names = "kgsl_3d0_reg_memory"; 11558d13bc63SEmmanuel Vadot 11568d13bc63SEmmanuel Vadot interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 11578d13bc63SEmmanuel Vadot interrupt-names = "kgsl_3d0_irq"; 11588d13bc63SEmmanuel Vadot 11598d13bc63SEmmanuel Vadot clocks = <&mmcc OXILI_GFX3D_CLK>, 11608d13bc63SEmmanuel Vadot <&mmcc OXILICX_AHB_CLK>, 11618d13bc63SEmmanuel Vadot <&mmcc OXILICX_AXI_CLK>; 11628d13bc63SEmmanuel Vadot clock-names = "core", "iface", "mem_iface"; 11638d13bc63SEmmanuel Vadot 11648d13bc63SEmmanuel Vadot sram = <&gmu_sram>; 11658d13bc63SEmmanuel Vadot power-domains = <&mmcc OXILICX_GDSC>; 11668d13bc63SEmmanuel Vadot operating-points-v2 = <&gpu_opp_table>; 11678d13bc63SEmmanuel Vadot 11688d13bc63SEmmanuel Vadot status = "disabled"; 11698d13bc63SEmmanuel Vadot 11708d13bc63SEmmanuel Vadot gpu_opp_table: opp-table { 11718d13bc63SEmmanuel Vadot compatible = "operating-points-v2"; 11728d13bc63SEmmanuel Vadot 11738d13bc63SEmmanuel Vadot opp-450000000 { 11748d13bc63SEmmanuel Vadot opp-hz = /bits/ 64 <450000000>; 11758d13bc63SEmmanuel Vadot }; 11768d13bc63SEmmanuel Vadot 11778d13bc63SEmmanuel Vadot opp-320000000 { 11788d13bc63SEmmanuel Vadot opp-hz = /bits/ 64 <320000000>; 11798d13bc63SEmmanuel Vadot }; 11808d13bc63SEmmanuel Vadot 11818d13bc63SEmmanuel Vadot opp-200000000 { 11828d13bc63SEmmanuel Vadot opp-hz = /bits/ 64 <200000000>; 11838d13bc63SEmmanuel Vadot }; 11848d13bc63SEmmanuel Vadot 11858d13bc63SEmmanuel Vadot opp-19000000 { 11868d13bc63SEmmanuel Vadot opp-hz = /bits/ 64 <19000000>; 11878d13bc63SEmmanuel Vadot }; 11888d13bc63SEmmanuel Vadot }; 11898d13bc63SEmmanuel Vadot }; 119001950c46SEmmanuel Vadot 119101950c46SEmmanuel Vadot sram@fdd00000 { 119201950c46SEmmanuel Vadot compatible = "qcom,msm8226-ocmem"; 119301950c46SEmmanuel Vadot reg = <0xfdd00000 0x2000>, 119401950c46SEmmanuel Vadot <0xfec00000 0x20000>; 119501950c46SEmmanuel Vadot reg-names = "ctrl", "mem"; 119601950c46SEmmanuel Vadot ranges = <0 0xfec00000 0x20000>; 119701950c46SEmmanuel Vadot clocks = <&rpmcc RPM_SMD_OCMEMGX_CLK>; 119801950c46SEmmanuel Vadot clock-names = "core"; 119901950c46SEmmanuel Vadot 120001950c46SEmmanuel Vadot #address-cells = <1>; 120101950c46SEmmanuel Vadot #size-cells = <1>; 120201950c46SEmmanuel Vadot 120301950c46SEmmanuel Vadot gmu_sram: gmu-sram@0 { 120401950c46SEmmanuel Vadot reg = <0x0 0x20000>; 120501950c46SEmmanuel Vadot }; 120601950c46SEmmanuel Vadot }; 120701950c46SEmmanuel Vadot 120801950c46SEmmanuel Vadot adsp: remoteproc@fe200000 { 120901950c46SEmmanuel Vadot compatible = "qcom,msm8226-adsp-pil"; 121001950c46SEmmanuel Vadot reg = <0xfe200000 0x100>; 121101950c46SEmmanuel Vadot 121201950c46SEmmanuel Vadot interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_EDGE_RISING>, 121301950c46SEmmanuel Vadot <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, 121401950c46SEmmanuel Vadot <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, 121501950c46SEmmanuel Vadot <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, 121601950c46SEmmanuel Vadot <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>; 121701950c46SEmmanuel Vadot interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack"; 121801950c46SEmmanuel Vadot 121901950c46SEmmanuel Vadot power-domains = <&rpmpd MSM8226_VDDCX>; 122001950c46SEmmanuel Vadot power-domain-names = "cx"; 122101950c46SEmmanuel Vadot 122201950c46SEmmanuel Vadot clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>; 122301950c46SEmmanuel Vadot clock-names = "xo"; 122401950c46SEmmanuel Vadot 122501950c46SEmmanuel Vadot memory-region = <&adsp_region>; 122601950c46SEmmanuel Vadot 122701950c46SEmmanuel Vadot qcom,smem-states = <&adsp_smp2p_out 0>; 122801950c46SEmmanuel Vadot qcom,smem-state-names = "stop"; 122901950c46SEmmanuel Vadot 123001950c46SEmmanuel Vadot status = "disabled"; 123101950c46SEmmanuel Vadot 123201950c46SEmmanuel Vadot smd-edge { 123301950c46SEmmanuel Vadot interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>; 123401950c46SEmmanuel Vadot 1235*b2d2a78aSEmmanuel Vadot mboxes = <&apcs 8>; 123601950c46SEmmanuel Vadot qcom,smd-edge = <1>; 123701950c46SEmmanuel Vadot 123801950c46SEmmanuel Vadot label = "lpass"; 123901950c46SEmmanuel Vadot }; 124001950c46SEmmanuel Vadot }; 124101950c46SEmmanuel Vadot 124201950c46SEmmanuel Vadot sram@fe805000 { 124301950c46SEmmanuel Vadot compatible = "qcom,msm8226-imem", "syscon", "simple-mfd"; 124401950c46SEmmanuel Vadot reg = <0xfe805000 0x1000>; 124501950c46SEmmanuel Vadot 124601950c46SEmmanuel Vadot reboot-mode { 124701950c46SEmmanuel Vadot compatible = "syscon-reboot-mode"; 124801950c46SEmmanuel Vadot offset = <0x65c>; 124901950c46SEmmanuel Vadot 125001950c46SEmmanuel Vadot mode-bootloader = <0x77665500>; 125101950c46SEmmanuel Vadot mode-normal = <0x77665501>; 125201950c46SEmmanuel Vadot mode-recovery = <0x77665502>; 125301950c46SEmmanuel Vadot }; 125401950c46SEmmanuel Vadot }; 1255f126890aSEmmanuel Vadot }; 1256f126890aSEmmanuel Vadot 1257f126890aSEmmanuel Vadot thermal-zones { 1258f126890aSEmmanuel Vadot cpu0-thermal { 1259f126890aSEmmanuel Vadot polling-delay-passive = <250>; 1260f126890aSEmmanuel Vadot polling-delay = <1000>; 1261f126890aSEmmanuel Vadot 1262f126890aSEmmanuel Vadot thermal-sensors = <&tsens 5>; 1263f126890aSEmmanuel Vadot 1264*b2d2a78aSEmmanuel Vadot cooling-maps { 1265*b2d2a78aSEmmanuel Vadot map0 { 1266*b2d2a78aSEmmanuel Vadot trip = <&cpu_alert0>; 1267*b2d2a78aSEmmanuel Vadot cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1268*b2d2a78aSEmmanuel Vadot <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1269*b2d2a78aSEmmanuel Vadot <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1270*b2d2a78aSEmmanuel Vadot <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 1271*b2d2a78aSEmmanuel Vadot }; 1272*b2d2a78aSEmmanuel Vadot }; 1273*b2d2a78aSEmmanuel Vadot 1274f126890aSEmmanuel Vadot trips { 1275f126890aSEmmanuel Vadot cpu_alert0: trip0 { 1276f126890aSEmmanuel Vadot temperature = <75000>; 1277f126890aSEmmanuel Vadot hysteresis = <2000>; 1278f126890aSEmmanuel Vadot type = "passive"; 1279f126890aSEmmanuel Vadot }; 1280f126890aSEmmanuel Vadot 1281f126890aSEmmanuel Vadot cpu_crit0: trip1 { 1282f126890aSEmmanuel Vadot temperature = <110000>; 1283f126890aSEmmanuel Vadot hysteresis = <2000>; 1284f126890aSEmmanuel Vadot type = "critical"; 1285f126890aSEmmanuel Vadot }; 1286f126890aSEmmanuel Vadot }; 1287f126890aSEmmanuel Vadot }; 1288f126890aSEmmanuel Vadot 1289f126890aSEmmanuel Vadot cpu1-thermal { 1290f126890aSEmmanuel Vadot polling-delay-passive = <250>; 1291f126890aSEmmanuel Vadot polling-delay = <1000>; 1292f126890aSEmmanuel Vadot 1293f126890aSEmmanuel Vadot thermal-sensors = <&tsens 2>; 1294f126890aSEmmanuel Vadot 1295*b2d2a78aSEmmanuel Vadot cooling-maps { 1296*b2d2a78aSEmmanuel Vadot map0 { 1297*b2d2a78aSEmmanuel Vadot trip = <&cpu_alert1>; 1298*b2d2a78aSEmmanuel Vadot cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1299*b2d2a78aSEmmanuel Vadot <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1300*b2d2a78aSEmmanuel Vadot <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1301*b2d2a78aSEmmanuel Vadot <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 1302*b2d2a78aSEmmanuel Vadot }; 1303*b2d2a78aSEmmanuel Vadot }; 1304*b2d2a78aSEmmanuel Vadot 1305f126890aSEmmanuel Vadot trips { 1306f126890aSEmmanuel Vadot cpu_alert1: trip0 { 1307f126890aSEmmanuel Vadot temperature = <75000>; 1308f126890aSEmmanuel Vadot hysteresis = <2000>; 1309f126890aSEmmanuel Vadot type = "passive"; 1310f126890aSEmmanuel Vadot }; 1311f126890aSEmmanuel Vadot 1312f126890aSEmmanuel Vadot cpu_crit1: trip1 { 1313f126890aSEmmanuel Vadot temperature = <110000>; 1314f126890aSEmmanuel Vadot hysteresis = <2000>; 1315f126890aSEmmanuel Vadot type = "critical"; 1316f126890aSEmmanuel Vadot }; 1317f126890aSEmmanuel Vadot }; 1318f126890aSEmmanuel Vadot }; 1319f126890aSEmmanuel Vadot }; 1320f126890aSEmmanuel Vadot 1321f126890aSEmmanuel Vadot timer { 1322f126890aSEmmanuel Vadot compatible = "arm,armv7-timer"; 1323f126890aSEmmanuel Vadot interrupts = <GIC_PPI 2 1324f126890aSEmmanuel Vadot (GIC_CPU_MASK_RAW(15) | IRQ_TYPE_LEVEL_LOW)>, 1325f126890aSEmmanuel Vadot <GIC_PPI 3 1326f126890aSEmmanuel Vadot (GIC_CPU_MASK_RAW(15) | IRQ_TYPE_LEVEL_LOW)>, 1327f126890aSEmmanuel Vadot <GIC_PPI 4 1328f126890aSEmmanuel Vadot (GIC_CPU_MASK_RAW(15) | IRQ_TYPE_LEVEL_LOW)>, 1329f126890aSEmmanuel Vadot <GIC_PPI 1 1330f126890aSEmmanuel Vadot (GIC_CPU_MASK_RAW(15) | IRQ_TYPE_LEVEL_LOW)>; 1331f126890aSEmmanuel Vadot }; 1332f126890aSEmmanuel Vadot}; 1333