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 (r1)"; 18c66ec88fSEmmanuel Vadot compatible = "arm,juno-r1", "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 = <&A57_0>; 44c66ec88fSEmmanuel Vadot }; 45c66ec88fSEmmanuel Vadot core1 { 46c66ec88fSEmmanuel Vadot cpu = <&A57_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 A57_0: cpu@0 { 89c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a57"; 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 = <&A57_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 }; 104c66ec88fSEmmanuel Vadot 105c66ec88fSEmmanuel Vadot A57_1: cpu@1 { 106c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a57"; 107c66ec88fSEmmanuel Vadot reg = <0x0 0x1>; 108c66ec88fSEmmanuel Vadot device_type = "cpu"; 109c66ec88fSEmmanuel Vadot enable-method = "psci"; 110c66ec88fSEmmanuel Vadot i-cache-size = <0xc000>; 111c66ec88fSEmmanuel Vadot i-cache-line-size = <64>; 112c66ec88fSEmmanuel Vadot i-cache-sets = <256>; 113c66ec88fSEmmanuel Vadot d-cache-size = <0x8000>; 114c66ec88fSEmmanuel Vadot d-cache-line-size = <64>; 115c66ec88fSEmmanuel Vadot d-cache-sets = <256>; 116c66ec88fSEmmanuel Vadot next-level-cache = <&A57_L2>; 117c66ec88fSEmmanuel Vadot clocks = <&scpi_dvfs 0>; 118c66ec88fSEmmanuel Vadot cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; 119c66ec88fSEmmanuel Vadot capacity-dmips-mhz = <1024>; 120c66ec88fSEmmanuel Vadot }; 121c66ec88fSEmmanuel Vadot 122c66ec88fSEmmanuel Vadot A53_0: cpu@100 { 123c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a53"; 124c66ec88fSEmmanuel Vadot reg = <0x0 0x100>; 125c66ec88fSEmmanuel Vadot device_type = "cpu"; 126c66ec88fSEmmanuel Vadot enable-method = "psci"; 127c66ec88fSEmmanuel Vadot i-cache-size = <0x8000>; 128c66ec88fSEmmanuel Vadot i-cache-line-size = <64>; 129c66ec88fSEmmanuel Vadot i-cache-sets = <256>; 130c66ec88fSEmmanuel Vadot d-cache-size = <0x8000>; 131c66ec88fSEmmanuel Vadot d-cache-line-size = <64>; 132c66ec88fSEmmanuel Vadot d-cache-sets = <128>; 133c66ec88fSEmmanuel Vadot next-level-cache = <&A53_L2>; 134c66ec88fSEmmanuel Vadot clocks = <&scpi_dvfs 1>; 135c66ec88fSEmmanuel Vadot cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; 136c66ec88fSEmmanuel Vadot capacity-dmips-mhz = <578>; 137c66ec88fSEmmanuel Vadot }; 138c66ec88fSEmmanuel Vadot 139c66ec88fSEmmanuel Vadot A53_1: cpu@101 { 140c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a53"; 141c66ec88fSEmmanuel Vadot reg = <0x0 0x101>; 142c66ec88fSEmmanuel Vadot device_type = "cpu"; 143c66ec88fSEmmanuel Vadot enable-method = "psci"; 144c66ec88fSEmmanuel Vadot i-cache-size = <0x8000>; 145c66ec88fSEmmanuel Vadot i-cache-line-size = <64>; 146c66ec88fSEmmanuel Vadot i-cache-sets = <256>; 147c66ec88fSEmmanuel Vadot d-cache-size = <0x8000>; 148c66ec88fSEmmanuel Vadot d-cache-line-size = <64>; 149c66ec88fSEmmanuel Vadot d-cache-sets = <128>; 150c66ec88fSEmmanuel Vadot next-level-cache = <&A53_L2>; 151c66ec88fSEmmanuel Vadot clocks = <&scpi_dvfs 1>; 152c66ec88fSEmmanuel Vadot cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; 153c66ec88fSEmmanuel Vadot capacity-dmips-mhz = <578>; 154c66ec88fSEmmanuel Vadot }; 155c66ec88fSEmmanuel Vadot 156c66ec88fSEmmanuel Vadot A53_2: cpu@102 { 157c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a53"; 158c66ec88fSEmmanuel Vadot reg = <0x0 0x102>; 159c66ec88fSEmmanuel Vadot device_type = "cpu"; 160c66ec88fSEmmanuel Vadot enable-method = "psci"; 161c66ec88fSEmmanuel Vadot i-cache-size = <0x8000>; 162c66ec88fSEmmanuel Vadot i-cache-line-size = <64>; 163c66ec88fSEmmanuel Vadot i-cache-sets = <256>; 164c66ec88fSEmmanuel Vadot d-cache-size = <0x8000>; 165c66ec88fSEmmanuel Vadot d-cache-line-size = <64>; 166c66ec88fSEmmanuel Vadot d-cache-sets = <128>; 167c66ec88fSEmmanuel Vadot next-level-cache = <&A53_L2>; 168c66ec88fSEmmanuel Vadot clocks = <&scpi_dvfs 1>; 169c66ec88fSEmmanuel Vadot cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; 170c66ec88fSEmmanuel Vadot capacity-dmips-mhz = <578>; 171c66ec88fSEmmanuel Vadot }; 172c66ec88fSEmmanuel Vadot 173c66ec88fSEmmanuel Vadot A53_3: cpu@103 { 174c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a53"; 175c66ec88fSEmmanuel Vadot reg = <0x0 0x103>; 176c66ec88fSEmmanuel Vadot device_type = "cpu"; 177c66ec88fSEmmanuel Vadot enable-method = "psci"; 178c66ec88fSEmmanuel Vadot i-cache-size = <0x8000>; 179c66ec88fSEmmanuel Vadot i-cache-line-size = <64>; 180c66ec88fSEmmanuel Vadot i-cache-sets = <256>; 181c66ec88fSEmmanuel Vadot d-cache-size = <0x8000>; 182c66ec88fSEmmanuel Vadot d-cache-line-size = <64>; 183c66ec88fSEmmanuel Vadot d-cache-sets = <128>; 184c66ec88fSEmmanuel Vadot next-level-cache = <&A53_L2>; 185c66ec88fSEmmanuel Vadot clocks = <&scpi_dvfs 1>; 186c66ec88fSEmmanuel Vadot cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; 187c66ec88fSEmmanuel Vadot capacity-dmips-mhz = <578>; 188c66ec88fSEmmanuel Vadot }; 189c66ec88fSEmmanuel Vadot 190c66ec88fSEmmanuel Vadot A57_L2: l2-cache0 { 191c66ec88fSEmmanuel Vadot compatible = "cache"; 192*8bab661aSEmmanuel Vadot cache-unified; 193c66ec88fSEmmanuel Vadot cache-size = <0x200000>; 194c66ec88fSEmmanuel Vadot cache-line-size = <64>; 195c66ec88fSEmmanuel Vadot cache-sets = <2048>; 196b97ee269SEmmanuel Vadot cache-level = <2>; 197c66ec88fSEmmanuel Vadot }; 198c66ec88fSEmmanuel Vadot 199c66ec88fSEmmanuel Vadot A53_L2: l2-cache1 { 200c66ec88fSEmmanuel Vadot compatible = "cache"; 201*8bab661aSEmmanuel Vadot cache-unified; 202c66ec88fSEmmanuel Vadot cache-size = <0x100000>; 203c66ec88fSEmmanuel Vadot cache-line-size = <64>; 204c66ec88fSEmmanuel Vadot cache-sets = <1024>; 205b97ee269SEmmanuel Vadot cache-level = <2>; 206c66ec88fSEmmanuel Vadot }; 207c66ec88fSEmmanuel Vadot }; 208c66ec88fSEmmanuel Vadot 209c66ec88fSEmmanuel Vadot pmu-a57 { 210c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a57-pmu"; 211c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 02 IRQ_TYPE_LEVEL_HIGH>, 212c66ec88fSEmmanuel Vadot <GIC_SPI 06 IRQ_TYPE_LEVEL_HIGH>; 213c66ec88fSEmmanuel Vadot interrupt-affinity = <&A57_0>, 214c66ec88fSEmmanuel Vadot <&A57_1>; 215c66ec88fSEmmanuel Vadot }; 216c66ec88fSEmmanuel Vadot 217c66ec88fSEmmanuel Vadot pmu-a53 { 218c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a53-pmu"; 219c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>, 220c66ec88fSEmmanuel Vadot <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>, 221c66ec88fSEmmanuel Vadot <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>, 222c66ec88fSEmmanuel Vadot <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 223c66ec88fSEmmanuel Vadot interrupt-affinity = <&A53_0>, 224c66ec88fSEmmanuel Vadot <&A53_1>, 225c66ec88fSEmmanuel Vadot <&A53_2>, 226c66ec88fSEmmanuel Vadot <&A53_3>; 227c66ec88fSEmmanuel Vadot }; 228c66ec88fSEmmanuel Vadot}; 229c66ec88fSEmmanuel Vadot 230c66ec88fSEmmanuel Vadot&memtimer { 231c66ec88fSEmmanuel Vadot status = "okay"; 232c66ec88fSEmmanuel Vadot}; 233c66ec88fSEmmanuel Vadot 234c66ec88fSEmmanuel Vadot&pcie_ctlr { 235c66ec88fSEmmanuel Vadot status = "okay"; 236c66ec88fSEmmanuel Vadot}; 237c66ec88fSEmmanuel Vadot 2382eb4d8dcSEmmanuel Vadot&smmu_pcie { 2392eb4d8dcSEmmanuel Vadot status = "okay"; 2402eb4d8dcSEmmanuel Vadot}; 2412eb4d8dcSEmmanuel Vadot 242c66ec88fSEmmanuel Vadot&etm0 { 243c66ec88fSEmmanuel Vadot cpu = <&A57_0>; 244c66ec88fSEmmanuel Vadot}; 245c66ec88fSEmmanuel Vadot 246c66ec88fSEmmanuel Vadot&etm1 { 247c66ec88fSEmmanuel Vadot cpu = <&A57_1>; 248c66ec88fSEmmanuel Vadot}; 249c66ec88fSEmmanuel Vadot 250c66ec88fSEmmanuel Vadot&etm2 { 251c66ec88fSEmmanuel Vadot cpu = <&A53_0>; 252c66ec88fSEmmanuel Vadot}; 253c66ec88fSEmmanuel Vadot 254c66ec88fSEmmanuel Vadot&etm3 { 255c66ec88fSEmmanuel Vadot cpu = <&A53_1>; 256c66ec88fSEmmanuel Vadot}; 257c66ec88fSEmmanuel Vadot 258c66ec88fSEmmanuel Vadot&etm4 { 259c66ec88fSEmmanuel Vadot cpu = <&A53_2>; 260c66ec88fSEmmanuel Vadot}; 261c66ec88fSEmmanuel Vadot 262c66ec88fSEmmanuel Vadot&etm5 { 263c66ec88fSEmmanuel Vadot cpu = <&A53_3>; 264c66ec88fSEmmanuel Vadot}; 265c66ec88fSEmmanuel Vadot 266c66ec88fSEmmanuel Vadot&big_cluster_thermal_zone { 267c66ec88fSEmmanuel Vadot status = "okay"; 268c66ec88fSEmmanuel Vadot}; 269c66ec88fSEmmanuel Vadot 270c66ec88fSEmmanuel Vadot&little_cluster_thermal_zone { 271c66ec88fSEmmanuel Vadot status = "okay"; 272c66ec88fSEmmanuel Vadot}; 273c66ec88fSEmmanuel Vadot 274c66ec88fSEmmanuel Vadot&gpu0_thermal_zone { 275c66ec88fSEmmanuel Vadot status = "okay"; 276c66ec88fSEmmanuel Vadot}; 277c66ec88fSEmmanuel Vadot 278c66ec88fSEmmanuel Vadot&gpu1_thermal_zone { 279c66ec88fSEmmanuel Vadot status = "okay"; 280c66ec88fSEmmanuel Vadot}; 281c66ec88fSEmmanuel Vadot 282c66ec88fSEmmanuel Vadot&etf0_out_port { 283c66ec88fSEmmanuel Vadot remote-endpoint = <&csys2_funnel_in_port0>; 284c66ec88fSEmmanuel Vadot}; 285c66ec88fSEmmanuel Vadot 286c66ec88fSEmmanuel Vadot&replicator_in_port0 { 287c66ec88fSEmmanuel Vadot remote-endpoint = <&csys2_funnel_out_port>; 288c66ec88fSEmmanuel Vadot}; 289c66ec88fSEmmanuel Vadot 290c66ec88fSEmmanuel Vadot&csys1_funnel_in_port0 { 291c66ec88fSEmmanuel Vadot remote-endpoint = <&stm_out_port>; 292c66ec88fSEmmanuel Vadot}; 293c66ec88fSEmmanuel Vadot 294c66ec88fSEmmanuel Vadot&stm_out_port { 295c66ec88fSEmmanuel Vadot remote-endpoint = <&csys1_funnel_in_port0>; 296c66ec88fSEmmanuel Vadot}; 297c66ec88fSEmmanuel Vadot 298c66ec88fSEmmanuel Vadot&cpu_debug0 { 299c66ec88fSEmmanuel Vadot cpu = <&A57_0>; 300c66ec88fSEmmanuel Vadot}; 301c66ec88fSEmmanuel Vadot 302c66ec88fSEmmanuel Vadot&cpu_debug1 { 303c66ec88fSEmmanuel Vadot cpu = <&A57_1>; 304c66ec88fSEmmanuel Vadot}; 305c66ec88fSEmmanuel Vadot 306c66ec88fSEmmanuel Vadot&cpu_debug2 { 307c66ec88fSEmmanuel Vadot cpu = <&A53_0>; 308c66ec88fSEmmanuel Vadot}; 309c66ec88fSEmmanuel Vadot 310c66ec88fSEmmanuel Vadot&cpu_debug3 { 311c66ec88fSEmmanuel Vadot cpu = <&A53_1>; 312c66ec88fSEmmanuel Vadot}; 313c66ec88fSEmmanuel Vadot 314c66ec88fSEmmanuel Vadot&cpu_debug4 { 315c66ec88fSEmmanuel Vadot cpu = <&A53_2>; 316c66ec88fSEmmanuel Vadot}; 317c66ec88fSEmmanuel Vadot 318c66ec88fSEmmanuel Vadot&cpu_debug5 { 319c66ec88fSEmmanuel Vadot cpu = <&A53_3>; 320c66ec88fSEmmanuel Vadot}; 321d5b0e70fSEmmanuel Vadot 322d5b0e70fSEmmanuel Vadot&cti0 { 323d5b0e70fSEmmanuel Vadot cpu = <&A57_0>; 324d5b0e70fSEmmanuel Vadot}; 325d5b0e70fSEmmanuel Vadot 326d5b0e70fSEmmanuel Vadot&cti1 { 327d5b0e70fSEmmanuel Vadot cpu = <&A57_1>; 328d5b0e70fSEmmanuel Vadot}; 329d5b0e70fSEmmanuel Vadot 330d5b0e70fSEmmanuel Vadot&cti2 { 331d5b0e70fSEmmanuel Vadot cpu = <&A53_0>; 332d5b0e70fSEmmanuel Vadot}; 333d5b0e70fSEmmanuel Vadot 334d5b0e70fSEmmanuel Vadot&cti3 { 335d5b0e70fSEmmanuel Vadot cpu = <&A53_1>; 336d5b0e70fSEmmanuel Vadot}; 337d5b0e70fSEmmanuel Vadot 338d5b0e70fSEmmanuel Vadot&cti4 { 339d5b0e70fSEmmanuel Vadot cpu = <&A53_2>; 340d5b0e70fSEmmanuel Vadot}; 341d5b0e70fSEmmanuel Vadot 342d5b0e70fSEmmanuel Vadot&cti5 { 343d5b0e70fSEmmanuel Vadot cpu = <&A53_3>; 344d5b0e70fSEmmanuel Vadot}; 345