diff options
Diffstat (limited to 'arch/arm/mach-realview/realview_pb11mp.c')
-rw-r--r-- | arch/arm/mach-realview/realview_pb11mp.c | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/arch/arm/mach-realview/realview_pb11mp.c b/arch/arm/mach-realview/realview_pb11mp.c index 3e02731af959..7fbefbbebaf0 100644 --- a/arch/arm/mach-realview/realview_pb11mp.c +++ b/arch/arm/mach-realview/realview_pb11mp.c | |||
@@ -31,8 +31,8 @@ | |||
31 | #include <asm/irq.h> | 31 | #include <asm/irq.h> |
32 | #include <asm/leds.h> | 32 | #include <asm/leds.h> |
33 | #include <asm/mach-types.h> | 33 | #include <asm/mach-types.h> |
34 | #include <asm/pmu.h> | ||
34 | #include <asm/hardware/gic.h> | 35 | #include <asm/hardware/gic.h> |
35 | #include <asm/hardware/icst307.h> | ||
36 | #include <asm/hardware/cache-l2x0.h> | 36 | #include <asm/hardware/cache-l2x0.h> |
37 | #include <asm/localtimer.h> | 37 | #include <asm/localtimer.h> |
38 | 38 | ||
@@ -45,7 +45,6 @@ | |||
45 | #include <mach/irqs.h> | 45 | #include <mach/irqs.h> |
46 | 46 | ||
47 | #include "core.h" | 47 | #include "core.h" |
48 | #include "clock.h" | ||
49 | 48 | ||
50 | static struct map_desc realview_pb11mp_io_desc[] __initdata = { | 49 | static struct map_desc realview_pb11mp_io_desc[] __initdata = { |
51 | { | 50 | { |
@@ -260,6 +259,36 @@ static struct resource realview_pb11mp_isp1761_resources[] = { | |||
260 | }, | 259 | }, |
261 | }; | 260 | }; |
262 | 261 | ||
262 | static struct resource pmu_resources[] = { | ||
263 | [0] = { | ||
264 | .start = IRQ_TC11MP_PMU_CPU0, | ||
265 | .end = IRQ_TC11MP_PMU_CPU0, | ||
266 | .flags = IORESOURCE_IRQ, | ||
267 | }, | ||
268 | [1] = { | ||
269 | .start = IRQ_TC11MP_PMU_CPU1, | ||
270 | .end = IRQ_TC11MP_PMU_CPU1, | ||
271 | .flags = IORESOURCE_IRQ, | ||
272 | }, | ||
273 | [2] = { | ||
274 | .start = IRQ_TC11MP_PMU_CPU2, | ||
275 | .end = IRQ_TC11MP_PMU_CPU2, | ||
276 | .flags = IORESOURCE_IRQ, | ||
277 | }, | ||
278 | [3] = { | ||
279 | .start = IRQ_TC11MP_PMU_CPU3, | ||
280 | .end = IRQ_TC11MP_PMU_CPU3, | ||
281 | .flags = IORESOURCE_IRQ, | ||
282 | }, | ||
283 | }; | ||
284 | |||
285 | static struct platform_device pmu_device = { | ||
286 | .name = "arm-pmu", | ||
287 | .id = ARM_PMU_DEVICE_CPU, | ||
288 | .num_resources = ARRAY_SIZE(pmu_resources), | ||
289 | .resource = pmu_resources, | ||
290 | }; | ||
291 | |||
263 | static void __init gic_init_irq(void) | 292 | static void __init gic_init_irq(void) |
264 | { | 293 | { |
265 | unsigned int pldctrl; | 294 | unsigned int pldctrl; |
@@ -329,6 +358,7 @@ static void __init realview_pb11mp_init(void) | |||
329 | platform_device_register(&realview_i2c_device); | 358 | platform_device_register(&realview_i2c_device); |
330 | platform_device_register(&realview_cf_device); | 359 | platform_device_register(&realview_cf_device); |
331 | realview_usb_register(realview_pb11mp_isp1761_resources); | 360 | realview_usb_register(realview_pb11mp_isp1761_resources); |
361 | platform_device_register(&pmu_device); | ||
332 | 362 | ||
333 | for (i = 0; i < ARRAY_SIZE(amba_devs); i++) { | 363 | for (i = 0; i < ARRAY_SIZE(amba_devs); i++) { |
334 | struct amba_device *d = amba_devs[i]; | 364 | struct amba_device *d = amba_devs[i]; |