ARM: dts: add exynos5422-cpus.dtsi to correct cpu order
Subsystems (2)
PATCH v6 1/1 ARM: dts: add exynos5422-cpus.dtsi to correct cpu order
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-cpus.dtsi and reversing cpu orders from exynos5420. Now, cpu0-3 are cortex-a7 and cpu4-7 are cortex-a15.
---
Change from v4:
- Resend patch with correct signed-off
Changes from v4:
- Remove temporal patch in e-mail body
Changes from v3:
- include this exynos5422-cpus.dtsi in the exynos5422-odroidxu3-common.dtsi
Changes from v2:
- drop inclusion of exynos5420.dtsi from exynos5422-cpus.dtsi
- drop compatibles from exynos5422-cpus.dtsi
Changes from v1:
- rename exynos5422.dtsi to exynos5422-cpus.dtsi
- include the dtsi file top of the exynos5422-odroidxu3.dts
Secondary cpu booting problem[1] is not resolved yet. Need more investigations to work booting 8 cores correctly.
[1]: http://www.spinics.net/lists/linux-samsung-soc/msg45525.html
arch/arm/boot/dts/exynos5422-cpus.dtsi | 81 ++++++++++++++++++++++ arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi | 1 + 2 files changed, 82 insertions(+) create mode 100644 arch/arm/boot/dts/exynos5422-cpus.dtsi
arch/arm/boot/dts/exynos5422-cpus.dtsi new file +81 -0
@@ -0,0 +1,81 @@ +/* + * 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. + */ + +&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>; +};
arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi +1 -0
@@ -15,6 +15,7 @@ #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/sound/samsung-i2s.h> #include "exynos5800.dtsi" +#include "exynos5422-cpus.dtsi" / { memory {
Signature · 1 line
2.1.0
Krzysztof Kozlowski
AppliedPATCH v6 1/1 ARM: dts: add exynos5422-cpus.dtsi to correct cpu order
Quoted 30 lines · Chanho Park
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-cpus.dtsiand reversing cpu orders from exynos5420. Now, cpu0-3 are cortex-a7 and cpu4-7 are cortex-a15.Reviewed-by Krzysztof Kozlowski <[email protected]>Signed-off-by Chanho Park <[email protected]>---
Change from v4:
- Resend patch with correct signed-offChanges from v4:
- Remove temporal patch in e-mail bodyChanges from v3:
- include thisexynos5422-cpus.dtsiin theexynos5422-odroidxu3-common.dtsiChanges from v2:
- drop inclusion ofexynos5420.dtsifromexynos5422-cpus.dtsi
- drop compatibles fromexynos5422-cpus.dtsiChanges from v1:
- renameexynos5422.dtsitoexynos5422-cpus.dtsi
- include the dtsi file top of theexynos5422-odroidxu3.dtsSecondary cpu booting problem[1] is not resolved yet. Need more investigations to work booting 8 cores correctly.
Quoted 6 lines
[1]: http://www.spinics.net/lists/linux-samsung-soc/msg45525.html
arch/arm/boot/dts/exynos5422-cpus.dtsi | 81 ++++++++++++++++++++++ arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi | 1 + 2 files changed, 82 insertions(+) create mode 100644 arch/arm/boot/dts/exynos5422-cpus.dtsi
Thanks, applied to my tree. I'll send it to Kukjin for v4.3 unless he picks it also.
Best regards,
Krzysztof
PATCH v6 1/1 ARM: dts: add exynos5422-cpus.dtsi to correct cpu order
Quoted 34 lines · Krzysztof Kozlowski
Quoted 32 lines · Chanho Park
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-cpus.dtsiand reversing cpu orders from exynos5420. Now, cpu0-3 are cortex-a7 and cpu4-7 are cortex-a15.Reviewed-by Krzysztof Kozlowski <[email protected]>Signed-off-by Chanho Park <[email protected]>---
Change from v4:
- Resend patch with correct signed-offChanges from v4:
- Remove temporal patch in e-mail bodyChanges from v3:
- include thisexynos5422-cpus.dtsiin theexynos5422-odroidxu3-common.dtsiChanges from v2:
- drop inclusion ofexynos5420.dtsifromexynos5422-cpus.dtsi
- drop compatibles fromexynos5422-cpus.dtsiChanges from v1:
- renameexynos5422.dtsitoexynos5422-cpus.dtsi
- include the dtsi file top of theexynos5422-odroidxu3.dtsSecondary cpu booting problem[1] is not resolved yet. Need more investigations to work booting 8 cores correctly.
[1]: http://www.spinics.net/lists/linux-samsung-soc/msg45525.html
Quoted 8 lines
Quoted 4 lines
arch/arm/boot/dts/exynos5422-cpus.dtsi | 81 ++++++++++++++++++++++ arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi | 1 + 2 files changed, 82 insertions(+) create mode 100644 arch/arm/boot/dts/exynos5422-cpus.dtsiThanks, applied to my tree. I'll send it to Kukjin for v4.3 unless he picks it also.
Well, let me see. I'm thinking we need to sort out the cpu ordering and dtsi inclusions for exynos5420, 5422 and 5800 related to DT files.
See,
1) exynos5420 DT (cpu0~3: a15, cpu 4~7: a7)
2) exynos5800 DT is including exynos5420 DT
3) exynos5422 and exynos5800 based boards are including exynos5800 DT.
Then making exynos5422-cpus DT for exynos5422 based boards? (cpu0~3: a7, cpu4~7: a15)
I think, it could cause confusion when new board based on them are added because it's not clear and the boot cpu could be selected by bootloader part.
So how about creating exynos5422-cpus and exynos5420-cpus then including the cpus DT file in each board accordingly?
Or more clear way to avoid confusion?
- Kukjin
PATCH v6 1/1 ARM: dts: add exynos5422-cpus.dtsi to correct cpu order
In my opinion since its something configurable by the board and not SoC specific it should be defined (or re-defined) on the board dts.
If one makes a 5422 board booting from A15's that patch will be already invalid and causing the issue that it fixes.
2015-07-14 2:04 GMT-03:00 Kukjin Kim <[email protected]>:
Quoted 69 lines
Quoted 34 lines · Krzysztof Kozlowski
Quoted 32 lines · Chanho Park
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-cpus.dtsiand reversing cpu orders from exynos5420. Now, cpu0-3 are cortex-a7 and cpu4-7 are cortex-a15.Reviewed-by Krzysztof Kozlowski <[email protected]>Signed-off-by Chanho Park <[email protected]>---
Change from v4:
- Resend patch with correct signed-offChanges from v4:
- Remove temporal patch in e-mail bodyChanges from v3:
- include thisexynos5422-cpus.dtsiin theexynos5422-odroidxu3-common.dtsiChanges from v2:
- drop inclusion ofexynos5420.dtsifromexynos5422-cpus.dtsi
- drop compatibles fromexynos5422-cpus.dtsiChanges from v1:
- renameexynos5422.dtsitoexynos5422-cpus.dtsi
- include the dtsi file top of theexynos5422-odroidxu3.dtsSecondary cpu booting problem[1] is not resolved yet. Need more investigations to work booting 8 cores correctly.
[1]: http://www.spinics.net/lists/linux-samsung-soc/msg45525.html
Quoted 8 lines
Quoted 4 lines
arch/arm/boot/dts/exynos5422-cpus.dtsi | 81 ++++++++++++++++++++++ arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi | 1 + 2 files changed, 82 insertions(+) create mode 100644 arch/arm/boot/dts/exynos5422-cpus.dtsiThanks, applied to my tree. I'll send it to Kukjin for v4.3 unless he picks it also.
Well, let me see. I'm thinking we need to sort out the cpu ordering and dtsi inclusions for exynos5420, 5422 and 5800 related to DT files.
See,
1) exynos5420 DT (cpu0~3: a15, cpu 4~7: a7)
2) exynos5800 DT is including exynos5420 DT
3) exynos5422 and exynos5800 based boards are including exynos5800 DT.Then making exynos5422-cpus DT for exynos5422 based boards? (cpu0~3: a7, cpu4~7: a15)
I think, it could cause confusion when new board based on them are added because it's not clear and the boot cpu could be selected by bootloader part.
So how about creating exynos5422-cpus and exynos5420-cpus then including the cpus DT file in each board accordingly?
Or more clear way to avoid confusion?
- Kukjin
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
PATCH v6 1/1 ARM: dts: add exynos5422-cpus.dtsi to correct cpu order
Quoted 5 lines · Mauro Ribeiro
In my opinion since its something configurable by the board and not SoC specific it should be defined (or re-defined) on the board dts.
If one makes a 5422 board booting from A15's that patch will be already invalid and causing the issue that it fixes.
Indeed this is configurable by the board. For Odroid XU3 this is fixed (hard-wired) but other boards may have it in different way. We already discussed this and Chanho Park is here:
http://www.spinics.net/lists/linux-samsung-soc/msg44924.html
http://www.spinics.net/lists/linux-samsung-soc/msg44930.html
There were no additional objections to the patchset in that time.
Best regards,
Krzysztof
PATCH v6 1/1 ARM: dts: add exynos5422-cpus.dtsi to correct cpu order
In reply to Kukjin KimHi Kukjin,
Quoted 52 lines · Kukjin Kim
Quoted 34 lines · Krzysztof Kozlowski
Quoted 32 lines · Chanho Park
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-cpus.dtsiand reversing cpu orders from exynos5420. Now, cpu0-3 are cortex-a7 and cpu4-7 are cortex-a15.Reviewed-by Krzysztof Kozlowski <[email protected]>Signed-off-by Chanho Park <[email protected]>---
Change from v4:
- Resend patch with correct signed-offChanges from v4:
- Remove temporal patch in e-mail bodyChanges from v3:
- include thisexynos5422-cpus.dtsiin theexynos5422-odroidxu3-common.dtsiChanges from v2:
- drop inclusion ofexynos5420.dtsifromexynos5422-cpus.dtsi
- drop compatibles fromexynos5422-cpus.dtsiChanges from v1:
- renameexynos5422.dtsitoexynos5422-cpus.dtsi
- include the dtsi file top of theexynos5422-odroidxu3.dtsSecondary cpu booting problem[1] is not resolved yet. Need more investigations to work booting 8 cores correctly.
[1]: http://www.spinics.net/lists/linux-samsung-soc/msg45525.html
Quoted 8 lines
Quoted 4 lines
arch/arm/boot/dts/exynos5422-cpus.dtsi | 81 ++++++++++++++++++++++ arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi | 1 + 2 files changed, 82 insertions(+) create mode 100644 arch/arm/boot/dts/exynos5422-cpus.dtsiThanks, applied to my tree. I'll send it to Kukjin for v4.3 unless he picks it also.
Well, let me see. I'm thinking we need to sort out the cpu ordering and dtsi inclusions for exynos5420, 5422 and 5800 related to DT files.
See,
1) exynos5420 DT (cpu0~3: a15, cpu 4~7: a7)
2) exynos5800 DT is including exynos5420 DT
3) exynos5422 and exynos5800 based boards are including exynos5800 DT.
Quoted 5 lines
Then making exynos5422-cpus DT for exynos5422 based boards? (cpu0~3: a7, cpu4~7: a15)
I think, it could cause confusion when new board based on them are added because it's not clear and the boot cpu could be selected by bootloader part.
The iROM will check the GPIO pin to select which core is run as cpu0. I think no one will change the GPIO pin if a new board which is based on exynos5422 :)
Quoted 5 lines
So how about creating exynos5422-cpus and exynos5420-cpus then including the cpus DT file in each board accordingly?
Or more clear way to avoid confusion?
In this situation, all exynos5422 boards(odroid xu3 series and mobile phone) have same cpu configurations. If we move the exynos5420 cpu configuration from exynos5420.dtsi, we should change all dts which including exynos5420.dtsi.
I think we'd better to defer the change until a new exynos5422 board which has different cpu configurations is added.
Signature · 2 lines
Best Regards, Chanho Park
PATCH v6 1/1 ARM: dts: add exynos5422-cpus.dtsi to correct cpu order
Quoted 17 lines · Chanho Park
Hi Kukjin,
Quoted 13 lines · Kukjin Kim
Quoted 12 lines · Krzysztof Kozlowski
Quoted 10 lines · Chanho Park
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-cpus.dtsiand reversing cpu orders from exynos5420. Now, cpu0-3 are cortex-a7 and cpu4-7 are cortex-a15.Reviewed-by Krzysztof Kozlowski <[email protected]>Signed-off-by Chanho Park <[email protected]>---
[...]
Quoted 26 lines
Quoted 26 lines
Quoted 6 lines
Quoted 6 lines
Secondary cpu booting problem[1] is not resolved yet. Need more investigations to work booting 8 cores correctly.
[1]: http://www.spinics.net/lists/linux-samsung-soc/msg45525.html
Quoted 8 lines
Quoted 4 lines
arch/arm/boot/dts/exynos5422-cpus.dtsi | 81 ++++++++++++++++++++++ arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi | 1 + 2 files changed, 82 insertions(+) create mode 100644 arch/arm/boot/dts/exynos5422-cpus.dtsiThanks, applied to my tree. I'll send it to Kukjin for v4.3 unless he picks it also.
Well, let me see. I'm thinking we need to sort out the cpu ordering and dtsi inclusions for exynos5420, 5422 and 5800 related to DT files.
See,
1) exynos5420 DT (cpu0~3: a15, cpu 4~7: a7)
2) exynos5800 DT is including exynos5420 DT
3) exynos5422 and exynos5800 based boards are including exynos5800 DT.Then making exynos5422-cpus DT for exynos5422 based boards? (cpu0~3: a7, cpu4~7: a15)
Quoted 7 lines
Quoted 2 lines
I think, it could cause confusion when new board based on them are added because it's not clear and the boot cpu could be selected by bootloader part.
The iROM will check the GPIO pin to select which core is run as cpu0. I think no one will change the GPIO pin if a new board which is based on exynos5422 :)
Yes, I know the boot sequence and it means it depends on board configuration not SoC. That?s why I'm saying it should be handled in board DT file. I think, most of current exynos big.LITTLE model should do if it could be changed according to board configuration.
Quoted 10 lines
Quoted 5 lines
So how about creating exynos5422-cpus and exynos5420-cpus then including the cpus DT file in each board accordingly?
Or more clear way to avoid confusion?
In this situation, all exynos5422 boards(odroid xu3 series and mobile phone) have same cpu configurations. If we move the exynos5420 cpu configuration from
exynos5420.dtsi, we should change all dts which includingexynos5420.dtsi.
Maybe same board configuration. Just adding inclusion should be fine at this moment.
Quoted 3 lines
I think we'd better to defer the change until a new exynos5422 board which has different cpu configurations is added.
I mean, according to current inclusion of exynos5422 based boards' DT file, it is including exynos5420 DT via exynos5800 DT and then override different cpu ordering (5422-cpu DT) because of different board configuration (just GPIO value) and it is not a good way in this case.
- Kukjin
PATCH v6 1/1 ARM: dts: add exynos5422-cpus.dtsi to correct cpu order
Hi,
Quoted 50 lines · Kukjin Kim
Quoted 17 lines · Chanho Park
Hi Kukjin,
Quoted 13 lines · Kukjin Kim
Quoted 12 lines · Krzysztof Kozlowski
Quoted 10 lines · Chanho Park
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-cpus.dtsiand reversing cpu orders from exynos5420. Now, cpu0-3 are cortex-a7 and cpu4-7 are cortex-a15.Reviewed-by Krzysztof Kozlowski <[email protected]>Signed-off-by Chanho Park <[email protected]>---
[...]
Quoted 29 lines
Quoted 28 lines
Quoted 6 lines
Quoted 6 lines
Secondary cpu booting problem[1] is not resolved yet. Need more investigations to work booting 8 cores correctly.
[1]: http://www.spinics.net/lists/linux-samsung-soc/msg45525.html
Quoted 8 lines
Quoted 4 lines
arch/arm/boot/dts/exynos5422-cpus.dtsi | 81 ++++++++++++++++++++++ arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi | 1 + 2 files changed, 82 insertions(+) create mode 100644 arch/arm/boot/dts/exynos5422-cpus.dtsiThanks, applied to my tree. I'll send it to Kukjin for v4.3 unless he picks it also.
Well, let me see. I'm thinking we need to sort out the cpu ordering and dtsi inclusions for exynos5420, 5422 and 5800 related to DT files.
See,
1) exynos5420 DT (cpu0~3: a15, cpu 4~7: a7)
2) exynos5800 DT is including exynos5420 DT
3) exynos5422 and exynos5800 based boards are including exynos5800 DT.Then making exynos5422-cpus DT for exynos5422 based boards? (cpu0~3: a7, cpu4~7: a15)
I think, it could cause confusion when new board based on them are added because it's not clear and the boot cpu could be selected by bootloader part.
Quoted 8 lines
Quoted 4 lines
The iROM will check the GPIO pin to select which core is run as cpu0. I think no one will change the GPIO pin if a new board which is based on exynos5422 :)
Yes, I know the boot sequence and it means it depends on board configuration not SoC. That?s why I'm saying it should be handled in board DT file. I think, most of current exynos big.LITTLE model should do if it could be changed according to board configuration.
I also agreed it's not a SoC configuration since second patch(exynos5422.dtsi -> exynos5422-cpu.dtsi).
Quoted 15 lines
Quoted 11 lines
Quoted 6 lines
So how about creating exynos5422-cpus and exynos5420-cpus then including the cpus DT file in each board accordingly?
Or more clear way to avoid confusion?
In this situation, all exynos5422 boards(odroid xu3 series and mobile phone) have same cpu configurations. If we move the exynos5420 cpu configuration from
exynos5420.dtsi, we should change all dts which includingexynos5420.dtsi.Maybe same board configuration. Just adding inclusion should be fine at this moment.
Quoted 7 lines
Quoted 3 lines
I think we'd better to defer the change until a new exynos5422 board which has different cpu configurations is added.
I mean, according to current inclusion of exynos5422 based boards' DT file, it is including exynos5420 DT via exynos5800 DT and then override different cpu ordering (5422-cpu DT) because of different board configuration (just GPIO value) and it is not a good way in this case.
Actually, I don't want to disturb current dts hierarchy even though it looks strange. The common features of exynos5800 and exynos5422 should be in the exynos5800.dtsi because they shared many things except the cpu order.
Please consider the exynos5422-cpu.dtsi is just board configurations to represent cpu order.
Signature · 2 lines
Best Regards, Chanho Park
PATCH v6 1/1 ARM: dts: add exynos5422-cpus.dtsi to correct cpu order
2015-07-14 21:28 GMT+09:00 Chanho Park <[email protected]>:
Quoted 88 lines
Hi,
Quoted 50 lines · Kukjin Kim
Quoted 17 lines · Chanho Park
Hi Kukjin,
Quoted 13 lines · Kukjin Kim
Quoted 12 lines · Krzysztof Kozlowski
Quoted 10 lines · Chanho Park
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-cpus.dtsiand reversing cpu orders from exynos5420. Now, cpu0-3 are cortex-a7 and cpu4-7 are cortex-a15.Reviewed-by Krzysztof Kozlowski <[email protected]>Signed-off-by Chanho Park <[email protected]>---
[...]
Quoted 29 lines
Quoted 28 lines
Quoted 6 lines
Quoted 6 lines
Secondary cpu booting problem[1] is not resolved yet. Need more investigations to work booting 8 cores correctly.
[1]: http://www.spinics.net/lists/linux-samsung-soc/msg45525.html
Quoted 8 lines
Quoted 4 lines
arch/arm/boot/dts/exynos5422-cpus.dtsi | 81 ++++++++++++++++++++++ arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi | 1 + 2 files changed, 82 insertions(+) create mode 100644 arch/arm/boot/dts/exynos5422-cpus.dtsiThanks, applied to my tree. I'll send it to Kukjin for v4.3 unless he picks it also.
Well, let me see. I'm thinking we need to sort out the cpu ordering and dtsi inclusions for exynos5420, 5422 and 5800 related to DT files.
See,
1) exynos5420 DT (cpu0~3: a15, cpu 4~7: a7)
2) exynos5800 DT is including exynos5420 DT
3) exynos5422 and exynos5800 based boards are including exynos5800 DT.Then making exynos5422-cpus DT for exynos5422 based boards? (cpu0~3: a7, cpu4~7: a15)
I think, it could cause confusion when new board based on them are added because it's not clear and the boot cpu could be selected by bootloader part.
Quoted 8 lines
Quoted 4 lines
The iROM will check the GPIO pin to select which core is run as cpu0. I think no one will change the GPIO pin if a new board which is based on exynos5422 :)
Yes, I know the boot sequence and it means it depends on board configuration not SoC. That?s why I'm saying it should be handled in board DT file. I think, most of current exynos big.LITTLE model should do if it could be changed according to board configuration.
I also agreed it's not a SoC configuration since second
patch(exynos5422.dtsi -> exynos5422-cpu.dtsi).Quoted 15 lines
Quoted 11 lines
Quoted 6 lines
So how about creating exynos5422-cpus and exynos5420-cpus then including the cpus DT file in each board accordingly?
Or more clear way to avoid confusion?
In this situation, all exynos5422 boards(odroid xu3 series and mobile phone) have same cpu configurations. If we move the exynos5420 cpu configuration from
exynos5420.dtsi, we should change all dts which includingexynos5420.dtsi.Maybe same board configuration. Just adding inclusion should be fine at this moment.
Quoted 7 lines
Quoted 3 lines
I think we'd better to defer the change until a new exynos5422 board which has different cpu configurations is added.
I mean, according to current inclusion of exynos5422 based boards' DT file, it is including exynos5420 DT via exynos5800 DT and then override different cpu ordering (5422-cpu DT) because of different board configuration (just GPIO value) and it is not a good way in this case.
Quoted 6 lines
Actually, I don't want to disturb current dts hierarchy even though it looks strange. The common features of exynos5800 and exynos5422 should be in the
exynos5800.dtsibecause they shared many things except the cpu order.
Please consider theexynos5422-cpu.dtsiis just board configurations to represent cpu order.
Dear Chanho and Kukjin,
Did you reached a conclusion on this patch?
Best regards,
Krzysztof
PATCH v6 1/1 ARM: dts: add exynos5422-cpus.dtsi to correct cpu order
In reply to Chanho ParkQuoted 89 lines · Chanho Park
Hi,
Quoted 50 lines · Kukjin Kim
Quoted 17 lines · Chanho Park
Hi Kukjin,
Quoted 13 lines · Kukjin Kim
Quoted 12 lines · Krzysztof Kozlowski
Quoted 10 lines · Chanho Park
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-cpus.dtsiand reversing cpu orders from exynos5420. Now, cpu0-3 are cortex-a7 and cpu4-7 are cortex-a15.Reviewed-by Krzysztof Kozlowski <[email protected]>Signed-off-by Chanho Park <[email protected]>---
[...]
Quoted 29 lines
Quoted 28 lines
Quoted 6 lines
Quoted 6 lines
Secondary cpu booting problem[1] is not resolved yet. Need more investigations to work booting 8 cores correctly.
[1]: http://www.spinics.net/lists/linux-samsung-soc/msg45525.html
Quoted 8 lines
Quoted 4 lines
arch/arm/boot/dts/exynos5422-cpus.dtsi | 81 ++++++++++++++++++++++ arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi | 1 + 2 files changed, 82 insertions(+) create mode 100644 arch/arm/boot/dts/exynos5422-cpus.dtsiThanks, applied to my tree. I'll send it to Kukjin for v4.3 unless he picks it also.
Well, let me see. I'm thinking we need to sort out the cpu ordering and dtsi inclusions for exynos5420, 5422 and 5800 related to DT files.
See,
1) exynos5420 DT (cpu0~3: a15, cpu 4~7: a7)
2) exynos5800 DT is including exynos5420 DT
3) exynos5422 and exynos5800 based boards are including exynos5800 DT.Then making exynos5422-cpus DT for exynos5422 based boards? (cpu0~3: a7, cpu4~7: a15)
I think, it could cause confusion when new board based on them are added because it's not clear and the boot cpu could be selected by bootloader part.
Quoted 8 lines
Quoted 4 lines
The iROM will check the GPIO pin to select which core is run as cpu0. I think no one will change the GPIO pin if a new board which is based on exynos5422 :)
Yes, I know the boot sequence and it means it depends on board configuration not SoC. That?s why I'm saying it should be handled in board DT file. I think, most of current exynos big.LITTLE model should do if it could be changed according to board configuration.
I also agreed it's not a SoC configuration since second
patch(exynos5422.dtsi -> exynos5422-cpu.dtsi).Quoted 15 lines
Quoted 11 lines
Quoted 6 lines
So how about creating exynos5422-cpus and exynos5420-cpus then including the cpus DT file in each board accordingly?
Or more clear way to avoid confusion?
In this situation, all exynos5422 boards(odroid xu3 series and mobile phone) have same cpu configurations. If we move the exynos5420 cpu configuration from
exynos5420.dtsi, we should change all dts which includingexynos5420.dtsi.Maybe same board configuration. Just adding inclusion should be fine at this moment.
Quoted 7 lines
Quoted 3 lines
I think we'd better to defer the change until a new exynos5422 board which has different cpu configurations is added.
I mean, according to current inclusion of exynos5422 based boards' DT file, it is including exynos5420 DT via exynos5800 DT and then override different cpu ordering (5422-cpu DT) because of different board configuration (just GPIO value) and it is not a good way in this case.
Quoted 7 lines
Actually, I don't want to disturb current dts hierarchy even though it looks strange. The common features of exynos5800 and exynos5422 should be in the
exynos5800.dtsibecause they shared many things except the cpu order.
Please consider theexynos5422-cpu.dtsiis just board configurations to represent cpu order.
Yeah, strange and it can cause some confusing...but OK, we don't have much choice at the moment, so applied to support it even we need some re-work 'current dts hierarchy' next time.
Thanks,
Kukjin