Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 191d754f authored by Chander Kashyap's avatar Chander Kashyap Committed by Kukjin Kim
Browse files

ARM: EXYNOS: Add support for EXYNOS5420 SoC



EXYNOS5420 is new SoC in Samsung's Exynos5 SoC series. Add
initial support for this new SoC.

Signed-off-by: default avatarChander Kashyap <chander.kashyap@linaro.org>
Signed-off-by: default avatarThomas Abraham <thomas.abraham@linaro.org>
Reviewed-by: default avatarTomasz Figa <t.figa@samsung.com>
Signed-off-by: default avatarKukjin Kim <kgene.kim@samsung.com>
parent 1897d2f3
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -71,6 +71,16 @@ config SOC_EXYNOS5250
	help
	  Enable EXYNOS5250 SoC support

config SOC_EXYNOS5420
	bool "SAMSUNG EXYNOS5420"
	default y
	depends on ARCH_EXYNOS5
	select PM_GENERIC_DOMAINS if PM
	select S5P_PM if PM
	select S5P_SLEEP if PM
	help
	  Enable EXYNOS5420 SoC support

config SOC_EXYNOS5440
	bool "SAMSUNG EXYNOS5440"
	default y
+7 −0
Original line number Diff line number Diff line
@@ -64,6 +64,7 @@ static const char name_exynos4210[] = "EXYNOS4210";
static const char name_exynos4212[] = "EXYNOS4212";
static const char name_exynos4412[] = "EXYNOS4412";
static const char name_exynos5250[] = "EXYNOS5250";
static const char name_exynos5420[] = "EXYNOS5420";
static const char name_exynos5440[] = "EXYNOS5440";

static void exynos4_map_io(void);
@@ -102,6 +103,12 @@ static struct cpu_table cpu_ids[] __initdata = {
		.map_io		= exynos5_map_io,
		.init		= exynos_init,
		.name		= name_exynos5250,
	}, {
		.idcode		= EXYNOS5420_SOC_ID,
		.idmask		= EXYNOS5_SOC_MASK,
		.map_io		= exynos5_map_io,
		.init		= exynos_init,
		.name		= name_exynos5420,
	}, {
		.idcode		= EXYNOS5440_SOC_ID,
		.idmask		= EXYNOS5_SOC_MASK,
+1 −0
Original line number Diff line number Diff line
@@ -57,6 +57,7 @@ static void __init exynos5_dt_machine_init(void)

static char const *exynos5_dt_compat[] __initdata = {
	"samsung,exynos5250",
	"samsung,exynos5420",
	"samsung,exynos5440",
	NULL
};
+8 −0
Original line number Diff line number Diff line
@@ -46,6 +46,7 @@ extern unsigned long samsung_cpu_id;
#define EXYNOS4_CPU_MASK	0xFFFE0000

#define EXYNOS5250_SOC_ID	0x43520000
#define EXYNOS5420_SOC_ID	0xE5420000
#define EXYNOS5440_SOC_ID	0xE5440000
#define EXYNOS5_SOC_MASK	0xFFFFF000

@@ -67,6 +68,7 @@ IS_SAMSUNG_CPU(exynos4210, EXYNOS4210_CPU_ID, EXYNOS4_CPU_MASK)
IS_SAMSUNG_CPU(exynos4212, EXYNOS4212_CPU_ID, EXYNOS4_CPU_MASK)
IS_SAMSUNG_CPU(exynos4412, EXYNOS4412_CPU_ID, EXYNOS4_CPU_MASK)
IS_SAMSUNG_CPU(exynos5250, EXYNOS5250_SOC_ID, EXYNOS5_SOC_MASK)
IS_SAMSUNG_CPU(exynos5420, EXYNOS5420_SOC_ID, EXYNOS5_SOC_MASK)
IS_SAMSUNG_CPU(exynos5440, EXYNOS5440_SOC_ID, EXYNOS5_SOC_MASK)

#if defined(CONFIG_CPU_S3C2410) || defined(CONFIG_CPU_S3C2412) || \
@@ -142,6 +144,12 @@ IS_SAMSUNG_CPU(exynos5440, EXYNOS5440_SOC_ID, EXYNOS5_SOC_MASK)
# define soc_is_exynos5250()	0
#endif

#if defined(CONFIG_SOC_EXYNOS5420)
# define soc_is_exynos5420()	is_samsung_exynos5420()
#else
# define soc_is_exynos5420()	0
#endif

#if defined(CONFIG_SOC_EXYNOS5440)
# define soc_is_exynos5440()	is_samsung_exynos5440()
#else