Message ID | 1436833441-8405-1-git-send-email-parkch98@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 14.07.2015 09:24, 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-cpus.dtsi > and reversing cpu orders from exynos5420. Now, cpu0-3 are cortex-a7 and > cpu4-7 are cortex-a15. > > Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> > Signed-off-by: Chanho Park <parkch98@gmail.com> > --- > 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 Thanks, applied to my tree. I'll send it to Kukjin for v4.3 unless he picks it also. Best regards, Krzysztof
Krzysztof Kozlowski wrote: > > On 14.07.2015 09:24, 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-cpus.dtsi > > and reversing cpu orders from exynos5420. Now, cpu0-3 are cortex-a7 and > > cpu4-7 are cortex-a15. > > > > Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> > > Signed-off-by: Chanho Park <parkch98@gmail.com> > > --- > > 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 > > Thanks, 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
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 <kgene@kernel.org>: > Krzysztof Kozlowski wrote: >> >> On 14.07.2015 09:24, 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-cpus.dtsi >> > and reversing cpu orders from exynos5420. Now, cpu0-3 are cortex-a7 and >> > cpu4-7 are cortex-a15. >> > >> > Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> >> > Signed-off-by: Chanho Park <parkch98@gmail.com> >> > --- >> > 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 >> >> Thanks, 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@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html
On 14.07.2015 14:36, Mauro Ribeiro wrote: > 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
Hi Kukjin, On Tue, Jul 14, 2015 at 2:04 PM, Kukjin Kim <kgene@kernel.org> wrote: > Krzysztof Kozlowski wrote: >> >> On 14.07.2015 09:24, 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-cpus.dtsi >> > and reversing cpu orders from exynos5420. Now, cpu0-3 are cortex-a7 and >> > cpu4-7 are cortex-a15. >> > >> > Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> >> > Signed-off-by: Chanho Park <parkch98@gmail.com> >> > --- >> > 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 >> >> Thanks, 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. 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 :) > > 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.
Chanho Park wrote: > > Hi Kukjin, > > On Tue, Jul 14, 2015 at 2:04 PM, Kukjin Kim <kgene@kernel.org> wrote: > > Krzysztof Kozlowski wrote: > >> > >> On 14.07.2015 09:24, 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-cpus.dtsi > >> > and reversing cpu orders from exynos5420. Now, cpu0-3 are cortex-a7 and > >> > cpu4-7 are cortex-a15. > >> > > >> > Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> > >> > Signed-off-by: Chanho Park <parkch98@gmail.com> > >> > --- [...] > >> > > >> > 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 > >> > >> Thanks, 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. > > 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. > > > > 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. Maybe same board configuration. Just adding inclusion should be fine at this moment. > 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
Hi, On Tue, Jul 14, 2015 at 5:23 PM, Kukjin Kim <kgene@kernel.org> wrote: > Chanho Park wrote: >> >> Hi Kukjin, >> >> On Tue, Jul 14, 2015 at 2:04 PM, Kukjin Kim <kgene@kernel.org> wrote: >> > Krzysztof Kozlowski wrote: >> >> >> >> On 14.07.2015 09:24, 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-cpus.dtsi >> >> > and reversing cpu orders from exynos5420. Now, cpu0-3 are cortex-a7 and >> >> > cpu4-7 are cortex-a15. >> >> > >> >> > Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> >> >> > Signed-off-by: Chanho Park <parkch98@gmail.com> >> >> > --- > > [...] > >> >> > >> >> > 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 >> >> >> >> Thanks, 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. >> >> 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). > >> > >> > 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. > > Maybe same board configuration. Just adding inclusion should be fine at this > moment. > >> 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.
2015-07-14 21:28 GMT+09:00 Chanho Park <parkch98@gmail.com>: > Hi, > > On Tue, Jul 14, 2015 at 5:23 PM, Kukjin Kim <kgene@kernel.org> wrote: >> Chanho Park wrote: >>> >>> Hi Kukjin, >>> >>> On Tue, Jul 14, 2015 at 2:04 PM, Kukjin Kim <kgene@kernel.org> wrote: >>> > Krzysztof Kozlowski wrote: >>> >> >>> >> On 14.07.2015 09:24, 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-cpus.dtsi >>> >> > and reversing cpu orders from exynos5420. Now, cpu0-3 are cortex-a7 and >>> >> > cpu4-7 are cortex-a15. >>> >> > >>> >> > Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> >>> >> > Signed-off-by: Chanho Park <parkch98@gmail.com> >>> >> > --- >> >> [...] >> >>> >> > >>> >> > 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 >>> >> >>> >> Thanks, 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. >>> >>> 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). > >> >>> > >>> > 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. >> >> Maybe same board configuration. Just adding inclusion should be fine at this >> moment. >> >>> 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. Dear Chanho and Kukjin, Did you reached a conclusion on this patch? Best regards, Krzysztof
Chanho Park wrote: > > Hi, > > On Tue, Jul 14, 2015 at 5:23 PM, Kukjin Kim <kgene@kernel.org> wrote: > > Chanho Park wrote: > >> > >> Hi Kukjin, > >> > >> On Tue, Jul 14, 2015 at 2:04 PM, Kukjin Kim <kgene@kernel.org> wrote: > >> > Krzysztof Kozlowski wrote: > >> >> > >> >> On 14.07.2015 09:24, 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-cpus.dtsi > >> >> > and reversing cpu orders from exynos5420. Now, cpu0-3 are cortex-a7 and > >> >> > cpu4-7 are cortex-a15. > >> >> > > >> >> > Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> > >> >> > Signed-off-by: Chanho Park <parkch98@gmail.com> > >> >> > --- > > > > [...] > > > >> >> > > >> >> > 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 > >> >> > >> >> Thanks, 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. > >> > >> 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). > > > > >> > > >> > 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. > > > > Maybe same board configuration. Just adding inclusion should be fine at this > > moment. > > > >> 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. > 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
diff --git a/arch/arm/boot/dts/exynos5422-cpus.dtsi b/arch/arm/boot/dts/exynos5422-cpus.dtsi new file mode 100644 index 0000000..b7f60c8 --- /dev/null +++ b/arch/arm/boot/dts/exynos5422-cpus.dtsi @@ -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>; +}; diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi b/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi index 8adf455..f603133 100644 --- a/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi +++ b/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi @@ -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 {