18c2ecf20Sopenharmony_ci/* 28c2ecf20Sopenharmony_ci * ARM Ltd. Juno Platform 38c2ecf20Sopenharmony_ci * 48c2ecf20Sopenharmony_ci * Copyright (c) 2015 ARM Ltd. 58c2ecf20Sopenharmony_ci * 68c2ecf20Sopenharmony_ci * This file is licensed under a dual GPLv2 or BSD license. 78c2ecf20Sopenharmony_ci */ 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci/dts-v1/; 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci#include <dt-bindings/interrupt-controller/arm-gic.h> 128c2ecf20Sopenharmony_ci#include "juno-base.dtsi" 138c2ecf20Sopenharmony_ci#include "juno-cs-r1r2.dtsi" 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci/ { 168c2ecf20Sopenharmony_ci model = "ARM Juno development board (r2)"; 178c2ecf20Sopenharmony_ci compatible = "arm,juno-r2", "arm,juno", "arm,vexpress"; 188c2ecf20Sopenharmony_ci interrupt-parent = <&gic>; 198c2ecf20Sopenharmony_ci #address-cells = <2>; 208c2ecf20Sopenharmony_ci #size-cells = <2>; 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ci aliases { 238c2ecf20Sopenharmony_ci serial0 = &soc_uart0; 248c2ecf20Sopenharmony_ci }; 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ci chosen { 278c2ecf20Sopenharmony_ci stdout-path = "serial0:115200n8"; 288c2ecf20Sopenharmony_ci }; 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ci psci { 318c2ecf20Sopenharmony_ci compatible = "arm,psci-0.2"; 328c2ecf20Sopenharmony_ci method = "smc"; 338c2ecf20Sopenharmony_ci }; 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ci cpus { 368c2ecf20Sopenharmony_ci #address-cells = <2>; 378c2ecf20Sopenharmony_ci #size-cells = <0>; 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ci cpu-map { 408c2ecf20Sopenharmony_ci cluster0 { 418c2ecf20Sopenharmony_ci core0 { 428c2ecf20Sopenharmony_ci cpu = <&A72_0>; 438c2ecf20Sopenharmony_ci }; 448c2ecf20Sopenharmony_ci core1 { 458c2ecf20Sopenharmony_ci cpu = <&A72_1>; 468c2ecf20Sopenharmony_ci }; 478c2ecf20Sopenharmony_ci }; 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_ci cluster1 { 508c2ecf20Sopenharmony_ci core0 { 518c2ecf20Sopenharmony_ci cpu = <&A53_0>; 528c2ecf20Sopenharmony_ci }; 538c2ecf20Sopenharmony_ci core1 { 548c2ecf20Sopenharmony_ci cpu = <&A53_1>; 558c2ecf20Sopenharmony_ci }; 568c2ecf20Sopenharmony_ci core2 { 578c2ecf20Sopenharmony_ci cpu = <&A53_2>; 588c2ecf20Sopenharmony_ci }; 598c2ecf20Sopenharmony_ci core3 { 608c2ecf20Sopenharmony_ci cpu = <&A53_3>; 618c2ecf20Sopenharmony_ci }; 628c2ecf20Sopenharmony_ci }; 638c2ecf20Sopenharmony_ci }; 648c2ecf20Sopenharmony_ci 658c2ecf20Sopenharmony_ci idle-states { 668c2ecf20Sopenharmony_ci entry-method = "psci"; 678c2ecf20Sopenharmony_ci 688c2ecf20Sopenharmony_ci CPU_SLEEP_0: cpu-sleep-0 { 698c2ecf20Sopenharmony_ci compatible = "arm,idle-state"; 708c2ecf20Sopenharmony_ci arm,psci-suspend-param = <0x0010000>; 718c2ecf20Sopenharmony_ci local-timer-stop; 728c2ecf20Sopenharmony_ci entry-latency-us = <300>; 738c2ecf20Sopenharmony_ci exit-latency-us = <1200>; 748c2ecf20Sopenharmony_ci min-residency-us = <2000>; 758c2ecf20Sopenharmony_ci }; 768c2ecf20Sopenharmony_ci 778c2ecf20Sopenharmony_ci CLUSTER_SLEEP_0: cluster-sleep-0 { 788c2ecf20Sopenharmony_ci compatible = "arm,idle-state"; 798c2ecf20Sopenharmony_ci arm,psci-suspend-param = <0x1010000>; 808c2ecf20Sopenharmony_ci local-timer-stop; 818c2ecf20Sopenharmony_ci entry-latency-us = <400>; 828c2ecf20Sopenharmony_ci exit-latency-us = <1200>; 838c2ecf20Sopenharmony_ci min-residency-us = <2500>; 848c2ecf20Sopenharmony_ci }; 858c2ecf20Sopenharmony_ci }; 868c2ecf20Sopenharmony_ci 878c2ecf20Sopenharmony_ci A72_0: cpu@0 { 888c2ecf20Sopenharmony_ci compatible = "arm,cortex-a72"; 898c2ecf20Sopenharmony_ci reg = <0x0 0x0>; 908c2ecf20Sopenharmony_ci device_type = "cpu"; 918c2ecf20Sopenharmony_ci enable-method = "psci"; 928c2ecf20Sopenharmony_ci i-cache-size = <0xc000>; 938c2ecf20Sopenharmony_ci i-cache-line-size = <64>; 948c2ecf20Sopenharmony_ci i-cache-sets = <256>; 958c2ecf20Sopenharmony_ci d-cache-size = <0x8000>; 968c2ecf20Sopenharmony_ci d-cache-line-size = <64>; 978c2ecf20Sopenharmony_ci d-cache-sets = <256>; 988c2ecf20Sopenharmony_ci next-level-cache = <&A72_L2>; 998c2ecf20Sopenharmony_ci clocks = <&scpi_dvfs 0>; 1008c2ecf20Sopenharmony_ci cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; 1018c2ecf20Sopenharmony_ci capacity-dmips-mhz = <1024>; 1028c2ecf20Sopenharmony_ci dynamic-power-coefficient = <450>; 1038c2ecf20Sopenharmony_ci }; 1048c2ecf20Sopenharmony_ci 1058c2ecf20Sopenharmony_ci A72_1: cpu@1 { 1068c2ecf20Sopenharmony_ci compatible = "arm,cortex-a72"; 1078c2ecf20Sopenharmony_ci reg = <0x0 0x1>; 1088c2ecf20Sopenharmony_ci device_type = "cpu"; 1098c2ecf20Sopenharmony_ci enable-method = "psci"; 1108c2ecf20Sopenharmony_ci i-cache-size = <0xc000>; 1118c2ecf20Sopenharmony_ci i-cache-line-size = <64>; 1128c2ecf20Sopenharmony_ci i-cache-sets = <256>; 1138c2ecf20Sopenharmony_ci d-cache-size = <0x8000>; 1148c2ecf20Sopenharmony_ci d-cache-line-size = <64>; 1158c2ecf20Sopenharmony_ci d-cache-sets = <256>; 1168c2ecf20Sopenharmony_ci next-level-cache = <&A72_L2>; 1178c2ecf20Sopenharmony_ci clocks = <&scpi_dvfs 0>; 1188c2ecf20Sopenharmony_ci cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; 1198c2ecf20Sopenharmony_ci capacity-dmips-mhz = <1024>; 1208c2ecf20Sopenharmony_ci dynamic-power-coefficient = <450>; 1218c2ecf20Sopenharmony_ci }; 1228c2ecf20Sopenharmony_ci 1238c2ecf20Sopenharmony_ci A53_0: cpu@100 { 1248c2ecf20Sopenharmony_ci compatible = "arm,cortex-a53"; 1258c2ecf20Sopenharmony_ci reg = <0x0 0x100>; 1268c2ecf20Sopenharmony_ci device_type = "cpu"; 1278c2ecf20Sopenharmony_ci enable-method = "psci"; 1288c2ecf20Sopenharmony_ci i-cache-size = <0x8000>; 1298c2ecf20Sopenharmony_ci i-cache-line-size = <64>; 1308c2ecf20Sopenharmony_ci i-cache-sets = <256>; 1318c2ecf20Sopenharmony_ci d-cache-size = <0x8000>; 1328c2ecf20Sopenharmony_ci d-cache-line-size = <64>; 1338c2ecf20Sopenharmony_ci d-cache-sets = <128>; 1348c2ecf20Sopenharmony_ci next-level-cache = <&A53_L2>; 1358c2ecf20Sopenharmony_ci clocks = <&scpi_dvfs 1>; 1368c2ecf20Sopenharmony_ci cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; 1378c2ecf20Sopenharmony_ci capacity-dmips-mhz = <485>; 1388c2ecf20Sopenharmony_ci dynamic-power-coefficient = <140>; 1398c2ecf20Sopenharmony_ci }; 1408c2ecf20Sopenharmony_ci 1418c2ecf20Sopenharmony_ci A53_1: cpu@101 { 1428c2ecf20Sopenharmony_ci compatible = "arm,cortex-a53"; 1438c2ecf20Sopenharmony_ci reg = <0x0 0x101>; 1448c2ecf20Sopenharmony_ci device_type = "cpu"; 1458c2ecf20Sopenharmony_ci enable-method = "psci"; 1468c2ecf20Sopenharmony_ci i-cache-size = <0x8000>; 1478c2ecf20Sopenharmony_ci i-cache-line-size = <64>; 1488c2ecf20Sopenharmony_ci i-cache-sets = <256>; 1498c2ecf20Sopenharmony_ci d-cache-size = <0x8000>; 1508c2ecf20Sopenharmony_ci d-cache-line-size = <64>; 1518c2ecf20Sopenharmony_ci d-cache-sets = <128>; 1528c2ecf20Sopenharmony_ci next-level-cache = <&A53_L2>; 1538c2ecf20Sopenharmony_ci clocks = <&scpi_dvfs 1>; 1548c2ecf20Sopenharmony_ci cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; 1558c2ecf20Sopenharmony_ci capacity-dmips-mhz = <485>; 1568c2ecf20Sopenharmony_ci dynamic-power-coefficient = <140>; 1578c2ecf20Sopenharmony_ci }; 1588c2ecf20Sopenharmony_ci 1598c2ecf20Sopenharmony_ci A53_2: cpu@102 { 1608c2ecf20Sopenharmony_ci compatible = "arm,cortex-a53"; 1618c2ecf20Sopenharmony_ci reg = <0x0 0x102>; 1628c2ecf20Sopenharmony_ci device_type = "cpu"; 1638c2ecf20Sopenharmony_ci enable-method = "psci"; 1648c2ecf20Sopenharmony_ci i-cache-size = <0x8000>; 1658c2ecf20Sopenharmony_ci i-cache-line-size = <64>; 1668c2ecf20Sopenharmony_ci i-cache-sets = <256>; 1678c2ecf20Sopenharmony_ci d-cache-size = <0x8000>; 1688c2ecf20Sopenharmony_ci d-cache-line-size = <64>; 1698c2ecf20Sopenharmony_ci d-cache-sets = <128>; 1708c2ecf20Sopenharmony_ci next-level-cache = <&A53_L2>; 1718c2ecf20Sopenharmony_ci clocks = <&scpi_dvfs 1>; 1728c2ecf20Sopenharmony_ci cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; 1738c2ecf20Sopenharmony_ci capacity-dmips-mhz = <485>; 1748c2ecf20Sopenharmony_ci dynamic-power-coefficient = <140>; 1758c2ecf20Sopenharmony_ci }; 1768c2ecf20Sopenharmony_ci 1778c2ecf20Sopenharmony_ci A53_3: cpu@103 { 1788c2ecf20Sopenharmony_ci compatible = "arm,cortex-a53"; 1798c2ecf20Sopenharmony_ci reg = <0x0 0x103>; 1808c2ecf20Sopenharmony_ci device_type = "cpu"; 1818c2ecf20Sopenharmony_ci enable-method = "psci"; 1828c2ecf20Sopenharmony_ci i-cache-size = <0x8000>; 1838c2ecf20Sopenharmony_ci i-cache-line-size = <64>; 1848c2ecf20Sopenharmony_ci i-cache-sets = <256>; 1858c2ecf20Sopenharmony_ci d-cache-size = <0x8000>; 1868c2ecf20Sopenharmony_ci d-cache-line-size = <64>; 1878c2ecf20Sopenharmony_ci d-cache-sets = <128>; 1888c2ecf20Sopenharmony_ci next-level-cache = <&A53_L2>; 1898c2ecf20Sopenharmony_ci clocks = <&scpi_dvfs 1>; 1908c2ecf20Sopenharmony_ci cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; 1918c2ecf20Sopenharmony_ci capacity-dmips-mhz = <485>; 1928c2ecf20Sopenharmony_ci dynamic-power-coefficient = <140>; 1938c2ecf20Sopenharmony_ci }; 1948c2ecf20Sopenharmony_ci 1958c2ecf20Sopenharmony_ci A72_L2: l2-cache0 { 1968c2ecf20Sopenharmony_ci compatible = "cache"; 1978c2ecf20Sopenharmony_ci cache-size = <0x200000>; 1988c2ecf20Sopenharmony_ci cache-line-size = <64>; 1998c2ecf20Sopenharmony_ci cache-sets = <2048>; 2008c2ecf20Sopenharmony_ci }; 2018c2ecf20Sopenharmony_ci 2028c2ecf20Sopenharmony_ci A53_L2: l2-cache1 { 2038c2ecf20Sopenharmony_ci compatible = "cache"; 2048c2ecf20Sopenharmony_ci cache-size = <0x100000>; 2058c2ecf20Sopenharmony_ci cache-line-size = <64>; 2068c2ecf20Sopenharmony_ci cache-sets = <1024>; 2078c2ecf20Sopenharmony_ci }; 2088c2ecf20Sopenharmony_ci }; 2098c2ecf20Sopenharmony_ci 2108c2ecf20Sopenharmony_ci pmu-a72 { 2118c2ecf20Sopenharmony_ci compatible = "arm,cortex-a72-pmu"; 2128c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 02 IRQ_TYPE_LEVEL_HIGH>, 2138c2ecf20Sopenharmony_ci <GIC_SPI 06 IRQ_TYPE_LEVEL_HIGH>; 2148c2ecf20Sopenharmony_ci interrupt-affinity = <&A72_0>, 2158c2ecf20Sopenharmony_ci <&A72_1>; 2168c2ecf20Sopenharmony_ci }; 2178c2ecf20Sopenharmony_ci 2188c2ecf20Sopenharmony_ci pmu-a53 { 2198c2ecf20Sopenharmony_ci compatible = "arm,cortex-a53-pmu"; 2208c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>, 2218c2ecf20Sopenharmony_ci <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>, 2228c2ecf20Sopenharmony_ci <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>, 2238c2ecf20Sopenharmony_ci <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 2248c2ecf20Sopenharmony_ci interrupt-affinity = <&A53_0>, 2258c2ecf20Sopenharmony_ci <&A53_1>, 2268c2ecf20Sopenharmony_ci <&A53_2>, 2278c2ecf20Sopenharmony_ci <&A53_3>; 2288c2ecf20Sopenharmony_ci }; 2298c2ecf20Sopenharmony_ci}; 2308c2ecf20Sopenharmony_ci 2318c2ecf20Sopenharmony_ci&memtimer { 2328c2ecf20Sopenharmony_ci status = "okay"; 2338c2ecf20Sopenharmony_ci}; 2348c2ecf20Sopenharmony_ci 2358c2ecf20Sopenharmony_ci&pcie_ctlr { 2368c2ecf20Sopenharmony_ci status = "okay"; 2378c2ecf20Sopenharmony_ci}; 2388c2ecf20Sopenharmony_ci 2398c2ecf20Sopenharmony_ci&etm0 { 2408c2ecf20Sopenharmony_ci cpu = <&A72_0>; 2418c2ecf20Sopenharmony_ci}; 2428c2ecf20Sopenharmony_ci 2438c2ecf20Sopenharmony_ci&etm1 { 2448c2ecf20Sopenharmony_ci cpu = <&A72_1>; 2458c2ecf20Sopenharmony_ci}; 2468c2ecf20Sopenharmony_ci 2478c2ecf20Sopenharmony_ci&etm2 { 2488c2ecf20Sopenharmony_ci cpu = <&A53_0>; 2498c2ecf20Sopenharmony_ci}; 2508c2ecf20Sopenharmony_ci 2518c2ecf20Sopenharmony_ci&etm3 { 2528c2ecf20Sopenharmony_ci cpu = <&A53_1>; 2538c2ecf20Sopenharmony_ci}; 2548c2ecf20Sopenharmony_ci 2558c2ecf20Sopenharmony_ci&etm4 { 2568c2ecf20Sopenharmony_ci cpu = <&A53_2>; 2578c2ecf20Sopenharmony_ci}; 2588c2ecf20Sopenharmony_ci 2598c2ecf20Sopenharmony_ci&etm5 { 2608c2ecf20Sopenharmony_ci cpu = <&A53_3>; 2618c2ecf20Sopenharmony_ci}; 2628c2ecf20Sopenharmony_ci 2638c2ecf20Sopenharmony_ci&big_cluster_thermal_zone { 2648c2ecf20Sopenharmony_ci status = "okay"; 2658c2ecf20Sopenharmony_ci}; 2668c2ecf20Sopenharmony_ci 2678c2ecf20Sopenharmony_ci&little_cluster_thermal_zone { 2688c2ecf20Sopenharmony_ci status = "okay"; 2698c2ecf20Sopenharmony_ci}; 2708c2ecf20Sopenharmony_ci 2718c2ecf20Sopenharmony_ci&gpu0_thermal_zone { 2728c2ecf20Sopenharmony_ci status = "okay"; 2738c2ecf20Sopenharmony_ci}; 2748c2ecf20Sopenharmony_ci 2758c2ecf20Sopenharmony_ci&gpu1_thermal_zone { 2768c2ecf20Sopenharmony_ci status = "okay"; 2778c2ecf20Sopenharmony_ci}; 2788c2ecf20Sopenharmony_ci 2798c2ecf20Sopenharmony_ci&etf0_out_port { 2808c2ecf20Sopenharmony_ci remote-endpoint = <&csys2_funnel_in_port0>; 2818c2ecf20Sopenharmony_ci}; 2828c2ecf20Sopenharmony_ci 2838c2ecf20Sopenharmony_ci&replicator_in_port0 { 2848c2ecf20Sopenharmony_ci remote-endpoint = <&csys2_funnel_out_port>; 2858c2ecf20Sopenharmony_ci}; 2868c2ecf20Sopenharmony_ci 2878c2ecf20Sopenharmony_ci&csys1_funnel_in_port0 { 2888c2ecf20Sopenharmony_ci remote-endpoint = <&stm_out_port>; 2898c2ecf20Sopenharmony_ci}; 2908c2ecf20Sopenharmony_ci 2918c2ecf20Sopenharmony_ci&stm_out_port { 2928c2ecf20Sopenharmony_ci remote-endpoint = <&csys1_funnel_in_port0>; 2938c2ecf20Sopenharmony_ci}; 2948c2ecf20Sopenharmony_ci 2958c2ecf20Sopenharmony_ci&cpu_debug0 { 2968c2ecf20Sopenharmony_ci cpu = <&A72_0>; 2978c2ecf20Sopenharmony_ci}; 2988c2ecf20Sopenharmony_ci 2998c2ecf20Sopenharmony_ci&cpu_debug1 { 3008c2ecf20Sopenharmony_ci cpu = <&A72_1>; 3018c2ecf20Sopenharmony_ci}; 3028c2ecf20Sopenharmony_ci 3038c2ecf20Sopenharmony_ci&cpu_debug2 { 3048c2ecf20Sopenharmony_ci cpu = <&A53_0>; 3058c2ecf20Sopenharmony_ci}; 3068c2ecf20Sopenharmony_ci 3078c2ecf20Sopenharmony_ci&cpu_debug3 { 3088c2ecf20Sopenharmony_ci cpu = <&A53_1>; 3098c2ecf20Sopenharmony_ci}; 3108c2ecf20Sopenharmony_ci 3118c2ecf20Sopenharmony_ci&cpu_debug4 { 3128c2ecf20Sopenharmony_ci cpu = <&A53_2>; 3138c2ecf20Sopenharmony_ci}; 3148c2ecf20Sopenharmony_ci 3158c2ecf20Sopenharmony_ci&cpu_debug5 { 3168c2ecf20Sopenharmony_ci cpu = <&A53_3>; 3178c2ecf20Sopenharmony_ci}; 318