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

Thomas Abraham ta.omasab at gmail.com
Sat Apr 23 17:28:50 CEST 2016


Hi Mr. Kang,

On Thu, Apr 21, 2016 at 7:21 PM, Minkyu Kang <mk7.kang at 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 at samsung.com> wrote:
>>> Dear Thomas Abraham,
>>>
>>> On 13/04/16 19:43, Thomas Abraham wrote:
>>>> From: Thomas Abraham <thomas.ab at 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 at samsung.com>
>>>> Signed-off-by: Thomas Abraham <thomas.ab at 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.


More information about the U-Boot mailing list