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