diff options
Diffstat (limited to 'arch/arm/mach-ux500/cpu-db5500.c')
-rw-r--r-- | arch/arm/mach-ux500/cpu-db5500.c | 41 |
1 files changed, 20 insertions, 21 deletions
diff --git a/arch/arm/mach-ux500/cpu-db5500.c b/arch/arm/mach-ux500/cpu-db5500.c index 5323286b265e..18aa5c05c69e 100644 --- a/arch/arm/mach-ux500/cpu-db5500.c +++ b/arch/arm/mach-ux500/cpu-db5500.c | |||
@@ -46,26 +46,6 @@ static struct map_desc u5500_io_desc[] __initdata = { | |||
46 | __IO_DEV_DESC(U5500_PRCMU_TCDM_BASE, SZ_4K), | 46 | __IO_DEV_DESC(U5500_PRCMU_TCDM_BASE, SZ_4K), |
47 | }; | 47 | }; |
48 | 48 | ||
49 | static struct resource db5500_pmu_resources[] = { | ||
50 | [0] = { | ||
51 | .start = IRQ_DB5500_PMU0, | ||
52 | .end = IRQ_DB5500_PMU0, | ||
53 | .flags = IORESOURCE_IRQ, | ||
54 | }, | ||
55 | [1] = { | ||
56 | .start = IRQ_DB5500_PMU1, | ||
57 | .end = IRQ_DB5500_PMU1, | ||
58 | .flags = IORESOURCE_IRQ, | ||
59 | }, | ||
60 | }; | ||
61 | |||
62 | static struct platform_device db5500_pmu_device = { | ||
63 | .name = "arm-pmu", | ||
64 | .id = ARM_PMU_DEVICE_CPU, | ||
65 | .num_resources = ARRAY_SIZE(db5500_pmu_resources), | ||
66 | .resource = db5500_pmu_resources, | ||
67 | }; | ||
68 | |||
69 | static struct resource mbox0_resources[] = { | 49 | static struct resource mbox0_resources[] = { |
70 | { | 50 | { |
71 | .name = "mbox_peer", | 51 | .name = "mbox_peer", |
@@ -151,7 +131,6 @@ static struct platform_device mbox2_device = { | |||
151 | }; | 131 | }; |
152 | 132 | ||
153 | static struct platform_device *db5500_platform_devs[] __initdata = { | 133 | static struct platform_device *db5500_platform_devs[] __initdata = { |
154 | &db5500_pmu_device, | ||
155 | &mbox0_device, | 134 | &mbox0_device, |
156 | &mbox1_device, | 135 | &mbox1_device, |
157 | &mbox2_device, | 136 | &mbox2_device, |
@@ -192,6 +171,25 @@ void __init u5500_map_io(void) | |||
192 | _PRCMU_BASE = __io_address(U5500_PRCMU_BASE); | 171 | _PRCMU_BASE = __io_address(U5500_PRCMU_BASE); |
193 | } | 172 | } |
194 | 173 | ||
174 | static void __init db5500_pmu_init(void) | ||
175 | { | ||
176 | struct resource res[] = { | ||
177 | [0] = { | ||
178 | .start = IRQ_DB5500_PMU0, | ||
179 | .end = IRQ_DB5500_PMU0, | ||
180 | .flags = IORESOURCE_IRQ, | ||
181 | }, | ||
182 | [1] = { | ||
183 | .start = IRQ_DB5500_PMU1, | ||
184 | .end = IRQ_DB5500_PMU1, | ||
185 | .flags = IORESOURCE_IRQ, | ||
186 | }, | ||
187 | }; | ||
188 | |||
189 | platform_device_register_simple("arm-pmu", ARM_PMU_DEVICE_CPU, | ||
190 | res, ARRAY_SIZE(res)); | ||
191 | } | ||
192 | |||
195 | static int usb_db5500_rx_dma_cfg[] = { | 193 | static int usb_db5500_rx_dma_cfg[] = { |
196 | DB5500_DMA_DEV4_USB_OTG_IEP_1_9, | 194 | DB5500_DMA_DEV4_USB_OTG_IEP_1_9, |
197 | DB5500_DMA_DEV5_USB_OTG_IEP_2_10, | 195 | DB5500_DMA_DEV5_USB_OTG_IEP_2_10, |
@@ -217,6 +215,7 @@ static int usb_db5500_tx_dma_cfg[] = { | |||
217 | void __init u5500_init_devices(void) | 215 | void __init u5500_init_devices(void) |
218 | { | 216 | { |
219 | db5500_add_gpios(); | 217 | db5500_add_gpios(); |
218 | db5500_pmu_init(); | ||
220 | db5500_dma_init(); | 219 | db5500_dma_init(); |
221 | db5500_add_rtc(); | 220 | db5500_add_rtc(); |
222 | db5500_add_usb(usb_db5500_rx_dma_cfg, usb_db5500_tx_dma_cfg); | 221 | db5500_add_usb(usb_db5500_rx_dma_cfg, usb_db5500_tx_dma_cfg); |