diff options
author | Joonyoung Shim <jy0922.shim@samsung.com> | 2010-07-19 01:16:36 -0400 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2010-08-05 05:30:21 -0400 |
commit | 02a0456b3b6ad7503a37fab6f00a27d2bd53d483 (patch) | |
tree | 660e57e707fc0620382864f555bad4460a9d0b16 /arch | |
parent | 9fe6206f400646a2322096b56c59891d530e8d51 (diff) |
ARM: S5P: Add PMU device
This patch adds an initcall for the s5p platforms so that they register
their PMU IRQs with the PMU framework in the Kernel.
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-s5p6440/include/mach/irqs.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-s5p6442/include/mach/irqs.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-s5pc100/include/mach/irqs.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-s5pv210/include/mach/irqs.h | 2 | ||||
-rw-r--r-- | arch/arm/plat-s5p/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/plat-s5p/dev-pmu.c | 36 |
6 files changed, 41 insertions, 4 deletions
diff --git a/arch/arm/mach-s5p6440/include/mach/irqs.h b/arch/arm/mach-s5p6440/include/mach/irqs.h index 911854d9ad42..16a761270de1 100644 --- a/arch/arm/mach-s5p6440/include/mach/irqs.h +++ b/arch/arm/mach-s5p6440/include/mach/irqs.h | |||
@@ -51,7 +51,7 @@ | |||
51 | #define IRQ_DISPCON3 S5P_IRQ_VIC1(19) | 51 | #define IRQ_DISPCON3 S5P_IRQ_VIC1(19) |
52 | #define IRQ_FIMGVG S5P_IRQ_VIC1(20) | 52 | #define IRQ_FIMGVG S5P_IRQ_VIC1(20) |
53 | #define IRQ_EINT_GROUPS S5P_IRQ_VIC1(21) | 53 | #define IRQ_EINT_GROUPS S5P_IRQ_VIC1(21) |
54 | #define IRQ_PMUIRQ S5P_IRQ_VIC1(23) | 54 | #define IRQ_PMU S5P_IRQ_VIC1(23) |
55 | #define IRQ_HSMMC0 S5P_IRQ_VIC1(24) | 55 | #define IRQ_HSMMC0 S5P_IRQ_VIC1(24) |
56 | #define IRQ_HSMMC1 S5P_IRQ_VIC1(25) | 56 | #define IRQ_HSMMC1 S5P_IRQ_VIC1(25) |
57 | #define IRQ_HSMMC2 IRQ_SPI1 /* shared with SPI1 */ | 57 | #define IRQ_HSMMC2 IRQ_SPI1 /* shared with SPI1 */ |
diff --git a/arch/arm/mach-s5p6442/include/mach/irqs.h b/arch/arm/mach-s5p6442/include/mach/irqs.h index 02c23749c023..3fbc6c3ad2da 100644 --- a/arch/arm/mach-s5p6442/include/mach/irqs.h +++ b/arch/arm/mach-s5p6442/include/mach/irqs.h | |||
@@ -32,7 +32,7 @@ | |||
32 | #define IRQ_GPIOINT S5P_IRQ_VIC0(30) | 32 | #define IRQ_GPIOINT S5P_IRQ_VIC0(30) |
33 | 33 | ||
34 | /* VIC1 */ | 34 | /* VIC1 */ |
35 | #define IRQ_nPMUIRQ S5P_IRQ_VIC1(0) | 35 | #define IRQ_PMU S5P_IRQ_VIC1(0) |
36 | #define IRQ_ONENAND S5P_IRQ_VIC1(7) | 36 | #define IRQ_ONENAND S5P_IRQ_VIC1(7) |
37 | #define IRQ_UART0 S5P_IRQ_VIC1(10) | 37 | #define IRQ_UART0 S5P_IRQ_VIC1(10) |
38 | #define IRQ_UART1 S5P_IRQ_VIC1(11) | 38 | #define IRQ_UART1 S5P_IRQ_VIC1(11) |
diff --git a/arch/arm/mach-s5pc100/include/mach/irqs.h b/arch/arm/mach-s5pc100/include/mach/irqs.h index 28aa551dc3a8..59e90bf0af1c 100644 --- a/arch/arm/mach-s5pc100/include/mach/irqs.h +++ b/arch/arm/mach-s5pc100/include/mach/irqs.h | |||
@@ -29,7 +29,7 @@ | |||
29 | #define IRQ_GPIOINT S5P_IRQ_VIC0(30) | 29 | #define IRQ_GPIOINT S5P_IRQ_VIC0(30) |
30 | 30 | ||
31 | /* VIC1: ARM, power, memory, connectivity */ | 31 | /* VIC1: ARM, power, memory, connectivity */ |
32 | #define IRQ_CORTEX0 S5P_IRQ_VIC1(0) | 32 | #define IRQ_PMU S5P_IRQ_VIC1(0) |
33 | #define IRQ_CORTEX1 S5P_IRQ_VIC1(1) | 33 | #define IRQ_CORTEX1 S5P_IRQ_VIC1(1) |
34 | #define IRQ_CORTEX2 S5P_IRQ_VIC1(2) | 34 | #define IRQ_CORTEX2 S5P_IRQ_VIC1(2) |
35 | #define IRQ_CORTEX3 S5P_IRQ_VIC1(3) | 35 | #define IRQ_CORTEX3 S5P_IRQ_VIC1(3) |
diff --git a/arch/arm/mach-s5pv210/include/mach/irqs.h b/arch/arm/mach-s5pv210/include/mach/irqs.h index 96895378ea27..b55f9e07ce7f 100644 --- a/arch/arm/mach-s5pv210/include/mach/irqs.h +++ b/arch/arm/mach-s5pv210/include/mach/irqs.h | |||
@@ -36,7 +36,7 @@ | |||
36 | 36 | ||
37 | /* VIC1: ARM, Power, Memory, Connectivity, Storage */ | 37 | /* VIC1: ARM, Power, Memory, Connectivity, Storage */ |
38 | 38 | ||
39 | #define IRQ_CORTEX0 S5P_IRQ_VIC1(0) | 39 | #define IRQ_PMU S5P_IRQ_VIC1(0) |
40 | #define IRQ_CORTEX1 S5P_IRQ_VIC1(1) | 40 | #define IRQ_CORTEX1 S5P_IRQ_VIC1(1) |
41 | #define IRQ_CORTEX2 S5P_IRQ_VIC1(2) | 41 | #define IRQ_CORTEX2 S5P_IRQ_VIC1(2) |
42 | #define IRQ_CORTEX3 S5P_IRQ_VIC1(3) | 42 | #define IRQ_CORTEX3 S5P_IRQ_VIC1(3) |
diff --git a/arch/arm/plat-s5p/Makefile b/arch/arm/plat-s5p/Makefile index 39c242bb9d58..7e34194b0aaf 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/dev-pmu.c b/arch/arm/plat-s5p/dev-pmu.c new file mode 100644 index 000000000000..a08576da72b0 --- /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); | ||