summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHyungwon Hwang <human.hwang@samsung.com>2014-12-17 06:39:49 (GMT)
committerHyungwon Hwang <human.hwang@samsung.com>2014-12-23 02:09:31 (GMT)
commit365c82f86e303f594f92453c0efcb09269c19232 (patch)
tree52a212b4c0f71b883c61c512855e12a3501cdc2b
parent8ff6bb515a704178d1aa0454552e61935718f392 (diff)
downloadlinux-3.10-365c82f86e303f594f92453c0efcb09269c19232.zip
linux-3.10-365c82f86e303f594f92453c0efcb09269c19232.tar.gz
linux-3.10-365c82f86e303f594f92453c0efcb09269c19232.tar.bz2
arm: exynos: Add support of Exynos5800 for Tizen kernel 3.10
This patch adds support for Exynos5800 for Tizen kernel 3.10. This patch is needed to compensate the gap between the mainline kernel and tizen 3.10 kernel. Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com> Change-Id: Ib856974bac4e1be4dd50fe713dd0d742f87a6e13
-rw-r--r--arch/arm/mach-exynos/common.c19
-rw-r--r--arch/arm/mach-exynos/include/mach/map.h1
-rw-r--r--arch/arm/mach-exynos/mach-exynos5-dt.c1
3 files changed, 21 insertions, 0 deletions
diff --git a/arch/arm/mach-exynos/common.c b/arch/arm/mach-exynos/common.c
index 1b63e88..f61c7eb 100644
--- a/arch/arm/mach-exynos/common.c
+++ b/arch/arm/mach-exynos/common.c
@@ -68,6 +68,7 @@ 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 const char name_exynos5800[] = "EXYNOS5800";
static void exynos3_map_io(void);
static void exynos4_map_io(void);
@@ -124,6 +125,12 @@ static struct cpu_table cpu_ids[] __initdata = {
.map_io = exynos5440_map_io,
.init = exynos_init,
.name = name_exynos5440,
+ }, {
+ .idcode = EXYNOS5800_SOC_ID,
+ .idmask = EXYNOS5_SOC_MASK,
+ .map_io = exynos5_map_io,
+ .init = exynos_init,
+ .name = name_exynos5800,
},
};
@@ -356,6 +363,15 @@ static struct map_desc exynos5250_iodesc[] __initdata = {
},
};
+static struct map_desc exynos5420_iodesc[] __initdata = {
+ {
+ .virtual = (unsigned long)S5P_VA_SYSRAM_NS,
+ .pfn = __phys_to_pfn(EXYNOS5420_PA_SYSRAM_NS),
+ .length = SZ_4K,
+ .type = MT_DEVICE,
+ },
+};
+
static struct map_desc exynos5_iodesc[] __initdata = {
{
.virtual = (unsigned long)S3C_VA_SYS,
@@ -563,6 +579,9 @@ static void __init exynos5_map_io(void)
if (soc_is_exynos5250())
iotable_init(exynos5250_iodesc, ARRAY_SIZE(exynos5250_iodesc));
+
+ if (soc_is_exynos5800())
+ iotable_init(exynos5420_iodesc, ARRAY_SIZE(exynos5420_iodesc));
}
static void __init exynos5440_map_io(void)
diff --git a/arch/arm/mach-exynos/include/mach/map.h b/arch/arm/mach-exynos/include/mach/map.h
index 3296281..533f0fc 100644
--- a/arch/arm/mach-exynos/include/mach/map.h
+++ b/arch/arm/mach-exynos/include/mach/map.h
@@ -77,6 +77,7 @@
#define EXYNOS4210_PA_SYSRAM_NS 0x0203F000
#define EXYNOS4x12_PA_SYSRAM_NS 0x0204F000
#define EXYNOS5250_PA_SYSRAM_NS 0x0204F000
+#define EXYNOS5420_PA_SYSRAM_NS 0x02073000
#define EXYNOS4_PA_FIMC0 0x11800000
#define EXYNOS4_PA_FIMC1 0x11810000
diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c
index d8f8d86..69b54a7 100644
--- a/arch/arm/mach-exynos/mach-exynos5-dt.c
+++ b/arch/arm/mach-exynos/mach-exynos5-dt.c
@@ -56,6 +56,7 @@ static char const *exynos5_dt_compat[] __initdata = {
"samsung,exynos5250",
"samsung,exynos5420",
"samsung,exynos5440",
+ "samsung,exynos5800",
NULL
};