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> 15f126890aSEmmanuel Vadot 16f126890aSEmmanuel Vadot/ { 17f126890aSEmmanuel Vadot #address-cells = <1>; 18f126890aSEmmanuel Vadot #size-cells = <1>; 19f126890aSEmmanuel Vadot interrupt-parent = <&intc>; 20f126890aSEmmanuel Vadot 21f126890aSEmmanuel Vadot chosen { }; 22f126890aSEmmanuel Vadot 23f126890aSEmmanuel Vadot memory@0 { 24f126890aSEmmanuel Vadot device_type = "memory"; 25f126890aSEmmanuel Vadot reg = <0x0 0x0>; 26f126890aSEmmanuel Vadot }; 27f126890aSEmmanuel Vadot 28f126890aSEmmanuel Vadot clocks { 29f126890aSEmmanuel Vadot xo_board: xo_board { 30f126890aSEmmanuel Vadot compatible = "fixed-clock"; 31f126890aSEmmanuel Vadot #clock-cells = <0>; 32f126890aSEmmanuel Vadot clock-frequency = <19200000>; 33f126890aSEmmanuel Vadot }; 34f126890aSEmmanuel Vadot 35f126890aSEmmanuel Vadot sleep_clk: sleep_clk { 36f126890aSEmmanuel Vadot compatible = "fixed-clock"; 37f126890aSEmmanuel Vadot #clock-cells = <0>; 38f126890aSEmmanuel Vadot clock-frequency = <32768>; 39f126890aSEmmanuel Vadot }; 40f126890aSEmmanuel Vadot }; 41f126890aSEmmanuel Vadot 42f126890aSEmmanuel Vadot firmware { 43f126890aSEmmanuel Vadot scm { 44f126890aSEmmanuel Vadot compatible = "qcom,scm-msm8226", "qcom,scm"; 45f126890aSEmmanuel Vadot clocks = <&gcc GCC_CE1_CLK>, <&gcc GCC_CE1_AXI_CLK>, <&gcc GCC_CE1_AHB_CLK>; 46f126890aSEmmanuel Vadot clock-names = "core", "bus", "iface"; 47f126890aSEmmanuel Vadot }; 48f126890aSEmmanuel Vadot }; 49f126890aSEmmanuel Vadot 50f126890aSEmmanuel Vadot pmu { 51f126890aSEmmanuel Vadot compatible = "arm,cortex-a7-pmu"; 52f126890aSEmmanuel Vadot interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4) | 53f126890aSEmmanuel Vadot IRQ_TYPE_LEVEL_HIGH)>; 54f126890aSEmmanuel Vadot }; 55f126890aSEmmanuel Vadot 56*aa1a8ff2SEmmanuel Vadot rpm: remoteproc { 57*aa1a8ff2SEmmanuel Vadot compatible = "qcom,msm8226-rpm-proc", "qcom,rpm-proc"; 58f126890aSEmmanuel Vadot 59*aa1a8ff2SEmmanuel Vadot smd-edge { 60f126890aSEmmanuel Vadot interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; 61f126890aSEmmanuel Vadot qcom,ipc = <&apcs 8 0>; 62f126890aSEmmanuel Vadot qcom,smd-edge = <15>; 63f126890aSEmmanuel Vadot 64f126890aSEmmanuel Vadot rpm_requests: rpm-requests { 65f126890aSEmmanuel Vadot compatible = "qcom,rpm-msm8226"; 66f126890aSEmmanuel Vadot qcom,smd-channels = "rpm_requests"; 67f126890aSEmmanuel Vadot 68f126890aSEmmanuel Vadot rpmcc: clock-controller { 69f126890aSEmmanuel Vadot compatible = "qcom,rpmcc-msm8226", "qcom,rpmcc"; 70f126890aSEmmanuel Vadot #clock-cells = <1>; 71f126890aSEmmanuel Vadot clocks = <&xo_board>; 72f126890aSEmmanuel Vadot clock-names = "xo"; 73f126890aSEmmanuel Vadot }; 74f126890aSEmmanuel Vadot 75f126890aSEmmanuel Vadot rpmpd: power-controller { 76f126890aSEmmanuel Vadot compatible = "qcom,msm8226-rpmpd"; 77f126890aSEmmanuel Vadot #power-domain-cells = <1>; 78f126890aSEmmanuel Vadot operating-points-v2 = <&rpmpd_opp_table>; 79f126890aSEmmanuel Vadot 80f126890aSEmmanuel Vadot rpmpd_opp_table: opp-table { 81f126890aSEmmanuel Vadot compatible = "operating-points-v2"; 82f126890aSEmmanuel Vadot 83f126890aSEmmanuel Vadot rpmpd_opp_ret: opp1 { 84f126890aSEmmanuel Vadot opp-level = <1>; 85f126890aSEmmanuel Vadot }; 86f126890aSEmmanuel Vadot rpmpd_opp_svs_krait: opp2 { 87f126890aSEmmanuel Vadot opp-level = <2>; 88f126890aSEmmanuel Vadot }; 89f126890aSEmmanuel Vadot rpmpd_opp_svs_soc: opp3 { 90f126890aSEmmanuel Vadot opp-level = <3>; 91f126890aSEmmanuel Vadot }; 92f126890aSEmmanuel Vadot rpmpd_opp_nom: opp4 { 93f126890aSEmmanuel Vadot opp-level = <4>; 94f126890aSEmmanuel Vadot }; 95f126890aSEmmanuel Vadot rpmpd_opp_turbo: opp5 { 96f126890aSEmmanuel Vadot opp-level = <5>; 97f126890aSEmmanuel Vadot }; 98f126890aSEmmanuel Vadot rpmpd_opp_super_turbo: opp6 { 99f126890aSEmmanuel Vadot opp-level = <6>; 100f126890aSEmmanuel Vadot }; 101f126890aSEmmanuel Vadot }; 102f126890aSEmmanuel Vadot }; 103f126890aSEmmanuel Vadot }; 104f126890aSEmmanuel Vadot }; 105f126890aSEmmanuel Vadot }; 106f126890aSEmmanuel Vadot 107*aa1a8ff2SEmmanuel Vadot reserved-memory { 108*aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 109*aa1a8ff2SEmmanuel Vadot #size-cells = <1>; 110*aa1a8ff2SEmmanuel Vadot ranges; 111*aa1a8ff2SEmmanuel Vadot 112*aa1a8ff2SEmmanuel Vadot smem_region: smem@3000000 { 113*aa1a8ff2SEmmanuel Vadot reg = <0x3000000 0x100000>; 114*aa1a8ff2SEmmanuel Vadot no-map; 115*aa1a8ff2SEmmanuel Vadot }; 116*aa1a8ff2SEmmanuel Vadot 117*aa1a8ff2SEmmanuel Vadot adsp_region: adsp@dc00000 { 118*aa1a8ff2SEmmanuel Vadot reg = <0x0dc00000 0x1900000>; 119*aa1a8ff2SEmmanuel Vadot no-map; 120*aa1a8ff2SEmmanuel Vadot }; 121*aa1a8ff2SEmmanuel Vadot }; 122*aa1a8ff2SEmmanuel Vadot 123f126890aSEmmanuel Vadot smem { 124f126890aSEmmanuel Vadot compatible = "qcom,smem"; 125f126890aSEmmanuel Vadot 126f126890aSEmmanuel Vadot memory-region = <&smem_region>; 127f126890aSEmmanuel Vadot qcom,rpm-msg-ram = <&rpm_msg_ram>; 128f126890aSEmmanuel Vadot 129f126890aSEmmanuel Vadot hwlocks = <&tcsr_mutex 3>; 130f126890aSEmmanuel Vadot }; 131f126890aSEmmanuel Vadot 132f126890aSEmmanuel Vadot smp2p-adsp { 133f126890aSEmmanuel Vadot compatible = "qcom,smp2p"; 134f126890aSEmmanuel Vadot qcom,smem = <443>, <429>; 135f126890aSEmmanuel Vadot 136f126890aSEmmanuel Vadot interrupt-parent = <&intc>; 137f126890aSEmmanuel Vadot interrupts = <GIC_SPI 158 IRQ_TYPE_EDGE_RISING>; 138f126890aSEmmanuel Vadot 139f126890aSEmmanuel Vadot qcom,ipc = <&apcs 8 10>; 140f126890aSEmmanuel Vadot 141f126890aSEmmanuel Vadot qcom,local-pid = <0>; 142f126890aSEmmanuel Vadot qcom,remote-pid = <2>; 143f126890aSEmmanuel Vadot 144f126890aSEmmanuel Vadot adsp_smp2p_out: master-kernel { 145f126890aSEmmanuel Vadot qcom,entry-name = "master-kernel"; 146f126890aSEmmanuel Vadot #qcom,smem-state-cells = <1>; 147f126890aSEmmanuel Vadot }; 148f126890aSEmmanuel Vadot 149f126890aSEmmanuel Vadot adsp_smp2p_in: slave-kernel { 150f126890aSEmmanuel Vadot qcom,entry-name = "slave-kernel"; 151f126890aSEmmanuel Vadot 152f126890aSEmmanuel Vadot interrupt-controller; 153f126890aSEmmanuel Vadot #interrupt-cells = <2>; 154f126890aSEmmanuel Vadot }; 155f126890aSEmmanuel Vadot }; 156f126890aSEmmanuel Vadot 157f126890aSEmmanuel Vadot soc: soc { 158f126890aSEmmanuel Vadot compatible = "simple-bus"; 159f126890aSEmmanuel Vadot #address-cells = <1>; 160f126890aSEmmanuel Vadot #size-cells = <1>; 161f126890aSEmmanuel Vadot ranges; 162f126890aSEmmanuel Vadot 163f126890aSEmmanuel Vadot intc: interrupt-controller@f9000000 { 164f126890aSEmmanuel Vadot compatible = "qcom,msm-qgic2"; 165f126890aSEmmanuel Vadot reg = <0xf9000000 0x1000>, 166f126890aSEmmanuel Vadot <0xf9002000 0x1000>; 167f126890aSEmmanuel Vadot interrupt-controller; 168f126890aSEmmanuel Vadot #interrupt-cells = <3>; 169f126890aSEmmanuel Vadot }; 170f126890aSEmmanuel Vadot 171f126890aSEmmanuel Vadot apcs: syscon@f9011000 { 172f126890aSEmmanuel Vadot compatible = "syscon"; 173f126890aSEmmanuel Vadot reg = <0xf9011000 0x1000>; 174f126890aSEmmanuel Vadot }; 175f126890aSEmmanuel Vadot 176f126890aSEmmanuel Vadot sdhc_1: mmc@f9824900 { 177f126890aSEmmanuel Vadot compatible = "qcom,msm8226-sdhci", "qcom,sdhci-msm-v4"; 178f126890aSEmmanuel Vadot reg = <0xf9824900 0x11c>, <0xf9824000 0x800>; 179f126890aSEmmanuel Vadot reg-names = "hc", "core"; 180f126890aSEmmanuel Vadot interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>, 181f126890aSEmmanuel Vadot <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>; 182f126890aSEmmanuel Vadot interrupt-names = "hc_irq", "pwr_irq"; 183f126890aSEmmanuel Vadot clocks = <&gcc GCC_SDCC1_AHB_CLK>, 184f126890aSEmmanuel Vadot <&gcc GCC_SDCC1_APPS_CLK>, 185f126890aSEmmanuel Vadot <&rpmcc RPM_SMD_XO_CLK_SRC>; 186f126890aSEmmanuel Vadot clock-names = "iface", "core", "xo"; 187f126890aSEmmanuel Vadot pinctrl-names = "default"; 188f126890aSEmmanuel Vadot pinctrl-0 = <&sdhc1_default_state>; 189f126890aSEmmanuel Vadot status = "disabled"; 190f126890aSEmmanuel Vadot }; 191f126890aSEmmanuel Vadot 192f126890aSEmmanuel Vadot sdhc_2: mmc@f98a4900 { 193f126890aSEmmanuel Vadot compatible = "qcom,msm8226-sdhci", "qcom,sdhci-msm-v4"; 194f126890aSEmmanuel Vadot reg = <0xf98a4900 0x11c>, <0xf98a4000 0x800>; 195f126890aSEmmanuel Vadot reg-names = "hc", "core"; 196f126890aSEmmanuel Vadot interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>, 197f126890aSEmmanuel Vadot <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>; 198f126890aSEmmanuel Vadot interrupt-names = "hc_irq", "pwr_irq"; 199f126890aSEmmanuel Vadot clocks = <&gcc GCC_SDCC2_AHB_CLK>, 200f126890aSEmmanuel Vadot <&gcc GCC_SDCC2_APPS_CLK>, 201f126890aSEmmanuel Vadot <&rpmcc RPM_SMD_XO_CLK_SRC>; 202f126890aSEmmanuel Vadot clock-names = "iface", "core", "xo"; 203f126890aSEmmanuel Vadot pinctrl-names = "default"; 204f126890aSEmmanuel Vadot pinctrl-0 = <&sdhc2_default_state>; 205f126890aSEmmanuel Vadot status = "disabled"; 206f126890aSEmmanuel Vadot }; 207f126890aSEmmanuel Vadot 208f126890aSEmmanuel Vadot sdhc_3: mmc@f9864900 { 209f126890aSEmmanuel Vadot compatible = "qcom,msm8226-sdhci", "qcom,sdhci-msm-v4"; 210f126890aSEmmanuel Vadot reg = <0xf9864900 0x11c>, <0xf9864000 0x800>; 211f126890aSEmmanuel Vadot reg-names = "hc", "core"; 212f126890aSEmmanuel Vadot interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>, 213f126890aSEmmanuel Vadot <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>; 214f126890aSEmmanuel Vadot interrupt-names = "hc_irq", "pwr_irq"; 215f126890aSEmmanuel Vadot clocks = <&gcc GCC_SDCC3_AHB_CLK>, 216f126890aSEmmanuel Vadot <&gcc GCC_SDCC3_APPS_CLK>, 217f126890aSEmmanuel Vadot <&rpmcc RPM_SMD_XO_CLK_SRC>; 218f126890aSEmmanuel Vadot clock-names = "iface", "core", "xo"; 219f126890aSEmmanuel Vadot pinctrl-names = "default"; 220f126890aSEmmanuel Vadot pinctrl-0 = <&sdhc3_default_state>; 221f126890aSEmmanuel Vadot status = "disabled"; 222f126890aSEmmanuel Vadot }; 223f126890aSEmmanuel Vadot 224f126890aSEmmanuel Vadot blsp1_uart1: serial@f991d000 { 225f126890aSEmmanuel Vadot compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 226f126890aSEmmanuel Vadot reg = <0xf991d000 0x1000>; 227f126890aSEmmanuel Vadot interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 228f126890aSEmmanuel Vadot clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 229f126890aSEmmanuel Vadot clock-names = "core", "iface"; 230f126890aSEmmanuel Vadot status = "disabled"; 231f126890aSEmmanuel Vadot }; 232f126890aSEmmanuel Vadot 233f126890aSEmmanuel Vadot blsp1_uart3: serial@f991f000 { 234f126890aSEmmanuel Vadot compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 235f126890aSEmmanuel Vadot reg = <0xf991f000 0x1000>; 236f126890aSEmmanuel Vadot interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; 237f126890aSEmmanuel Vadot clocks = <&gcc GCC_BLSP1_UART3_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 238f126890aSEmmanuel Vadot clock-names = "core", "iface"; 239f126890aSEmmanuel Vadot status = "disabled"; 240f126890aSEmmanuel Vadot }; 241f126890aSEmmanuel Vadot 242f126890aSEmmanuel Vadot blsp1_uart4: serial@f9920000 { 243f126890aSEmmanuel Vadot compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 244f126890aSEmmanuel Vadot reg = <0xf9920000 0x1000>; 245f126890aSEmmanuel Vadot interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; 246f126890aSEmmanuel Vadot clocks = <&gcc GCC_BLSP1_UART4_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 247f126890aSEmmanuel Vadot clock-names = "core", "iface"; 248f126890aSEmmanuel Vadot status = "disabled"; 249f126890aSEmmanuel Vadot }; 250f126890aSEmmanuel Vadot 251f126890aSEmmanuel Vadot blsp1_i2c1: i2c@f9923000 { 252f126890aSEmmanuel Vadot status = "disabled"; 253f126890aSEmmanuel Vadot compatible = "qcom,i2c-qup-v2.1.1"; 254f126890aSEmmanuel Vadot reg = <0xf9923000 0x1000>; 255f126890aSEmmanuel Vadot interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 256f126890aSEmmanuel Vadot clocks = <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 257f126890aSEmmanuel Vadot clock-names = "core", "iface"; 258f126890aSEmmanuel Vadot pinctrl-names = "default"; 259f126890aSEmmanuel Vadot pinctrl-0 = <&blsp1_i2c1_pins>; 260f126890aSEmmanuel Vadot #address-cells = <1>; 261f126890aSEmmanuel Vadot #size-cells = <0>; 262f126890aSEmmanuel Vadot }; 263f126890aSEmmanuel Vadot 264f126890aSEmmanuel Vadot blsp1_i2c2: i2c@f9924000 { 265f126890aSEmmanuel Vadot status = "disabled"; 266f126890aSEmmanuel Vadot compatible = "qcom,i2c-qup-v2.1.1"; 267f126890aSEmmanuel Vadot reg = <0xf9924000 0x1000>; 268f126890aSEmmanuel Vadot interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 269f126890aSEmmanuel Vadot clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 270f126890aSEmmanuel Vadot clock-names = "core", "iface"; 271f126890aSEmmanuel Vadot pinctrl-names = "default"; 272f126890aSEmmanuel Vadot pinctrl-0 = <&blsp1_i2c2_pins>; 273f126890aSEmmanuel Vadot #address-cells = <1>; 274f126890aSEmmanuel Vadot #size-cells = <0>; 275f126890aSEmmanuel Vadot }; 276f126890aSEmmanuel Vadot 277f126890aSEmmanuel Vadot blsp1_i2c3: i2c@f9925000 { 278f126890aSEmmanuel Vadot status = "disabled"; 279f126890aSEmmanuel Vadot compatible = "qcom,i2c-qup-v2.1.1"; 280f126890aSEmmanuel Vadot reg = <0xf9925000 0x1000>; 281f126890aSEmmanuel Vadot interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 282f126890aSEmmanuel Vadot clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 283f126890aSEmmanuel Vadot clock-names = "core", "iface"; 284f126890aSEmmanuel Vadot pinctrl-names = "default"; 285f126890aSEmmanuel Vadot pinctrl-0 = <&blsp1_i2c3_pins>; 286f126890aSEmmanuel Vadot #address-cells = <1>; 287f126890aSEmmanuel Vadot #size-cells = <0>; 288f126890aSEmmanuel Vadot }; 289f126890aSEmmanuel Vadot 290f126890aSEmmanuel Vadot blsp1_i2c4: i2c@f9926000 { 291f126890aSEmmanuel Vadot status = "disabled"; 292f126890aSEmmanuel Vadot compatible = "qcom,i2c-qup-v2.1.1"; 293f126890aSEmmanuel Vadot reg = <0xf9926000 0x1000>; 294f126890aSEmmanuel Vadot interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 295f126890aSEmmanuel Vadot clocks = <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 296f126890aSEmmanuel Vadot clock-names = "core", "iface"; 297f126890aSEmmanuel Vadot pinctrl-names = "default"; 298f126890aSEmmanuel Vadot pinctrl-0 = <&blsp1_i2c4_pins>; 299f126890aSEmmanuel Vadot #address-cells = <1>; 300f126890aSEmmanuel Vadot #size-cells = <0>; 301f126890aSEmmanuel Vadot }; 302f126890aSEmmanuel Vadot 303f126890aSEmmanuel Vadot blsp1_i2c5: i2c@f9927000 { 304f126890aSEmmanuel Vadot status = "disabled"; 305f126890aSEmmanuel Vadot compatible = "qcom,i2c-qup-v2.1.1"; 306f126890aSEmmanuel Vadot reg = <0xf9927000 0x1000>; 307f126890aSEmmanuel Vadot interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 308f126890aSEmmanuel Vadot clocks = <&gcc GCC_BLSP1_QUP5_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>; 309f126890aSEmmanuel Vadot clock-names = "core", "iface"; 310f126890aSEmmanuel Vadot pinctrl-names = "default"; 311f126890aSEmmanuel Vadot pinctrl-0 = <&blsp1_i2c5_pins>; 312f126890aSEmmanuel Vadot #address-cells = <1>; 313f126890aSEmmanuel Vadot #size-cells = <0>; 314f126890aSEmmanuel Vadot }; 315f126890aSEmmanuel Vadot 316f126890aSEmmanuel Vadot cci: cci@fda0c000 { 317f126890aSEmmanuel Vadot compatible = "qcom,msm8226-cci"; 318f126890aSEmmanuel Vadot #address-cells = <1>; 319f126890aSEmmanuel Vadot #size-cells = <0>; 320f126890aSEmmanuel Vadot reg = <0xfda0c000 0x1000>; 321f126890aSEmmanuel Vadot interrupts = <GIC_SPI 50 IRQ_TYPE_EDGE_RISING>; 322f126890aSEmmanuel Vadot clocks = <&mmcc CAMSS_TOP_AHB_CLK>, 323f126890aSEmmanuel Vadot <&mmcc CAMSS_CCI_CCI_AHB_CLK>, 324f126890aSEmmanuel Vadot <&mmcc CAMSS_CCI_CCI_CLK>; 325f126890aSEmmanuel Vadot clock-names = "camss_top_ahb", 326f126890aSEmmanuel Vadot "cci_ahb", 327f126890aSEmmanuel Vadot "cci"; 328f126890aSEmmanuel Vadot 329f126890aSEmmanuel Vadot pinctrl-names = "default", "sleep"; 330f126890aSEmmanuel Vadot pinctrl-0 = <&cci_default>; 331f126890aSEmmanuel Vadot pinctrl-1 = <&cci_sleep>; 332f126890aSEmmanuel Vadot 333f126890aSEmmanuel Vadot status = "disabled"; 334f126890aSEmmanuel Vadot 335f126890aSEmmanuel Vadot cci_i2c0: i2c-bus@0 { 336f126890aSEmmanuel Vadot reg = <0>; 337f126890aSEmmanuel Vadot clock-frequency = <400000>; 338f126890aSEmmanuel Vadot #address-cells = <1>; 339f126890aSEmmanuel Vadot #size-cells = <0>; 340f126890aSEmmanuel Vadot }; 341f126890aSEmmanuel Vadot }; 342f126890aSEmmanuel Vadot 343f126890aSEmmanuel Vadot usb: usb@f9a55000 { 344f126890aSEmmanuel Vadot compatible = "qcom,ci-hdrc"; 345f126890aSEmmanuel Vadot reg = <0xf9a55000 0x200>, 346f126890aSEmmanuel Vadot <0xf9a55200 0x200>; 347f126890aSEmmanuel Vadot interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>; 348f126890aSEmmanuel Vadot clocks = <&gcc GCC_USB_HS_AHB_CLK>, 349f126890aSEmmanuel Vadot <&gcc GCC_USB_HS_SYSTEM_CLK>; 350f126890aSEmmanuel Vadot clock-names = "iface", "core"; 351f126890aSEmmanuel Vadot assigned-clocks = <&gcc GCC_USB_HS_SYSTEM_CLK>; 352f126890aSEmmanuel Vadot assigned-clock-rates = <75000000>; 353f126890aSEmmanuel Vadot resets = <&gcc GCC_USB_HS_BCR>; 354f126890aSEmmanuel Vadot reset-names = "core"; 355f126890aSEmmanuel Vadot phy_type = "ulpi"; 356f126890aSEmmanuel Vadot dr_mode = "otg"; 357f126890aSEmmanuel Vadot hnp-disable; 358f126890aSEmmanuel Vadot srp-disable; 359f126890aSEmmanuel Vadot adp-disable; 360f126890aSEmmanuel Vadot ahb-burst-config = <0>; 361f126890aSEmmanuel Vadot phy-names = "usb-phy"; 362f126890aSEmmanuel Vadot phys = <&usb_hs_phy>; 363f126890aSEmmanuel Vadot status = "disabled"; 364f126890aSEmmanuel Vadot #reset-cells = <1>; 365f126890aSEmmanuel Vadot 366f126890aSEmmanuel Vadot ulpi { 367f126890aSEmmanuel Vadot usb_hs_phy: phy { 368f126890aSEmmanuel Vadot compatible = "qcom,usb-hs-phy-msm8226", 369f126890aSEmmanuel Vadot "qcom,usb-hs-phy"; 370f126890aSEmmanuel Vadot #phy-cells = <0>; 371f126890aSEmmanuel Vadot clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, 372f126890aSEmmanuel Vadot <&gcc GCC_USB2A_PHY_SLEEP_CLK>; 373f126890aSEmmanuel Vadot clock-names = "ref", "sleep"; 374f126890aSEmmanuel Vadot resets = <&gcc GCC_USB2A_PHY_BCR>, <&usb 0>; 375f126890aSEmmanuel Vadot reset-names = "phy", "por"; 376f126890aSEmmanuel Vadot qcom,init-seq = /bits/ 8 <0x0 0x44 377f126890aSEmmanuel Vadot 0x1 0x68 0x2 0x24 0x3 0x13>; 378f126890aSEmmanuel Vadot }; 379f126890aSEmmanuel Vadot }; 380f126890aSEmmanuel Vadot }; 381f126890aSEmmanuel Vadot 382f126890aSEmmanuel Vadot gcc: clock-controller@fc400000 { 383f126890aSEmmanuel Vadot compatible = "qcom,gcc-msm8226"; 384f126890aSEmmanuel Vadot reg = <0xfc400000 0x4000>; 385f126890aSEmmanuel Vadot #clock-cells = <1>; 386f126890aSEmmanuel Vadot #reset-cells = <1>; 387f126890aSEmmanuel Vadot #power-domain-cells = <1>; 388f126890aSEmmanuel Vadot 389f126890aSEmmanuel Vadot clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, 390f126890aSEmmanuel Vadot <&sleep_clk>; 391f126890aSEmmanuel Vadot clock-names = "xo", 392f126890aSEmmanuel Vadot "sleep_clk"; 393f126890aSEmmanuel Vadot }; 394f126890aSEmmanuel Vadot 395f126890aSEmmanuel Vadot mmcc: clock-controller@fd8c0000 { 396f126890aSEmmanuel Vadot compatible = "qcom,mmcc-msm8226"; 397f126890aSEmmanuel Vadot reg = <0xfd8c0000 0x6000>; 398f126890aSEmmanuel Vadot #clock-cells = <1>; 399f126890aSEmmanuel Vadot #reset-cells = <1>; 400f126890aSEmmanuel Vadot #power-domain-cells = <1>; 401f126890aSEmmanuel Vadot 402f126890aSEmmanuel Vadot clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, 403f126890aSEmmanuel Vadot <&gcc GCC_MMSS_GPLL0_CLK_SRC>, 404f126890aSEmmanuel Vadot <&gcc GPLL0_VOTE>, 405f126890aSEmmanuel Vadot <&gcc GPLL1_VOTE>, 406f126890aSEmmanuel Vadot <&rpmcc RPM_SMD_GFX3D_CLK_SRC>, 407f126890aSEmmanuel Vadot <0>, 408f126890aSEmmanuel Vadot <0>; 409f126890aSEmmanuel Vadot clock-names = "xo", 410f126890aSEmmanuel Vadot "mmss_gpll0_vote", 411f126890aSEmmanuel Vadot "gpll0_vote", 412f126890aSEmmanuel Vadot "gpll1_vote", 413f126890aSEmmanuel Vadot "gfx3d_clk_src", 414f126890aSEmmanuel Vadot "dsi0pll", 415f126890aSEmmanuel Vadot "dsi0pllbyte"; 416f126890aSEmmanuel Vadot }; 417f126890aSEmmanuel Vadot 418f126890aSEmmanuel Vadot tlmm: pinctrl@fd510000 { 419f126890aSEmmanuel Vadot compatible = "qcom,msm8226-pinctrl"; 420f126890aSEmmanuel Vadot reg = <0xfd510000 0x4000>; 421f126890aSEmmanuel Vadot gpio-controller; 422f126890aSEmmanuel Vadot #gpio-cells = <2>; 423f126890aSEmmanuel Vadot gpio-ranges = <&tlmm 0 0 117>; 424f126890aSEmmanuel Vadot interrupt-controller; 425f126890aSEmmanuel Vadot #interrupt-cells = <2>; 426f126890aSEmmanuel Vadot interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 427f126890aSEmmanuel Vadot 428f126890aSEmmanuel Vadot blsp1_i2c1_pins: blsp1-i2c1-state { 429f126890aSEmmanuel Vadot pins = "gpio2", "gpio3"; 430f126890aSEmmanuel Vadot function = "blsp_i2c1"; 431f126890aSEmmanuel Vadot drive-strength = <2>; 432f126890aSEmmanuel Vadot bias-disable; 433f126890aSEmmanuel Vadot }; 434f126890aSEmmanuel Vadot 435f126890aSEmmanuel Vadot blsp1_i2c2_pins: blsp1-i2c2-state { 436f126890aSEmmanuel Vadot pins = "gpio6", "gpio7"; 437f126890aSEmmanuel Vadot function = "blsp_i2c2"; 438f126890aSEmmanuel Vadot drive-strength = <2>; 439f126890aSEmmanuel Vadot bias-disable; 440f126890aSEmmanuel Vadot }; 441f126890aSEmmanuel Vadot 442f126890aSEmmanuel Vadot blsp1_i2c3_pins: blsp1-i2c3-state { 443f126890aSEmmanuel Vadot pins = "gpio10", "gpio11"; 444f126890aSEmmanuel Vadot function = "blsp_i2c3"; 445f126890aSEmmanuel Vadot drive-strength = <2>; 446f126890aSEmmanuel Vadot bias-disable; 447f126890aSEmmanuel Vadot }; 448f126890aSEmmanuel Vadot 449f126890aSEmmanuel Vadot blsp1_i2c4_pins: blsp1-i2c4-state { 450f126890aSEmmanuel Vadot pins = "gpio14", "gpio15"; 451f126890aSEmmanuel Vadot function = "blsp_i2c4"; 452f126890aSEmmanuel Vadot drive-strength = <2>; 453f126890aSEmmanuel Vadot bias-disable; 454f126890aSEmmanuel Vadot }; 455f126890aSEmmanuel Vadot 456f126890aSEmmanuel Vadot blsp1_i2c5_pins: blsp1-i2c5-state { 457f126890aSEmmanuel Vadot pins = "gpio18", "gpio19"; 458f126890aSEmmanuel Vadot function = "blsp_i2c5"; 459f126890aSEmmanuel Vadot drive-strength = <2>; 460f126890aSEmmanuel Vadot bias-disable; 461f126890aSEmmanuel Vadot }; 462f126890aSEmmanuel Vadot 463f126890aSEmmanuel Vadot cci_default: cci-default-state { 464f126890aSEmmanuel Vadot pins = "gpio29", "gpio30"; 465f126890aSEmmanuel Vadot function = "cci_i2c0"; 466f126890aSEmmanuel Vadot 467f126890aSEmmanuel Vadot drive-strength = <2>; 468f126890aSEmmanuel Vadot bias-disable; 469f126890aSEmmanuel Vadot }; 470f126890aSEmmanuel Vadot 471f126890aSEmmanuel Vadot cci_sleep: cci-sleep-state { 472f126890aSEmmanuel Vadot pins = "gpio29", "gpio30"; 473f126890aSEmmanuel Vadot function = "gpio"; 474f126890aSEmmanuel Vadot 475f126890aSEmmanuel Vadot drive-strength = <2>; 476f126890aSEmmanuel Vadot bias-disable; 477f126890aSEmmanuel Vadot }; 478f126890aSEmmanuel Vadot 479f126890aSEmmanuel Vadot sdhc1_default_state: sdhc1-default-state { 480f126890aSEmmanuel Vadot clk-pins { 481f126890aSEmmanuel Vadot pins = "sdc1_clk"; 482f126890aSEmmanuel Vadot drive-strength = <10>; 483f126890aSEmmanuel Vadot bias-disable; 484f126890aSEmmanuel Vadot }; 485f126890aSEmmanuel Vadot 486f126890aSEmmanuel Vadot cmd-data-pins { 487f126890aSEmmanuel Vadot pins = "sdc1_cmd", "sdc1_data"; 488f126890aSEmmanuel Vadot drive-strength = <10>; 489f126890aSEmmanuel Vadot bias-pull-up; 490f126890aSEmmanuel Vadot }; 491f126890aSEmmanuel Vadot }; 492f126890aSEmmanuel Vadot 493f126890aSEmmanuel Vadot sdhc2_default_state: sdhc2-default-state { 494f126890aSEmmanuel Vadot clk-pins { 495f126890aSEmmanuel Vadot pins = "sdc2_clk"; 496f126890aSEmmanuel Vadot drive-strength = <10>; 497f126890aSEmmanuel Vadot bias-disable; 498f126890aSEmmanuel Vadot }; 499f126890aSEmmanuel Vadot 500f126890aSEmmanuel Vadot cmd-data-pins { 501f126890aSEmmanuel Vadot pins = "sdc2_cmd", "sdc2_data"; 502f126890aSEmmanuel Vadot drive-strength = <10>; 503f126890aSEmmanuel Vadot bias-pull-up; 504f126890aSEmmanuel Vadot }; 505f126890aSEmmanuel Vadot }; 506f126890aSEmmanuel Vadot 507f126890aSEmmanuel Vadot sdhc3_default_state: sdhc3-default-state { 508f126890aSEmmanuel Vadot clk-pins { 509f126890aSEmmanuel Vadot pins = "gpio44"; 510f126890aSEmmanuel Vadot function = "sdc3"; 511f126890aSEmmanuel Vadot drive-strength = <8>; 512f126890aSEmmanuel Vadot bias-disable; 513f126890aSEmmanuel Vadot }; 514f126890aSEmmanuel Vadot 515f126890aSEmmanuel Vadot cmd-pins { 516f126890aSEmmanuel Vadot pins = "gpio43"; 517f126890aSEmmanuel Vadot function = "sdc3"; 518f126890aSEmmanuel Vadot drive-strength = <8>; 519f126890aSEmmanuel Vadot bias-pull-up; 520f126890aSEmmanuel Vadot }; 521f126890aSEmmanuel Vadot 522f126890aSEmmanuel Vadot data-pins { 523f126890aSEmmanuel Vadot pins = "gpio39", "gpio40", "gpio41", "gpio42"; 524f126890aSEmmanuel Vadot function = "sdc3"; 525f126890aSEmmanuel Vadot drive-strength = <8>; 526f126890aSEmmanuel Vadot bias-pull-up; 527f126890aSEmmanuel Vadot }; 528f126890aSEmmanuel Vadot }; 529f126890aSEmmanuel Vadot }; 530f126890aSEmmanuel Vadot 531f126890aSEmmanuel Vadot tsens: thermal-sensor@fc4a9000 { 532f126890aSEmmanuel Vadot compatible = "qcom,msm8226-tsens", "qcom,tsens-v0_1"; 533f126890aSEmmanuel Vadot reg = <0xfc4a9000 0x1000>, /* TM */ 534f126890aSEmmanuel Vadot <0xfc4a8000 0x1000>; /* SROT */ 535f126890aSEmmanuel Vadot nvmem-cells = <&tsens_mode>, 536f126890aSEmmanuel Vadot <&tsens_base1>, <&tsens_base2>, 537f126890aSEmmanuel Vadot <&tsens_s0_p1>, <&tsens_s0_p2>, 538f126890aSEmmanuel Vadot <&tsens_s1_p1>, <&tsens_s1_p2>, 539f126890aSEmmanuel Vadot <&tsens_s2_p1>, <&tsens_s2_p2>, 540f126890aSEmmanuel Vadot <&tsens_s3_p1>, <&tsens_s3_p2>, 541f126890aSEmmanuel Vadot <&tsens_s4_p1>, <&tsens_s4_p2>, 542f126890aSEmmanuel Vadot <&tsens_s5_p1>, <&tsens_s5_p2>, 543f126890aSEmmanuel Vadot <&tsens_s6_p1>, <&tsens_s6_p2>; 544f126890aSEmmanuel Vadot nvmem-cell-names = "mode", 545f126890aSEmmanuel Vadot "base1", "base2", 546f126890aSEmmanuel Vadot "s0_p1", "s0_p2", 547f126890aSEmmanuel Vadot "s1_p1", "s1_p2", 548f126890aSEmmanuel Vadot "s2_p1", "s2_p2", 549f126890aSEmmanuel Vadot "s3_p1", "s3_p2", 550f126890aSEmmanuel Vadot "s4_p1", "s4_p2", 551f126890aSEmmanuel Vadot "s5_p1", "s5_p2", 552f126890aSEmmanuel Vadot "s6_p1", "s6_p2"; 553f126890aSEmmanuel Vadot #qcom,sensors = <6>; 554f126890aSEmmanuel Vadot interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>; 555f126890aSEmmanuel Vadot interrupt-names = "uplow"; 556f126890aSEmmanuel Vadot #thermal-sensor-cells = <1>; 557f126890aSEmmanuel Vadot }; 558f126890aSEmmanuel Vadot 559f126890aSEmmanuel Vadot restart@fc4ab000 { 560f126890aSEmmanuel Vadot compatible = "qcom,pshold"; 561f126890aSEmmanuel Vadot reg = <0xfc4ab000 0x4>; 562f126890aSEmmanuel Vadot }; 563f126890aSEmmanuel Vadot 564f126890aSEmmanuel Vadot qfprom: qfprom@fc4bc000 { 565f126890aSEmmanuel Vadot compatible = "qcom,msm8226-qfprom", "qcom,qfprom"; 566f126890aSEmmanuel Vadot reg = <0xfc4bc000 0x1000>; 567f126890aSEmmanuel Vadot #address-cells = <1>; 568f126890aSEmmanuel Vadot #size-cells = <1>; 569f126890aSEmmanuel Vadot 570f126890aSEmmanuel Vadot tsens_base1: base1@1c1 { 571f126890aSEmmanuel Vadot reg = <0x1c1 0x2>; 572f126890aSEmmanuel Vadot bits = <5 8>; 573f126890aSEmmanuel Vadot }; 574f126890aSEmmanuel Vadot 575f126890aSEmmanuel Vadot tsens_s0_p1: s0-p1@1c2 { 576f126890aSEmmanuel Vadot reg = <0x1c2 0x2>; 577f126890aSEmmanuel Vadot bits = <5 6>; 578f126890aSEmmanuel Vadot }; 579f126890aSEmmanuel Vadot 580f126890aSEmmanuel Vadot tsens_s1_p1: s1-p1@1c4 { 581f126890aSEmmanuel Vadot reg = <0x1c4 0x1>; 582f126890aSEmmanuel Vadot bits = <0 6>; 583f126890aSEmmanuel Vadot }; 584f126890aSEmmanuel Vadot 585f126890aSEmmanuel Vadot tsens_s2_p1: s2-p1@1c4 { 586f126890aSEmmanuel Vadot reg = <0x1c4 0x2>; 587f126890aSEmmanuel Vadot bits = <6 6>; 588f126890aSEmmanuel Vadot }; 589f126890aSEmmanuel Vadot 590f126890aSEmmanuel Vadot tsens_s3_p1: s3-p1@1c5 { 591f126890aSEmmanuel Vadot reg = <0x1c5 0x2>; 592f126890aSEmmanuel Vadot bits = <4 6>; 593f126890aSEmmanuel Vadot }; 594f126890aSEmmanuel Vadot 595f126890aSEmmanuel Vadot tsens_s4_p1: s4-p1@1c6 { 596f126890aSEmmanuel Vadot reg = <0x1c6 0x1>; 597f126890aSEmmanuel Vadot bits = <2 6>; 598f126890aSEmmanuel Vadot }; 599f126890aSEmmanuel Vadot 600f126890aSEmmanuel Vadot tsens_s5_p1: s5-p1@1c7 { 601f126890aSEmmanuel Vadot reg = <0x1c7 0x1>; 602f126890aSEmmanuel Vadot bits = <0 6>; 603f126890aSEmmanuel Vadot }; 604f126890aSEmmanuel Vadot 605f126890aSEmmanuel Vadot tsens_s6_p1: s6-p1@1ca { 606f126890aSEmmanuel Vadot reg = <0x1ca 0x2>; 607f126890aSEmmanuel Vadot bits = <4 6>; 608f126890aSEmmanuel Vadot }; 609f126890aSEmmanuel Vadot 610f126890aSEmmanuel Vadot tsens_base2: base2@1cc { 611f126890aSEmmanuel Vadot reg = <0x1cc 0x1>; 612f126890aSEmmanuel Vadot bits = <0 8>; 613f126890aSEmmanuel Vadot }; 614f126890aSEmmanuel Vadot 615f126890aSEmmanuel Vadot tsens_s0_p2: s0-p2@1cd { 616f126890aSEmmanuel Vadot reg = <0x1cd 0x1>; 617f126890aSEmmanuel Vadot bits = <0 6>; 618f126890aSEmmanuel Vadot }; 619f126890aSEmmanuel Vadot 620f126890aSEmmanuel Vadot tsens_s1_p2: s1-p2@1cd { 621f126890aSEmmanuel Vadot reg = <0x1cd 0x2>; 622f126890aSEmmanuel Vadot bits = <6 6>; 623f126890aSEmmanuel Vadot }; 624f126890aSEmmanuel Vadot 625f126890aSEmmanuel Vadot tsens_s2_p2: s2-p2@1ce { 626f126890aSEmmanuel Vadot reg = <0x1ce 0x2>; 627f126890aSEmmanuel Vadot bits = <4 6>; 628f126890aSEmmanuel Vadot }; 629f126890aSEmmanuel Vadot 630f126890aSEmmanuel Vadot tsens_s3_p2: s3-p2@1cf { 631f126890aSEmmanuel Vadot reg = <0x1cf 0x1>; 632f126890aSEmmanuel Vadot bits = <2 6>; 633f126890aSEmmanuel Vadot }; 634f126890aSEmmanuel Vadot 635f126890aSEmmanuel Vadot tsens_s4_p2: s4-p2@446 { 636f126890aSEmmanuel Vadot reg = <0x446 0x2>; 637f126890aSEmmanuel Vadot bits = <4 6>; 638f126890aSEmmanuel Vadot }; 639f126890aSEmmanuel Vadot 640f126890aSEmmanuel Vadot tsens_s5_p2: s5-p2@447 { 641f126890aSEmmanuel Vadot reg = <0x447 0x1>; 642f126890aSEmmanuel Vadot bits = <2 6>; 643f126890aSEmmanuel Vadot }; 644f126890aSEmmanuel Vadot 645f126890aSEmmanuel Vadot tsens_s6_p2: s6-p2@44e { 646f126890aSEmmanuel Vadot reg = <0x44e 0x1>; 647f126890aSEmmanuel Vadot bits = <1 6>; 648f126890aSEmmanuel Vadot }; 649f126890aSEmmanuel Vadot 650f126890aSEmmanuel Vadot tsens_mode: mode@44f { 651f126890aSEmmanuel Vadot reg = <0x44f 0x1>; 652f126890aSEmmanuel Vadot bits = <5 3>; 653f126890aSEmmanuel Vadot }; 654f126890aSEmmanuel Vadot }; 655f126890aSEmmanuel Vadot 656f126890aSEmmanuel Vadot spmi_bus: spmi@fc4cf000 { 657f126890aSEmmanuel Vadot compatible = "qcom,spmi-pmic-arb"; 658f126890aSEmmanuel Vadot reg-names = "core", "intr", "cnfg"; 659f126890aSEmmanuel Vadot reg = <0xfc4cf000 0x1000>, 660f126890aSEmmanuel Vadot <0xfc4cb000 0x1000>, 661f126890aSEmmanuel Vadot <0xfc4ca000 0x1000>; 662f126890aSEmmanuel Vadot interrupt-names = "periph_irq"; 663f126890aSEmmanuel Vadot interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>; 664f126890aSEmmanuel Vadot qcom,ee = <0>; 665f126890aSEmmanuel Vadot qcom,channel = <0>; 666f126890aSEmmanuel Vadot #address-cells = <2>; 667f126890aSEmmanuel Vadot #size-cells = <0>; 668f126890aSEmmanuel Vadot interrupt-controller; 669f126890aSEmmanuel Vadot #interrupt-cells = <4>; 670f126890aSEmmanuel Vadot }; 671f126890aSEmmanuel Vadot 672f126890aSEmmanuel Vadot rng@f9bff000 { 673f126890aSEmmanuel Vadot compatible = "qcom,prng"; 674f126890aSEmmanuel Vadot reg = <0xf9bff000 0x200>; 675f126890aSEmmanuel Vadot clocks = <&gcc GCC_PRNG_AHB_CLK>; 676f126890aSEmmanuel Vadot clock-names = "core"; 677f126890aSEmmanuel Vadot }; 678f126890aSEmmanuel Vadot 679f126890aSEmmanuel Vadot timer@f9020000 { 680f126890aSEmmanuel Vadot compatible = "arm,armv7-timer-mem"; 681f126890aSEmmanuel Vadot reg = <0xf9020000 0x1000>; 682f126890aSEmmanuel Vadot #address-cells = <1>; 683f126890aSEmmanuel Vadot #size-cells = <1>; 684f126890aSEmmanuel Vadot ranges; 685f126890aSEmmanuel Vadot 686f126890aSEmmanuel Vadot frame@f9021000 { 687f126890aSEmmanuel Vadot frame-number = <0>; 688f126890aSEmmanuel Vadot interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 689f126890aSEmmanuel Vadot <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 690f126890aSEmmanuel Vadot reg = <0xf9021000 0x1000>, 691f126890aSEmmanuel Vadot <0xf9022000 0x1000>; 692f126890aSEmmanuel Vadot }; 693f126890aSEmmanuel Vadot 694f126890aSEmmanuel Vadot frame@f9023000 { 695f126890aSEmmanuel Vadot frame-number = <1>; 696f126890aSEmmanuel Vadot interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 697f126890aSEmmanuel Vadot reg = <0xf9023000 0x1000>; 698f126890aSEmmanuel Vadot status = "disabled"; 699f126890aSEmmanuel Vadot }; 700f126890aSEmmanuel Vadot 701f126890aSEmmanuel Vadot frame@f9024000 { 702f126890aSEmmanuel Vadot frame-number = <2>; 703f126890aSEmmanuel Vadot interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 704f126890aSEmmanuel Vadot reg = <0xf9024000 0x1000>; 705f126890aSEmmanuel Vadot status = "disabled"; 706f126890aSEmmanuel Vadot }; 707f126890aSEmmanuel Vadot 708f126890aSEmmanuel Vadot frame@f9025000 { 709f126890aSEmmanuel Vadot frame-number = <3>; 710f126890aSEmmanuel Vadot interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 711f126890aSEmmanuel Vadot reg = <0xf9025000 0x1000>; 712f126890aSEmmanuel Vadot status = "disabled"; 713f126890aSEmmanuel Vadot }; 714f126890aSEmmanuel Vadot 715f126890aSEmmanuel Vadot frame@f9026000 { 716f126890aSEmmanuel Vadot frame-number = <4>; 717f126890aSEmmanuel Vadot interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 718f126890aSEmmanuel Vadot reg = <0xf9026000 0x1000>; 719f126890aSEmmanuel Vadot status = "disabled"; 720f126890aSEmmanuel Vadot }; 721f126890aSEmmanuel Vadot 722f126890aSEmmanuel Vadot frame@f9027000 { 723f126890aSEmmanuel Vadot frame-number = <5>; 724f126890aSEmmanuel Vadot interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 725f126890aSEmmanuel Vadot reg = <0xf9027000 0x1000>; 726f126890aSEmmanuel Vadot status = "disabled"; 727f126890aSEmmanuel Vadot }; 728f126890aSEmmanuel Vadot 729f126890aSEmmanuel Vadot frame@f9028000 { 730f126890aSEmmanuel Vadot frame-number = <6>; 731f126890aSEmmanuel Vadot interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 732f126890aSEmmanuel Vadot reg = <0xf9028000 0x1000>; 733f126890aSEmmanuel Vadot status = "disabled"; 734f126890aSEmmanuel Vadot }; 735f126890aSEmmanuel Vadot }; 736f126890aSEmmanuel Vadot 737f126890aSEmmanuel Vadot sram@fc190000 { 738f126890aSEmmanuel Vadot compatible = "qcom,msm8226-rpm-stats"; 739f126890aSEmmanuel Vadot reg = <0xfc190000 0x10000>; 740f126890aSEmmanuel Vadot }; 741f126890aSEmmanuel Vadot 742f126890aSEmmanuel Vadot rpm_msg_ram: sram@fc428000 { 743f126890aSEmmanuel Vadot compatible = "qcom,rpm-msg-ram"; 744f126890aSEmmanuel Vadot reg = <0xfc428000 0x4000>; 745f126890aSEmmanuel Vadot }; 746f126890aSEmmanuel Vadot 747f126890aSEmmanuel Vadot tcsr_mutex: hwlock@fd484000 { 748f126890aSEmmanuel Vadot compatible = "qcom,msm8226-tcsr-mutex", "qcom,tcsr-mutex"; 749f126890aSEmmanuel Vadot reg = <0xfd484000 0x1000>; 750f126890aSEmmanuel Vadot #hwlock-cells = <1>; 751f126890aSEmmanuel Vadot }; 752f126890aSEmmanuel Vadot 753f126890aSEmmanuel Vadot adsp: remoteproc@fe200000 { 754f126890aSEmmanuel Vadot compatible = "qcom,msm8226-adsp-pil"; 755f126890aSEmmanuel Vadot reg = <0xfe200000 0x100>; 756f126890aSEmmanuel Vadot 757f126890aSEmmanuel Vadot interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_EDGE_RISING>, 758f126890aSEmmanuel Vadot <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, 759f126890aSEmmanuel Vadot <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, 760f126890aSEmmanuel Vadot <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, 761f126890aSEmmanuel Vadot <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>; 762f126890aSEmmanuel Vadot interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack"; 763f126890aSEmmanuel Vadot 764f126890aSEmmanuel Vadot power-domains = <&rpmpd MSM8226_VDDCX>; 765f126890aSEmmanuel Vadot power-domain-names = "cx"; 766f126890aSEmmanuel Vadot 767f126890aSEmmanuel Vadot clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>; 768f126890aSEmmanuel Vadot clock-names = "xo"; 769f126890aSEmmanuel Vadot 770f126890aSEmmanuel Vadot memory-region = <&adsp_region>; 771f126890aSEmmanuel Vadot 772f126890aSEmmanuel Vadot qcom,smem-states = <&adsp_smp2p_out 0>; 773f126890aSEmmanuel Vadot qcom,smem-state-names = "stop"; 774f126890aSEmmanuel Vadot 775f126890aSEmmanuel Vadot status = "disabled"; 776f126890aSEmmanuel Vadot 777f126890aSEmmanuel Vadot smd-edge { 778f126890aSEmmanuel Vadot interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>; 779f126890aSEmmanuel Vadot 780f126890aSEmmanuel Vadot qcom,ipc = <&apcs 8 8>; 781f126890aSEmmanuel Vadot qcom,smd-edge = <1>; 782f126890aSEmmanuel Vadot 783f126890aSEmmanuel Vadot label = "lpass"; 784f126890aSEmmanuel Vadot }; 785f126890aSEmmanuel Vadot }; 786f126890aSEmmanuel Vadot 787*aa1a8ff2SEmmanuel Vadot sram@fdd00000 { 788*aa1a8ff2SEmmanuel Vadot compatible = "qcom,msm8226-ocmem"; 789*aa1a8ff2SEmmanuel Vadot reg = <0xfdd00000 0x2000>, 790*aa1a8ff2SEmmanuel Vadot <0xfec00000 0x20000>; 791*aa1a8ff2SEmmanuel Vadot reg-names = "ctrl", "mem"; 792*aa1a8ff2SEmmanuel Vadot ranges = <0 0xfec00000 0x20000>; 793*aa1a8ff2SEmmanuel Vadot clocks = <&rpmcc RPM_SMD_OCMEMGX_CLK>; 794*aa1a8ff2SEmmanuel Vadot clock-names = "core"; 795*aa1a8ff2SEmmanuel Vadot 796*aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 797*aa1a8ff2SEmmanuel Vadot #size-cells = <1>; 798*aa1a8ff2SEmmanuel Vadot 799*aa1a8ff2SEmmanuel Vadot gmu_sram: gmu-sram@0 { 800*aa1a8ff2SEmmanuel Vadot reg = <0x0 0x20000>; 801*aa1a8ff2SEmmanuel Vadot }; 802*aa1a8ff2SEmmanuel Vadot }; 803*aa1a8ff2SEmmanuel Vadot 804f126890aSEmmanuel Vadot sram@fe805000 { 805f126890aSEmmanuel Vadot compatible = "qcom,msm8226-imem", "syscon", "simple-mfd"; 806f126890aSEmmanuel Vadot reg = <0xfe805000 0x1000>; 807f126890aSEmmanuel Vadot 808f126890aSEmmanuel Vadot reboot-mode { 809f126890aSEmmanuel Vadot compatible = "syscon-reboot-mode"; 810f126890aSEmmanuel Vadot offset = <0x65c>; 811f126890aSEmmanuel Vadot 812f126890aSEmmanuel Vadot mode-bootloader = <0x77665500>; 813f126890aSEmmanuel Vadot mode-normal = <0x77665501>; 814f126890aSEmmanuel Vadot mode-recovery = <0x77665502>; 815f126890aSEmmanuel Vadot }; 816f126890aSEmmanuel Vadot }; 817*aa1a8ff2SEmmanuel Vadot 818*aa1a8ff2SEmmanuel Vadot mdss: display-subsystem@fd900000 { 819*aa1a8ff2SEmmanuel Vadot compatible = "qcom,mdss"; 820*aa1a8ff2SEmmanuel Vadot reg = <0xfd900000 0x100>, <0xfd924000 0x1000>; 821*aa1a8ff2SEmmanuel Vadot reg-names = "mdss_phys", "vbif_phys"; 822*aa1a8ff2SEmmanuel Vadot 823*aa1a8ff2SEmmanuel Vadot power-domains = <&mmcc MDSS_GDSC>; 824*aa1a8ff2SEmmanuel Vadot 825*aa1a8ff2SEmmanuel Vadot clocks = <&mmcc MDSS_AHB_CLK>, 826*aa1a8ff2SEmmanuel Vadot <&mmcc MDSS_AXI_CLK>, 827*aa1a8ff2SEmmanuel Vadot <&mmcc MDSS_VSYNC_CLK>; 828*aa1a8ff2SEmmanuel Vadot clock-names = "iface", 829*aa1a8ff2SEmmanuel Vadot "bus", 830*aa1a8ff2SEmmanuel Vadot "vsync"; 831*aa1a8ff2SEmmanuel Vadot 832*aa1a8ff2SEmmanuel Vadot interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; 833*aa1a8ff2SEmmanuel Vadot 834*aa1a8ff2SEmmanuel Vadot interrupt-controller; 835*aa1a8ff2SEmmanuel Vadot #interrupt-cells = <1>; 836*aa1a8ff2SEmmanuel Vadot 837*aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 838*aa1a8ff2SEmmanuel Vadot #size-cells = <1>; 839*aa1a8ff2SEmmanuel Vadot ranges; 840*aa1a8ff2SEmmanuel Vadot 841*aa1a8ff2SEmmanuel Vadot status = "disabled"; 842*aa1a8ff2SEmmanuel Vadot 843*aa1a8ff2SEmmanuel Vadot mdss_mdp: display-controller@fd900000 { 844*aa1a8ff2SEmmanuel Vadot compatible = "qcom,msm8226-mdp5", "qcom,mdp5"; 845*aa1a8ff2SEmmanuel Vadot reg = <0xfd900100 0x22000>; 846*aa1a8ff2SEmmanuel Vadot reg-names = "mdp_phys"; 847*aa1a8ff2SEmmanuel Vadot 848*aa1a8ff2SEmmanuel Vadot interrupt-parent = <&mdss>; 849*aa1a8ff2SEmmanuel Vadot interrupts = <0>; 850*aa1a8ff2SEmmanuel Vadot 851*aa1a8ff2SEmmanuel Vadot clocks = <&mmcc MDSS_AHB_CLK>, 852*aa1a8ff2SEmmanuel Vadot <&mmcc MDSS_AXI_CLK>, 853*aa1a8ff2SEmmanuel Vadot <&mmcc MDSS_MDP_CLK>, 854*aa1a8ff2SEmmanuel Vadot <&mmcc MDSS_VSYNC_CLK>; 855*aa1a8ff2SEmmanuel Vadot clock-names = "iface", 856*aa1a8ff2SEmmanuel Vadot "bus", 857*aa1a8ff2SEmmanuel Vadot "core", 858*aa1a8ff2SEmmanuel Vadot "vsync"; 859*aa1a8ff2SEmmanuel Vadot 860*aa1a8ff2SEmmanuel Vadot ports { 861*aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 862*aa1a8ff2SEmmanuel Vadot #size-cells = <0>; 863*aa1a8ff2SEmmanuel Vadot 864*aa1a8ff2SEmmanuel Vadot port@0 { 865*aa1a8ff2SEmmanuel Vadot reg = <0>; 866*aa1a8ff2SEmmanuel Vadot mdss_mdp_intf1_out: endpoint { 867*aa1a8ff2SEmmanuel Vadot remote-endpoint = <&mdss_dsi0_in>; 868*aa1a8ff2SEmmanuel Vadot }; 869*aa1a8ff2SEmmanuel Vadot }; 870*aa1a8ff2SEmmanuel Vadot }; 871*aa1a8ff2SEmmanuel Vadot }; 872*aa1a8ff2SEmmanuel Vadot 873*aa1a8ff2SEmmanuel Vadot mdss_dsi0: dsi@fd922800 { 874*aa1a8ff2SEmmanuel Vadot compatible = "qcom,msm8226-dsi-ctrl", 875*aa1a8ff2SEmmanuel Vadot "qcom,mdss-dsi-ctrl"; 876*aa1a8ff2SEmmanuel Vadot reg = <0xfd922800 0x1f8>; 877*aa1a8ff2SEmmanuel Vadot reg-names = "dsi_ctrl"; 878*aa1a8ff2SEmmanuel Vadot 879*aa1a8ff2SEmmanuel Vadot interrupt-parent = <&mdss>; 880*aa1a8ff2SEmmanuel Vadot interrupts = <4>; 881*aa1a8ff2SEmmanuel Vadot 882*aa1a8ff2SEmmanuel Vadot assigned-clocks = <&mmcc BYTE0_CLK_SRC>, 883*aa1a8ff2SEmmanuel Vadot <&mmcc PCLK0_CLK_SRC>; 884*aa1a8ff2SEmmanuel Vadot assigned-clock-parents = <&mdss_dsi0_phy 0>, 885*aa1a8ff2SEmmanuel Vadot <&mdss_dsi0_phy 1>; 886*aa1a8ff2SEmmanuel Vadot 887*aa1a8ff2SEmmanuel Vadot clocks = <&mmcc MDSS_MDP_CLK>, 888*aa1a8ff2SEmmanuel Vadot <&mmcc MDSS_AHB_CLK>, 889*aa1a8ff2SEmmanuel Vadot <&mmcc MDSS_AXI_CLK>, 890*aa1a8ff2SEmmanuel Vadot <&mmcc MDSS_BYTE0_CLK>, 891*aa1a8ff2SEmmanuel Vadot <&mmcc MDSS_PCLK0_CLK>, 892*aa1a8ff2SEmmanuel Vadot <&mmcc MDSS_ESC0_CLK>, 893*aa1a8ff2SEmmanuel Vadot <&mmcc MMSS_MISC_AHB_CLK>; 894*aa1a8ff2SEmmanuel Vadot clock-names = "mdp_core", 895*aa1a8ff2SEmmanuel Vadot "iface", 896*aa1a8ff2SEmmanuel Vadot "bus", 897*aa1a8ff2SEmmanuel Vadot "byte", 898*aa1a8ff2SEmmanuel Vadot "pixel", 899*aa1a8ff2SEmmanuel Vadot "core", 900*aa1a8ff2SEmmanuel Vadot "core_mmss"; 901*aa1a8ff2SEmmanuel Vadot 902*aa1a8ff2SEmmanuel Vadot phys = <&mdss_dsi0_phy>; 903*aa1a8ff2SEmmanuel Vadot 904*aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 905*aa1a8ff2SEmmanuel Vadot #size-cells = <0>; 906*aa1a8ff2SEmmanuel Vadot 907*aa1a8ff2SEmmanuel Vadot ports { 908*aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 909*aa1a8ff2SEmmanuel Vadot #size-cells = <0>; 910*aa1a8ff2SEmmanuel Vadot 911*aa1a8ff2SEmmanuel Vadot port@0 { 912*aa1a8ff2SEmmanuel Vadot reg = <0>; 913*aa1a8ff2SEmmanuel Vadot mdss_dsi0_in: endpoint { 914*aa1a8ff2SEmmanuel Vadot remote-endpoint = <&mdss_mdp_intf1_out>; 915*aa1a8ff2SEmmanuel Vadot }; 916*aa1a8ff2SEmmanuel Vadot }; 917*aa1a8ff2SEmmanuel Vadot 918*aa1a8ff2SEmmanuel Vadot port@1 { 919*aa1a8ff2SEmmanuel Vadot reg = <1>; 920*aa1a8ff2SEmmanuel Vadot mdss_dsi0_out: endpoint { 921*aa1a8ff2SEmmanuel Vadot }; 922*aa1a8ff2SEmmanuel Vadot }; 923*aa1a8ff2SEmmanuel Vadot }; 924*aa1a8ff2SEmmanuel Vadot }; 925*aa1a8ff2SEmmanuel Vadot 926*aa1a8ff2SEmmanuel Vadot mdss_dsi0_phy: phy@fd922a00 { 927*aa1a8ff2SEmmanuel Vadot compatible = "qcom,dsi-phy-28nm-8226"; 928*aa1a8ff2SEmmanuel Vadot reg = <0xfd922a00 0xd4>, 929*aa1a8ff2SEmmanuel Vadot <0xfd922b00 0x280>, 930*aa1a8ff2SEmmanuel Vadot <0xfd922d80 0x30>; 931*aa1a8ff2SEmmanuel Vadot reg-names = "dsi_pll", 932*aa1a8ff2SEmmanuel Vadot "dsi_phy", 933*aa1a8ff2SEmmanuel Vadot "dsi_phy_regulator"; 934*aa1a8ff2SEmmanuel Vadot 935*aa1a8ff2SEmmanuel Vadot #clock-cells = <1>; 936*aa1a8ff2SEmmanuel Vadot #phy-cells = <0>; 937*aa1a8ff2SEmmanuel Vadot 938*aa1a8ff2SEmmanuel Vadot clocks = <&mmcc MDSS_AHB_CLK>, 939*aa1a8ff2SEmmanuel Vadot <&rpmcc RPM_SMD_XO_CLK_SRC>; 940*aa1a8ff2SEmmanuel Vadot clock-names = "iface", 941*aa1a8ff2SEmmanuel Vadot "ref"; 942*aa1a8ff2SEmmanuel Vadot }; 943*aa1a8ff2SEmmanuel Vadot }; 944f126890aSEmmanuel Vadot }; 945f126890aSEmmanuel Vadot 946f126890aSEmmanuel Vadot thermal-zones { 947f126890aSEmmanuel Vadot cpu0-thermal { 948f126890aSEmmanuel Vadot polling-delay-passive = <250>; 949f126890aSEmmanuel Vadot polling-delay = <1000>; 950f126890aSEmmanuel Vadot 951f126890aSEmmanuel Vadot thermal-sensors = <&tsens 5>; 952f126890aSEmmanuel Vadot 953f126890aSEmmanuel Vadot trips { 954f126890aSEmmanuel Vadot cpu_alert0: trip0 { 955f126890aSEmmanuel Vadot temperature = <75000>; 956f126890aSEmmanuel Vadot hysteresis = <2000>; 957f126890aSEmmanuel Vadot type = "passive"; 958f126890aSEmmanuel Vadot }; 959f126890aSEmmanuel Vadot 960f126890aSEmmanuel Vadot cpu_crit0: trip1 { 961f126890aSEmmanuel Vadot temperature = <110000>; 962f126890aSEmmanuel Vadot hysteresis = <2000>; 963f126890aSEmmanuel Vadot type = "critical"; 964f126890aSEmmanuel Vadot }; 965f126890aSEmmanuel Vadot }; 966f126890aSEmmanuel Vadot }; 967f126890aSEmmanuel Vadot 968f126890aSEmmanuel Vadot cpu1-thermal { 969f126890aSEmmanuel Vadot polling-delay-passive = <250>; 970f126890aSEmmanuel Vadot polling-delay = <1000>; 971f126890aSEmmanuel Vadot 972f126890aSEmmanuel Vadot thermal-sensors = <&tsens 2>; 973f126890aSEmmanuel Vadot 974f126890aSEmmanuel Vadot trips { 975f126890aSEmmanuel Vadot cpu_alert1: trip0 { 976f126890aSEmmanuel Vadot temperature = <75000>; 977f126890aSEmmanuel Vadot hysteresis = <2000>; 978f126890aSEmmanuel Vadot type = "passive"; 979f126890aSEmmanuel Vadot }; 980f126890aSEmmanuel Vadot 981f126890aSEmmanuel Vadot cpu_crit1: trip1 { 982f126890aSEmmanuel Vadot temperature = <110000>; 983f126890aSEmmanuel Vadot hysteresis = <2000>; 984f126890aSEmmanuel Vadot type = "critical"; 985f126890aSEmmanuel Vadot }; 986f126890aSEmmanuel Vadot }; 987f126890aSEmmanuel Vadot }; 988f126890aSEmmanuel Vadot }; 989f126890aSEmmanuel Vadot 990f126890aSEmmanuel Vadot timer { 991f126890aSEmmanuel Vadot compatible = "arm,armv7-timer"; 992f126890aSEmmanuel Vadot interrupts = <GIC_PPI 2 993f126890aSEmmanuel Vadot (GIC_CPU_MASK_RAW(15) | IRQ_TYPE_LEVEL_LOW)>, 994f126890aSEmmanuel Vadot <GIC_PPI 3 995f126890aSEmmanuel Vadot (GIC_CPU_MASK_RAW(15) | IRQ_TYPE_LEVEL_LOW)>, 996f126890aSEmmanuel Vadot <GIC_PPI 4 997f126890aSEmmanuel Vadot (GIC_CPU_MASK_RAW(15) | IRQ_TYPE_LEVEL_LOW)>, 998f126890aSEmmanuel Vadot <GIC_PPI 1 999f126890aSEmmanuel Vadot (GIC_CPU_MASK_RAW(15) | IRQ_TYPE_LEVEL_LOW)>; 1000f126890aSEmmanuel Vadot }; 1001f126890aSEmmanuel Vadot}; 1002