[U-Boot] [PATCH 7/9] arm: exynos: realign the code to allow support for newer 64-bit platforms

Thomas Abraham
2016-04-23T15:28:50Z

Hi Mr. Kang,

On Thu, Apr 21, 2016 at 7:21 PM, Minkyu Kang <mk7.kang@samsung.com> wrote:
> Hi,
>
> On 18/04/16 23:11, Thomas Abraham wrote:
>> Hi Mr. Kang,
>>
>> On Mon, Apr 18, 2016 at 4:39 PM, Minkyu Kang <mk7.kang@samsung.com> wrote:
>>> Dear Thomas Abraham,
>>>
>>> On 13/04/16 19:43, Thomas Abraham wrote:
>>>> From: Thomas Abraham <thomas.ab@samsung.com>
>>>>
>>>> The existing Exynos 32-bit platform support needs to be realigned in
>>>> order to support newer 64-bit Exynos platforms. The driver model will
>>>> be utlized for drivers on the 64-bit Exynos platforms and so some of
>>>> the older platform support code would not be required for the newer
>>>> 64-bit Exynos platforms.
>>>>
>>>> Cc: Minkyu Kang <mk7.kang@samsung.com>
>>>> Signed-off-by: Thomas Abraham <thomas.ab@samsung.com>
>>>> ---
>>>> arch/arm/Kconfig | 1 -
>>>> arch/arm/mach-exynos/Kconfig | 14 ++++++++++++++
>>>> arch/arm/mach-exynos/Makefile | 7 +++++--
>>>> arch/arm/mach-exynos/include/mach/cpu.h | 2 +-
>>>> arch/arm/mach-exynos/include/mach/gpio.h | 2 +-
>>>> arch/arm/mach-exynos/soc.c | 2 ++
>>>> 6 files changed, 23 insertions(+), 5 deletions(-)
>>>>
>>>> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
>>>> index b82ec18..ee22a3c 100644
>>>> --- a/arch/arm/Kconfig
>>>> +++ b/arch/arm/Kconfig
>>>> @@ -426,7 +426,6 @@ config TARGET_BCMNSP
>>>>
>>>> config ARCH_EXYNOS
>>>> bool "Samsung EXYNOS"
>>>> - select CPU_V7
>>>> select DM
>>>> select DM_SPI_FLASH
>>>> select DM_SERIAL
>>>> diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
>>>> index a6a7597..acab947 100644
>>>> --- a/arch/arm/mach-exynos/Kconfig
>>>> +++ b/arch/arm/mach-exynos/Kconfig
>>>> @@ -7,30 +7,38 @@ choice
>>>> config TARGET_SMDKV310
>>>> select SUPPORT_SPL
>>>> bool "Exynos4210 SMDKV310 board"
>>>> + select CPU_V7
>>>> select OF_CONTROL
>>>>
>>>> config TARGET_TRATS
>>>> bool "Exynos4210 Trats board"
>>>> + select CPU_V7
>>>>
>>>> config TARGET_S5PC210_UNIVERSAL
>>>> bool "EXYNOS4210 Universal C210 board"
>>>> + select CPU_V7
>>>>
>>>> config TARGET_ORIGEN
>>>> bool "Exynos4412 Origen board"
>>>> + select CPU_V7
>>>> select SUPPORT_SPL
>>>>
>>>> config TARGET_TRATS2
>>>> bool "Exynos4412 Trat2 board"
>>>> + select CPU_V7
>>>>
>>>> config TARGET_ODROID
>>>> bool "Exynos4412 Odroid board"
>>>> + select CPU_V7
>>>>
>>>> config TARGET_ODROID_XU3
>>>> bool "Exynos5422 Odroid board"
>>>> + select CPU_V7
>>>> select OF_CONTROL
>>>>
>>>> config TARGET_ARNDALE
>>>> bool "Exynos5250 Arndale board"
>>>> + select CPU_V7
>>>> select CPU_V7_HAS_NONSEC
>>>> select CPU_V7_HAS_VIRT
>>>> select SUPPORT_SPL
>>>> @@ -38,32 +46,38 @@ config TARGET_ARNDALE
>>>>
>>>> config TARGET_SMDK5250
>>>> bool "SMDK5250 board"
>>>> + select CPU_V7
>>>> select SUPPORT_SPL
>>>> select OF_CONTROL
>>>>
>>>> config TARGET_SNOW
>>>> bool "Snow board"
>>>> + select CPU_V7
>>>> select SUPPORT_SPL
>>>> select OF_CONTROL
>>>>
>>>> config TARGET_SPRING
>>>> bool "Spring board"
>>>> + select CPU_V7
>>>> select SUPPORT_SPL
>>>> select OF_CONTROL
>>>> select SPL_DISABLE_OF_CONTROL
>>>>
>>>> config TARGET_SMDK5420
>>>> bool "SMDK5420 board"
>>>> + select CPU_V7
>>>> select SUPPORT_SPL
>>>> select OF_CONTROL
>>>>
>>>> config TARGET_PEACH_PI
>>>> bool "Peach Pi board"
>>>> + select CPU_V7
>>>> select SUPPORT_SPL
>>>> select OF_CONTROL
>>>>
>>>> config TARGET_PEACH_PIT
>>>> bool "Peach Pit board"
>>>> + select CPU_V7
>>>> select SUPPORT_SPL
>>>> select OF_CONTROL
>>>
>>> I think it's better to split to new architecture type for 64bit exynos platform - ARCH_EXYNOS64?
>>> What do you think?
>>
>> I was infact thinking to avoid adding a new ARCH type as much as
>> possible and reuse ARCH_EXYNOS for 64-bit as well. Eventually, the
>> code in mach-exynos has to move into respective driver folders
>> (atleast for ARM64 platforms) and have as little as possible in
>> mach-exynos directory.
>
> I understood what you want.
> But I think, we can reuse mach-exynos code even if we make new ARCH type.
> And the cpu type should have a dependency with ARCH, not boards.
> I don't believe that we should add a cpu type to every boards.
> Please consider again.

Ok, I understand your point. There is one more approach without adding
a new ARCH_EXYNOS64. This will be posted in the next version of the
patch. I hope that would resolve the concern here.

Thanks,
Thomas.

>
> Thanks,
> Minkyu Kang.