1fac71e4eSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0 OR MIT) 2fac71e4eSEmmanuel Vadot/* 3fac71e4eSEmmanuel Vadot * Unisoc UMS512 SoC DTS file 4fac71e4eSEmmanuel Vadot * 5fac71e4eSEmmanuel Vadot * Copyright (C) 2021, Unisoc Inc. 6fac71e4eSEmmanuel Vadot */ 7fac71e4eSEmmanuel Vadot 8fac71e4eSEmmanuel Vadot#include <dt-bindings/clock/sprd,ums512-clk.h> 9fac71e4eSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 10fac71e4eSEmmanuel Vadot 11fac71e4eSEmmanuel Vadot/ { 12fac71e4eSEmmanuel Vadot interrupt-parent = <&gic>; 13fac71e4eSEmmanuel Vadot #address-cells = <2>; 14fac71e4eSEmmanuel Vadot #size-cells = <2>; 15fac71e4eSEmmanuel Vadot 16fac71e4eSEmmanuel Vadot cpus { 17fac71e4eSEmmanuel Vadot #address-cells = <2>; 18fac71e4eSEmmanuel Vadot #size-cells = <0>; 19fac71e4eSEmmanuel Vadot 20fac71e4eSEmmanuel Vadot cpu-map { 21fac71e4eSEmmanuel Vadot cluster0 { 22fac71e4eSEmmanuel Vadot core0 { 23fac71e4eSEmmanuel Vadot cpu = <&CPU0>; 24fac71e4eSEmmanuel Vadot }; 25fac71e4eSEmmanuel Vadot core1 { 26fac71e4eSEmmanuel Vadot cpu = <&CPU1>; 27fac71e4eSEmmanuel Vadot }; 28fac71e4eSEmmanuel Vadot core2 { 29fac71e4eSEmmanuel Vadot cpu = <&CPU2>; 30fac71e4eSEmmanuel Vadot }; 31fac71e4eSEmmanuel Vadot core3 { 32fac71e4eSEmmanuel Vadot cpu = <&CPU3>; 33fac71e4eSEmmanuel Vadot }; 34fac71e4eSEmmanuel Vadot core4 { 35fac71e4eSEmmanuel Vadot cpu = <&CPU4>; 36fac71e4eSEmmanuel Vadot }; 37fac71e4eSEmmanuel Vadot core5 { 38fac71e4eSEmmanuel Vadot cpu = <&CPU5>; 39fac71e4eSEmmanuel Vadot }; 40fac71e4eSEmmanuel Vadot core6 { 41fac71e4eSEmmanuel Vadot cpu = <&CPU6>; 42fac71e4eSEmmanuel Vadot }; 43fac71e4eSEmmanuel Vadot core7 { 44fac71e4eSEmmanuel Vadot cpu = <&CPU7>; 45fac71e4eSEmmanuel Vadot }; 46fac71e4eSEmmanuel Vadot }; 47fac71e4eSEmmanuel Vadot }; 48fac71e4eSEmmanuel Vadot 49fac71e4eSEmmanuel Vadot CPU0: cpu@0 { 50fac71e4eSEmmanuel Vadot device_type = "cpu"; 51fac71e4eSEmmanuel Vadot compatible = "arm,cortex-a55"; 52fac71e4eSEmmanuel Vadot reg = <0x0 0x0>; 53fac71e4eSEmmanuel Vadot enable-method = "psci"; 54fac71e4eSEmmanuel Vadot cpu-idle-states = <&CORE_PD>; 55fac71e4eSEmmanuel Vadot }; 56fac71e4eSEmmanuel Vadot 57fac71e4eSEmmanuel Vadot CPU1: cpu@100 { 58fac71e4eSEmmanuel Vadot device_type = "cpu"; 59fac71e4eSEmmanuel Vadot compatible = "arm,cortex-a55"; 60fac71e4eSEmmanuel Vadot reg = <0x0 0x100>; 61fac71e4eSEmmanuel Vadot enable-method = "psci"; 62fac71e4eSEmmanuel Vadot cpu-idle-states = <&CORE_PD>; 63fac71e4eSEmmanuel Vadot }; 64fac71e4eSEmmanuel Vadot 65fac71e4eSEmmanuel Vadot CPU2: cpu@200 { 66fac71e4eSEmmanuel Vadot device_type = "cpu"; 67fac71e4eSEmmanuel Vadot compatible = "arm,cortex-a55"; 68fac71e4eSEmmanuel Vadot reg = <0x0 0x200>; 69fac71e4eSEmmanuel Vadot enable-method = "psci"; 70fac71e4eSEmmanuel Vadot cpu-idle-states = <&CORE_PD>; 71fac71e4eSEmmanuel Vadot }; 72fac71e4eSEmmanuel Vadot 73fac71e4eSEmmanuel Vadot CPU3: cpu@300 { 74fac71e4eSEmmanuel Vadot device_type = "cpu"; 75fac71e4eSEmmanuel Vadot compatible = "arm,cortex-a55"; 76fac71e4eSEmmanuel Vadot reg = <0x0 0x300>; 77fac71e4eSEmmanuel Vadot enable-method = "psci"; 78fac71e4eSEmmanuel Vadot cpu-idle-states = <&CORE_PD>; 79fac71e4eSEmmanuel Vadot }; 80fac71e4eSEmmanuel Vadot 81fac71e4eSEmmanuel Vadot CPU4: cpu@400 { 82fac71e4eSEmmanuel Vadot device_type = "cpu"; 83fac71e4eSEmmanuel Vadot compatible = "arm,cortex-a55"; 84fac71e4eSEmmanuel Vadot reg = <0x0 0x400>; 85fac71e4eSEmmanuel Vadot enable-method = "psci"; 86fac71e4eSEmmanuel Vadot cpu-idle-states = <&CORE_PD>; 87fac71e4eSEmmanuel Vadot }; 88fac71e4eSEmmanuel Vadot 89fac71e4eSEmmanuel Vadot CPU5: cpu@500 { 90fac71e4eSEmmanuel Vadot device_type = "cpu"; 91fac71e4eSEmmanuel Vadot compatible = "arm,cortex-a55"; 92fac71e4eSEmmanuel Vadot reg = <0x0 0x500>; 93fac71e4eSEmmanuel Vadot enable-method = "psci"; 94fac71e4eSEmmanuel Vadot cpu-idle-states = <&CORE_PD>; 95fac71e4eSEmmanuel Vadot }; 96fac71e4eSEmmanuel Vadot 97fac71e4eSEmmanuel Vadot CPU6: cpu@600 { 98fac71e4eSEmmanuel Vadot device_type = "cpu"; 998d13bc63SEmmanuel Vadot compatible = "arm,cortex-a75"; 100fac71e4eSEmmanuel Vadot reg = <0x0 0x600>; 101fac71e4eSEmmanuel Vadot enable-method = "psci"; 102fac71e4eSEmmanuel Vadot cpu-idle-states = <&CORE_PD>; 103fac71e4eSEmmanuel Vadot }; 104fac71e4eSEmmanuel Vadot 105fac71e4eSEmmanuel Vadot CPU7: cpu@700 { 106fac71e4eSEmmanuel Vadot device_type = "cpu"; 1078d13bc63SEmmanuel Vadot compatible = "arm,cortex-a75"; 108fac71e4eSEmmanuel Vadot reg = <0x0 0x700>; 109fac71e4eSEmmanuel Vadot enable-method = "psci"; 110fac71e4eSEmmanuel Vadot cpu-idle-states = <&CORE_PD>; 111fac71e4eSEmmanuel Vadot }; 112fac71e4eSEmmanuel Vadot }; 113fac71e4eSEmmanuel Vadot 114fac71e4eSEmmanuel Vadot idle-states { 115fac71e4eSEmmanuel Vadot entry-method = "psci"; 1168d13bc63SEmmanuel Vadot CORE_PD: cpu-pd { 117fac71e4eSEmmanuel Vadot compatible = "arm,idle-state"; 118fac71e4eSEmmanuel Vadot entry-latency-us = <4000>; 119fac71e4eSEmmanuel Vadot exit-latency-us = <4000>; 120fac71e4eSEmmanuel Vadot min-residency-us = <10000>; 121fac71e4eSEmmanuel Vadot local-timer-stop; 122fac71e4eSEmmanuel Vadot arm,psci-suspend-param = <0x00010000>; 123fac71e4eSEmmanuel Vadot }; 124fac71e4eSEmmanuel Vadot }; 125fac71e4eSEmmanuel Vadot 126fac71e4eSEmmanuel Vadot psci { 127fac71e4eSEmmanuel Vadot compatible = "arm,psci-0.2"; 128fac71e4eSEmmanuel Vadot method = "smc"; 129fac71e4eSEmmanuel Vadot }; 130fac71e4eSEmmanuel Vadot 131fac71e4eSEmmanuel Vadot timer { 132fac71e4eSEmmanuel Vadot compatible = "arm,armv8-timer"; 133fac71e4eSEmmanuel Vadot interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>, /* Physical Secure PPI */ 134fac71e4eSEmmanuel Vadot <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH>, /* Physical Non-Secure PPI */ 135fac71e4eSEmmanuel Vadot <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>, /* Virtual PPI */ 136fac71e4eSEmmanuel Vadot <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH>; /* Hipervisor PPI */ 137fac71e4eSEmmanuel Vadot }; 138fac71e4eSEmmanuel Vadot 1390e8011faSEmmanuel Vadot pmu-a55 { 1400e8011faSEmmanuel Vadot compatible = "arm,cortex-a55-pmu"; 141fac71e4eSEmmanuel Vadot interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>, 142fac71e4eSEmmanuel Vadot <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>, 143fac71e4eSEmmanuel Vadot <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>, 144fac71e4eSEmmanuel Vadot <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>, 145fac71e4eSEmmanuel Vadot <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>, 1460e8011faSEmmanuel Vadot <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>; 1470e8011faSEmmanuel Vadot interrupt-affinity = <&CPU0>, <&CPU1>, <&CPU2>, <&CPU3>, <&CPU4>, <&CPU5>; 1480e8011faSEmmanuel Vadot }; 1490e8011faSEmmanuel Vadot 1500e8011faSEmmanuel Vadot pmu-a75 { 1510e8011faSEmmanuel Vadot compatible = "arm,cortex-a75-pmu"; 1520e8011faSEmmanuel Vadot interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, 153fac71e4eSEmmanuel Vadot <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; 1540e8011faSEmmanuel Vadot interrupt-affinity = <&CPU6>, <&CPU7>; 155fac71e4eSEmmanuel Vadot }; 156fac71e4eSEmmanuel Vadot 157fac71e4eSEmmanuel Vadot soc: soc { 158fac71e4eSEmmanuel Vadot compatible = "simple-bus"; 159fac71e4eSEmmanuel Vadot #address-cells = <2>; 160fac71e4eSEmmanuel Vadot #size-cells = <2>; 161fac71e4eSEmmanuel Vadot ranges; 162fac71e4eSEmmanuel Vadot 163fac71e4eSEmmanuel Vadot gic: interrupt-controller@12000000 { 164fac71e4eSEmmanuel Vadot compatible = "arm,gic-v3"; 165fac71e4eSEmmanuel Vadot reg = <0x0 0x12000000 0 0x20000>, /* GICD */ 166fac71e4eSEmmanuel Vadot <0x0 0x12040000 0 0x100000>; /* GICR */ 167fac71e4eSEmmanuel Vadot #interrupt-cells = <3>; 168fac71e4eSEmmanuel Vadot #address-cells = <2>; 169fac71e4eSEmmanuel Vadot #size-cells = <2>; 170fac71e4eSEmmanuel Vadot ranges; 171fac71e4eSEmmanuel Vadot redistributor-stride = <0x0 0x20000>; /* 128KB stride */ 172fac71e4eSEmmanuel Vadot #redistributor-regions = <1>; 173fac71e4eSEmmanuel Vadot interrupt-controller; 174fac71e4eSEmmanuel Vadot interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 175fac71e4eSEmmanuel Vadot }; 176fac71e4eSEmmanuel Vadot 177fac71e4eSEmmanuel Vadot ap_ahb_regs: syscon@20100000 { 178fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-glbregs", "syscon", 179fac71e4eSEmmanuel Vadot "simple-mfd"; 180fac71e4eSEmmanuel Vadot reg = <0 0x20100000 0 0x4000>; 181fac71e4eSEmmanuel Vadot #address-cells = <1>; 182fac71e4eSEmmanuel Vadot #size-cells = <1>; 183fac71e4eSEmmanuel Vadot ranges = <0 0 0x20100000 0x4000>; 184fac71e4eSEmmanuel Vadot 185fac71e4eSEmmanuel Vadot apahb_gate: clock-controller@0 { 186fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-apahb-gate"; 187fac71e4eSEmmanuel Vadot reg = <0x0 0x3000>; 188fac71e4eSEmmanuel Vadot clocks = <&ext_26m>; 189fac71e4eSEmmanuel Vadot clock-names = "ext-26m"; 190fac71e4eSEmmanuel Vadot #clock-cells = <1>; 191fac71e4eSEmmanuel Vadot }; 192fac71e4eSEmmanuel Vadot }; 193fac71e4eSEmmanuel Vadot 194fac71e4eSEmmanuel Vadot pub_apb_regs: syscon@31050000 { 195fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-glbregs", "syscon", 196fac71e4eSEmmanuel Vadot "simple-mfd"; 197fac71e4eSEmmanuel Vadot reg = <0 0x31050000 0 0x9000>; 198fac71e4eSEmmanuel Vadot }; 199fac71e4eSEmmanuel Vadot 200fac71e4eSEmmanuel Vadot top_dvfs_apb_regs: syscon@322a0000 { 201fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-glbregs", "syscon", 202fac71e4eSEmmanuel Vadot "simple-mfd"; 203fac71e4eSEmmanuel Vadot reg = <0 0x322a0000 0 0x8000>; 204fac71e4eSEmmanuel Vadot }; 205fac71e4eSEmmanuel Vadot 206fac71e4eSEmmanuel Vadot ap_intc0_regs: syscon@32310000 { 207fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-glbregs", "syscon", 208fac71e4eSEmmanuel Vadot "simple-mfd"; 209fac71e4eSEmmanuel Vadot reg = <0 0x32310000 0 0x1000>; 210fac71e4eSEmmanuel Vadot }; 211fac71e4eSEmmanuel Vadot 212fac71e4eSEmmanuel Vadot ap_intc1_regs: syscon@32320000 { 213fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-glbregs", "syscon", 214fac71e4eSEmmanuel Vadot "simple-mfd"; 215fac71e4eSEmmanuel Vadot reg = <0 0x32320000 0 0x1000>; 216fac71e4eSEmmanuel Vadot }; 217fac71e4eSEmmanuel Vadot 218fac71e4eSEmmanuel Vadot ap_intc2_regs: syscon@32330000 { 219fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-glbregs", "syscon", 220fac71e4eSEmmanuel Vadot "simple-mfd"; 221fac71e4eSEmmanuel Vadot reg = <0 0x32330000 0 0x1000>; 222fac71e4eSEmmanuel Vadot }; 223fac71e4eSEmmanuel Vadot 224fac71e4eSEmmanuel Vadot ap_intc3_regs: syscon@32340000 { 225fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-glbregs", "syscon", 226fac71e4eSEmmanuel Vadot "simple-mfd"; 227fac71e4eSEmmanuel Vadot reg = <0 0x32340000 0 0x1000>; 228fac71e4eSEmmanuel Vadot }; 229fac71e4eSEmmanuel Vadot 230fac71e4eSEmmanuel Vadot ap_intc4_regs: syscon@32350000 { 231fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-glbregs", "syscon", 232fac71e4eSEmmanuel Vadot "simple-mfd"; 233fac71e4eSEmmanuel Vadot reg = <0 0x32350000 0 0x1000>; 234fac71e4eSEmmanuel Vadot }; 235fac71e4eSEmmanuel Vadot 236fac71e4eSEmmanuel Vadot ap_intc5_regs: syscon@32360000 { 237fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-glbregs", "syscon", 238fac71e4eSEmmanuel Vadot "simple-mfd"; 239fac71e4eSEmmanuel Vadot reg = <0 0x32360000 0 0x1000>; 240fac71e4eSEmmanuel Vadot }; 241fac71e4eSEmmanuel Vadot 242fac71e4eSEmmanuel Vadot anlg_phy_g0_regs: syscon@32390000 { 243fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-glbregs", "syscon", 244fac71e4eSEmmanuel Vadot "simple-mfd"; 245fac71e4eSEmmanuel Vadot reg = <0 0x32390000 0 0x3000>; 246fac71e4eSEmmanuel Vadot #address-cells = <1>; 247fac71e4eSEmmanuel Vadot #size-cells = <1>; 248fac71e4eSEmmanuel Vadot ranges = <0 0 0x32390000 0x3000>; 249fac71e4eSEmmanuel Vadot 250fac71e4eSEmmanuel Vadot dpll0: clock-controller@0 { 251fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-g0-pll"; 252fac71e4eSEmmanuel Vadot reg = <0x0 0x100>; 253fac71e4eSEmmanuel Vadot #clock-cells = <1>; 254fac71e4eSEmmanuel Vadot }; 255fac71e4eSEmmanuel Vadot }; 256fac71e4eSEmmanuel Vadot 257fac71e4eSEmmanuel Vadot anlg_phy_g2_regs: syscon@323b0000 { 258fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-glbregs", "syscon", 259fac71e4eSEmmanuel Vadot "simple-mfd"; 260fac71e4eSEmmanuel Vadot reg = <0 0x323b0000 0 0x3000>; 261fac71e4eSEmmanuel Vadot #address-cells = <1>; 262fac71e4eSEmmanuel Vadot #size-cells = <1>; 263fac71e4eSEmmanuel Vadot ranges = <0 0 0x323b0000 0x3000>; 264fac71e4eSEmmanuel Vadot 265fac71e4eSEmmanuel Vadot mpll1: clock-controller@0 { 266fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-g2-pll"; 267fac71e4eSEmmanuel Vadot reg = <0x0 0x100>; 268fac71e4eSEmmanuel Vadot #clock-cells = <1>; 269fac71e4eSEmmanuel Vadot }; 270fac71e4eSEmmanuel Vadot }; 271fac71e4eSEmmanuel Vadot 272fac71e4eSEmmanuel Vadot anlg_phy_g3_regs: syscon@323c0000 { 273fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-glbregs", "syscon", 274fac71e4eSEmmanuel Vadot "simple-mfd"; 275fac71e4eSEmmanuel Vadot reg = <0 0x323c0000 0 0x3000>; 276fac71e4eSEmmanuel Vadot #address-cells = <1>; 277fac71e4eSEmmanuel Vadot #size-cells = <1>; 278fac71e4eSEmmanuel Vadot ranges = <0 0 0x323c0000 0x3000>; 279fac71e4eSEmmanuel Vadot 280fac71e4eSEmmanuel Vadot pll1: clock-controller@0 { 281fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-g3-pll"; 282fac71e4eSEmmanuel Vadot reg = <0x0 0x3000>; 283fac71e4eSEmmanuel Vadot clocks = <&ext_26m>; 284fac71e4eSEmmanuel Vadot clock-names = "ext-26m"; 285fac71e4eSEmmanuel Vadot #clock-cells = <1>; 286fac71e4eSEmmanuel Vadot }; 287fac71e4eSEmmanuel Vadot }; 288fac71e4eSEmmanuel Vadot 289fac71e4eSEmmanuel Vadot anlg_phy_gc_regs: syscon@323e0000 { 290fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-glbregs", "syscon", 291fac71e4eSEmmanuel Vadot "simple-mfd"; 292fac71e4eSEmmanuel Vadot reg = <0 0x323e0000 0 0x3000>; 293fac71e4eSEmmanuel Vadot #address-cells = <1>; 294fac71e4eSEmmanuel Vadot #size-cells = <1>; 295fac71e4eSEmmanuel Vadot ranges = <0 0 0x323e0000 0x3000>; 296fac71e4eSEmmanuel Vadot 297fac71e4eSEmmanuel Vadot pll2: clock-controller@0 { 298fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-gc-pll"; 299fac71e4eSEmmanuel Vadot reg = <0x0 0x100>; 3008d13bc63SEmmanuel Vadot clocks = <&ext_26m>; 301fac71e4eSEmmanuel Vadot clock-names = "ext-26m"; 302fac71e4eSEmmanuel Vadot #clock-cells = <1>; 303fac71e4eSEmmanuel Vadot }; 304fac71e4eSEmmanuel Vadot }; 305fac71e4eSEmmanuel Vadot 306fac71e4eSEmmanuel Vadot anlg_phy_g10_regs: syscon@323f0000 { 307fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-glbregs", "syscon", 308fac71e4eSEmmanuel Vadot "simple-mfd"; 309fac71e4eSEmmanuel Vadot reg = <0 0x323f0000 0 0x3000>; 310fac71e4eSEmmanuel Vadot }; 311fac71e4eSEmmanuel Vadot 312fac71e4eSEmmanuel Vadot aon_apb_regs: syscon@327d0000 { 313fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-glbregs", "syscon", 314fac71e4eSEmmanuel Vadot "simple-mfd"; 315fac71e4eSEmmanuel Vadot reg = <0 0x327d0000 0 0x3000>; 316fac71e4eSEmmanuel Vadot #address-cells = <1>; 317fac71e4eSEmmanuel Vadot #size-cells = <1>; 318fac71e4eSEmmanuel Vadot ranges = <0 0 0x327d0000 0x3000>; 319fac71e4eSEmmanuel Vadot 320fac71e4eSEmmanuel Vadot aonapb_gate: clock-controller@0 { 321fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-aon-gate"; 322fac71e4eSEmmanuel Vadot reg = <0x0 0x3000>; 323fac71e4eSEmmanuel Vadot clocks = <&ext_26m>; 324fac71e4eSEmmanuel Vadot clock-names = "ext-26m"; 325fac71e4eSEmmanuel Vadot #clock-cells = <1>; 326fac71e4eSEmmanuel Vadot }; 327fac71e4eSEmmanuel Vadot }; 328fac71e4eSEmmanuel Vadot 329fac71e4eSEmmanuel Vadot pmu_apb_regs: syscon@327e0000 { 330fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-glbregs", "syscon", 331fac71e4eSEmmanuel Vadot "simple-mfd"; 332fac71e4eSEmmanuel Vadot reg = <0 0x327e0000 0 0x3000>; 333fac71e4eSEmmanuel Vadot #address-cells = <1>; 334fac71e4eSEmmanuel Vadot #size-cells = <1>; 335fac71e4eSEmmanuel Vadot ranges = <0 0 0x327e0000 0x3000>; 336fac71e4eSEmmanuel Vadot 337fac71e4eSEmmanuel Vadot pmu_gate: clock-controller@0 { 338fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-pmu-gate"; 339fac71e4eSEmmanuel Vadot reg = <0x0 0x3000>; 340fac71e4eSEmmanuel Vadot clocks = <&ext_26m>; 341fac71e4eSEmmanuel Vadot clock-names = "ext-26m"; 342fac71e4eSEmmanuel Vadot #clock-cells = <1>; 343fac71e4eSEmmanuel Vadot }; 344fac71e4eSEmmanuel Vadot }; 345fac71e4eSEmmanuel Vadot 346fac71e4eSEmmanuel Vadot audcp_apb_regs: syscon@3350d000 { 347fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-glbregs", "syscon", 348fac71e4eSEmmanuel Vadot "simple-mfd"; 349fac71e4eSEmmanuel Vadot reg = <0 0x3350d000 0 0x1000>; 350fac71e4eSEmmanuel Vadot #address-cells = <1>; 351fac71e4eSEmmanuel Vadot #size-cells = <1>; 352fac71e4eSEmmanuel Vadot ranges = <0 0 0x3350d000 0x1000>; 353fac71e4eSEmmanuel Vadot 354fac71e4eSEmmanuel Vadot audcpapb_gate: clock-controller@0 { 355fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-audcpapb-gate"; 356fac71e4eSEmmanuel Vadot reg = <0x0 0x300>; 357fac71e4eSEmmanuel Vadot #clock-cells = <1>; 358fac71e4eSEmmanuel Vadot }; 359fac71e4eSEmmanuel Vadot }; 360fac71e4eSEmmanuel Vadot 361fac71e4eSEmmanuel Vadot audcp_ahb_regs: syscon@335e0000 { 362fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-glbregs", "syscon", 363fac71e4eSEmmanuel Vadot "simple-mfd"; 364fac71e4eSEmmanuel Vadot reg = <0 0x335e0000 0 0x1000>; 365fac71e4eSEmmanuel Vadot #address-cells = <1>; 366fac71e4eSEmmanuel Vadot #size-cells = <1>; 367fac71e4eSEmmanuel Vadot ranges = <0 0 0x335e0000 0x1000>; 368fac71e4eSEmmanuel Vadot 369fac71e4eSEmmanuel Vadot audcpahb_gate: clock-controller@0 { 370fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-audcpahb-gate"; 371fac71e4eSEmmanuel Vadot reg = <0x0 0x300>; 372fac71e4eSEmmanuel Vadot #clock-cells = <1>; 373fac71e4eSEmmanuel Vadot }; 374fac71e4eSEmmanuel Vadot }; 375fac71e4eSEmmanuel Vadot 376fac71e4eSEmmanuel Vadot gpu_apb_regs: syscon@60100000 { 377fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-glbregs", "syscon", 378fac71e4eSEmmanuel Vadot "simple-mfd"; 379fac71e4eSEmmanuel Vadot reg = <0 0x60100000 0 0x3000>; 380fac71e4eSEmmanuel Vadot #address-cells = <1>; 381fac71e4eSEmmanuel Vadot #size-cells = <1>; 382fac71e4eSEmmanuel Vadot ranges = <0 0 0x60100000 0x3000>; 383fac71e4eSEmmanuel Vadot 384fac71e4eSEmmanuel Vadot gpu_clk: clock-controller@0 { 385fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-gpu-clk"; 386fac71e4eSEmmanuel Vadot clocks = <&ext_26m>; 387fac71e4eSEmmanuel Vadot clock-names = "ext-26m"; 388fac71e4eSEmmanuel Vadot reg = <0x0 0x100>; 389fac71e4eSEmmanuel Vadot #clock-cells = <1>; 390fac71e4eSEmmanuel Vadot }; 391fac71e4eSEmmanuel Vadot }; 392fac71e4eSEmmanuel Vadot 393fac71e4eSEmmanuel Vadot gpu_dvfs_apb_regs: syscon@60110000 { 394fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-glbregs", "syscon", 395fac71e4eSEmmanuel Vadot "simple-mfd"; 396fac71e4eSEmmanuel Vadot reg = <0 0x60110000 0 0x3000>; 397fac71e4eSEmmanuel Vadot }; 398fac71e4eSEmmanuel Vadot 399fac71e4eSEmmanuel Vadot mm_ahb_regs: syscon@62200000 { 400fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-glbregs", "syscon", 401fac71e4eSEmmanuel Vadot "simple-mfd"; 402fac71e4eSEmmanuel Vadot reg = <0 0x62200000 0 0x3000>; 403fac71e4eSEmmanuel Vadot #address-cells = <1>; 404fac71e4eSEmmanuel Vadot #size-cells = <1>; 405fac71e4eSEmmanuel Vadot ranges = <0 0 0x62200000 0x3000>; 406fac71e4eSEmmanuel Vadot 407fac71e4eSEmmanuel Vadot mm_gate: clock-controller@0 { 408fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-mm-gate-clk"; 409fac71e4eSEmmanuel Vadot reg = <0x0 0x3000>; 410fac71e4eSEmmanuel Vadot #clock-cells = <1>; 411fac71e4eSEmmanuel Vadot }; 412fac71e4eSEmmanuel Vadot }; 413fac71e4eSEmmanuel Vadot 414fac71e4eSEmmanuel Vadot ap_apb_regs: syscon@71000000 { 415fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-glbregs", "syscon", 416fac71e4eSEmmanuel Vadot "simple-mfd"; 417fac71e4eSEmmanuel Vadot reg = <0 0x71000000 0 0x3000>; 418fac71e4eSEmmanuel Vadot #address-cells = <1>; 419fac71e4eSEmmanuel Vadot #size-cells = <1>; 420fac71e4eSEmmanuel Vadot ranges = <0 0 0x71000000 0x3000>; 421fac71e4eSEmmanuel Vadot 422fac71e4eSEmmanuel Vadot apapb_gate: clock-controller@0 { 423fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-apapb-gate"; 424fac71e4eSEmmanuel Vadot reg = <0x0 0x3000>; 425fac71e4eSEmmanuel Vadot #clock-cells = <1>; 426fac71e4eSEmmanuel Vadot }; 427fac71e4eSEmmanuel Vadot }; 428fac71e4eSEmmanuel Vadot 429fac71e4eSEmmanuel Vadot ap_clk: clock-controller@20200000 { 430fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-ap-clk"; 431fac71e4eSEmmanuel Vadot reg = <0 0x20200000 0 0x1000>; 432fac71e4eSEmmanuel Vadot clocks = <&ext_26m>; 433fac71e4eSEmmanuel Vadot clock-names = "ext-26m"; 434fac71e4eSEmmanuel Vadot #clock-cells = <1>; 435fac71e4eSEmmanuel Vadot }; 436fac71e4eSEmmanuel Vadot 437fac71e4eSEmmanuel Vadot aon_clk: clock-controller@32080000 { 438fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-aonapb-clk"; 439fac71e4eSEmmanuel Vadot reg = <0 0x32080000 0 0x1000>; 440fac71e4eSEmmanuel Vadot clocks = <&ext_26m>, <&ext_32k>, 441fac71e4eSEmmanuel Vadot <&ext_4m>, <&rco_100m>; 442fac71e4eSEmmanuel Vadot clock-names = "ext-26m", "ext-32k", 443fac71e4eSEmmanuel Vadot "ext-4m", "rco-100m"; 444fac71e4eSEmmanuel Vadot #clock-cells = <1>; 445fac71e4eSEmmanuel Vadot }; 446fac71e4eSEmmanuel Vadot 447fac71e4eSEmmanuel Vadot mm_clk: clock-controller@62100000 { 448fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-mm-clk"; 449fac71e4eSEmmanuel Vadot reg = <0 0x62100000 0 0x1000>; 450fac71e4eSEmmanuel Vadot clocks = <&ext_26m>; 451fac71e4eSEmmanuel Vadot clock-names = "ext-26m"; 452fac71e4eSEmmanuel Vadot #clock-cells = <1>; 453fac71e4eSEmmanuel Vadot }; 454fac71e4eSEmmanuel Vadot 455fac71e4eSEmmanuel Vadot /* SoC Funnel */ 456fac71e4eSEmmanuel Vadot funnel@3c002000 { 457fac71e4eSEmmanuel Vadot compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 458fac71e4eSEmmanuel Vadot reg = <0 0x3c002000 0 0x1000>; 459fac71e4eSEmmanuel Vadot clocks = <&ext_26m>; 460fac71e4eSEmmanuel Vadot clock-names = "apb_pclk"; 461fac71e4eSEmmanuel Vadot 462fac71e4eSEmmanuel Vadot out-ports { 463fac71e4eSEmmanuel Vadot port { 464fac71e4eSEmmanuel Vadot funnel_soc_out_port: endpoint { 465fac71e4eSEmmanuel Vadot remote-endpoint = <&etb_in>; 466fac71e4eSEmmanuel Vadot }; 467fac71e4eSEmmanuel Vadot }; 468fac71e4eSEmmanuel Vadot }; 469fac71e4eSEmmanuel Vadot 470fac71e4eSEmmanuel Vadot in-ports { 471fac71e4eSEmmanuel Vadot #address-cells = <1>; 472fac71e4eSEmmanuel Vadot #size-cells = <0>; 473fac71e4eSEmmanuel Vadot 474fac71e4eSEmmanuel Vadot port@1 { 475fac71e4eSEmmanuel Vadot reg = <1>; 476fac71e4eSEmmanuel Vadot funnel_soc_in_port: endpoint { 477fac71e4eSEmmanuel Vadot remote-endpoint = 478fac71e4eSEmmanuel Vadot <&funnel_corinth_out_port>; 479fac71e4eSEmmanuel Vadot }; 480fac71e4eSEmmanuel Vadot }; 481fac71e4eSEmmanuel Vadot }; 482fac71e4eSEmmanuel Vadot }; 483fac71e4eSEmmanuel Vadot 484fac71e4eSEmmanuel Vadot /* SoC ETF */ 485fac71e4eSEmmanuel Vadot soc_etb: etb@3c003000 { 486fac71e4eSEmmanuel Vadot compatible = "arm,coresight-tmc", "arm,primecell"; 487fac71e4eSEmmanuel Vadot reg = <0 0x3c003000 0 0x1000>; 488fac71e4eSEmmanuel Vadot clocks = <&ext_26m>; 489fac71e4eSEmmanuel Vadot clock-names = "apb_pclk"; 490fac71e4eSEmmanuel Vadot 491fac71e4eSEmmanuel Vadot in-ports { 492fac71e4eSEmmanuel Vadot port { 493fac71e4eSEmmanuel Vadot etb_in: endpoint { 494fac71e4eSEmmanuel Vadot remote-endpoint = 495fac71e4eSEmmanuel Vadot <&funnel_soc_out_port>; 496fac71e4eSEmmanuel Vadot }; 497fac71e4eSEmmanuel Vadot }; 498fac71e4eSEmmanuel Vadot }; 499fac71e4eSEmmanuel Vadot }; 500fac71e4eSEmmanuel Vadot 501fac71e4eSEmmanuel Vadot /* AP-CPU Funnel for core3/4/5/7 */ 502fac71e4eSEmmanuel Vadot funnel@3e001000 { 503fac71e4eSEmmanuel Vadot compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 504fac71e4eSEmmanuel Vadot reg = <0 0x3e001000 0 0x1000>; 505fac71e4eSEmmanuel Vadot clocks = <&ext_26m>; 506fac71e4eSEmmanuel Vadot clock-names = "apb_pclk"; 507fac71e4eSEmmanuel Vadot 508fac71e4eSEmmanuel Vadot out-ports { 509fac71e4eSEmmanuel Vadot port { 510fac71e4eSEmmanuel Vadot funnel_corinth_lit_out_port: endpoint { 511fac71e4eSEmmanuel Vadot remote-endpoint = 512fac71e4eSEmmanuel Vadot <&corinth_etf_lit_in>; 513fac71e4eSEmmanuel Vadot }; 514fac71e4eSEmmanuel Vadot }; 515fac71e4eSEmmanuel Vadot }; 516fac71e4eSEmmanuel Vadot 517fac71e4eSEmmanuel Vadot in-ports { 518fac71e4eSEmmanuel Vadot #address-cells = <1>; 519fac71e4eSEmmanuel Vadot #size-cells = <0>; 520fac71e4eSEmmanuel Vadot 521fac71e4eSEmmanuel Vadot port@0 { 522fac71e4eSEmmanuel Vadot reg = <0>; 523fac71e4eSEmmanuel Vadot funnel_core_in_port3: endpoint { 524fac71e4eSEmmanuel Vadot remote-endpoint = <&etm3_out>; 525fac71e4eSEmmanuel Vadot }; 526fac71e4eSEmmanuel Vadot }; 527fac71e4eSEmmanuel Vadot 528fac71e4eSEmmanuel Vadot port@1 { 529fac71e4eSEmmanuel Vadot reg = <1>; 530fac71e4eSEmmanuel Vadot funnel_core_in_port4: endpoint { 531fac71e4eSEmmanuel Vadot remote-endpoint = <&etm4_out>; 532fac71e4eSEmmanuel Vadot }; 533fac71e4eSEmmanuel Vadot }; 534fac71e4eSEmmanuel Vadot 535fac71e4eSEmmanuel Vadot port@2 { 536fac71e4eSEmmanuel Vadot reg = <2>; 537fac71e4eSEmmanuel Vadot funnel_core_in_port5: endpoint { 538fac71e4eSEmmanuel Vadot remote-endpoint = <&etm5_out>; 539fac71e4eSEmmanuel Vadot }; 540fac71e4eSEmmanuel Vadot }; 541fac71e4eSEmmanuel Vadot 542fac71e4eSEmmanuel Vadot port@3 { 543fac71e4eSEmmanuel Vadot reg = <3>; 544fac71e4eSEmmanuel Vadot funnel_core_in_port7: endpoint { 545fac71e4eSEmmanuel Vadot remote-endpoint = <&etm7_out>; 546fac71e4eSEmmanuel Vadot }; 547fac71e4eSEmmanuel Vadot }; 548fac71e4eSEmmanuel Vadot }; 549fac71e4eSEmmanuel Vadot }; 550fac71e4eSEmmanuel Vadot 551fac71e4eSEmmanuel Vadot /* AP-CPU ETF for little cores */ 552fac71e4eSEmmanuel Vadot etf@3e002000 { 553fac71e4eSEmmanuel Vadot compatible = "arm,coresight-tmc", "arm,primecell"; 554fac71e4eSEmmanuel Vadot reg = <0 0x3e002000 0 0x1000>; 555fac71e4eSEmmanuel Vadot clocks = <&ext_26m>; 556fac71e4eSEmmanuel Vadot clock-names = "apb_pclk"; 557fac71e4eSEmmanuel Vadot 558fac71e4eSEmmanuel Vadot out-ports { 559fac71e4eSEmmanuel Vadot port { 560fac71e4eSEmmanuel Vadot corinth_etf_lit_out: endpoint { 561fac71e4eSEmmanuel Vadot remote-endpoint = 562fac71e4eSEmmanuel Vadot <&funnel_corinth_from_lit_in_port>; 563fac71e4eSEmmanuel Vadot }; 564fac71e4eSEmmanuel Vadot }; 565fac71e4eSEmmanuel Vadot }; 566fac71e4eSEmmanuel Vadot 567fac71e4eSEmmanuel Vadot in-ports { 568fac71e4eSEmmanuel Vadot port { 569fac71e4eSEmmanuel Vadot corinth_etf_lit_in: endpoint { 570fac71e4eSEmmanuel Vadot remote-endpoint = 571fac71e4eSEmmanuel Vadot <&funnel_corinth_lit_out_port>; 572fac71e4eSEmmanuel Vadot }; 573fac71e4eSEmmanuel Vadot }; 574fac71e4eSEmmanuel Vadot }; 575fac71e4eSEmmanuel Vadot }; 576fac71e4eSEmmanuel Vadot 577fac71e4eSEmmanuel Vadot /* AP-CPU ETF for big cores */ 578fac71e4eSEmmanuel Vadot etf@3e003000 { 579fac71e4eSEmmanuel Vadot compatible = "arm,coresight-tmc", "arm,primecell"; 580fac71e4eSEmmanuel Vadot reg = <0 0x3e003000 0 0x1000>; 581fac71e4eSEmmanuel Vadot clocks = <&ext_26m>; 582fac71e4eSEmmanuel Vadot clock-names = "apb_pclk"; 583fac71e4eSEmmanuel Vadot 584fac71e4eSEmmanuel Vadot out-ports { 585fac71e4eSEmmanuel Vadot port { 586fac71e4eSEmmanuel Vadot corinth_etf_big_out: endpoint { 587fac71e4eSEmmanuel Vadot remote-endpoint = 588fac71e4eSEmmanuel Vadot <&funnel_corinth_from_big_in_port>; 589fac71e4eSEmmanuel Vadot }; 590fac71e4eSEmmanuel Vadot }; 591fac71e4eSEmmanuel Vadot }; 592fac71e4eSEmmanuel Vadot 593fac71e4eSEmmanuel Vadot in-ports { 594fac71e4eSEmmanuel Vadot port { 595fac71e4eSEmmanuel Vadot corinth_etf_big_in: endpoint { 596fac71e4eSEmmanuel Vadot remote-endpoint = 597fac71e4eSEmmanuel Vadot <&funnel_corinth_big_out_port>; 598fac71e4eSEmmanuel Vadot }; 599fac71e4eSEmmanuel Vadot }; 600fac71e4eSEmmanuel Vadot }; 601fac71e4eSEmmanuel Vadot }; 602fac71e4eSEmmanuel Vadot 603fac71e4eSEmmanuel Vadot /* Funnel to SoC */ 604fac71e4eSEmmanuel Vadot funnel@3e004000 { 605fac71e4eSEmmanuel Vadot compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 606fac71e4eSEmmanuel Vadot reg = <0 0x3e004000 0 0x1000>; 607fac71e4eSEmmanuel Vadot clocks = <&ext_26m>; 608fac71e4eSEmmanuel Vadot clock-names = "apb_pclk"; 609fac71e4eSEmmanuel Vadot 610fac71e4eSEmmanuel Vadot out-ports { 611fac71e4eSEmmanuel Vadot port { 612fac71e4eSEmmanuel Vadot funnel_corinth_out_port: endpoint { 613fac71e4eSEmmanuel Vadot remote-endpoint = 614fac71e4eSEmmanuel Vadot <&funnel_soc_in_port>; 615fac71e4eSEmmanuel Vadot }; 616fac71e4eSEmmanuel Vadot }; 617fac71e4eSEmmanuel Vadot }; 618fac71e4eSEmmanuel Vadot 619fac71e4eSEmmanuel Vadot in-ports { 620fac71e4eSEmmanuel Vadot #address-cells = <1>; 621fac71e4eSEmmanuel Vadot #size-cells = <0>; 622fac71e4eSEmmanuel Vadot 623fac71e4eSEmmanuel Vadot port@0 { 624fac71e4eSEmmanuel Vadot reg = <0>; 625fac71e4eSEmmanuel Vadot funnel_corinth_from_lit_in_port: endpoint { 626fac71e4eSEmmanuel Vadot remote-endpoint = <&corinth_etf_lit_out>; 627fac71e4eSEmmanuel Vadot }; 628fac71e4eSEmmanuel Vadot }; 629fac71e4eSEmmanuel Vadot 630fac71e4eSEmmanuel Vadot port@1 { 631fac71e4eSEmmanuel Vadot reg = <1>; 632fac71e4eSEmmanuel Vadot funnel_corinth_from_big_in_port: endpoint { 633fac71e4eSEmmanuel Vadot remote-endpoint = <&corinth_etf_big_out>; 634fac71e4eSEmmanuel Vadot }; 635fac71e4eSEmmanuel Vadot }; 636fac71e4eSEmmanuel Vadot }; 637fac71e4eSEmmanuel Vadot }; 638fac71e4eSEmmanuel Vadot 639fac71e4eSEmmanuel Vadot /* AP-CPU Funnel for core0/1/2/6 */ 640fac71e4eSEmmanuel Vadot funnel@3e005000 { 641fac71e4eSEmmanuel Vadot compatible = "arm,coresight-dynamic-funnel", "arm,primecell"; 642fac71e4eSEmmanuel Vadot reg = <0 0x3e005000 0 0x1000>; 643fac71e4eSEmmanuel Vadot clocks = <&ext_26m>; 644fac71e4eSEmmanuel Vadot clock-names = "apb_pclk"; 645fac71e4eSEmmanuel Vadot 646fac71e4eSEmmanuel Vadot out-ports { 647fac71e4eSEmmanuel Vadot port { 648fac71e4eSEmmanuel Vadot funnel_corinth_big_out_port: endpoint { 649fac71e4eSEmmanuel Vadot remote-endpoint = <&corinth_etf_big_in>; 650fac71e4eSEmmanuel Vadot }; 651fac71e4eSEmmanuel Vadot }; 652fac71e4eSEmmanuel Vadot }; 653fac71e4eSEmmanuel Vadot 654fac71e4eSEmmanuel Vadot in-ports { 655fac71e4eSEmmanuel Vadot #address-cells = <1>; 656fac71e4eSEmmanuel Vadot #size-cells = <0>; 657fac71e4eSEmmanuel Vadot 658fac71e4eSEmmanuel Vadot port@0 { 659fac71e4eSEmmanuel Vadot reg = <0>; 660fac71e4eSEmmanuel Vadot funnel_core_in_port0: endpoint { 661fac71e4eSEmmanuel Vadot remote-endpoint = <&etm0_out>; 662fac71e4eSEmmanuel Vadot }; 663fac71e4eSEmmanuel Vadot }; 664fac71e4eSEmmanuel Vadot 665fac71e4eSEmmanuel Vadot port@1 { 666fac71e4eSEmmanuel Vadot reg = <1>; 667fac71e4eSEmmanuel Vadot funnel_core_in_port1: endpoint { 668fac71e4eSEmmanuel Vadot remote-endpoint = <&etm1_out>; 669fac71e4eSEmmanuel Vadot }; 670fac71e4eSEmmanuel Vadot }; 671fac71e4eSEmmanuel Vadot 672fac71e4eSEmmanuel Vadot port@2 { 673fac71e4eSEmmanuel Vadot reg = <2>; 674fac71e4eSEmmanuel Vadot funnel_core_in_port2: endpoint { 675fac71e4eSEmmanuel Vadot remote-endpoint = <&etm2_out>; 676fac71e4eSEmmanuel Vadot }; 677fac71e4eSEmmanuel Vadot }; 678fac71e4eSEmmanuel Vadot 679fac71e4eSEmmanuel Vadot port@3 { 680fac71e4eSEmmanuel Vadot reg = <3>; 681fac71e4eSEmmanuel Vadot funnel_core_in_port6: endpoint { 682fac71e4eSEmmanuel Vadot remote-endpoint = <&etm6_out>; 683fac71e4eSEmmanuel Vadot }; 684fac71e4eSEmmanuel Vadot }; 685fac71e4eSEmmanuel Vadot }; 686fac71e4eSEmmanuel Vadot }; 687fac71e4eSEmmanuel Vadot 688fac71e4eSEmmanuel Vadot etm0: etm@3f040000 { 689fac71e4eSEmmanuel Vadot compatible = "arm,coresight-etm4x", "arm,primecell"; 690fac71e4eSEmmanuel Vadot reg = <0 0x3f040000 0 0x1000>; 691fac71e4eSEmmanuel Vadot cpu = <&CPU0>; 6928d13bc63SEmmanuel Vadot clocks = <&ext_26m>; 6938d13bc63SEmmanuel Vadot clock-names = "apb_pclk"; 694fac71e4eSEmmanuel Vadot 695fac71e4eSEmmanuel Vadot out-ports { 696fac71e4eSEmmanuel Vadot port { 697fac71e4eSEmmanuel Vadot etm0_out: endpoint { 698fac71e4eSEmmanuel Vadot remote-endpoint = 699fac71e4eSEmmanuel Vadot <&funnel_core_in_port0>; 700fac71e4eSEmmanuel Vadot }; 701fac71e4eSEmmanuel Vadot }; 702fac71e4eSEmmanuel Vadot }; 703fac71e4eSEmmanuel Vadot }; 704fac71e4eSEmmanuel Vadot 705fac71e4eSEmmanuel Vadot etm1: etm@3f140000 { 706fac71e4eSEmmanuel Vadot compatible = "arm,coresight-etm4x", "arm,primecell"; 707fac71e4eSEmmanuel Vadot reg = <0 0x3f140000 0 0x1000>; 708fac71e4eSEmmanuel Vadot cpu = <&CPU1>; 7098d13bc63SEmmanuel Vadot clocks = <&ext_26m>; 7108d13bc63SEmmanuel Vadot clock-names = "apb_pclk"; 711fac71e4eSEmmanuel Vadot 712fac71e4eSEmmanuel Vadot out-ports { 713fac71e4eSEmmanuel Vadot port { 714fac71e4eSEmmanuel Vadot etm1_out: endpoint { 715fac71e4eSEmmanuel Vadot remote-endpoint = 716fac71e4eSEmmanuel Vadot <&funnel_core_in_port1>; 717fac71e4eSEmmanuel Vadot }; 718fac71e4eSEmmanuel Vadot }; 719fac71e4eSEmmanuel Vadot }; 720fac71e4eSEmmanuel Vadot }; 721fac71e4eSEmmanuel Vadot 722fac71e4eSEmmanuel Vadot etm2: etm@3f240000 { 723fac71e4eSEmmanuel Vadot compatible = "arm,coresight-etm4x", "arm,primecell"; 724fac71e4eSEmmanuel Vadot reg = <0 0x3f240000 0 0x1000>; 725fac71e4eSEmmanuel Vadot cpu = <&CPU2>; 7268d13bc63SEmmanuel Vadot clocks = <&ext_26m>; 7278d13bc63SEmmanuel Vadot clock-names = "apb_pclk"; 728fac71e4eSEmmanuel Vadot 729fac71e4eSEmmanuel Vadot out-ports { 730fac71e4eSEmmanuel Vadot port { 731fac71e4eSEmmanuel Vadot etm2_out: endpoint { 732fac71e4eSEmmanuel Vadot remote-endpoint = 733fac71e4eSEmmanuel Vadot <&funnel_core_in_port2>; 734fac71e4eSEmmanuel Vadot }; 735fac71e4eSEmmanuel Vadot }; 736fac71e4eSEmmanuel Vadot }; 737fac71e4eSEmmanuel Vadot }; 738fac71e4eSEmmanuel Vadot 739fac71e4eSEmmanuel Vadot etm3: etm@3f340000 { 740fac71e4eSEmmanuel Vadot compatible = "arm,coresight-etm4x", "arm,primecell"; 741fac71e4eSEmmanuel Vadot reg = <0 0x3f340000 0 0x1000>; 742fac71e4eSEmmanuel Vadot cpu = <&CPU3>; 7438d13bc63SEmmanuel Vadot clocks = <&ext_26m>; 7448d13bc63SEmmanuel Vadot clock-names = "apb_pclk"; 745fac71e4eSEmmanuel Vadot 746fac71e4eSEmmanuel Vadot out-ports { 747fac71e4eSEmmanuel Vadot port { 748fac71e4eSEmmanuel Vadot etm3_out: endpoint { 749fac71e4eSEmmanuel Vadot remote-endpoint = 750fac71e4eSEmmanuel Vadot <&funnel_core_in_port3>; 751fac71e4eSEmmanuel Vadot }; 752fac71e4eSEmmanuel Vadot }; 753fac71e4eSEmmanuel Vadot }; 754fac71e4eSEmmanuel Vadot }; 755fac71e4eSEmmanuel Vadot 756fac71e4eSEmmanuel Vadot etm4: etm@3f440000 { 757fac71e4eSEmmanuel Vadot compatible = "arm,coresight-etm4x", "arm,primecell"; 758fac71e4eSEmmanuel Vadot reg = <0 0x3f440000 0 0x1000>; 759fac71e4eSEmmanuel Vadot cpu = <&CPU4>; 7608d13bc63SEmmanuel Vadot clocks = <&ext_26m>; 7618d13bc63SEmmanuel Vadot clock-names = "apb_pclk"; 762fac71e4eSEmmanuel Vadot 763fac71e4eSEmmanuel Vadot out-ports { 764fac71e4eSEmmanuel Vadot port { 765fac71e4eSEmmanuel Vadot etm4_out: endpoint { 766fac71e4eSEmmanuel Vadot remote-endpoint = 767fac71e4eSEmmanuel Vadot <&funnel_core_in_port4>; 768fac71e4eSEmmanuel Vadot }; 769fac71e4eSEmmanuel Vadot }; 770fac71e4eSEmmanuel Vadot }; 771fac71e4eSEmmanuel Vadot }; 772fac71e4eSEmmanuel Vadot 773fac71e4eSEmmanuel Vadot etm5: etm@3f540000 { 774fac71e4eSEmmanuel Vadot compatible = "arm,coresight-etm4x", "arm,primecell"; 775fac71e4eSEmmanuel Vadot reg = <0 0x3f540000 0 0x1000>; 776fac71e4eSEmmanuel Vadot cpu = <&CPU5>; 7778d13bc63SEmmanuel Vadot clocks = <&ext_26m>; 7788d13bc63SEmmanuel Vadot clock-names = "apb_pclk"; 779fac71e4eSEmmanuel Vadot 780fac71e4eSEmmanuel Vadot out-ports { 781fac71e4eSEmmanuel Vadot port { 782fac71e4eSEmmanuel Vadot etm5_out: endpoint { 783fac71e4eSEmmanuel Vadot remote-endpoint = 784fac71e4eSEmmanuel Vadot <&funnel_core_in_port5>; 785fac71e4eSEmmanuel Vadot }; 786fac71e4eSEmmanuel Vadot }; 787fac71e4eSEmmanuel Vadot }; 788fac71e4eSEmmanuel Vadot }; 789fac71e4eSEmmanuel Vadot 790fac71e4eSEmmanuel Vadot etm6: etm@3f640000 { 791fac71e4eSEmmanuel Vadot compatible = "arm,coresight-etm4x", "arm,primecell"; 792fac71e4eSEmmanuel Vadot reg = <0 0x3f640000 0 0x1000>; 793fac71e4eSEmmanuel Vadot cpu = <&CPU6>; 7948d13bc63SEmmanuel Vadot clocks = <&ext_26m>; 7958d13bc63SEmmanuel Vadot clock-names = "apb_pclk"; 796fac71e4eSEmmanuel Vadot 797fac71e4eSEmmanuel Vadot out-ports { 798fac71e4eSEmmanuel Vadot port { 799fac71e4eSEmmanuel Vadot etm6_out: endpoint { 800fac71e4eSEmmanuel Vadot remote-endpoint = 801fac71e4eSEmmanuel Vadot <&funnel_core_in_port6>; 802fac71e4eSEmmanuel Vadot }; 803fac71e4eSEmmanuel Vadot }; 804fac71e4eSEmmanuel Vadot }; 805fac71e4eSEmmanuel Vadot }; 806fac71e4eSEmmanuel Vadot 807fac71e4eSEmmanuel Vadot etm7: etm@3f740000 { 808fac71e4eSEmmanuel Vadot compatible = "arm,coresight-etm4x", "arm,primecell"; 809fac71e4eSEmmanuel Vadot reg = <0 0x3f740000 0 0x1000>; 810fac71e4eSEmmanuel Vadot cpu = <&CPU7>; 8118d13bc63SEmmanuel Vadot clocks = <&ext_26m>; 8128d13bc63SEmmanuel Vadot clock-names = "apb_pclk"; 813fac71e4eSEmmanuel Vadot 814fac71e4eSEmmanuel Vadot out-ports { 815fac71e4eSEmmanuel Vadot port { 816fac71e4eSEmmanuel Vadot etm7_out: endpoint { 817fac71e4eSEmmanuel Vadot remote-endpoint = 818fac71e4eSEmmanuel Vadot <&funnel_core_in_port7>; 819fac71e4eSEmmanuel Vadot }; 820fac71e4eSEmmanuel Vadot }; 821fac71e4eSEmmanuel Vadot }; 822fac71e4eSEmmanuel Vadot }; 823fac71e4eSEmmanuel Vadot 824fac71e4eSEmmanuel Vadot apb@70000000 { 825fac71e4eSEmmanuel Vadot compatible = "simple-bus"; 826fac71e4eSEmmanuel Vadot #address-cells = <1>; 827fac71e4eSEmmanuel Vadot #size-cells = <1>; 828fac71e4eSEmmanuel Vadot ranges = <0 0x0 0x70000000 0x10000000>; 829fac71e4eSEmmanuel Vadot 830fac71e4eSEmmanuel Vadot uart0: serial@0 { 831fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-uart", 832fac71e4eSEmmanuel Vadot "sprd,sc9836-uart"; 833fac71e4eSEmmanuel Vadot reg = <0x0 0x100>; 834fac71e4eSEmmanuel Vadot interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 835fac71e4eSEmmanuel Vadot clocks = <&ext_26m>; 836fac71e4eSEmmanuel Vadot status = "disabled"; 837fac71e4eSEmmanuel Vadot }; 838fac71e4eSEmmanuel Vadot 839fac71e4eSEmmanuel Vadot uart1: serial@100000 { 840fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-uart", 841fac71e4eSEmmanuel Vadot "sprd,sc9836-uart"; 842fac71e4eSEmmanuel Vadot reg = <0x100000 0x100>; 843fac71e4eSEmmanuel Vadot interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 844fac71e4eSEmmanuel Vadot clocks = <&ext_26m>; 845fac71e4eSEmmanuel Vadot status = "disabled"; 846fac71e4eSEmmanuel Vadot }; 847fac71e4eSEmmanuel Vadot 848fac71e4eSEmmanuel Vadot sdio0: mmc@1100000 { 849fac71e4eSEmmanuel Vadot compatible = "sprd,sdhci-r11"; 850fac71e4eSEmmanuel Vadot reg = <0x1100000 0x1000>; 851fac71e4eSEmmanuel Vadot interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 852fac71e4eSEmmanuel Vadot clocks = <&ap_clk CLK_SDIO0_2X>, 853fac71e4eSEmmanuel Vadot <&apapb_gate CLK_SDIO0_EB>; 854*b2d2a78aSEmmanuel Vadot clock-names = "sdio", "enable"; 855fac71e4eSEmmanuel Vadot assigned-clocks = <&ap_clk CLK_SDIO0_2X>; 856fac71e4eSEmmanuel Vadot assigned-clock-parents = <&pll1 CLK_RPLL>; 857fac71e4eSEmmanuel Vadot status = "disabled"; 858fac71e4eSEmmanuel Vadot }; 859fac71e4eSEmmanuel Vadot 860fac71e4eSEmmanuel Vadot sdio3: mmc@1400000 { 861fac71e4eSEmmanuel Vadot compatible = "sprd,sdhci-r11"; 862fac71e4eSEmmanuel Vadot reg = <0x1400000 0x1000>; 863fac71e4eSEmmanuel Vadot interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 864fac71e4eSEmmanuel Vadot clocks = <&ap_clk CLK_EMMC_2X>, 865fac71e4eSEmmanuel Vadot <&apapb_gate CLK_EMMC_EB>; 866*b2d2a78aSEmmanuel Vadot clock-names = "sdio", "enable"; 867fac71e4eSEmmanuel Vadot assigned-clocks = <&ap_clk CLK_EMMC_2X>; 868fac71e4eSEmmanuel Vadot assigned-clock-parents = <&pll1 CLK_RPLL>; 869fac71e4eSEmmanuel Vadot status = "disabled"; 870fac71e4eSEmmanuel Vadot }; 871fac71e4eSEmmanuel Vadot }; 872fac71e4eSEmmanuel Vadot 873fac71e4eSEmmanuel Vadot aon: bus@32000000 { 874fac71e4eSEmmanuel Vadot compatible = "simple-bus"; 875fac71e4eSEmmanuel Vadot #address-cells = <1>; 876fac71e4eSEmmanuel Vadot #size-cells = <1>; 877fac71e4eSEmmanuel Vadot ranges = <0 0x0 0x32000000 0x1000000>; 878fac71e4eSEmmanuel Vadot 879fac71e4eSEmmanuel Vadot adi_bus: spi@100000 { 880fac71e4eSEmmanuel Vadot compatible = "sprd,ums512-adi"; 881fac71e4eSEmmanuel Vadot reg = <0x100000 0x100000>; 882fac71e4eSEmmanuel Vadot #address-cells = <1>; 883fac71e4eSEmmanuel Vadot #size-cells = <0>; 884fac71e4eSEmmanuel Vadot sprd,hw-channels = <2 0x18cc>, <3 0x18cc>, <13 0x1854>, <15 0x1874>, 885fac71e4eSEmmanuel Vadot <17 0x1844>,<19 0x1844>, <21 0x1864>, <30 0x1820>, 886fac71e4eSEmmanuel Vadot <35 0x19b8>, <39 0x19ac>; 887fac71e4eSEmmanuel Vadot }; 888fac71e4eSEmmanuel Vadot }; 889fac71e4eSEmmanuel Vadot }; 890fac71e4eSEmmanuel Vadot 891fac71e4eSEmmanuel Vadot ext_26m: clk-26m { 892fac71e4eSEmmanuel Vadot compatible = "fixed-clock"; 893fac71e4eSEmmanuel Vadot #clock-cells = <0>; 894fac71e4eSEmmanuel Vadot clock-frequency = <26000000>; 895fac71e4eSEmmanuel Vadot clock-output-names = "ext-26m"; 896fac71e4eSEmmanuel Vadot }; 897fac71e4eSEmmanuel Vadot 898fac71e4eSEmmanuel Vadot ext_32k: clk-32k { 899fac71e4eSEmmanuel Vadot compatible = "fixed-clock"; 900fac71e4eSEmmanuel Vadot #clock-cells = <0>; 901fac71e4eSEmmanuel Vadot clock-frequency = <32768>; 902fac71e4eSEmmanuel Vadot clock-output-names = "ext-32k"; 903fac71e4eSEmmanuel Vadot }; 904fac71e4eSEmmanuel Vadot 905fac71e4eSEmmanuel Vadot ext_4m: clk-4m { 906fac71e4eSEmmanuel Vadot compatible = "fixed-clock"; 907fac71e4eSEmmanuel Vadot #clock-cells = <0>; 908fac71e4eSEmmanuel Vadot clock-frequency = <4000000>; 909fac71e4eSEmmanuel Vadot clock-output-names = "ext-4m"; 910fac71e4eSEmmanuel Vadot }; 911fac71e4eSEmmanuel Vadot 912fac71e4eSEmmanuel Vadot rco_100m: clk-100m { 913fac71e4eSEmmanuel Vadot compatible = "fixed-clock"; 914fac71e4eSEmmanuel Vadot #clock-cells = <0>; 915fac71e4eSEmmanuel Vadot clock-frequency = <100000000>; 916fac71e4eSEmmanuel Vadot clock-output-names = "rco-100m"; 917fac71e4eSEmmanuel Vadot }; 918fac71e4eSEmmanuel Vadot}; 919