ARM: EXYNOS: Add Exynos3250 SoC ID
authorChanwoo Choi <cw00.choi@samsung.com>
Sun, 25 May 2014 19:12:26 +0000 (04:12 +0900)
committerKukjin Kim <kgene.kim@samsung.com>
Fri, 30 May 2014 17:37:23 +0000 (02:37 +0900)
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>
arch/arm/mach-exynos/Kconfig
arch/arm/mach-exynos/common.h
arch/arm/mach-exynos/exynos.c

index 8390096e90e73eeec0eb2ca26750d63b7a295de3..ec3403c46cbe514b5d62cd77759d23c31b2ab3a4 100644 (file)
@@ -11,6 +11,17 @@ if ARCH_EXYNOS
 
 menu "SAMSUNG EXYNOS SoCs Support"
 
+config ARCH_EXYNOS3
+       bool "SAMSUNG EXYNOS3"
+       select ARM_AMBA
+       select CLKSRC_OF
+       select HAVE_ARM_SCU if SMP
+       select HAVE_SMP
+       select PINCTRL
+       select PM_GENERIC_DOMAINS if PM_RUNTIME
+       help
+         Samsung EXYNOS3 SoCs based systems
+
 config ARCH_EXYNOS4
        bool "SAMSUNG EXYNOS4"
        default y
@@ -41,6 +52,17 @@ config ARCH_EXYNOS5
 
 comment "EXYNOS SoCs"
 
+config SOC_EXYNOS3250
+       bool "SAMSUNG EXYNOS3250"
+       default y
+       depends on ARCH_EXYNOS3
+       select ARCH_HAS_BANDGAP
+       select ARM_CPU_SUSPEND if PM
+       select PINCTRL_EXYNOS
+       select SAMSUNG_DMADEV
+       help
+         Enable EXYNOS3250 CPU support
+
 config CPU_EXYNOS4210
        bool "SAMSUNG EXYNOS4210"
        default y
index d439ed2e7350f4a1a5ad4d218984b458d3cd8232..26218e76bb2f34e5a2cf4a932fe4190a9d9a6f6c 100644 (file)
@@ -15,6 +15,9 @@
 #include <linux/reboot.h>
 #include <linux/of.h>
 
+#define EXYNOS3250_SOC_ID      0xE3472000
+#define EXYNOS3_SOC_MASK       0xFFFFF000
+
 #define EXYNOS4210_CPU_ID      0x43210000
 #define EXYNOS4212_CPU_ID      0x43220000
 #define EXYNOS4412_CPU_ID      0xE4412200
@@ -34,6 +37,7 @@ static inline int is_samsung_##name(void)     \
        return ((samsung_cpu_id & mask) == (id & mask));        \
 }
 
+IS_SAMSUNG_CPU(exynos3250, EXYNOS3250_SOC_ID, EXYNOS3_SOC_MASK)
 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)
@@ -42,6 +46,12 @@ IS_SAMSUNG_CPU(exynos5420, EXYNOS5420_SOC_ID, EXYNOS5_SOC_MASK)
 IS_SAMSUNG_CPU(exynos5440, EXYNOS5440_SOC_ID, EXYNOS5_SOC_MASK)
 IS_SAMSUNG_CPU(exynos5800, EXYNOS5800_SOC_ID, EXYNOS5_SOC_MASK)
 
+#if defined(CONFIG_SOC_EXYNOS3250)
+# define soc_is_exynos3250()   is_samsung_exynos3250()
+#else
+# define soc_is_exynos3250()   0
+#endif
+
 #if defined(CONFIG_CPU_EXYNOS4210)
 # define soc_is_exynos4210()   is_samsung_exynos4210()
 #else
index 6d74947e8af8c4682c282e34fb9b055008f13704..0bcf11c650ad2e007f25ba5503c90ab36e1cbf5a 100644 (file)
@@ -357,6 +357,8 @@ static void __init exynos_dt_machine_init(void)
 }
 
 static char const *exynos_dt_compat[] __initconst = {
+       "samsung,exynos3",
+       "samsung,exynos3250",
        "samsung,exynos4",
        "samsung,exynos4210",
        "samsung,exynos4212",