diff options
Diffstat (limited to 'arch/arm/mach-exynos')
-rw-r--r-- | arch/arm/mach-exynos/common.h | 13 | ||||
-rw-r--r-- | arch/arm/mach-exynos/exynos.c | 44 | ||||
-rw-r--r-- | arch/arm/mach-exynos/headsmp.S | 1 | ||||
-rw-r--r-- | arch/arm/mach-exynos/hotplug.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-exynos/include/mach/map.h | 3 | ||||
-rw-r--r-- | arch/arm/mach-exynos/include/mach/memory.h | 3 | ||||
-rw-r--r-- | arch/arm/mach-exynos/platsmp.c | 69 | ||||
-rw-r--r-- | arch/arm/mach-exynos/pm.c | 67 | ||||
-rw-r--r-- | arch/arm/mach-exynos/pm_domains.c | 9 | ||||
-rw-r--r-- | arch/arm/mach-exynos/pmu.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-exynos/regs-pmu.h | 4 | ||||
-rw-r--r-- | arch/arm/mach-exynos/regs-sys.h | 22 |
12 files changed, 139 insertions, 100 deletions
diff --git a/arch/arm/mach-exynos/common.h b/arch/arm/mach-exynos/common.h index 1ee91763fa7c..f8daa9cc5617 100644 --- a/arch/arm/mach-exynos/common.h +++ b/arch/arm/mach-exynos/common.h | |||
@@ -111,25 +111,14 @@ IS_SAMSUNG_CPU(exynos5800, EXYNOS5800_SOC_ID, EXYNOS5_SOC_MASK) | |||
111 | #define soc_is_exynos5() (soc_is_exynos5250() || soc_is_exynos5410() || \ | 111 | #define soc_is_exynos5() (soc_is_exynos5250() || soc_is_exynos5410() || \ |
112 | soc_is_exynos5420() || soc_is_exynos5800()) | 112 | soc_is_exynos5420() || soc_is_exynos5800()) |
113 | 113 | ||
114 | void mct_init(void __iomem *base, int irq_g0, int irq_l0, int irq_l1); | ||
115 | |||
116 | struct map_desc; | ||
117 | extern void __iomem *sysram_ns_base_addr; | 114 | extern void __iomem *sysram_ns_base_addr; |
118 | extern void __iomem *sysram_base_addr; | 115 | extern void __iomem *sysram_base_addr; |
119 | void exynos_init_io(void); | 116 | extern void __iomem *pmu_base_addr; |
120 | void exynos_restart(enum reboot_mode mode, const char *cmd); | ||
121 | void exynos_sysram_init(void); | 117 | void exynos_sysram_init(void); |
122 | void exynos_cpuidle_init(void); | ||
123 | void exynos_cpufreq_init(void); | ||
124 | void exynos_init_late(void); | ||
125 | 118 | ||
126 | void exynos_firmware_init(void); | 119 | void exynos_firmware_init(void); |
127 | 120 | ||
128 | #ifdef CONFIG_PINCTRL_EXYNOS | ||
129 | extern u32 exynos_get_eint_wake_mask(void); | 121 | extern u32 exynos_get_eint_wake_mask(void); |
130 | #else | ||
131 | static inline u32 exynos_get_eint_wake_mask(void) { return 0xffffffff; } | ||
132 | #endif | ||
133 | 122 | ||
134 | #ifdef CONFIG_PM_SLEEP | 123 | #ifdef CONFIG_PM_SLEEP |
135 | extern void __init exynos_pm_init(void); | 124 | extern void __init exynos_pm_init(void); |
diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c index 66c9b9614f3c..3164ef2e6b6c 100644 --- a/arch/arm/mach-exynos/exynos.c +++ b/arch/arm/mach-exynos/exynos.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <linux/of_platform.h> | 19 | #include <linux/of_platform.h> |
20 | #include <linux/platform_device.h> | 20 | #include <linux/platform_device.h> |
21 | #include <linux/pm_domain.h> | 21 | #include <linux/pm_domain.h> |
22 | #include <linux/irqchip.h> | ||
22 | 23 | ||
23 | #include <asm/cacheflush.h> | 24 | #include <asm/cacheflush.h> |
24 | #include <asm/hardware/cache-l2x0.h> | 25 | #include <asm/hardware/cache-l2x0.h> |
@@ -29,6 +30,9 @@ | |||
29 | #include "common.h" | 30 | #include "common.h" |
30 | #include "mfc.h" | 31 | #include "mfc.h" |
31 | #include "regs-pmu.h" | 32 | #include "regs-pmu.h" |
33 | #include "regs-sys.h" | ||
34 | |||
35 | void __iomem *pmu_base_addr; | ||
32 | 36 | ||
33 | static struct map_desc exynos4_iodesc[] __initdata = { | 37 | static struct map_desc exynos4_iodesc[] __initdata = { |
34 | { | 38 | { |
@@ -143,7 +147,7 @@ static struct map_desc exynos5_iodesc[] __initdata = { | |||
143 | }, | 147 | }, |
144 | }; | 148 | }; |
145 | 149 | ||
146 | void exynos_restart(enum reboot_mode mode, const char *cmd) | 150 | static void exynos_restart(enum reboot_mode mode, const char *cmd) |
147 | { | 151 | { |
148 | struct device_node *np; | 152 | struct device_node *np; |
149 | u32 val = 0x1; | 153 | u32 val = 0x1; |
@@ -204,7 +208,7 @@ void __init exynos_sysram_init(void) | |||
204 | } | 208 | } |
205 | } | 209 | } |
206 | 210 | ||
207 | void __init exynos_init_late(void) | 211 | static void __init exynos_init_late(void) |
208 | { | 212 | { |
209 | if (of_machine_is_compatible("samsung,exynos5440")) | 213 | if (of_machine_is_compatible("samsung,exynos5440")) |
210 | /* to be supported later */ | 214 | /* to be supported later */ |
@@ -251,7 +255,7 @@ static void __init exynos_map_io(void) | |||
251 | iotable_init(exynos5_iodesc, ARRAY_SIZE(exynos5_iodesc)); | 255 | iotable_init(exynos5_iodesc, ARRAY_SIZE(exynos5_iodesc)); |
252 | } | 256 | } |
253 | 257 | ||
254 | void __init exynos_init_io(void) | 258 | static void __init exynos_init_io(void) |
255 | { | 259 | { |
256 | debug_ll_io_init(); | 260 | debug_ll_io_init(); |
257 | 261 | ||
@@ -263,6 +267,39 @@ void __init exynos_init_io(void) | |||
263 | exynos_map_io(); | 267 | exynos_map_io(); |
264 | } | 268 | } |
265 | 269 | ||
270 | static const struct of_device_id exynos_dt_pmu_match[] = { | ||
271 | { .compatible = "samsung,exynos3250-pmu" }, | ||
272 | { .compatible = "samsung,exynos4210-pmu" }, | ||
273 | { .compatible = "samsung,exynos4212-pmu" }, | ||
274 | { .compatible = "samsung,exynos4412-pmu" }, | ||
275 | { .compatible = "samsung,exynos5250-pmu" }, | ||
276 | { .compatible = "samsung,exynos5420-pmu" }, | ||
277 | { /*sentinel*/ }, | ||
278 | }; | ||
279 | |||
280 | static void exynos_map_pmu(void) | ||
281 | { | ||
282 | struct device_node *np; | ||
283 | |||
284 | np = of_find_matching_node(NULL, exynos_dt_pmu_match); | ||
285 | if (np) | ||
286 | pmu_base_addr = of_iomap(np, 0); | ||
287 | |||
288 | if (!pmu_base_addr) | ||
289 | panic("failed to find exynos pmu register\n"); | ||
290 | } | ||
291 | |||
292 | static void __init exynos_init_irq(void) | ||
293 | { | ||
294 | irqchip_init(); | ||
295 | /* | ||
296 | * Since platsmp.c needs pmu base address by the time | ||
297 | * DT is not unflatten so we can't use DT APIs before | ||
298 | * init_irq | ||
299 | */ | ||
300 | exynos_map_pmu(); | ||
301 | } | ||
302 | |||
266 | static void __init exynos_dt_machine_init(void) | 303 | static void __init exynos_dt_machine_init(void) |
267 | { | 304 | { |
268 | struct device_node *i2c_np; | 305 | struct device_node *i2c_np; |
@@ -352,6 +389,7 @@ DT_MACHINE_START(EXYNOS_DT, "SAMSUNG EXYNOS (Flattened Device Tree)") | |||
352 | .smp = smp_ops(exynos_smp_ops), | 389 | .smp = smp_ops(exynos_smp_ops), |
353 | .map_io = exynos_init_io, | 390 | .map_io = exynos_init_io, |
354 | .init_early = exynos_firmware_init, | 391 | .init_early = exynos_firmware_init, |
392 | .init_irq = exynos_init_irq, | ||
355 | .init_machine = exynos_dt_machine_init, | 393 | .init_machine = exynos_dt_machine_init, |
356 | .init_late = exynos_init_late, | 394 | .init_late = exynos_init_late, |
357 | .dt_compat = exynos_dt_compat, | 395 | .dt_compat = exynos_dt_compat, |
diff --git a/arch/arm/mach-exynos/headsmp.S b/arch/arm/mach-exynos/headsmp.S index cdd9d91e9933..b54f9701e421 100644 --- a/arch/arm/mach-exynos/headsmp.S +++ b/arch/arm/mach-exynos/headsmp.S | |||
@@ -1,5 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | * linux/arch/arm/mach-exynos4/headsmp.S | ||
3 | * | 2 | * |
4 | * Cloned from linux/arch/arm/mach-realview/headsmp.S | 3 | * Cloned from linux/arch/arm/mach-realview/headsmp.S |
5 | * | 4 | * |
diff --git a/arch/arm/mach-exynos/hotplug.c b/arch/arm/mach-exynos/hotplug.c index 920a4baa53cd..4d86961a7957 100644 --- a/arch/arm/mach-exynos/hotplug.c +++ b/arch/arm/mach-exynos/hotplug.c | |||
@@ -1,5 +1,4 @@ | |||
1 | /* linux arch/arm/mach-exynos4/hotplug.c | 1 | /* |
2 | * | ||
3 | * Cloned from linux/arch/arm/mach-realview/hotplug.c | 2 | * Cloned from linux/arch/arm/mach-realview/hotplug.c |
4 | * | 3 | * |
5 | * Copyright (C) 2002 ARM Ltd. | 4 | * Copyright (C) 2002 ARM Ltd. |
diff --git a/arch/arm/mach-exynos/include/mach/map.h b/arch/arm/mach-exynos/include/mach/map.h index 548269a60634..963002fb15c3 100644 --- a/arch/arm/mach-exynos/include/mach/map.h +++ b/arch/arm/mach-exynos/include/mach/map.h | |||
@@ -1,5 +1,4 @@ | |||
1 | /* linux/arch/arm/mach-exynos/include/mach/map.h | 1 | /* |
2 | * | ||
3 | * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. | 2 | * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. |
4 | * http://www.samsung.com/ | 3 | * http://www.samsung.com/ |
5 | * | 4 | * |
diff --git a/arch/arm/mach-exynos/include/mach/memory.h b/arch/arm/mach-exynos/include/mach/memory.h index 2a4cdb7cb326..e19df1f18c0d 100644 --- a/arch/arm/mach-exynos/include/mach/memory.h +++ b/arch/arm/mach-exynos/include/mach/memory.h | |||
@@ -1,5 +1,4 @@ | |||
1 | /* linux/arch/arm/mach-exynos4/include/mach/memory.h | 1 | /* |
2 | * | ||
3 | * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. | 2 | * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. |
4 | * http://www.samsung.com | 3 | * http://www.samsung.com |
5 | * | 4 | * |
diff --git a/arch/arm/mach-exynos/platsmp.c b/arch/arm/mach-exynos/platsmp.c index 70d1e65a51d8..e5a8d764f24c 100644 --- a/arch/arm/mach-exynos/platsmp.c +++ b/arch/arm/mach-exynos/platsmp.c | |||
@@ -1,5 +1,4 @@ | |||
1 | /* linux/arch/arm/mach-exynos4/platsmp.c | 1 | /* |
2 | * | ||
3 | * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. | 2 | * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. |
4 | * http://www.samsung.com | 3 | * http://www.samsung.com |
5 | * | 4 | * |
@@ -32,6 +31,72 @@ | |||
32 | 31 | ||
33 | extern void exynos4_secondary_startup(void); | 32 | extern void exynos4_secondary_startup(void); |
34 | 33 | ||
34 | /** | ||
35 | * exynos_core_power_down : power down the specified cpu | ||
36 | * @cpu : the cpu to power down | ||
37 | * | ||
38 | * Power down the specified cpu. The sequence must be finished by a | ||
39 | * call to cpu_do_idle() | ||
40 | * | ||
41 | */ | ||
42 | void exynos_cpu_power_down(int cpu) | ||
43 | { | ||
44 | __raw_writel(0, EXYNOS_ARM_CORE_CONFIGURATION(cpu)); | ||
45 | } | ||
46 | |||
47 | /** | ||
48 | * exynos_cpu_power_up : power up the specified cpu | ||
49 | * @cpu : the cpu to power up | ||
50 | * | ||
51 | * Power up the specified cpu | ||
52 | */ | ||
53 | void exynos_cpu_power_up(int cpu) | ||
54 | { | ||
55 | __raw_writel(S5P_CORE_LOCAL_PWR_EN, | ||
56 | EXYNOS_ARM_CORE_CONFIGURATION(cpu)); | ||
57 | } | ||
58 | |||
59 | /** | ||
60 | * exynos_cpu_power_state : returns the power state of the cpu | ||
61 | * @cpu : the cpu to retrieve the power state from | ||
62 | * | ||
63 | */ | ||
64 | int exynos_cpu_power_state(int cpu) | ||
65 | { | ||
66 | return (__raw_readl(EXYNOS_ARM_CORE_STATUS(cpu)) & | ||
67 | S5P_CORE_LOCAL_PWR_EN); | ||
68 | } | ||
69 | |||
70 | /** | ||
71 | * exynos_cluster_power_down : power down the specified cluster | ||
72 | * @cluster : the cluster to power down | ||
73 | */ | ||
74 | void exynos_cluster_power_down(int cluster) | ||
75 | { | ||
76 | __raw_writel(0, EXYNOS_COMMON_CONFIGURATION(cluster)); | ||
77 | } | ||
78 | |||
79 | /** | ||
80 | * exynos_cluster_power_up : power up the specified cluster | ||
81 | * @cluster : the cluster to power up | ||
82 | */ | ||
83 | void exynos_cluster_power_up(int cluster) | ||
84 | { | ||
85 | __raw_writel(S5P_CORE_LOCAL_PWR_EN, | ||
86 | EXYNOS_COMMON_CONFIGURATION(cluster)); | ||
87 | } | ||
88 | |||
89 | /** | ||
90 | * exynos_cluster_power_state : returns the power state of the cluster | ||
91 | * @cluster : the cluster to retrieve the power state from | ||
92 | * | ||
93 | */ | ||
94 | int exynos_cluster_power_state(int cluster) | ||
95 | { | ||
96 | return (__raw_readl(EXYNOS_COMMON_STATUS(cluster)) & | ||
97 | S5P_CORE_LOCAL_PWR_EN); | ||
98 | } | ||
99 | |||
35 | static inline void __iomem *cpu_boot_reg_base(void) | 100 | static inline void __iomem *cpu_boot_reg_base(void) |
36 | { | 101 | { |
37 | if (soc_is_exynos4210() && samsung_rev() == EXYNOS4210_REV_1_1) | 102 | if (soc_is_exynos4210() && samsung_rev() == EXYNOS4210_REV_1_1) |
diff --git a/arch/arm/mach-exynos/pm.c b/arch/arm/mach-exynos/pm.c index 67d383de614f..6ab68a068e93 100644 --- a/arch/arm/mach-exynos/pm.c +++ b/arch/arm/mach-exynos/pm.c | |||
@@ -35,6 +35,7 @@ | |||
35 | 35 | ||
36 | #include "common.h" | 36 | #include "common.h" |
37 | #include "regs-pmu.h" | 37 | #include "regs-pmu.h" |
38 | #include "regs-sys.h" | ||
38 | 39 | ||
39 | /** | 40 | /** |
40 | * struct exynos_wkup_irq - Exynos GIC to PMU IRQ mapping | 41 | * struct exynos_wkup_irq - Exynos GIC to PMU IRQ mapping |
@@ -100,72 +101,6 @@ static int exynos_irq_set_wake(struct irq_data *data, unsigned int state) | |||
100 | return -ENOENT; | 101 | return -ENOENT; |
101 | } | 102 | } |
102 | 103 | ||
103 | /** | ||
104 | * exynos_core_power_down : power down the specified cpu | ||
105 | * @cpu : the cpu to power down | ||
106 | * | ||
107 | * Power down the specified cpu. The sequence must be finished by a | ||
108 | * call to cpu_do_idle() | ||
109 | * | ||
110 | */ | ||
111 | void exynos_cpu_power_down(int cpu) | ||
112 | { | ||
113 | __raw_writel(0, EXYNOS_ARM_CORE_CONFIGURATION(cpu)); | ||
114 | } | ||
115 | |||
116 | /** | ||
117 | * exynos_cpu_power_up : power up the specified cpu | ||
118 | * @cpu : the cpu to power up | ||
119 | * | ||
120 | * Power up the specified cpu | ||
121 | */ | ||
122 | void exynos_cpu_power_up(int cpu) | ||
123 | { | ||
124 | __raw_writel(S5P_CORE_LOCAL_PWR_EN, | ||
125 | EXYNOS_ARM_CORE_CONFIGURATION(cpu)); | ||
126 | } | ||
127 | |||
128 | /** | ||
129 | * exynos_cpu_power_state : returns the power state of the cpu | ||
130 | * @cpu : the cpu to retrieve the power state from | ||
131 | * | ||
132 | */ | ||
133 | int exynos_cpu_power_state(int cpu) | ||
134 | { | ||
135 | return (__raw_readl(EXYNOS_ARM_CORE_STATUS(cpu)) & | ||
136 | S5P_CORE_LOCAL_PWR_EN); | ||
137 | } | ||
138 | |||
139 | /** | ||
140 | * exynos_cluster_power_down : power down the specified cluster | ||
141 | * @cluster : the cluster to power down | ||
142 | */ | ||
143 | void exynos_cluster_power_down(int cluster) | ||
144 | { | ||
145 | __raw_writel(0, EXYNOS_COMMON_CONFIGURATION(cluster)); | ||
146 | } | ||
147 | |||
148 | /** | ||
149 | * exynos_cluster_power_up : power up the specified cluster | ||
150 | * @cluster : the cluster to power up | ||
151 | */ | ||
152 | void exynos_cluster_power_up(int cluster) | ||
153 | { | ||
154 | __raw_writel(S5P_CORE_LOCAL_PWR_EN, | ||
155 | EXYNOS_COMMON_CONFIGURATION(cluster)); | ||
156 | } | ||
157 | |||
158 | /** | ||
159 | * exynos_cluster_power_state : returns the power state of the cluster | ||
160 | * @cluster : the cluster to retrieve the power state from | ||
161 | * | ||
162 | */ | ||
163 | int exynos_cluster_power_state(int cluster) | ||
164 | { | ||
165 | return (__raw_readl(EXYNOS_COMMON_STATUS(cluster)) & | ||
166 | S5P_CORE_LOCAL_PWR_EN); | ||
167 | } | ||
168 | |||
169 | #define EXYNOS_BOOT_VECTOR_ADDR (samsung_rev() == EXYNOS4210_REV_1_1 ? \ | 104 | #define EXYNOS_BOOT_VECTOR_ADDR (samsung_rev() == EXYNOS4210_REV_1_1 ? \ |
170 | S5P_INFORM7 : (samsung_rev() == EXYNOS4210_REV_1_0 ? \ | 105 | S5P_INFORM7 : (samsung_rev() == EXYNOS4210_REV_1_0 ? \ |
171 | (sysram_base_addr + 0x24) : S5P_INFORM0)) | 106 | (sysram_base_addr + 0x24) : S5P_INFORM0)) |
diff --git a/arch/arm/mach-exynos/pm_domains.c b/arch/arm/mach-exynos/pm_domains.c index 797cb134bfff..fd76e1b5a471 100644 --- a/arch/arm/mach-exynos/pm_domains.c +++ b/arch/arm/mach-exynos/pm_domains.c | |||
@@ -23,8 +23,7 @@ | |||
23 | #include <linux/of_platform.h> | 23 | #include <linux/of_platform.h> |
24 | #include <linux/sched.h> | 24 | #include <linux/sched.h> |
25 | 25 | ||
26 | #include "regs-pmu.h" | 26 | #define INT_LOCAL_PWR_EN 0x7 |
27 | |||
28 | #define MAX_CLK_PER_DOMAIN 4 | 27 | #define MAX_CLK_PER_DOMAIN 4 |
29 | 28 | ||
30 | /* | 29 | /* |
@@ -63,13 +62,13 @@ static int exynos_pd_power(struct generic_pm_domain *domain, bool power_on) | |||
63 | } | 62 | } |
64 | } | 63 | } |
65 | 64 | ||
66 | pwr = power_on ? S5P_INT_LOCAL_PWR_EN : 0; | 65 | pwr = power_on ? INT_LOCAL_PWR_EN : 0; |
67 | __raw_writel(pwr, base); | 66 | __raw_writel(pwr, base); |
68 | 67 | ||
69 | /* Wait max 1ms */ | 68 | /* Wait max 1ms */ |
70 | timeout = 10; | 69 | timeout = 10; |
71 | 70 | ||
72 | while ((__raw_readl(base + 0x4) & S5P_INT_LOCAL_PWR_EN) != pwr) { | 71 | while ((__raw_readl(base + 0x4) & INT_LOCAL_PWR_EN) != pwr) { |
73 | if (!timeout) { | 72 | if (!timeout) { |
74 | op = (power_on) ? "enable" : "disable"; | 73 | op = (power_on) ? "enable" : "disable"; |
75 | pr_err("Power domain %s %s failed\n", domain->name, op); | 74 | pr_err("Power domain %s %s failed\n", domain->name, op); |
@@ -231,7 +230,7 @@ static __init int exynos4_pm_init_power_domain(void) | |||
231 | no_clk: | 230 | no_clk: |
232 | platform_set_drvdata(pdev, pd); | 231 | platform_set_drvdata(pdev, pd); |
233 | 232 | ||
234 | on = __raw_readl(pd->base + 0x4) & S5P_INT_LOCAL_PWR_EN; | 233 | on = __raw_readl(pd->base + 0x4) & INT_LOCAL_PWR_EN; |
235 | 234 | ||
236 | pm_genpd_init(&pd->pd, NULL, !on); | 235 | pm_genpd_init(&pd->pd, NULL, !on); |
237 | } | 236 | } |
diff --git a/arch/arm/mach-exynos/pmu.c b/arch/arm/mach-exynos/pmu.c index fb0deda3b3a4..dcfcb44c3c55 100644 --- a/arch/arm/mach-exynos/pmu.c +++ b/arch/arm/mach-exynos/pmu.c | |||
@@ -11,7 +11,6 @@ | |||
11 | 11 | ||
12 | #include <linux/io.h> | 12 | #include <linux/io.h> |
13 | #include <linux/kernel.h> | 13 | #include <linux/kernel.h> |
14 | #include <linux/bug.h> | ||
15 | 14 | ||
16 | #include "common.h" | 15 | #include "common.h" |
17 | #include "regs-pmu.h" | 16 | #include "regs-pmu.h" |
diff --git a/arch/arm/mach-exynos/regs-pmu.h b/arch/arm/mach-exynos/regs-pmu.h index 1d13b08708f0..1993e6bd5388 100644 --- a/arch/arm/mach-exynos/regs-pmu.h +++ b/arch/arm/mach-exynos/regs-pmu.h | |||
@@ -15,7 +15,6 @@ | |||
15 | #include <mach/map.h> | 15 | #include <mach/map.h> |
16 | 16 | ||
17 | #define S5P_PMUREG(x) (S5P_VA_PMU + (x)) | 17 | #define S5P_PMUREG(x) (S5P_VA_PMU + (x)) |
18 | #define S5P_SYSREG(x) (S3C_VA_SYS + (x)) | ||
19 | 18 | ||
20 | #define S5P_CENTRAL_SEQ_CONFIGURATION S5P_PMUREG(0x0200) | 19 | #define S5P_CENTRAL_SEQ_CONFIGURATION S5P_PMUREG(0x0200) |
21 | 20 | ||
@@ -127,7 +126,6 @@ | |||
127 | #define S5P_PAD_RET_EBIB_OPTION S5P_PMUREG(0x31A8) | 126 | #define S5P_PAD_RET_EBIB_OPTION S5P_PMUREG(0x31A8) |
128 | 127 | ||
129 | #define S5P_CORE_LOCAL_PWR_EN 0x3 | 128 | #define S5P_CORE_LOCAL_PWR_EN 0x3 |
130 | #define S5P_INT_LOCAL_PWR_EN 0x7 | ||
131 | 129 | ||
132 | /* Only for EXYNOS4210 */ | 130 | /* Only for EXYNOS4210 */ |
133 | #define S5P_CMU_CLKSTOP_LCD1_LOWPWR S5P_PMUREG(0x1154) | 131 | #define S5P_CMU_CLKSTOP_LCD1_LOWPWR S5P_PMUREG(0x1154) |
@@ -188,8 +186,6 @@ | |||
188 | 186 | ||
189 | /* For EXYNOS5 */ | 187 | /* For EXYNOS5 */ |
190 | 188 | ||
191 | #define EXYNOS5_SYS_I2C_CFG S5P_SYSREG(0x0234) | ||
192 | |||
193 | #define EXYNOS5_AUTO_WDTRESET_DISABLE S5P_PMUREG(0x0408) | 189 | #define EXYNOS5_AUTO_WDTRESET_DISABLE S5P_PMUREG(0x0408) |
194 | #define EXYNOS5_MASK_WDTRESET_REQUEST S5P_PMUREG(0x040C) | 190 | #define EXYNOS5_MASK_WDTRESET_REQUEST S5P_PMUREG(0x040C) |
195 | 191 | ||
diff --git a/arch/arm/mach-exynos/regs-sys.h b/arch/arm/mach-exynos/regs-sys.h new file mode 100644 index 000000000000..84332b0dd7a6 --- /dev/null +++ b/arch/arm/mach-exynos/regs-sys.h | |||
@@ -0,0 +1,22 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2014 Samsung Electronics Co., Ltd. | ||
3 | * http://www.samsung.com | ||
4 | * | ||
5 | * EXYNOS - system register definition | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License version 2 as | ||
9 | * published by the Free Software Foundation. | ||
10 | */ | ||
11 | |||
12 | #ifndef __ASM_ARCH_REGS_SYS_H | ||
13 | #define __ASM_ARCH_REGS_SYS_H __FILE__ | ||
14 | |||
15 | #include <mach/map.h> | ||
16 | |||
17 | #define S5P_SYSREG(x) (S3C_VA_SYS + (x)) | ||
18 | |||
19 | /* For EXYNOS5 */ | ||
20 | #define EXYNOS5_SYS_I2C_CFG S5P_SYSREG(0x0234) | ||
21 | |||
22 | #endif /* __ASM_ARCH_REGS_SYS_H */ | ||