xref: /freebsd/sys/contrib/device-tree/src/arm/samsung/exynos5422-cpus.dtsi (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
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