1c66ec88fSEmmanuel Vadot/* 2c66ec88fSEmmanuel Vadot * ARM Ltd. Juno Platform 3c66ec88fSEmmanuel Vadot * 4c66ec88fSEmmanuel Vadot * Copyright (c) 2015 ARM Ltd. 5c66ec88fSEmmanuel Vadot * 6c66ec88fSEmmanuel Vadot * This file is licensed under a dual GPLv2 or BSD license. 7c66ec88fSEmmanuel Vadot */ 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadot/dts-v1/; 10c66ec88fSEmmanuel Vadot 11c66ec88fSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 12d5b0e70fSEmmanuel Vadot#include <dt-bindings/arm/coresight-cti-dt.h> 13c66ec88fSEmmanuel Vadot#include "juno-base.dtsi" 14c66ec88fSEmmanuel Vadot#include "juno-cs-r1r2.dtsi" 15c66ec88fSEmmanuel Vadot 16c66ec88fSEmmanuel Vadot/ { 17c66ec88fSEmmanuel Vadot model = "ARM Juno development board (r2)"; 18c66ec88fSEmmanuel Vadot compatible = "arm,juno-r2", "arm,juno", "arm,vexpress"; 19c66ec88fSEmmanuel Vadot interrupt-parent = <&gic>; 20c66ec88fSEmmanuel Vadot #address-cells = <2>; 21c66ec88fSEmmanuel Vadot #size-cells = <2>; 22c66ec88fSEmmanuel Vadot 23c66ec88fSEmmanuel Vadot aliases { 24c66ec88fSEmmanuel Vadot serial0 = &soc_uart0; 25c66ec88fSEmmanuel Vadot }; 26c66ec88fSEmmanuel Vadot 27c66ec88fSEmmanuel Vadot chosen { 28c66ec88fSEmmanuel Vadot stdout-path = "serial0:115200n8"; 29c66ec88fSEmmanuel Vadot }; 30c66ec88fSEmmanuel Vadot 31c66ec88fSEmmanuel Vadot psci { 32c66ec88fSEmmanuel Vadot compatible = "arm,psci-0.2"; 33c66ec88fSEmmanuel Vadot method = "smc"; 34c66ec88fSEmmanuel Vadot }; 35c66ec88fSEmmanuel Vadot 36c66ec88fSEmmanuel Vadot cpus { 37c66ec88fSEmmanuel Vadot #address-cells = <2>; 38c66ec88fSEmmanuel Vadot #size-cells = <0>; 39c66ec88fSEmmanuel Vadot 40c66ec88fSEmmanuel Vadot cpu-map { 41c66ec88fSEmmanuel Vadot cluster0 { 42c66ec88fSEmmanuel Vadot core0 { 43c66ec88fSEmmanuel Vadot cpu = <&A72_0>; 44c66ec88fSEmmanuel Vadot }; 45c66ec88fSEmmanuel Vadot core1 { 46c66ec88fSEmmanuel Vadot cpu = <&A72_1>; 47c66ec88fSEmmanuel Vadot }; 48c66ec88fSEmmanuel Vadot }; 49c66ec88fSEmmanuel Vadot 50c66ec88fSEmmanuel Vadot cluster1 { 51c66ec88fSEmmanuel Vadot core0 { 52c66ec88fSEmmanuel Vadot cpu = <&A53_0>; 53c66ec88fSEmmanuel Vadot }; 54c66ec88fSEmmanuel Vadot core1 { 55c66ec88fSEmmanuel Vadot cpu = <&A53_1>; 56c66ec88fSEmmanuel Vadot }; 57c66ec88fSEmmanuel Vadot core2 { 58c66ec88fSEmmanuel Vadot cpu = <&A53_2>; 59c66ec88fSEmmanuel Vadot }; 60c66ec88fSEmmanuel Vadot core3 { 61c66ec88fSEmmanuel Vadot cpu = <&A53_3>; 62c66ec88fSEmmanuel Vadot }; 63c66ec88fSEmmanuel Vadot }; 64c66ec88fSEmmanuel Vadot }; 65c66ec88fSEmmanuel Vadot 66c66ec88fSEmmanuel Vadot idle-states { 67c66ec88fSEmmanuel Vadot entry-method = "psci"; 68c66ec88fSEmmanuel Vadot 69c66ec88fSEmmanuel Vadot CPU_SLEEP_0: cpu-sleep-0 { 70c66ec88fSEmmanuel Vadot compatible = "arm,idle-state"; 71c66ec88fSEmmanuel Vadot arm,psci-suspend-param = <0x0010000>; 72c66ec88fSEmmanuel Vadot local-timer-stop; 73c66ec88fSEmmanuel Vadot entry-latency-us = <300>; 74c66ec88fSEmmanuel Vadot exit-latency-us = <1200>; 75c66ec88fSEmmanuel Vadot min-residency-us = <2000>; 76c66ec88fSEmmanuel Vadot }; 77c66ec88fSEmmanuel Vadot 78c66ec88fSEmmanuel Vadot CLUSTER_SLEEP_0: cluster-sleep-0 { 79c66ec88fSEmmanuel Vadot compatible = "arm,idle-state"; 80c66ec88fSEmmanuel Vadot arm,psci-suspend-param = <0x1010000>; 81c66ec88fSEmmanuel Vadot local-timer-stop; 82c66ec88fSEmmanuel Vadot entry-latency-us = <400>; 83c66ec88fSEmmanuel Vadot exit-latency-us = <1200>; 84c66ec88fSEmmanuel Vadot min-residency-us = <2500>; 85c66ec88fSEmmanuel Vadot }; 86c66ec88fSEmmanuel Vadot }; 87c66ec88fSEmmanuel Vadot 88c66ec88fSEmmanuel Vadot A72_0: cpu@0 { 89c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a72"; 90c66ec88fSEmmanuel Vadot reg = <0x0 0x0>; 91c66ec88fSEmmanuel Vadot device_type = "cpu"; 92c66ec88fSEmmanuel Vadot enable-method = "psci"; 93c66ec88fSEmmanuel Vadot i-cache-size = <0xc000>; 94c66ec88fSEmmanuel Vadot i-cache-line-size = <64>; 95c66ec88fSEmmanuel Vadot i-cache-sets = <256>; 96c66ec88fSEmmanuel Vadot d-cache-size = <0x8000>; 97c66ec88fSEmmanuel Vadot d-cache-line-size = <64>; 98c66ec88fSEmmanuel Vadot d-cache-sets = <256>; 99c66ec88fSEmmanuel Vadot next-level-cache = <&A72_L2>; 100c66ec88fSEmmanuel Vadot clocks = <&scpi_dvfs 0>; 101c66ec88fSEmmanuel Vadot cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; 102c66ec88fSEmmanuel Vadot capacity-dmips-mhz = <1024>; 103c66ec88fSEmmanuel Vadot dynamic-power-coefficient = <450>; 104c66ec88fSEmmanuel Vadot }; 105c66ec88fSEmmanuel Vadot 106c66ec88fSEmmanuel Vadot A72_1: cpu@1 { 107c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a72"; 108c66ec88fSEmmanuel Vadot reg = <0x0 0x1>; 109c66ec88fSEmmanuel Vadot device_type = "cpu"; 110c66ec88fSEmmanuel Vadot enable-method = "psci"; 111c66ec88fSEmmanuel Vadot i-cache-size = <0xc000>; 112c66ec88fSEmmanuel Vadot i-cache-line-size = <64>; 113c66ec88fSEmmanuel Vadot i-cache-sets = <256>; 114c66ec88fSEmmanuel Vadot d-cache-size = <0x8000>; 115c66ec88fSEmmanuel Vadot d-cache-line-size = <64>; 116c66ec88fSEmmanuel Vadot d-cache-sets = <256>; 117c66ec88fSEmmanuel Vadot next-level-cache = <&A72_L2>; 118c66ec88fSEmmanuel Vadot clocks = <&scpi_dvfs 0>; 119c66ec88fSEmmanuel Vadot cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; 120c66ec88fSEmmanuel Vadot capacity-dmips-mhz = <1024>; 121c66ec88fSEmmanuel Vadot dynamic-power-coefficient = <450>; 122c66ec88fSEmmanuel Vadot }; 123c66ec88fSEmmanuel Vadot 124c66ec88fSEmmanuel Vadot A53_0: cpu@100 { 125c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a53"; 126c66ec88fSEmmanuel Vadot reg = <0x0 0x100>; 127c66ec88fSEmmanuel Vadot device_type = "cpu"; 128c66ec88fSEmmanuel Vadot enable-method = "psci"; 129c66ec88fSEmmanuel Vadot i-cache-size = <0x8000>; 130c66ec88fSEmmanuel Vadot i-cache-line-size = <64>; 131c66ec88fSEmmanuel Vadot i-cache-sets = <256>; 132c66ec88fSEmmanuel Vadot d-cache-size = <0x8000>; 133c66ec88fSEmmanuel Vadot d-cache-line-size = <64>; 134c66ec88fSEmmanuel Vadot d-cache-sets = <128>; 135c66ec88fSEmmanuel Vadot next-level-cache = <&A53_L2>; 136c66ec88fSEmmanuel Vadot clocks = <&scpi_dvfs 1>; 137c66ec88fSEmmanuel Vadot cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; 138c66ec88fSEmmanuel Vadot capacity-dmips-mhz = <485>; 139c66ec88fSEmmanuel Vadot dynamic-power-coefficient = <140>; 140c66ec88fSEmmanuel Vadot }; 141c66ec88fSEmmanuel Vadot 142c66ec88fSEmmanuel Vadot A53_1: cpu@101 { 143c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a53"; 144c66ec88fSEmmanuel Vadot reg = <0x0 0x101>; 145c66ec88fSEmmanuel Vadot device_type = "cpu"; 146c66ec88fSEmmanuel Vadot enable-method = "psci"; 147c66ec88fSEmmanuel Vadot i-cache-size = <0x8000>; 148c66ec88fSEmmanuel Vadot i-cache-line-size = <64>; 149c66ec88fSEmmanuel Vadot i-cache-sets = <256>; 150c66ec88fSEmmanuel Vadot d-cache-size = <0x8000>; 151c66ec88fSEmmanuel Vadot d-cache-line-size = <64>; 152c66ec88fSEmmanuel Vadot d-cache-sets = <128>; 153c66ec88fSEmmanuel Vadot next-level-cache = <&A53_L2>; 154c66ec88fSEmmanuel Vadot clocks = <&scpi_dvfs 1>; 155c66ec88fSEmmanuel Vadot cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; 156c66ec88fSEmmanuel Vadot capacity-dmips-mhz = <485>; 157c66ec88fSEmmanuel Vadot dynamic-power-coefficient = <140>; 158c66ec88fSEmmanuel Vadot }; 159c66ec88fSEmmanuel Vadot 160c66ec88fSEmmanuel Vadot A53_2: cpu@102 { 161c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a53"; 162c66ec88fSEmmanuel Vadot reg = <0x0 0x102>; 163c66ec88fSEmmanuel Vadot device_type = "cpu"; 164c66ec88fSEmmanuel Vadot enable-method = "psci"; 165c66ec88fSEmmanuel Vadot i-cache-size = <0x8000>; 166c66ec88fSEmmanuel Vadot i-cache-line-size = <64>; 167c66ec88fSEmmanuel Vadot i-cache-sets = <256>; 168c66ec88fSEmmanuel Vadot d-cache-size = <0x8000>; 169c66ec88fSEmmanuel Vadot d-cache-line-size = <64>; 170c66ec88fSEmmanuel Vadot d-cache-sets = <128>; 171c66ec88fSEmmanuel Vadot next-level-cache = <&A53_L2>; 172c66ec88fSEmmanuel Vadot clocks = <&scpi_dvfs 1>; 173c66ec88fSEmmanuel Vadot cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; 174c66ec88fSEmmanuel Vadot capacity-dmips-mhz = <485>; 175c66ec88fSEmmanuel Vadot dynamic-power-coefficient = <140>; 176c66ec88fSEmmanuel Vadot }; 177c66ec88fSEmmanuel Vadot 178c66ec88fSEmmanuel Vadot A53_3: cpu@103 { 179c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a53"; 180c66ec88fSEmmanuel Vadot reg = <0x0 0x103>; 181c66ec88fSEmmanuel Vadot device_type = "cpu"; 182c66ec88fSEmmanuel Vadot enable-method = "psci"; 183c66ec88fSEmmanuel Vadot i-cache-size = <0x8000>; 184c66ec88fSEmmanuel Vadot i-cache-line-size = <64>; 185c66ec88fSEmmanuel Vadot i-cache-sets = <256>; 186c66ec88fSEmmanuel Vadot d-cache-size = <0x8000>; 187c66ec88fSEmmanuel Vadot d-cache-line-size = <64>; 188c66ec88fSEmmanuel Vadot d-cache-sets = <128>; 189c66ec88fSEmmanuel Vadot next-level-cache = <&A53_L2>; 190c66ec88fSEmmanuel Vadot clocks = <&scpi_dvfs 1>; 191c66ec88fSEmmanuel Vadot cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; 192c66ec88fSEmmanuel Vadot capacity-dmips-mhz = <485>; 193c66ec88fSEmmanuel Vadot dynamic-power-coefficient = <140>; 194c66ec88fSEmmanuel Vadot }; 195c66ec88fSEmmanuel Vadot 196c66ec88fSEmmanuel Vadot A72_L2: l2-cache0 { 197c66ec88fSEmmanuel Vadot compatible = "cache"; 198*8bab661aSEmmanuel Vadot cache-unified; 199c66ec88fSEmmanuel Vadot cache-size = <0x200000>; 200c66ec88fSEmmanuel Vadot cache-line-size = <64>; 201c66ec88fSEmmanuel Vadot cache-sets = <2048>; 202b97ee269SEmmanuel Vadot cache-level = <2>; 203c66ec88fSEmmanuel Vadot }; 204c66ec88fSEmmanuel Vadot 205c66ec88fSEmmanuel Vadot A53_L2: l2-cache1 { 206c66ec88fSEmmanuel Vadot compatible = "cache"; 207*8bab661aSEmmanuel Vadot cache-unified; 208c66ec88fSEmmanuel Vadot cache-size = <0x100000>; 209c66ec88fSEmmanuel Vadot cache-line-size = <64>; 210c66ec88fSEmmanuel Vadot cache-sets = <1024>; 211b97ee269SEmmanuel Vadot cache-level = <2>; 212c66ec88fSEmmanuel Vadot }; 213c66ec88fSEmmanuel Vadot }; 214c66ec88fSEmmanuel Vadot 215c66ec88fSEmmanuel Vadot pmu-a72 { 216c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a72-pmu"; 217c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 02 IRQ_TYPE_LEVEL_HIGH>, 218c66ec88fSEmmanuel Vadot <GIC_SPI 06 IRQ_TYPE_LEVEL_HIGH>; 219c66ec88fSEmmanuel Vadot interrupt-affinity = <&A72_0>, 220c66ec88fSEmmanuel Vadot <&A72_1>; 221c66ec88fSEmmanuel Vadot }; 222c66ec88fSEmmanuel Vadot 223c66ec88fSEmmanuel Vadot pmu-a53 { 224c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a53-pmu"; 225c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>, 226c66ec88fSEmmanuel Vadot <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>, 227c66ec88fSEmmanuel Vadot <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>, 228c66ec88fSEmmanuel Vadot <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 229c66ec88fSEmmanuel Vadot interrupt-affinity = <&A53_0>, 230c66ec88fSEmmanuel Vadot <&A53_1>, 231c66ec88fSEmmanuel Vadot <&A53_2>, 232c66ec88fSEmmanuel Vadot <&A53_3>; 233c66ec88fSEmmanuel Vadot }; 234c66ec88fSEmmanuel Vadot}; 235c66ec88fSEmmanuel Vadot 236c66ec88fSEmmanuel Vadot&memtimer { 237c66ec88fSEmmanuel Vadot status = "okay"; 238c66ec88fSEmmanuel Vadot}; 239c66ec88fSEmmanuel Vadot 240c66ec88fSEmmanuel Vadot&pcie_ctlr { 241c66ec88fSEmmanuel Vadot status = "okay"; 242c66ec88fSEmmanuel Vadot}; 243c66ec88fSEmmanuel Vadot 2442eb4d8dcSEmmanuel Vadot&smmu_pcie { 2452eb4d8dcSEmmanuel Vadot status = "okay"; 2462eb4d8dcSEmmanuel Vadot}; 2472eb4d8dcSEmmanuel Vadot 248c66ec88fSEmmanuel Vadot&etm0 { 249c66ec88fSEmmanuel Vadot cpu = <&A72_0>; 250c66ec88fSEmmanuel Vadot}; 251c66ec88fSEmmanuel Vadot 252c66ec88fSEmmanuel Vadot&etm1 { 253c66ec88fSEmmanuel Vadot cpu = <&A72_1>; 254c66ec88fSEmmanuel Vadot}; 255c66ec88fSEmmanuel Vadot 256c66ec88fSEmmanuel Vadot&etm2 { 257c66ec88fSEmmanuel Vadot cpu = <&A53_0>; 258c66ec88fSEmmanuel Vadot}; 259c66ec88fSEmmanuel Vadot 260c66ec88fSEmmanuel Vadot&etm3 { 261c66ec88fSEmmanuel Vadot cpu = <&A53_1>; 262c66ec88fSEmmanuel Vadot}; 263c66ec88fSEmmanuel Vadot 264c66ec88fSEmmanuel Vadot&etm4 { 265c66ec88fSEmmanuel Vadot cpu = <&A53_2>; 266c66ec88fSEmmanuel Vadot}; 267c66ec88fSEmmanuel Vadot 268c66ec88fSEmmanuel Vadot&etm5 { 269c66ec88fSEmmanuel Vadot cpu = <&A53_3>; 270c66ec88fSEmmanuel Vadot}; 271c66ec88fSEmmanuel Vadot 272c66ec88fSEmmanuel Vadot&big_cluster_thermal_zone { 273c66ec88fSEmmanuel Vadot status = "okay"; 274c66ec88fSEmmanuel Vadot}; 275c66ec88fSEmmanuel Vadot 276c66ec88fSEmmanuel Vadot&little_cluster_thermal_zone { 277c66ec88fSEmmanuel Vadot status = "okay"; 278c66ec88fSEmmanuel Vadot}; 279c66ec88fSEmmanuel Vadot 280c66ec88fSEmmanuel Vadot&gpu0_thermal_zone { 281c66ec88fSEmmanuel Vadot status = "okay"; 282c66ec88fSEmmanuel Vadot}; 283c66ec88fSEmmanuel Vadot 284c66ec88fSEmmanuel Vadot&gpu1_thermal_zone { 285c66ec88fSEmmanuel Vadot status = "okay"; 286c66ec88fSEmmanuel Vadot}; 287c66ec88fSEmmanuel Vadot 288c66ec88fSEmmanuel Vadot&etf0_out_port { 289c66ec88fSEmmanuel Vadot remote-endpoint = <&csys2_funnel_in_port0>; 290c66ec88fSEmmanuel Vadot}; 291c66ec88fSEmmanuel Vadot 292c66ec88fSEmmanuel Vadot&replicator_in_port0 { 293c66ec88fSEmmanuel Vadot remote-endpoint = <&csys2_funnel_out_port>; 294c66ec88fSEmmanuel Vadot}; 295c66ec88fSEmmanuel Vadot 296c66ec88fSEmmanuel Vadot&csys1_funnel_in_port0 { 297c66ec88fSEmmanuel Vadot remote-endpoint = <&stm_out_port>; 298c66ec88fSEmmanuel Vadot}; 299c66ec88fSEmmanuel Vadot 300c66ec88fSEmmanuel Vadot&stm_out_port { 301c66ec88fSEmmanuel Vadot remote-endpoint = <&csys1_funnel_in_port0>; 302c66ec88fSEmmanuel Vadot}; 303c66ec88fSEmmanuel Vadot 304c66ec88fSEmmanuel Vadot&cpu_debug0 { 305c66ec88fSEmmanuel Vadot cpu = <&A72_0>; 306c66ec88fSEmmanuel Vadot}; 307c66ec88fSEmmanuel Vadot 308c66ec88fSEmmanuel Vadot&cpu_debug1 { 309c66ec88fSEmmanuel Vadot cpu = <&A72_1>; 310c66ec88fSEmmanuel Vadot}; 311c66ec88fSEmmanuel Vadot 312c66ec88fSEmmanuel Vadot&cpu_debug2 { 313c66ec88fSEmmanuel Vadot cpu = <&A53_0>; 314c66ec88fSEmmanuel Vadot}; 315c66ec88fSEmmanuel Vadot 316c66ec88fSEmmanuel Vadot&cpu_debug3 { 317c66ec88fSEmmanuel Vadot cpu = <&A53_1>; 318c66ec88fSEmmanuel Vadot}; 319c66ec88fSEmmanuel Vadot 320c66ec88fSEmmanuel Vadot&cpu_debug4 { 321c66ec88fSEmmanuel Vadot cpu = <&A53_2>; 322c66ec88fSEmmanuel Vadot}; 323c66ec88fSEmmanuel Vadot 324c66ec88fSEmmanuel Vadot&cpu_debug5 { 325c66ec88fSEmmanuel Vadot cpu = <&A53_3>; 326c66ec88fSEmmanuel Vadot}; 327d5b0e70fSEmmanuel Vadot 328d5b0e70fSEmmanuel Vadot&cti0 { 329d5b0e70fSEmmanuel Vadot cpu = <&A72_0>; 330d5b0e70fSEmmanuel Vadot}; 331d5b0e70fSEmmanuel Vadot 332d5b0e70fSEmmanuel Vadot&cti1 { 333d5b0e70fSEmmanuel Vadot cpu = <&A72_1>; 334d5b0e70fSEmmanuel Vadot}; 335d5b0e70fSEmmanuel Vadot 336d5b0e70fSEmmanuel Vadot&cti2 { 337d5b0e70fSEmmanuel Vadot cpu = <&A53_0>; 338d5b0e70fSEmmanuel Vadot}; 339d5b0e70fSEmmanuel Vadot 340d5b0e70fSEmmanuel Vadot&cti3 { 341d5b0e70fSEmmanuel Vadot cpu = <&A53_1>; 342d5b0e70fSEmmanuel Vadot}; 343d5b0e70fSEmmanuel Vadot 344d5b0e70fSEmmanuel Vadot&cti4 { 345d5b0e70fSEmmanuel Vadot cpu = <&A53_2>; 346d5b0e70fSEmmanuel Vadot}; 347d5b0e70fSEmmanuel Vadot 348d5b0e70fSEmmanuel Vadot&cti5 { 349d5b0e70fSEmmanuel Vadot cpu = <&A53_3>; 350d5b0e70fSEmmanuel Vadot}; 351