diff mbox

[PATCHv2] ARM: dts: add exynos5422-cpus.dtsi to correct cpu order

Message ID 1433082867-32359-1-git-send-email-chanho61.park@samsung.com (mailing list archive)
State New, archived
Headers show

Commit Message

Chanho Park May 31, 2015, 2:34 p.m. UTC
The odroid-xu3 board which is based on exynos5422 not exynos5800 is
booted from cortex-a7 core unlike exynos5800. The odroid-xu3's cpu order
is quite strange. cpu0 and cpu5-7 are cortex-a7 cores and cpu1-4 are
cortex-a15 cores. To correct this mis-odering, I added exynos5422.dtsi
and reversing cpu orders from exynos5420. Now, cpu0-3 are cortex-a7 and
cpu4-7 are cortex-a15.

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
---
Changes from v1:
 - rename exynos5422.dtsi to exynos5422-cpus.dtsi
 - include the dtsi file top of the exynos5422-odroidxu3.dts

 arch/arm/boot/dts/exynos5422-cpus.dtsi     | 88 ++++++++++++++++++++++++++++++
 arch/arm/boot/dts/exynos5422-odroidxu3.dts |  4 +-
 2 files changed, 91 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/boot/dts/exynos5422-cpus.dtsi

Comments

Krzysztof Kozlowski June 1, 2015, 12:24 a.m. UTC | #1
On 31.05.2015 23:34, Chanho Park wrote:
> The odroid-xu3 board which is based on exynos5422 not exynos5800 is
> booted from cortex-a7 core unlike exynos5800. The odroid-xu3's cpu order
> is quite strange. cpu0 and cpu5-7 are cortex-a7 cores and cpu1-4 are
> cortex-a15 cores. To correct this mis-odering, I added exynos5422.dtsi
> and reversing cpu orders from exynos5420. Now, cpu0-3 are cortex-a7 and
> cpu4-7 are cortex-a15.
> 
> Signed-off-by: Chanho Park <chanho61.park@samsung.com>
> ---
> Changes from v1:
>  - rename exynos5422.dtsi to exynos5422-cpus.dtsi
>  - include the dtsi file top of the exynos5422-odroidxu3.dts
> 
>  arch/arm/boot/dts/exynos5422-cpus.dtsi     | 88 ++++++++++++++++++++++++++++++
>  arch/arm/boot/dts/exynos5422-odroidxu3.dts |  4 +-
>  2 files changed, 91 insertions(+), 1 deletion(-)
>  create mode 100644 arch/arm/boot/dts/exynos5422-cpus.dtsi
> 
> diff --git a/arch/arm/boot/dts/exynos5422-cpus.dtsi b/arch/arm/boot/dts/exynos5422-cpus.dtsi
> new file mode 100644
> index 0000000..d39db49
> --- /dev/null
> +++ b/arch/arm/boot/dts/exynos5422-cpus.dtsi
> @@ -0,0 +1,88 @@
> +/*
> + * SAMSUNG EXYNOS5422 SoC cpu device tree source
> + *
> + * Copyright (c) 2015 Samsung Electronics Co., Ltd.
> + *		http://www.samsung.com
> + *
> + * The only difference between EXYNOS5422 and EXYNOS5800 is cpu ordering. The
> + * EXYNOS5422 is booting from Cortex-A7 core while the EXYNOS5800 is booting
> + * from Cortex-A15 core.
> + *
> + * EXYNOS5422 based board files can include this file to provide cpu ordering
> + * which could boot a cortex-a7 from cpu0.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + */
> +
> +#include "exynos5420.dtsi"
> +
> +/ {
> +	compatible = "samsung,exynos5800", "samsung,exynos5422",
> +		     "samsung,exynos5";
> +};

Drop the include and compatible.

The goal of the file is to override only cpus, not to introduce whole
Exynos5420 node tree.

The exynos5420.dtsi is already included by board file through
exynos5800.dtsi.

Rest looks fine.

Best regards,
Krzysztof


--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Chanho Park June 1, 2015, 12:18 p.m. UTC | #2
Hi,

On Mon, Jun 1, 2015 at 9:24 AM, Krzysztof Kozlowski
<k.kozlowski@samsung.com> wrote:
> On 31.05.2015 23:34, Chanho Park wrote:
>> The odroid-xu3 board which is based on exynos5422 not exynos5800 is
>> booted from cortex-a7 core unlike exynos5800. The odroid-xu3's cpu order
>> is quite strange. cpu0 and cpu5-7 are cortex-a7 cores and cpu1-4 are
>> cortex-a15 cores. To correct this mis-odering, I added exynos5422.dtsi
>> and reversing cpu orders from exynos5420. Now, cpu0-3 are cortex-a7 and
>> cpu4-7 are cortex-a15.
>>
>> Signed-off-by: Chanho Park <chanho61.park@samsung.com>
>> ---
>> Changes from v1:
>>  - rename exynos5422.dtsi to exynos5422-cpus.dtsi
>>  - include the dtsi file top of the exynos5422-odroidxu3.dts
>>
>>  arch/arm/boot/dts/exynos5422-cpus.dtsi     | 88 ++++++++++++++++++++++++++++++
>>  arch/arm/boot/dts/exynos5422-odroidxu3.dts |  4 +-
>>  2 files changed, 91 insertions(+), 1 deletion(-)
>>  create mode 100644 arch/arm/boot/dts/exynos5422-cpus.dtsi
>>
>> diff --git a/arch/arm/boot/dts/exynos5422-cpus.dtsi b/arch/arm/boot/dts/exynos5422-cpus.dtsi
>> new file mode 100644
>> index 0000000..d39db49
>> --- /dev/null
>> +++ b/arch/arm/boot/dts/exynos5422-cpus.dtsi
>> @@ -0,0 +1,88 @@
>> +/*
>> + * SAMSUNG EXYNOS5422 SoC cpu device tree source
>> + *
>> + * Copyright (c) 2015 Samsung Electronics Co., Ltd.
>> + *           http://www.samsung.com
>> + *
>> + * The only difference between EXYNOS5422 and EXYNOS5800 is cpu ordering. The
>> + * EXYNOS5422 is booting from Cortex-A7 core while the EXYNOS5800 is booting
>> + * from Cortex-A15 core.
>> + *
>> + * EXYNOS5422 based board files can include this file to provide cpu ordering
>> + * which could boot a cortex-a7 from cpu0.
>> + *
>> + * This program is free software; you can redistribute it and/or modify
>> + * it under the terms of the GNU General Public License version 2 as
>> + * published by the Free Software Foundation.
>> + */
>> +
>> +#include "exynos5420.dtsi"
>> +
>> +/ {
>> +     compatible = "samsung,exynos5800", "samsung,exynos5422",
>> +                  "samsung,exynos5";
>> +};
>
> Drop the include and compatible.
>
> The goal of the file is to override only cpus, not to introduce whole
> Exynos5420 node tree.
>
> The exynos5420.dtsi is already included by board file through
> exynos5800.dtsi.

Actually, I concerned when someone want to change cpu nodes of the
exynos5420.dtsi file, he need to take care of the exynos5422-cpu.dtsi.
Yes. it's just override values. I'll drop the inclusion and
compatibles.

Thanks.
diff mbox

Patch

diff --git a/arch/arm/boot/dts/exynos5422-cpus.dtsi b/arch/arm/boot/dts/exynos5422-cpus.dtsi
new file mode 100644
index 0000000..d39db49
--- /dev/null
+++ b/arch/arm/boot/dts/exynos5422-cpus.dtsi
@@ -0,0 +1,88 @@ 
+/*
+ * SAMSUNG EXYNOS5422 SoC cpu device tree source
+ *
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *		http://www.samsung.com
+ *
+ * The only difference between EXYNOS5422 and EXYNOS5800 is cpu ordering. The
+ * EXYNOS5422 is booting from Cortex-A7 core while the EXYNOS5800 is booting
+ * from Cortex-A15 core.
+ *
+ * EXYNOS5422 based board files can include this file to provide cpu ordering
+ * which could boot a cortex-a7 from cpu0.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include "exynos5420.dtsi"
+
+/ {
+	compatible = "samsung,exynos5800", "samsung,exynos5422",
+		     "samsung,exynos5";
+};
+
+&cpu0 {
+	device_type = "cpu";
+	compatible = "arm,cortex-a7";
+	reg = <0x100>;
+	clock-frequency = <1000000000>;
+	cci-control-port = <&cci_control0>;
+};
+
+&cpu1 {
+	device_type = "cpu";
+	compatible = "arm,cortex-a7";
+	reg = <0x101>;
+	clock-frequency = <1000000000>;
+	cci-control-port = <&cci_control0>;
+};
+
+&cpu2 {
+	device_type = "cpu";
+	compatible = "arm,cortex-a7";
+	reg = <0x102>;
+	clock-frequency = <1000000000>;
+	cci-control-port = <&cci_control0>;
+};
+
+&cpu3 {
+	device_type = "cpu";
+	compatible = "arm,cortex-a7";
+	reg = <0x103>;
+	clock-frequency = <1000000000>;
+	cci-control-port = <&cci_control0>;
+};
+
+&cpu4 {
+	device_type = "cpu";
+	compatible = "arm,cortex-a15";
+	reg = <0x0>;
+	clock-frequency = <1800000000>;
+	cci-control-port = <&cci_control1>;
+};
+
+&cpu5 {
+	device_type = "cpu";
+	compatible = "arm,cortex-a15";
+	reg = <0x1>;
+	clock-frequency = <1800000000>;
+	cci-control-port = <&cci_control1>;
+};
+
+&cpu6 {
+	device_type = "cpu";
+	compatible = "arm,cortex-a15";
+	reg = <0x2>;
+	clock-frequency = <1800000000>;
+	cci-control-port = <&cci_control1>;
+};
+
+&cpu7 {
+	device_type = "cpu";
+	compatible = "arm,cortex-a15";
+	reg = <0x3>;
+	clock-frequency = <1800000000>;
+	cci-control-port = <&cci_control1>;
+};
diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3.dts b/arch/arm/boot/dts/exynos5422-odroidxu3.dts
index edc25cf..00f45c9 100644
--- a/arch/arm/boot/dts/exynos5422-odroidxu3.dts
+++ b/arch/arm/boot/dts/exynos5422-odroidxu3.dts
@@ -12,10 +12,12 @@ 
 
 /dts-v1/;
 #include "exynos5800.dtsi"
+#include "exynos5422-cpus.dtsi"
 
 / {
 	model = "Hardkernel Odroid XU3";
-	compatible = "hardkernel,odroid-xu3", "samsung,exynos5800", "samsung,exynos5";
+	compatible = "hardkernel,odroid-xu3", "samsung,exynos5800",
+		     "samsung,exynos5422", "samsung,exynos5";
 
 	memory {
 		reg = <0x40000000 0x7EA00000>;