rk3066b: register arm-pmu device
author黄涛 <huangtao@rock-chips.com>
Thu, 30 Aug 2012 03:19:56 +0000 (11:19 +0800)
committer黄涛 <huangtao@rock-chips.com>
Thu, 30 Aug 2012 03:20:03 +0000 (11:20 +0800)
arch/arm/mach-rk30/devices.c
arch/arm/mach-rk30/include/mach/irqs.h

index 41a02d479b61515ad5ebb1bb57781f71768faace..8a9f0b4b1b2ace24a47ab615fcae5223f5e64448 100755 (executable)
@@ -1349,6 +1349,19 @@ static struct platform_device device_wdt = {
 };
 #endif
 
+static struct resource resource_arm_pmu = {
+       .start          = IRQ_ARM_PMU,
+       .end            = IRQ_ARM_PMU,
+       .flags          = IORESOURCE_IRQ,
+};
+
+struct platform_device device_arm_pmu = {
+       .name           = "arm-pmu",
+       .id             = ARM_PMU_DEVICE_CPU,
+       .num_resources  = 1,
+       .resource       = &resource_arm_pmu,
+};
+
 static int __init rk30_init_devices(void)
 {
        rk30_init_dma();
@@ -1400,6 +1413,8 @@ static int __init rk30_init_devices(void)
 #ifdef CONFIG_RK29_WATCHDOG
        platform_device_register(&device_wdt);
 #endif
+       platform_device_register(&device_arm_pmu);
+
        return 0;
 }
 arch_initcall(rk30_init_devices);
index 9dc6a6157094f078be6a39fb095b4e8fb640665e..99f400950826df6a1c6317255e7106365032354b 100644 (file)
@@ -81,7 +81,6 @@
 #define IRQ_PMU_STOP_EXIT_INT           RK30XX_IRQ(69)
 #define IRQ_OBSERVER_MAINFAULT          RK30XX_IRQ(70)
 #define IRQ_VPU_OBSRV_MAINFAULT         RK30XX_IRQ(71)
-#define IRQ_ARM_PMU                     103
 #define IRQ_PERI_OBSRV_MAINFAULT        RK30XX_IRQ(72)
 #define IRQ_VIO1_OBSRV_MAINFAULT        RK30XX_IRQ(73)
 #define IRQ_VIO0_OBSRV_MAINFAULT        RK30XX_IRQ(74)
@@ -93,6 +92,8 @@
 #define IRQ_DEBUG_UART                 (IRQ_UART0 + CONFIG_RK_DEBUG_UART)
 #endif
 
+#define IRQ_ARM_PMU                     RK30XX_IRQ(103)
+
 #define NR_GIC_IRQS                     (5 * 32)
 #define NR_GPIO_IRQS                    (6 * 32)
 #define NR_BOARD_IRQS                   64