diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-09 17:38:51 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-09 17:38:51 -0500 |
commit | 5ede3ceb7b2c2843e153a1803edbdc8c56655950 (patch) | |
tree | 4cfa82b619f7d39b671e4a2a213f4d040b09c486 /arch/arm/mach-ux500/cpu-db5500.c | |
parent | 6d889d03ab1417645e76e129834f76204bae37c0 (diff) | |
parent | 3e2762c8f1141ae8dc708034ea41d6827818c328 (diff) |
Merge tag 'devel' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
New feature development
This adds support for new features, and contains stuff from most
platforms. A number of these patches could have fit into other
branches, too, but were small enough not to cause too much
confusion here.
* tag 'devel' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (28 commits)
mfd/db8500-prcmu: remove support for early silicon revisions
ARM: ux500: fix the smp_twd clock calculation
ARM: ux500: remove support for early silicon revisions
ARM: ux500: update register files
ARM: ux500: register DB5500 PMU dynamically
ARM: ux500: update ASIC detection for U5500
ARM: ux500: support DB8520
ARM: picoxcell: implement watchdog restart
ARM: OMAP3+: hwmod data: Add the default clockactivity for I2C
ARM: OMAP3: hwmod data: disable multiblock reads on MMC1/2 on OMAP34xx/35xx <= ES2.1
ARM: OMAP: USB: EHCI and OHCI hwmod structures for OMAP4
ARM: OMAP: USB: EHCI and OHCI hwmod structures for OMAP3
ARM: OMAP: hwmod data: Add support for AM35xx UART4/ttyO3
ARM: Orion: Remove address map info from all platform data structures
ARM: Orion: Get address map from plat-orion instead of via platform_data
ARM: Orion: mbus_dram_info consolidation
ARM: Orion: Consolidate the address map setup
ARM: Kirkwood: Add configuration for MPP12 as GPIO
ARM: Kirkwood: Recognize A1 revision of 6282 chip
ARM: ux500: update the MOP500 GPIO assignments
...
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); |