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