2017-12-25 17:40:09 +07:00
|
|
|
// SPDX-License-Identifier: GPL-2.0
|
2015-07-30 21:11:00 +07:00
|
|
|
/*
|
2020-01-04 22:20:50 +07:00
|
|
|
* Samsung Exynos5422 SoC cpu device tree source
|
2015-07-30 21:11:00 +07:00
|
|
|
*
|
|
|
|
* Copyright (c) 2015 Samsung Electronics Co., Ltd.
|
|
|
|
* http://www.samsung.com
|
|
|
|
*
|
2015-12-11 13:05:56 +07:00
|
|
|
* This file provides desired ordering for Exynos5422: CPU[0123] being the A7.
|
2015-07-30 21:11:00 +07:00
|
|
|
*
|
2015-12-11 13:05:56 +07:00
|
|
|
* The Exynos5420, 5422 and 5800 actually share the same CPU configuration
|
|
|
|
* but particular boards choose different booting order.
|
|
|
|
*
|
|
|
|
* Exynos5420 and Exynos5800 always boot from Cortex-A15. On Exynos5422
|
|
|
|
* booting cluster (big or LITTLE) is chosen by IROM code by reading
|
|
|
|
* the gpg2-1 GPIO. By default all Exynos5422 based boards choose booting
|
|
|
|
* from the LITTLE: Cortex-A7.
|
2015-07-30 21:11:00 +07:00
|
|
|
*/
|
|
|
|
|
2015-12-11 13:05:56 +07:00
|
|
|
/ {
|
|
|
|
cpus {
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <0>;
|
2015-07-30 21:11:00 +07:00
|
|
|
|
2015-12-11 13:05:56 +07:00
|
|
|
cpu0: cpu@100 {
|
|
|
|
device_type = "cpu";
|
|
|
|
compatible = "arm,cortex-a7";
|
|
|
|
reg = <0x100>;
|
2015-12-16 00:33:17 +07:00
|
|
|
clocks = <&clock CLK_KFC_CLK>;
|
2015-12-11 13:05:56 +07:00
|
|
|
clock-frequency = <1000000000>;
|
|
|
|
cci-control-port = <&cci_control0>;
|
2015-12-16 00:33:17 +07:00
|
|
|
operating-points-v2 = <&cluster_a7_opp_table>;
|
2016-02-18 12:13:02 +07:00
|
|
|
#cooling-cells = <2>; /* min followed by max */
|
2017-08-30 21:41:19 +07:00
|
|
|
capacity-dmips-mhz = <539>;
|
2015-12-11 13:05:56 +07:00
|
|
|
};
|
2015-07-30 21:11:00 +07:00
|
|
|
|
2015-12-11 13:05:56 +07:00
|
|
|
cpu1: cpu@101 {
|
|
|
|
device_type = "cpu";
|
|
|
|
compatible = "arm,cortex-a7";
|
|
|
|
reg = <0x101>;
|
2018-05-30 23:49:22 +07:00
|
|
|
clocks = <&clock CLK_KFC_CLK>;
|
2015-12-11 13:05:56 +07:00
|
|
|
clock-frequency = <1000000000>;
|
|
|
|
cci-control-port = <&cci_control0>;
|
2015-12-16 00:33:17 +07:00
|
|
|
operating-points-v2 = <&cluster_a7_opp_table>;
|
2016-02-18 12:13:02 +07:00
|
|
|
#cooling-cells = <2>; /* min followed by max */
|
2017-08-30 21:41:19 +07:00
|
|
|
capacity-dmips-mhz = <539>;
|
2015-12-11 13:05:56 +07:00
|
|
|
};
|
2015-07-30 21:11:00 +07:00
|
|
|
|
2015-12-11 13:05:56 +07:00
|
|
|
cpu2: cpu@102 {
|
|
|
|
device_type = "cpu";
|
|
|
|
compatible = "arm,cortex-a7";
|
|
|
|
reg = <0x102>;
|
2018-05-30 23:49:22 +07:00
|
|
|
clocks = <&clock CLK_KFC_CLK>;
|
2015-12-11 13:05:56 +07:00
|
|
|
clock-frequency = <1000000000>;
|
|
|
|
cci-control-port = <&cci_control0>;
|
2015-12-16 00:33:17 +07:00
|
|
|
operating-points-v2 = <&cluster_a7_opp_table>;
|
2016-02-18 12:13:02 +07:00
|
|
|
#cooling-cells = <2>; /* min followed by max */
|
2017-08-30 21:41:19 +07:00
|
|
|
capacity-dmips-mhz = <539>;
|
2015-12-11 13:05:56 +07:00
|
|
|
};
|
2015-07-30 21:11:00 +07:00
|
|
|
|
2015-12-11 13:05:56 +07:00
|
|
|
cpu3: cpu@103 {
|
|
|
|
device_type = "cpu";
|
|
|
|
compatible = "arm,cortex-a7";
|
|
|
|
reg = <0x103>;
|
2018-05-30 23:49:22 +07:00
|
|
|
clocks = <&clock CLK_KFC_CLK>;
|
2015-12-11 13:05:56 +07:00
|
|
|
clock-frequency = <1000000000>;
|
|
|
|
cci-control-port = <&cci_control0>;
|
2015-12-16 00:33:17 +07:00
|
|
|
operating-points-v2 = <&cluster_a7_opp_table>;
|
2016-02-18 12:13:02 +07:00
|
|
|
#cooling-cells = <2>; /* min followed by max */
|
2017-08-30 21:41:19 +07:00
|
|
|
capacity-dmips-mhz = <539>;
|
2015-12-11 13:05:56 +07:00
|
|
|
};
|
2015-07-30 21:11:00 +07:00
|
|
|
|
2015-12-11 13:05:56 +07:00
|
|
|
cpu4: cpu@0 {
|
|
|
|
device_type = "cpu";
|
|
|
|
compatible = "arm,cortex-a15";
|
|
|
|
reg = <0x0>;
|
2018-05-30 23:49:22 +07:00
|
|
|
clocks = <&clock CLK_ARM_CLK>;
|
2015-12-11 13:05:56 +07:00
|
|
|
clock-frequency = <1800000000>;
|
|
|
|
cci-control-port = <&cci_control1>;
|
2015-12-16 00:33:17 +07:00
|
|
|
operating-points-v2 = <&cluster_a15_opp_table>;
|
2016-02-18 12:13:02 +07:00
|
|
|
#cooling-cells = <2>; /* min followed by max */
|
2017-08-30 21:41:19 +07:00
|
|
|
capacity-dmips-mhz = <1024>;
|
2015-12-11 13:05:56 +07:00
|
|
|
};
|
2015-07-30 21:11:00 +07:00
|
|
|
|
2015-12-11 13:05:56 +07:00
|
|
|
cpu5: cpu@1 {
|
|
|
|
device_type = "cpu";
|
|
|
|
compatible = "arm,cortex-a15";
|
|
|
|
reg = <0x1>;
|
2018-05-30 23:49:22 +07:00
|
|
|
clocks = <&clock CLK_ARM_CLK>;
|
2015-12-11 13:05:56 +07:00
|
|
|
clock-frequency = <1800000000>;
|
|
|
|
cci-control-port = <&cci_control1>;
|
2015-12-16 00:33:17 +07:00
|
|
|
operating-points-v2 = <&cluster_a15_opp_table>;
|
2016-02-18 12:13:02 +07:00
|
|
|
#cooling-cells = <2>; /* min followed by max */
|
2017-08-30 21:41:19 +07:00
|
|
|
capacity-dmips-mhz = <1024>;
|
2015-12-11 13:05:56 +07:00
|
|
|
};
|
|
|
|
|
|
|
|
cpu6: cpu@2 {
|
|
|
|
device_type = "cpu";
|
|
|
|
compatible = "arm,cortex-a15";
|
|
|
|
reg = <0x2>;
|
2018-05-30 23:49:22 +07:00
|
|
|
clocks = <&clock CLK_ARM_CLK>;
|
2015-12-11 13:05:56 +07:00
|
|
|
clock-frequency = <1800000000>;
|
|
|
|
cci-control-port = <&cci_control1>;
|
2015-12-16 00:33:17 +07:00
|
|
|
operating-points-v2 = <&cluster_a15_opp_table>;
|
2016-02-18 12:13:02 +07:00
|
|
|
#cooling-cells = <2>; /* min followed by max */
|
2017-08-30 21:41:19 +07:00
|
|
|
capacity-dmips-mhz = <1024>;
|
2015-12-11 13:05:56 +07:00
|
|
|
};
|
2015-07-30 21:11:00 +07:00
|
|
|
|
2015-12-11 13:05:56 +07:00
|
|
|
cpu7: cpu@3 {
|
|
|
|
device_type = "cpu";
|
|
|
|
compatible = "arm,cortex-a15";
|
|
|
|
reg = <0x3>;
|
2018-05-30 23:49:22 +07:00
|
|
|
clocks = <&clock CLK_ARM_CLK>;
|
2015-12-11 13:05:56 +07:00
|
|
|
clock-frequency = <1800000000>;
|
|
|
|
cci-control-port = <&cci_control1>;
|
2015-12-16 00:33:17 +07:00
|
|
|
operating-points-v2 = <&cluster_a15_opp_table>;
|
2016-02-18 12:13:02 +07:00
|
|
|
#cooling-cells = <2>; /* min followed by max */
|
2017-08-30 21:41:19 +07:00
|
|
|
capacity-dmips-mhz = <1024>;
|
2015-12-11 13:05:56 +07:00
|
|
|
};
|
|
|
|
};
|
2015-07-30 21:11:00 +07:00
|
|
|
};
|
2017-11-23 21:34:30 +07:00
|
|
|
|
|
|
|
&arm_a7_pmu {
|
|
|
|
interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
|
|
|
|
status = "okay";
|
|
|
|
};
|
|
|
|
|
|
|
|
&arm_a15_pmu {
|
|
|
|
interrupt-affinity = <&cpu4>, <&cpu5>, <&cpu6>, <&cpu7>;
|
|
|
|
status = "okay";
|
|
|
|
};
|