blob: 7c130a00d1a8b6fe6027b6302edd9ac16d81ded9 [file] [log] [blame]
Krzysztof Kozlowskicc4637f2017-12-25 11:40:09 +01001// SPDX-License-Identifier: GPL-2.0
Chanho Parkdf09df6f2015-07-30 23:11:00 +09002/*
3 * SAMSUNG EXYNOS5422 SoC cpu device tree source
4 *
5 * Copyright (c) 2015 Samsung Electronics Co., Ltd.
6 * http://www.samsung.com
7 *
Krzysztof Kozlowski4f0d20e2015-12-11 15:05:56 +09008 * This file provides desired ordering for Exynos5422: CPU[0123] being the A7.
Chanho Parkdf09df6f2015-07-30 23:11:00 +09009 *
Krzysztof Kozlowski4f0d20e2015-12-11 15:05:56 +090010 * The Exynos5420, 5422 and 5800 actually share the same CPU configuration
11 * but particular boards choose different booting order.
12 *
13 * Exynos5420 and Exynos5800 always boot from Cortex-A15. On Exynos5422
14 * booting cluster (big or LITTLE) is chosen by IROM code by reading
15 * the gpg2-1 GPIO. By default all Exynos5422 based boards choose booting
16 * from the LITTLE: Cortex-A7.
Chanho Parkdf09df6f2015-07-30 23:11:00 +090017 */
18
Krzysztof Kozlowski4f0d20e2015-12-11 15:05:56 +090019/ {
20 cpus {
21 #address-cells = <1>;
22 #size-cells = <0>;
Chanho Parkdf09df6f2015-07-30 23:11:00 +090023
Krzysztof Kozlowski4f0d20e2015-12-11 15:05:56 +090024 cpu0: cpu@100 {
25 device_type = "cpu";
26 compatible = "arm,cortex-a7";
27 reg = <0x100>;
Thomas Abraham66a4a1f2015-12-15 18:33:17 +010028 clocks = <&clock CLK_KFC_CLK>;
Krzysztof Kozlowski4f0d20e2015-12-11 15:05:56 +090029 clock-frequency = <1000000000>;
30 cci-control-port = <&cci_control0>;
Thomas Abraham66a4a1f2015-12-15 18:33:17 +010031 operating-points-v2 = <&cluster_a7_opp_table>;
Krzysztof Kozlowski3b93fc0f2016-02-18 14:13:02 +090032 #cooling-cells = <2>; /* min followed by max */
Dietmar Eggemann17846542017-08-30 15:41:19 +010033 capacity-dmips-mhz = <539>;
Krzysztof Kozlowski4f0d20e2015-12-11 15:05:56 +090034 };
Chanho Parkdf09df6f2015-07-30 23:11:00 +090035
Krzysztof Kozlowski4f0d20e2015-12-11 15:05:56 +090036 cpu1: cpu@101 {
37 device_type = "cpu";
38 compatible = "arm,cortex-a7";
39 reg = <0x101>;
40 clock-frequency = <1000000000>;
41 cci-control-port = <&cci_control0>;
Thomas Abraham66a4a1f2015-12-15 18:33:17 +010042 operating-points-v2 = <&cluster_a7_opp_table>;
Krzysztof Kozlowski3b93fc0f2016-02-18 14:13:02 +090043 #cooling-cells = <2>; /* min followed by max */
Dietmar Eggemann17846542017-08-30 15:41:19 +010044 capacity-dmips-mhz = <539>;
Krzysztof Kozlowski4f0d20e2015-12-11 15:05:56 +090045 };
Chanho Parkdf09df6f2015-07-30 23:11:00 +090046
Krzysztof Kozlowski4f0d20e2015-12-11 15:05:56 +090047 cpu2: cpu@102 {
48 device_type = "cpu";
49 compatible = "arm,cortex-a7";
50 reg = <0x102>;
51 clock-frequency = <1000000000>;
52 cci-control-port = <&cci_control0>;
Thomas Abraham66a4a1f2015-12-15 18:33:17 +010053 operating-points-v2 = <&cluster_a7_opp_table>;
Krzysztof Kozlowski3b93fc0f2016-02-18 14:13:02 +090054 #cooling-cells = <2>; /* min followed by max */
Dietmar Eggemann17846542017-08-30 15:41:19 +010055 capacity-dmips-mhz = <539>;
Krzysztof Kozlowski4f0d20e2015-12-11 15:05:56 +090056 };
Chanho Parkdf09df6f2015-07-30 23:11:00 +090057
Krzysztof Kozlowski4f0d20e2015-12-11 15:05:56 +090058 cpu3: cpu@103 {
59 device_type = "cpu";
60 compatible = "arm,cortex-a7";
61 reg = <0x103>;
62 clock-frequency = <1000000000>;
63 cci-control-port = <&cci_control0>;
Thomas Abraham66a4a1f2015-12-15 18:33:17 +010064 operating-points-v2 = <&cluster_a7_opp_table>;
Krzysztof Kozlowski3b93fc0f2016-02-18 14:13:02 +090065 #cooling-cells = <2>; /* min followed by max */
Dietmar Eggemann17846542017-08-30 15:41:19 +010066 capacity-dmips-mhz = <539>;
Krzysztof Kozlowski4f0d20e2015-12-11 15:05:56 +090067 };
Chanho Parkdf09df6f2015-07-30 23:11:00 +090068
Krzysztof Kozlowski4f0d20e2015-12-11 15:05:56 +090069 cpu4: cpu@0 {
70 device_type = "cpu";
71 compatible = "arm,cortex-a15";
Thomas Abraham66a4a1f2015-12-15 18:33:17 +010072 clocks = <&clock CLK_ARM_CLK>;
Krzysztof Kozlowski4f0d20e2015-12-11 15:05:56 +090073 reg = <0x0>;
74 clock-frequency = <1800000000>;
75 cci-control-port = <&cci_control1>;
Thomas Abraham66a4a1f2015-12-15 18:33:17 +010076 operating-points-v2 = <&cluster_a15_opp_table>;
Krzysztof Kozlowski3b93fc0f2016-02-18 14:13:02 +090077 #cooling-cells = <2>; /* min followed by max */
Dietmar Eggemann17846542017-08-30 15:41:19 +010078 capacity-dmips-mhz = <1024>;
Krzysztof Kozlowski4f0d20e2015-12-11 15:05:56 +090079 };
Chanho Parkdf09df6f2015-07-30 23:11:00 +090080
Krzysztof Kozlowski4f0d20e2015-12-11 15:05:56 +090081 cpu5: cpu@1 {
82 device_type = "cpu";
83 compatible = "arm,cortex-a15";
84 reg = <0x1>;
85 clock-frequency = <1800000000>;
86 cci-control-port = <&cci_control1>;
Thomas Abraham66a4a1f2015-12-15 18:33:17 +010087 operating-points-v2 = <&cluster_a15_opp_table>;
Krzysztof Kozlowski3b93fc0f2016-02-18 14:13:02 +090088 #cooling-cells = <2>; /* min followed by max */
Dietmar Eggemann17846542017-08-30 15:41:19 +010089 capacity-dmips-mhz = <1024>;
Krzysztof Kozlowski4f0d20e2015-12-11 15:05:56 +090090 };
Chanho Parkdf09df6f2015-07-30 23:11:00 +090091
Krzysztof Kozlowski4f0d20e2015-12-11 15:05:56 +090092 cpu6: cpu@2 {
93 device_type = "cpu";
94 compatible = "arm,cortex-a15";
95 reg = <0x2>;
96 clock-frequency = <1800000000>;
97 cci-control-port = <&cci_control1>;
Thomas Abraham66a4a1f2015-12-15 18:33:17 +010098 operating-points-v2 = <&cluster_a15_opp_table>;
Krzysztof Kozlowski3b93fc0f2016-02-18 14:13:02 +090099 #cooling-cells = <2>; /* min followed by max */
Dietmar Eggemann17846542017-08-30 15:41:19 +0100100 capacity-dmips-mhz = <1024>;
Krzysztof Kozlowski4f0d20e2015-12-11 15:05:56 +0900101 };
102
103 cpu7: cpu@3 {
104 device_type = "cpu";
105 compatible = "arm,cortex-a15";
106 reg = <0x3>;
107 clock-frequency = <1800000000>;
108 cci-control-port = <&cci_control1>;
Thomas Abraham66a4a1f2015-12-15 18:33:17 +0100109 operating-points-v2 = <&cluster_a15_opp_table>;
Krzysztof Kozlowski3b93fc0f2016-02-18 14:13:02 +0900110 #cooling-cells = <2>; /* min followed by max */
Dietmar Eggemann17846542017-08-30 15:41:19 +0100111 capacity-dmips-mhz = <1024>;
Krzysztof Kozlowski4f0d20e2015-12-11 15:05:56 +0900112 };
113 };
Chanho Parkdf09df6f2015-07-30 23:11:00 +0900114};
Marian Mihailescuc4f2fc02017-11-23 15:34:30 +0100115
116&arm_a7_pmu {
117 interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
118 status = "okay";
119};
120
121&arm_a15_pmu {
122 interrupt-affinity = <&cpu4>, <&cpu5>, <&cpu6>, <&cpu7>;
123 status = "okay";
124};