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