1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 2*f126890aSEmmanuel Vadot/* 3*f126890aSEmmanuel Vadot * Samsung Exynos5420 SoC cpu device tree source 4*f126890aSEmmanuel Vadot * 5*f126890aSEmmanuel Vadot * Copyright (c) 2015 Samsung Electronics Co., Ltd. 6*f126890aSEmmanuel Vadot * http://www.samsung.com 7*f126890aSEmmanuel Vadot * 8*f126890aSEmmanuel Vadot * This file provides desired ordering for Exynos5420 and Exynos5800 9*f126890aSEmmanuel Vadot * boards: CPU[0123] being the A15. 10*f126890aSEmmanuel Vadot * 11*f126890aSEmmanuel Vadot * The Exynos5420, 5422 and 5800 actually share the same CPU configuration 12*f126890aSEmmanuel Vadot * but particular boards choose different booting order. 13*f126890aSEmmanuel Vadot * 14*f126890aSEmmanuel Vadot * Exynos5420 and Exynos5800 always boot from Cortex-A15. On Exynos5422 15*f126890aSEmmanuel Vadot * booting cluster (big or LITTLE) is chosen by IROM code by reading 16*f126890aSEmmanuel Vadot * the gpg2-1 GPIO. By default all Exynos5422 based boards choose booting 17*f126890aSEmmanuel Vadot * from the LITTLE: Cortex-A7. 18*f126890aSEmmanuel Vadot */ 19*f126890aSEmmanuel Vadot 20*f126890aSEmmanuel Vadot/ { 21*f126890aSEmmanuel Vadot cpus { 22*f126890aSEmmanuel Vadot #address-cells = <1>; 23*f126890aSEmmanuel Vadot #size-cells = <0>; 24*f126890aSEmmanuel Vadot 25*f126890aSEmmanuel Vadot cpu-map { 26*f126890aSEmmanuel Vadot cluster0 { 27*f126890aSEmmanuel Vadot core0 { 28*f126890aSEmmanuel Vadot cpu = <&cpu0>; 29*f126890aSEmmanuel Vadot }; 30*f126890aSEmmanuel Vadot core1 { 31*f126890aSEmmanuel Vadot cpu = <&cpu1>; 32*f126890aSEmmanuel Vadot }; 33*f126890aSEmmanuel Vadot core2 { 34*f126890aSEmmanuel Vadot cpu = <&cpu2>; 35*f126890aSEmmanuel Vadot }; 36*f126890aSEmmanuel Vadot core3 { 37*f126890aSEmmanuel Vadot cpu = <&cpu3>; 38*f126890aSEmmanuel Vadot }; 39*f126890aSEmmanuel Vadot }; 40*f126890aSEmmanuel Vadot 41*f126890aSEmmanuel Vadot cluster1 { 42*f126890aSEmmanuel Vadot core0 { 43*f126890aSEmmanuel Vadot cpu = <&cpu4>; 44*f126890aSEmmanuel Vadot }; 45*f126890aSEmmanuel Vadot core1 { 46*f126890aSEmmanuel Vadot cpu = <&cpu5>; 47*f126890aSEmmanuel Vadot }; 48*f126890aSEmmanuel Vadot core2 { 49*f126890aSEmmanuel Vadot cpu = <&cpu6>; 50*f126890aSEmmanuel Vadot }; 51*f126890aSEmmanuel Vadot core3 { 52*f126890aSEmmanuel Vadot cpu = <&cpu7>; 53*f126890aSEmmanuel Vadot }; 54*f126890aSEmmanuel Vadot }; 55*f126890aSEmmanuel Vadot }; 56*f126890aSEmmanuel Vadot 57*f126890aSEmmanuel Vadot cpu0: cpu@0 { 58*f126890aSEmmanuel Vadot device_type = "cpu"; 59*f126890aSEmmanuel Vadot compatible = "arm,cortex-a15"; 60*f126890aSEmmanuel Vadot reg = <0x0>; 61*f126890aSEmmanuel Vadot clocks = <&clock CLK_ARM_CLK>; 62*f126890aSEmmanuel Vadot clock-frequency = <1800000000>; 63*f126890aSEmmanuel Vadot cci-control-port = <&cci_control1>; 64*f126890aSEmmanuel Vadot operating-points-v2 = <&cluster_a15_opp_table>; 65*f126890aSEmmanuel Vadot #cooling-cells = <2>; /* min followed by max */ 66*f126890aSEmmanuel Vadot capacity-dmips-mhz = <1024>; 67*f126890aSEmmanuel Vadot }; 68*f126890aSEmmanuel Vadot 69*f126890aSEmmanuel Vadot cpu1: cpu@1 { 70*f126890aSEmmanuel Vadot device_type = "cpu"; 71*f126890aSEmmanuel Vadot compatible = "arm,cortex-a15"; 72*f126890aSEmmanuel Vadot reg = <0x1>; 73*f126890aSEmmanuel Vadot clocks = <&clock CLK_ARM_CLK>; 74*f126890aSEmmanuel Vadot clock-frequency = <1800000000>; 75*f126890aSEmmanuel Vadot cci-control-port = <&cci_control1>; 76*f126890aSEmmanuel Vadot operating-points-v2 = <&cluster_a15_opp_table>; 77*f126890aSEmmanuel Vadot #cooling-cells = <2>; /* min followed by max */ 78*f126890aSEmmanuel Vadot capacity-dmips-mhz = <1024>; 79*f126890aSEmmanuel Vadot }; 80*f126890aSEmmanuel Vadot 81*f126890aSEmmanuel Vadot cpu2: cpu@2 { 82*f126890aSEmmanuel Vadot device_type = "cpu"; 83*f126890aSEmmanuel Vadot compatible = "arm,cortex-a15"; 84*f126890aSEmmanuel Vadot reg = <0x2>; 85*f126890aSEmmanuel Vadot clocks = <&clock CLK_ARM_CLK>; 86*f126890aSEmmanuel Vadot clock-frequency = <1800000000>; 87*f126890aSEmmanuel Vadot cci-control-port = <&cci_control1>; 88*f126890aSEmmanuel Vadot operating-points-v2 = <&cluster_a15_opp_table>; 89*f126890aSEmmanuel Vadot #cooling-cells = <2>; /* min followed by max */ 90*f126890aSEmmanuel Vadot capacity-dmips-mhz = <1024>; 91*f126890aSEmmanuel Vadot }; 92*f126890aSEmmanuel Vadot 93*f126890aSEmmanuel Vadot cpu3: cpu@3 { 94*f126890aSEmmanuel Vadot device_type = "cpu"; 95*f126890aSEmmanuel Vadot compatible = "arm,cortex-a15"; 96*f126890aSEmmanuel Vadot reg = <0x3>; 97*f126890aSEmmanuel Vadot clocks = <&clock CLK_ARM_CLK>; 98*f126890aSEmmanuel Vadot clock-frequency = <1800000000>; 99*f126890aSEmmanuel Vadot cci-control-port = <&cci_control1>; 100*f126890aSEmmanuel Vadot operating-points-v2 = <&cluster_a15_opp_table>; 101*f126890aSEmmanuel Vadot #cooling-cells = <2>; /* min followed by max */ 102*f126890aSEmmanuel Vadot capacity-dmips-mhz = <1024>; 103*f126890aSEmmanuel Vadot }; 104*f126890aSEmmanuel Vadot 105*f126890aSEmmanuel Vadot cpu4: cpu@100 { 106*f126890aSEmmanuel Vadot device_type = "cpu"; 107*f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 108*f126890aSEmmanuel Vadot reg = <0x100>; 109*f126890aSEmmanuel Vadot clocks = <&clock CLK_KFC_CLK>; 110*f126890aSEmmanuel Vadot clock-frequency = <1000000000>; 111*f126890aSEmmanuel Vadot cci-control-port = <&cci_control0>; 112*f126890aSEmmanuel Vadot operating-points-v2 = <&cluster_a7_opp_table>; 113*f126890aSEmmanuel Vadot #cooling-cells = <2>; /* min followed by max */ 114*f126890aSEmmanuel Vadot capacity-dmips-mhz = <539>; 115*f126890aSEmmanuel Vadot }; 116*f126890aSEmmanuel Vadot 117*f126890aSEmmanuel Vadot cpu5: cpu@101 { 118*f126890aSEmmanuel Vadot device_type = "cpu"; 119*f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 120*f126890aSEmmanuel Vadot reg = <0x101>; 121*f126890aSEmmanuel Vadot clocks = <&clock CLK_KFC_CLK>; 122*f126890aSEmmanuel Vadot clock-frequency = <1000000000>; 123*f126890aSEmmanuel Vadot cci-control-port = <&cci_control0>; 124*f126890aSEmmanuel Vadot operating-points-v2 = <&cluster_a7_opp_table>; 125*f126890aSEmmanuel Vadot #cooling-cells = <2>; /* min followed by max */ 126*f126890aSEmmanuel Vadot capacity-dmips-mhz = <539>; 127*f126890aSEmmanuel Vadot }; 128*f126890aSEmmanuel Vadot 129*f126890aSEmmanuel Vadot cpu6: cpu@102 { 130*f126890aSEmmanuel Vadot device_type = "cpu"; 131*f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 132*f126890aSEmmanuel Vadot reg = <0x102>; 133*f126890aSEmmanuel Vadot clocks = <&clock CLK_KFC_CLK>; 134*f126890aSEmmanuel Vadot clock-frequency = <1000000000>; 135*f126890aSEmmanuel Vadot cci-control-port = <&cci_control0>; 136*f126890aSEmmanuel Vadot operating-points-v2 = <&cluster_a7_opp_table>; 137*f126890aSEmmanuel Vadot #cooling-cells = <2>; /* min followed by max */ 138*f126890aSEmmanuel Vadot capacity-dmips-mhz = <539>; 139*f126890aSEmmanuel Vadot }; 140*f126890aSEmmanuel Vadot 141*f126890aSEmmanuel Vadot cpu7: cpu@103 { 142*f126890aSEmmanuel Vadot device_type = "cpu"; 143*f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 144*f126890aSEmmanuel Vadot reg = <0x103>; 145*f126890aSEmmanuel Vadot clocks = <&clock CLK_KFC_CLK>; 146*f126890aSEmmanuel Vadot clock-frequency = <1000000000>; 147*f126890aSEmmanuel Vadot cci-control-port = <&cci_control0>; 148*f126890aSEmmanuel Vadot operating-points-v2 = <&cluster_a7_opp_table>; 149*f126890aSEmmanuel Vadot #cooling-cells = <2>; /* min followed by max */ 150*f126890aSEmmanuel Vadot capacity-dmips-mhz = <539>; 151*f126890aSEmmanuel Vadot }; 152*f126890aSEmmanuel Vadot }; 153*f126890aSEmmanuel Vadot}; 154*f126890aSEmmanuel Vadot 155*f126890aSEmmanuel Vadot&arm_a7_pmu { 156*f126890aSEmmanuel Vadot interrupt-affinity = <&cpu4>, <&cpu5>, <&cpu6>, <&cpu7>; 157*f126890aSEmmanuel Vadot status = "okay"; 158*f126890aSEmmanuel Vadot}; 159*f126890aSEmmanuel Vadot 160*f126890aSEmmanuel Vadot&arm_a15_pmu { 161*f126890aSEmmanuel Vadot interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; 162*f126890aSEmmanuel Vadot status = "okay"; 163*f126890aSEmmanuel Vadot}; 164