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

Minkyu Kang
2016-04-21T13:51:56Z

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.

Thanks,
Minkyu Kang.