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