aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChanwoo Choi <cw00.choi@samsung.com>2014-05-25 15:12:26 -0400
committerKukjin Kim <kgene.kim@samsung.com>2014-05-30 13:37:23 -0400
commit940bc58de51454f4f6c4be754ad62bd0cb8bc396 (patch)
treea635978a8cf2c536d8fc288a9b70f8974c3c5974
parent86c6f1488d9e53894cafc5671487269e80286d10 (diff)
ARM: EXYNOS: Add Exynos3250 SoC ID
This patch add Exynos3250's SoC ID. Exynos 3250 is SoC that is based on the 32-bit RISC processor for Smartphone. Exynos3250 uses Cortex-A7 dual cores and has a target speed of 1.0GHz. Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Acked-by: Kyungmin Park <kyungmin.park@samsung.com> Reviewed-by: Tomasz Figa <t.figa@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
-rw-r--r--arch/arm/mach-exynos/Kconfig22
-rw-r--r--arch/arm/mach-exynos/common.h10
-rw-r--r--arch/arm/mach-exynos/exynos.c2
3 files changed, 34 insertions, 0 deletions
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
index 8390096e90e7..ec3403c46cbe 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -11,6 +11,17 @@ if ARCH_EXYNOS
11 11
12menu "SAMSUNG EXYNOS SoCs Support" 12menu "SAMSUNG EXYNOS SoCs Support"
13 13
14config ARCH_EXYNOS3
15 bool "SAMSUNG EXYNOS3"
16 select ARM_AMBA
17 select CLKSRC_OF
18 select HAVE_ARM_SCU if SMP
19 select HAVE_SMP
20 select PINCTRL
21 select PM_GENERIC_DOMAINS if PM_RUNTIME
22 help
23 Samsung EXYNOS3 SoCs based systems
24
14config ARCH_EXYNOS4 25config ARCH_EXYNOS4
15 bool "SAMSUNG EXYNOS4" 26 bool "SAMSUNG EXYNOS4"
16 default y 27 default y
@@ -41,6 +52,17 @@ config ARCH_EXYNOS5
41 52
42comment "EXYNOS SoCs" 53comment "EXYNOS SoCs"
43 54
55config SOC_EXYNOS3250
56 bool "SAMSUNG EXYNOS3250"
57 default y
58 depends on ARCH_EXYNOS3
59 select ARCH_HAS_BANDGAP
60 select ARM_CPU_SUSPEND if PM
61 select PINCTRL_EXYNOS
62 select SAMSUNG_DMADEV
63 help
64 Enable EXYNOS3250 CPU support
65
44config CPU_EXYNOS4210 66config CPU_EXYNOS4210
45 bool "SAMSUNG EXYNOS4210" 67 bool "SAMSUNG EXYNOS4210"
46 default y 68 default y
diff --git a/arch/arm/mach-exynos/common.h b/arch/arm/mach-exynos/common.h
index d439ed2e7350..26218e76bb2f 100644
--- a/arch/arm/mach-exynos/common.h
+++ b/arch/arm/mach-exynos/common.h
@@ -15,6 +15,9 @@
15#include <linux/reboot.h> 15#include <linux/reboot.h>
16#include <linux/of.h> 16#include <linux/of.h>
17 17
18#define EXYNOS3250_SOC_ID 0xE3472000
19#define EXYNOS3_SOC_MASK 0xFFFFF000
20
18#define EXYNOS4210_CPU_ID 0x43210000 21#define EXYNOS4210_CPU_ID 0x43210000
19#define EXYNOS4212_CPU_ID 0x43220000 22#define EXYNOS4212_CPU_ID 0x43220000
20#define EXYNOS4412_CPU_ID 0xE4412200 23#define EXYNOS4412_CPU_ID 0xE4412200
@@ -34,6 +37,7 @@ static inline int is_samsung_##name(void) \
34 return ((samsung_cpu_id & mask) == (id & mask)); \ 37 return ((samsung_cpu_id & mask) == (id & mask)); \
35} 38}
36 39
40IS_SAMSUNG_CPU(exynos3250, EXYNOS3250_SOC_ID, EXYNOS3_SOC_MASK)
37IS_SAMSUNG_CPU(exynos4210, EXYNOS4210_CPU_ID, EXYNOS4_CPU_MASK) 41IS_SAMSUNG_CPU(exynos4210, EXYNOS4210_CPU_ID, EXYNOS4_CPU_MASK)
38IS_SAMSUNG_CPU(exynos4212, EXYNOS4212_CPU_ID, EXYNOS4_CPU_MASK) 42IS_SAMSUNG_CPU(exynos4212, EXYNOS4212_CPU_ID, EXYNOS4_CPU_MASK)
39IS_SAMSUNG_CPU(exynos4412, EXYNOS4412_CPU_ID, EXYNOS4_CPU_MASK) 43IS_SAMSUNG_CPU(exynos4412, EXYNOS4412_CPU_ID, EXYNOS4_CPU_MASK)
@@ -42,6 +46,12 @@ IS_SAMSUNG_CPU(exynos5420, EXYNOS5420_SOC_ID, EXYNOS5_SOC_MASK)
42IS_SAMSUNG_CPU(exynos5440, EXYNOS5440_SOC_ID, EXYNOS5_SOC_MASK) 46IS_SAMSUNG_CPU(exynos5440, EXYNOS5440_SOC_ID, EXYNOS5_SOC_MASK)
43IS_SAMSUNG_CPU(exynos5800, EXYNOS5800_SOC_ID, EXYNOS5_SOC_MASK) 47IS_SAMSUNG_CPU(exynos5800, EXYNOS5800_SOC_ID, EXYNOS5_SOC_MASK)
44 48
49#if defined(CONFIG_SOC_EXYNOS3250)
50# define soc_is_exynos3250() is_samsung_exynos3250()
51#else
52# define soc_is_exynos3250() 0
53#endif
54
45#if defined(CONFIG_CPU_EXYNOS4210) 55#if defined(CONFIG_CPU_EXYNOS4210)
46# define soc_is_exynos4210() is_samsung_exynos4210() 56# define soc_is_exynos4210() is_samsung_exynos4210()
47#else 57#else
diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c
index 6d74947e8af8..0bcf11c650ad 100644
--- a/arch/arm/mach-exynos/exynos.c
+++ b/arch/arm/mach-exynos/exynos.c
@@ -357,6 +357,8 @@ static void __init exynos_dt_machine_init(void)
357} 357}
358 358
359static char const *exynos_dt_compat[] __initconst = { 359static char const *exynos_dt_compat[] __initconst = {
360 "samsung,exynos3",
361 "samsung,exynos3250",
360 "samsung,exynos4", 362 "samsung,exynos4",
361 "samsung,exynos4210", 363 "samsung,exynos4210",
362 "samsung,exynos4212", 364 "samsung,exynos4212",