arm: exynos: realign the code to allow support for newer 64-bit platforms
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> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
This commit is contained in:
parent
cf75cdf96e
commit
36aa893775
@ -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
|
||||
|
@ -1,9 +1,32 @@
|
||||
if ARCH_EXYNOS
|
||||
|
||||
choice
|
||||
prompt "EXYNOS board select"
|
||||
prompt "EXYNOS architecture type select"
|
||||
optional
|
||||
|
||||
config ARCH_EXYNOS4
|
||||
bool "Exynos4 SoC family"
|
||||
select CPU_V7
|
||||
help
|
||||
Samsung Exynos4 SoC family are based on ARM Cortex-A9 CPU. There
|
||||
are multiple SoCs in this family including Exynos4210, Exynos4412,
|
||||
and Exynos4212.
|
||||
|
||||
config ARCH_EXYNOS5
|
||||
bool "Exynos5 SoC family"
|
||||
select CPU_V7
|
||||
help
|
||||
Samsung Exynos5 SoC family are based on ARM Cortex-A15 CPU (and
|
||||
Cortex-A7 CPU in big.LITTLE configuration). There are multiple SoCs
|
||||
in this family including Exynos5250, Exynos5420 and Exynos5800.
|
||||
|
||||
endchoice
|
||||
|
||||
if ARCH_EXYNOS4
|
||||
|
||||
choice
|
||||
prompt "EXYNOS4 board select"
|
||||
|
||||
config TARGET_SMDKV310
|
||||
select SUPPORT_SPL
|
||||
bool "Exynos4210 SMDKV310 board"
|
||||
@ -25,6 +48,14 @@ config TARGET_TRATS2
|
||||
config TARGET_ODROID
|
||||
bool "Exynos4412 Odroid board"
|
||||
|
||||
endchoice
|
||||
endif
|
||||
|
||||
if ARCH_EXYNOS5
|
||||
|
||||
choice
|
||||
prompt "EXYNOS5 board select"
|
||||
|
||||
config TARGET_ODROID_XU3
|
||||
bool "Exynos5422 Odroid board"
|
||||
select OF_CONTROL
|
||||
@ -68,6 +99,7 @@ config TARGET_PEACH_PIT
|
||||
select OF_CONTROL
|
||||
|
||||
endchoice
|
||||
endif
|
||||
|
||||
config SYS_SOC
|
||||
default "exynos"
|
||||
|
@ -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 system.o
|
||||
|
||||
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
|
||||
|
@ -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()) { \
|
||||
|
@ -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 */
|
||||
};
|
||||
|
||||
|
@ -11,7 +11,9 @@
|
||||
|
||||
void reset_cpu(ulong addr)
|
||||
{
|
||||
#ifdef CONFIG_CPU_V7
|
||||
writel(0x1, samsung_get_base_swreset());
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifndef CONFIG_SYS_DCACHE_OFF
|
||||
|
@ -1,5 +1,6 @@
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARCH_EXYNOS=y
|
||||
CONFIG_ARCH_EXYNOS5=y
|
||||
CONFIG_TARGET_ARNDALE=y
|
||||
CONFIG_DM_I2C=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="exynos5250-arndale"
|
||||
|
@ -1,5 +1,6 @@
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARCH_EXYNOS=y
|
||||
CONFIG_ARCH_EXYNOS5=y
|
||||
CONFIG_TARGET_ODROID_XU3=y
|
||||
CONFIG_DM_I2C=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="exynos5422-odroidxu3"
|
||||
|
@ -1,5 +1,6 @@
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARCH_EXYNOS=y
|
||||
CONFIG_ARCH_EXYNOS4=y
|
||||
CONFIG_TARGET_ODROID=y
|
||||
CONFIG_DM_I2C=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="exynos4412-odroid"
|
||||
|
@ -1,5 +1,6 @@
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARCH_EXYNOS=y
|
||||
CONFIG_ARCH_EXYNOS4=y
|
||||
CONFIG_TARGET_ORIGEN=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="exynos4210-origen"
|
||||
CONFIG_SPL=y
|
||||
|
@ -1,5 +1,6 @@
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARCH_EXYNOS=y
|
||||
CONFIG_ARCH_EXYNOS5=y
|
||||
CONFIG_TARGET_PEACH_PI=y
|
||||
CONFIG_DM_I2C=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="exynos5800-peach-pi"
|
||||
|
@ -1,5 +1,6 @@
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARCH_EXYNOS=y
|
||||
CONFIG_ARCH_EXYNOS5=y
|
||||
CONFIG_TARGET_PEACH_PIT=y
|
||||
CONFIG_DM_I2C=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="exynos5420-peach-pit"
|
||||
|
@ -1,5 +1,6 @@
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARCH_EXYNOS=y
|
||||
CONFIG_ARCH_EXYNOS4=y
|
||||
CONFIG_TARGET_S5PC210_UNIVERSAL=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="exynos4210-universal_c210"
|
||||
CONFIG_HUSH_PARSER=y
|
||||
|
@ -1,5 +1,6 @@
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARCH_EXYNOS=y
|
||||
CONFIG_ARCH_EXYNOS5=y
|
||||
CONFIG_TARGET_SMDK5250=y
|
||||
CONFIG_DM_I2C=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="exynos5250-smdk5250"
|
||||
|
@ -1,5 +1,6 @@
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARCH_EXYNOS=y
|
||||
CONFIG_ARCH_EXYNOS5=y
|
||||
CONFIG_TARGET_SMDK5420=y
|
||||
CONFIG_DM_I2C=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="exynos5420-smdk5420"
|
||||
|
@ -1,5 +1,6 @@
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARCH_EXYNOS=y
|
||||
CONFIG_ARCH_EXYNOS4=y
|
||||
CONFIG_TARGET_SMDKV310=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="exynos4210-smdkv310"
|
||||
CONFIG_SPL=y
|
||||
|
@ -1,5 +1,6 @@
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARCH_EXYNOS=y
|
||||
CONFIG_ARCH_EXYNOS5=y
|
||||
CONFIG_TARGET_SNOW=y
|
||||
CONFIG_DM_I2C=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="exynos5250-snow"
|
||||
|
@ -1,5 +1,6 @@
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARCH_EXYNOS=y
|
||||
CONFIG_ARCH_EXYNOS5=y
|
||||
CONFIG_TARGET_SPRING=y
|
||||
CONFIG_DM_I2C=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="exynos5250-spring"
|
||||
|
@ -1,5 +1,6 @@
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARCH_EXYNOS=y
|
||||
CONFIG_ARCH_EXYNOS4=y
|
||||
CONFIG_TARGET_TRATS2=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="exynos4412-trats2"
|
||||
# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
|
||||
|
@ -1,5 +1,6 @@
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARCH_EXYNOS=y
|
||||
CONFIG_ARCH_EXYNOS4=y
|
||||
CONFIG_TARGET_TRATS=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="exynos4210-trats"
|
||||
CONFIG_FIT=y
|
||||
|
Loading…
Reference in New Issue
Block a user