diff options
author | Kukjin Kim <kgene.kim@samsung.com> | 2010-08-06 08:34:55 -0400 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2010-08-06 08:34:55 -0400 |
commit | f2b7e3c54a304677a1142829fb5913595885379f (patch) | |
tree | 1eb941524c7325672f947dab525d96228b362e20 /arch/arm/plat-s5p | |
parent | 6b8eda04ffdc24b68d379a32358f4f09a425a380 (diff) | |
parent | 0fdb480e7fb1ecdd4076ddf8b6ab16b0d77406c1 (diff) |
Merge branch 'next-s5p' into for-next
Conflicts:
arch/arm/mach-s5pv210/mach-aquila.c
arch/arm/mach-s5pv210/mach-goni.c
Diffstat (limited to 'arch/arm/plat-s5p')
-rw-r--r-- | arch/arm/plat-s5p/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/plat-s5p/cpu.c | 5 | ||||
-rw-r--r-- | arch/arm/plat-s5p/dev-pmu.c | 36 | ||||
-rw-r--r-- | arch/arm/plat-s5p/include/plat/reset.h | 16 | ||||
-rw-r--r-- | arch/arm/plat-s5p/include/plat/system-reset.h | 31 |
5 files changed, 89 insertions, 0 deletions
diff --git a/arch/arm/plat-s5p/Makefile b/arch/arm/plat-s5p/Makefile index 39c242bb9d5..7e34194b0aa 100644 --- a/arch/arm/plat-s5p/Makefile +++ b/arch/arm/plat-s5p/Makefile | |||
@@ -12,6 +12,7 @@ obj- := | |||
12 | 12 | ||
13 | # Core files | 13 | # Core files |
14 | 14 | ||
15 | obj-y += dev-pmu.o | ||
15 | obj-y += dev-uart.o | 16 | obj-y += dev-uart.o |
16 | obj-y += cpu.o | 17 | obj-y += cpu.o |
17 | obj-y += clock.o | 18 | obj-y += clock.o |
diff --git a/arch/arm/plat-s5p/cpu.c b/arch/arm/plat-s5p/cpu.c index 9261a27d7fe..b07a078fd28 100644 --- a/arch/arm/plat-s5p/cpu.c +++ b/arch/arm/plat-s5p/cpu.c | |||
@@ -115,6 +115,11 @@ static struct map_desc s5p_iodesc[] __initdata = { | |||
115 | .pfn = __phys_to_pfn(S5P_PA_GPIO), | 115 | .pfn = __phys_to_pfn(S5P_PA_GPIO), |
116 | .length = SZ_4K, | 116 | .length = SZ_4K, |
117 | .type = MT_DEVICE, | 117 | .type = MT_DEVICE, |
118 | }, { | ||
119 | .virtual = (unsigned long)S3C_VA_WATCHDOG, | ||
120 | .pfn = __phys_to_pfn(S3C_PA_WDT), | ||
121 | .length = SZ_4K, | ||
122 | .type = MT_DEVICE, | ||
118 | }, | 123 | }, |
119 | }; | 124 | }; |
120 | 125 | ||
diff --git a/arch/arm/plat-s5p/dev-pmu.c b/arch/arm/plat-s5p/dev-pmu.c new file mode 100644 index 00000000000..a08576da72b --- /dev/null +++ b/arch/arm/plat-s5p/dev-pmu.c | |||
@@ -0,0 +1,36 @@ | |||
1 | /* | ||
2 | * linux/arch/arm/plat-s5p/dev-pmu.c | ||
3 | * | ||
4 | * Copyright (C) 2010 Samsung Electronics Co.Ltd | ||
5 | * Author: Joonyoung Shim <jy0922.shim@samsung.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify it | ||
8 | * under the terms of the GNU General Public License as published by the | ||
9 | * Free Software Foundation; either version 2 of the License, or (at your | ||
10 | * option) any later version. | ||
11 | * | ||
12 | */ | ||
13 | |||
14 | #include <linux/platform_device.h> | ||
15 | #include <asm/pmu.h> | ||
16 | #include <mach/irqs.h> | ||
17 | |||
18 | static struct resource s5p_pmu_resource = { | ||
19 | .start = IRQ_PMU, | ||
20 | .end = IRQ_PMU, | ||
21 | .flags = IORESOURCE_IRQ, | ||
22 | }; | ||
23 | |||
24 | struct platform_device s5p_device_pmu = { | ||
25 | .name = "arm-pmu", | ||
26 | .id = ARM_PMU_DEVICE_CPU, | ||
27 | .num_resources = 1, | ||
28 | .resource = &s5p_pmu_resource, | ||
29 | }; | ||
30 | |||
31 | static int __init s5p_pmu_init(void) | ||
32 | { | ||
33 | platform_device_register(&s5p_device_pmu); | ||
34 | return 0; | ||
35 | } | ||
36 | arch_initcall(s5p_pmu_init); | ||
diff --git a/arch/arm/plat-s5p/include/plat/reset.h b/arch/arm/plat-s5p/include/plat/reset.h new file mode 100644 index 00000000000..335e97812ee --- /dev/null +++ b/arch/arm/plat-s5p/include/plat/reset.h | |||
@@ -0,0 +1,16 @@ | |||
1 | /* linux/arch/arm/plat-s5p/include/plat/reset.h | ||
2 | * | ||
3 | * Copyright (c) 2010 Samsung Electronics Co., Ltd. | ||
4 | * http://www.samsung.com/ | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | */ | ||
10 | |||
11 | #ifndef __ASM_PLAT_S5P_RESET_H | ||
12 | #define __ASM_PLAT_S5P_RESET_H __FILE__ | ||
13 | |||
14 | extern void (*s5p_reset_hook)(void); | ||
15 | |||
16 | #endif /* __ASM_PLAT_S5P_RESET_H */ | ||
diff --git a/arch/arm/plat-s5p/include/plat/system-reset.h b/arch/arm/plat-s5p/include/plat/system-reset.h new file mode 100644 index 00000000000..f307f34e642 --- /dev/null +++ b/arch/arm/plat-s5p/include/plat/system-reset.h | |||
@@ -0,0 +1,31 @@ | |||
1 | /* linux/arch/arm/plat-s5p/include/plat/system-reset.h | ||
2 | * | ||
3 | * Copyright (c) 2010 Samsung Electronics Co., Ltd. | ||
4 | * http://www.samsung.com | ||
5 | * | ||
6 | * Based on arch/arm/mach-s3c2410/include/mach/system-reset.h | ||
7 | * | ||
8 | * S5P - System define for arch_reset() | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify | ||
11 | * it under the terms of the GNU General Public License version 2 as | ||
12 | * published by the Free Software Foundation. | ||
13 | */ | ||
14 | |||
15 | #include <plat/watchdog-reset.h> | ||
16 | |||
17 | void (*s5p_reset_hook)(void); | ||
18 | |||
19 | static void arch_reset(char mode, const char *cmd) | ||
20 | { | ||
21 | /* SWRESET support in s5p_reset_hook() */ | ||
22 | |||
23 | if (s5p_reset_hook) | ||
24 | s5p_reset_hook(); | ||
25 | |||
26 | /* Perform reset using Watchdog reset | ||
27 | * if there is no s5p_reset_hook() | ||
28 | */ | ||
29 | |||
30 | arch_wdt_reset(); | ||
31 | } | ||