diff options
-rw-r--r-- | arch/arm/mach-exynos/Kconfig | 10 | ||||
-rw-r--r-- | arch/arm/mach-exynos/common.c | 7 | ||||
-rw-r--r-- | arch/arm/mach-exynos/mach-exynos5-dt.c | 1 | ||||
-rw-r--r-- | arch/arm/plat-samsung/include/plat/cpu.h | 8 |
4 files changed, 26 insertions, 0 deletions
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig index ff18fc2ea46f..5ae41ecb0a02 100644 --- a/arch/arm/mach-exynos/Kconfig +++ b/arch/arm/mach-exynos/Kconfig | |||
@@ -71,6 +71,16 @@ config SOC_EXYNOS5250 | |||
71 | help | 71 | help |
72 | Enable EXYNOS5250 SoC support | 72 | Enable EXYNOS5250 SoC support |
73 | 73 | ||
74 | config SOC_EXYNOS5420 | ||
75 | bool "SAMSUNG EXYNOS5420" | ||
76 | default y | ||
77 | depends on ARCH_EXYNOS5 | ||
78 | select PM_GENERIC_DOMAINS if PM | ||
79 | select S5P_PM if PM | ||
80 | select S5P_SLEEP if PM | ||
81 | help | ||
82 | Enable EXYNOS5420 SoC support | ||
83 | |||
74 | config SOC_EXYNOS5440 | 84 | config SOC_EXYNOS5440 |
75 | bool "SAMSUNG EXYNOS5440" | 85 | bool "SAMSUNG EXYNOS5440" |
76 | default y | 86 | default y |
diff --git a/arch/arm/mach-exynos/common.c b/arch/arm/mach-exynos/common.c index f7e504b7874d..f323655737fb 100644 --- a/arch/arm/mach-exynos/common.c +++ b/arch/arm/mach-exynos/common.c | |||
@@ -64,6 +64,7 @@ static const char name_exynos4210[] = "EXYNOS4210"; | |||
64 | static const char name_exynos4212[] = "EXYNOS4212"; | 64 | static const char name_exynos4212[] = "EXYNOS4212"; |
65 | static const char name_exynos4412[] = "EXYNOS4412"; | 65 | static const char name_exynos4412[] = "EXYNOS4412"; |
66 | static const char name_exynos5250[] = "EXYNOS5250"; | 66 | static const char name_exynos5250[] = "EXYNOS5250"; |
67 | static const char name_exynos5420[] = "EXYNOS5420"; | ||
67 | static const char name_exynos5440[] = "EXYNOS5440"; | 68 | static const char name_exynos5440[] = "EXYNOS5440"; |
68 | 69 | ||
69 | static void exynos4_map_io(void); | 70 | static void exynos4_map_io(void); |
@@ -103,6 +104,12 @@ static struct cpu_table cpu_ids[] __initdata = { | |||
103 | .init = exynos_init, | 104 | .init = exynos_init, |
104 | .name = name_exynos5250, | 105 | .name = name_exynos5250, |
105 | }, { | 106 | }, { |
107 | .idcode = EXYNOS5420_SOC_ID, | ||
108 | .idmask = EXYNOS5_SOC_MASK, | ||
109 | .map_io = exynos5_map_io, | ||
110 | .init = exynos_init, | ||
111 | .name = name_exynos5420, | ||
112 | }, { | ||
106 | .idcode = EXYNOS5440_SOC_ID, | 113 | .idcode = EXYNOS5440_SOC_ID, |
107 | .idmask = EXYNOS5_SOC_MASK, | 114 | .idmask = EXYNOS5_SOC_MASK, |
108 | .map_io = exynos5440_map_io, | 115 | .map_io = exynos5440_map_io, |
diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c index 753b94f3fca7..050a5b1247ef 100644 --- a/arch/arm/mach-exynos/mach-exynos5-dt.c +++ b/arch/arm/mach-exynos/mach-exynos5-dt.c | |||
@@ -57,6 +57,7 @@ static void __init exynos5_dt_machine_init(void) | |||
57 | 57 | ||
58 | static char const *exynos5_dt_compat[] __initdata = { | 58 | static char const *exynos5_dt_compat[] __initdata = { |
59 | "samsung,exynos5250", | 59 | "samsung,exynos5250", |
60 | "samsung,exynos5420", | ||
60 | "samsung,exynos5440", | 61 | "samsung,exynos5440", |
61 | NULL | 62 | NULL |
62 | }; | 63 | }; |
diff --git a/arch/arm/plat-samsung/include/plat/cpu.h b/arch/arm/plat-samsung/include/plat/cpu.h index 989fefe18be6..4fb1f03a10d1 100644 --- a/arch/arm/plat-samsung/include/plat/cpu.h +++ b/arch/arm/plat-samsung/include/plat/cpu.h | |||
@@ -46,6 +46,7 @@ extern unsigned long samsung_cpu_id; | |||
46 | #define EXYNOS4_CPU_MASK 0xFFFE0000 | 46 | #define EXYNOS4_CPU_MASK 0xFFFE0000 |
47 | 47 | ||
48 | #define EXYNOS5250_SOC_ID 0x43520000 | 48 | #define EXYNOS5250_SOC_ID 0x43520000 |
49 | #define EXYNOS5420_SOC_ID 0xE5420000 | ||
49 | #define EXYNOS5440_SOC_ID 0xE5440000 | 50 | #define EXYNOS5440_SOC_ID 0xE5440000 |
50 | #define EXYNOS5_SOC_MASK 0xFFFFF000 | 51 | #define EXYNOS5_SOC_MASK 0xFFFFF000 |
51 | 52 | ||
@@ -67,6 +68,7 @@ IS_SAMSUNG_CPU(exynos4210, EXYNOS4210_CPU_ID, EXYNOS4_CPU_MASK) | |||
67 | IS_SAMSUNG_CPU(exynos4212, EXYNOS4212_CPU_ID, EXYNOS4_CPU_MASK) | 68 | IS_SAMSUNG_CPU(exynos4212, EXYNOS4212_CPU_ID, EXYNOS4_CPU_MASK) |
68 | IS_SAMSUNG_CPU(exynos4412, EXYNOS4412_CPU_ID, EXYNOS4_CPU_MASK) | 69 | IS_SAMSUNG_CPU(exynos4412, EXYNOS4412_CPU_ID, EXYNOS4_CPU_MASK) |
69 | IS_SAMSUNG_CPU(exynos5250, EXYNOS5250_SOC_ID, EXYNOS5_SOC_MASK) | 70 | IS_SAMSUNG_CPU(exynos5250, EXYNOS5250_SOC_ID, EXYNOS5_SOC_MASK) |
71 | IS_SAMSUNG_CPU(exynos5420, EXYNOS5420_SOC_ID, EXYNOS5_SOC_MASK) | ||
70 | IS_SAMSUNG_CPU(exynos5440, EXYNOS5440_SOC_ID, EXYNOS5_SOC_MASK) | 72 | IS_SAMSUNG_CPU(exynos5440, EXYNOS5440_SOC_ID, EXYNOS5_SOC_MASK) |
71 | 73 | ||
72 | #if defined(CONFIG_CPU_S3C2410) || defined(CONFIG_CPU_S3C2412) || \ | 74 | #if defined(CONFIG_CPU_S3C2410) || defined(CONFIG_CPU_S3C2412) || \ |
@@ -142,6 +144,12 @@ IS_SAMSUNG_CPU(exynos5440, EXYNOS5440_SOC_ID, EXYNOS5_SOC_MASK) | |||
142 | # define soc_is_exynos5250() 0 | 144 | # define soc_is_exynos5250() 0 |
143 | #endif | 145 | #endif |
144 | 146 | ||
147 | #if defined(CONFIG_SOC_EXYNOS5420) | ||
148 | # define soc_is_exynos5420() is_samsung_exynos5420() | ||
149 | #else | ||
150 | # define soc_is_exynos5420() 0 | ||
151 | #endif | ||
152 | |||
145 | #if defined(CONFIG_SOC_EXYNOS5440) | 153 | #if defined(CONFIG_SOC_EXYNOS5440) |
146 | # define soc_is_exynos5440() is_samsung_exynos5440() | 154 | # define soc_is_exynos5440() is_samsung_exynos5440() |
147 | #else | 155 | #else |