public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Minkyu Kang <mk7.kang@samsung.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 7/9] arm: exynos: realign the code to allow support for newer 64-bit platforms
Date: Mon, 18 Apr 2016 20:09:13 +0900	[thread overview]
Message-ID: <5714C059.9040707@samsung.com> (raw)
In-Reply-To: <1460544222-5342-8-git-send-email-ta.omasab@gmail.com>

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?

>  
> diff --git a/arch/arm/mach-exynos/Makefile b/arch/arm/mach-exynos/Makefile
> index 8542f89..be5912e 100644
> --- a/arch/arm/mach-exynos/Makefile
> +++ b/arch/arm/mach-exynos/Makefile
> @@ -5,7 +5,8 @@
>  # SPDX-License-Identifier:	GPL-2.0+
>  #
>  
> -obj-y	+= clock.o power.o soc.o system.o pinmux.o tzpc.o
> +obj-y	+= soc.o
> +obj-$(CONFIG_CPU_V7) += clock.o pinmux.o power.o soc.o system.o

soc.o, duplicated?

>  
>  obj-$(CONFIG_EXYNOS5420)	+= sec_boot.o
>  
> @@ -13,6 +14,6 @@ ifdef CONFIG_SPL_BUILD
>  obj-$(CONFIG_EXYNOS5)	+= clock_init_exynos5.o
>  obj-$(CONFIG_EXYNOS5)	+= dmc_common.o dmc_init_ddr3.o
>  obj-$(CONFIG_EXYNOS4210)+= dmc_init_exynos4.o clock_init_exynos4.o
> -obj-y	+= spl_boot.o
> +obj-y	+= spl_boot.o tzpc.o
>  obj-y	+= lowlevel_init.o
>  endif
> diff --git a/arch/arm/mach-exynos/include/mach/cpu.h b/arch/arm/mach-exynos/include/mach/cpu.h
> index 14a1692..f12e3d6 100644
> --- a/arch/arm/mach-exynos/include/mach/cpu.h
> +++ b/arch/arm/mach-exynos/include/mach/cpu.h
> @@ -270,7 +270,7 @@ IS_EXYNOS_TYPE(exynos5420, 0x5420)
>  IS_EXYNOS_TYPE(exynos5422, 0x5422)
>  
>  #define SAMSUNG_BASE(device, base)				\
> -static inline unsigned int __attribute__((no_instrument_function)) \
> +static inline unsigned long __attribute__((no_instrument_function)) \
>  	samsung_get_base_##device(void) \
>  {								\
>  	if (cpu_is_exynos4()) {				\
> diff --git a/arch/arm/mach-exynos/include/mach/gpio.h b/arch/arm/mach-exynos/include/mach/gpio.h
> index 7fc8e61..81363bd 100644
> --- a/arch/arm/mach-exynos/include/mach/gpio.h
> +++ b/arch/arm/mach-exynos/include/mach/gpio.h
> @@ -1349,7 +1349,7 @@ enum exynos5420_gpio_pin {
>  };
>  
>  struct gpio_info {
> -	unsigned int reg_addr;	/* Address of register for this part */
> +	unsigned long reg_addr;	/* Address of register for this part */
>  	unsigned int max_gpio;	/* Maximum GPIO in this part */
>  };
>  
> diff --git a/arch/arm/mach-exynos/soc.c b/arch/arm/mach-exynos/soc.c
> index 0f116b1..5cea5ed 100644
> --- a/arch/arm/mach-exynos/soc.c
> +++ b/arch/arm/mach-exynos/soc.c
> @@ -11,7 +11,9 @@
>  
>  void reset_cpu(ulong addr)
>  {
> +#ifndef CONFIG_OF_CONTROL
>  	writel(0x1, samsung_get_base_swreset());
> +#endif

Is it related change?

>  }
>  
>  #ifndef CONFIG_SYS_DCACHE_OFF
> 

Thanks,
Minkyu Kang.

  reply	other threads:[~2016-04-18 11:09 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-13 10:43 [U-Boot] [PATCH 0/9] Add support for Espresso7420 board Thomas Abraham
2016-04-13 10:43 ` [U-Boot] [PATCH 1/9] pinctrl: add the DM_UC_FLAG_SEQ_ALIAS flag for numbering the devices Thomas Abraham
2016-04-13 10:43 ` [U-Boot] [PATCH 2/9] pinctrl: Add pinctrl driver support for Exynos7420 SoC Thomas Abraham
2016-04-13 10:43 ` [U-Boot] [PATCH 3/9] clk: fixed_rate: allow driver usage prior to relocation Thomas Abraham
2016-04-20 14:40   ` Simon Glass
2016-04-13 10:43 ` [U-Boot] [PATCH 4/9] clk: exynos: add clock driver for Exynos7420 Soc Thomas Abraham
2016-04-20 14:41   ` Simon Glass
2016-04-23 15:24     ` Thomas Abraham
2016-04-13 10:43 ` [U-Boot] [PATCH 5/9] serial: s5p: get the port id number from the alias of the device node Thomas Abraham
2016-04-20 14:41   ` Simon Glass
2016-04-13 10:43 ` [U-Boot] [PATCH 6/9] serial: s5p: use clock api to get clock rate Thomas Abraham
2016-04-20 14:41   ` Simon Glass
2016-04-13 10:43 ` [U-Boot] [PATCH 7/9] arm: exynos: realign the code to allow support for newer 64-bit platforms Thomas Abraham
2016-04-18 11:09   ` Minkyu Kang [this message]
2016-04-18 14:11     ` Thomas Abraham
2016-04-21 13:51       ` Minkyu Kang
2016-04-23 15:28         ` Thomas Abraham
2016-04-18 16:58   ` [U-Boot] [PATCH v2 " Thomas Abraham
2016-04-20 14:41     ` Simon Glass
2016-04-13 10:43 ` [U-Boot] [PATCH 8/9] arm: exynos: add support for Exynos7420 SoC Thomas Abraham
2016-04-18 17:01   ` [U-Boot] [PATCH v2 " Thomas Abraham
2016-04-20 14:41   ` [U-Boot] [PATCH " Simon Glass
2016-04-23 15:31     ` Thomas Abraham
2016-04-13 10:43 ` [U-Boot] [PATCH 9/9] board: samsung: add initial Espresso7420 board support Thomas Abraham
2016-04-20 14:41   ` Simon Glass
2016-04-23 15:35     ` Thomas Abraham
2016-04-20  9:17 ` [U-Boot] [PATCH 0/9] Add support for Espresso7420 board Alim Akhtar
2016-04-23 16:06   ` Thomas Abraham

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5714C059.9040707@samsung.com \
    --to=mk7.kang@samsung.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox