diff options
author | Chanwoo Choi <cw00.choi@samsung.com> | 2014-05-25 15:12:26 -0400 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2014-05-30 13:37:23 -0400 |
commit | 940bc58de51454f4f6c4be754ad62bd0cb8bc396 (patch) | |
tree | a635978a8cf2c536d8fc288a9b70f8974c3c5974 | |
parent | 86c6f1488d9e53894cafc5671487269e80286d10 (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/Kconfig | 22 | ||||
-rw-r--r-- | arch/arm/mach-exynos/common.h | 10 | ||||
-rw-r--r-- | arch/arm/mach-exynos/exynos.c | 2 |
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 | ||
12 | menu "SAMSUNG EXYNOS SoCs Support" | 12 | menu "SAMSUNG EXYNOS SoCs Support" |
13 | 13 | ||
14 | config 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 | |||
14 | config ARCH_EXYNOS4 | 25 | config 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 | ||
42 | comment "EXYNOS SoCs" | 53 | comment "EXYNOS SoCs" |
43 | 54 | ||
55 | config 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 | |||
44 | config CPU_EXYNOS4210 | 66 | config 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 | ||
40 | IS_SAMSUNG_CPU(exynos3250, EXYNOS3250_SOC_ID, EXYNOS3_SOC_MASK) | ||
37 | IS_SAMSUNG_CPU(exynos4210, EXYNOS4210_CPU_ID, EXYNOS4_CPU_MASK) | 41 | IS_SAMSUNG_CPU(exynos4210, EXYNOS4210_CPU_ID, EXYNOS4_CPU_MASK) |
38 | IS_SAMSUNG_CPU(exynos4212, EXYNOS4212_CPU_ID, EXYNOS4_CPU_MASK) | 42 | IS_SAMSUNG_CPU(exynos4212, EXYNOS4212_CPU_ID, EXYNOS4_CPU_MASK) |
39 | IS_SAMSUNG_CPU(exynos4412, EXYNOS4412_CPU_ID, EXYNOS4_CPU_MASK) | 43 | IS_SAMSUNG_CPU(exynos4412, EXYNOS4412_CPU_ID, EXYNOS4_CPU_MASK) |
@@ -42,6 +46,12 @@ IS_SAMSUNG_CPU(exynos5420, EXYNOS5420_SOC_ID, EXYNOS5_SOC_MASK) | |||
42 | IS_SAMSUNG_CPU(exynos5440, EXYNOS5440_SOC_ID, EXYNOS5_SOC_MASK) | 46 | IS_SAMSUNG_CPU(exynos5440, EXYNOS5440_SOC_ID, EXYNOS5_SOC_MASK) |
43 | IS_SAMSUNG_CPU(exynos5800, EXYNOS5800_SOC_ID, EXYNOS5_SOC_MASK) | 47 | IS_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 | ||
359 | static char const *exynos_dt_compat[] __initconst = { | 359 | static 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", |