diff options
author | Arnd Bergmann <arnd@arndb.de> | 2013-03-21 17:51:07 -0400 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2013-04-08 07:58:15 -0400 |
commit | 55b175d7e6327939df82592ef279c534da323354 (patch) | |
tree | 94b298b8727e7371915d6160a165d6d0ae3cbebb /arch | |
parent | 90c29f980217745828096dee5504e15b5c865301 (diff) |
ARM: ux500: split out prcmu initialization
This untangles the final bits of the prcmu code from the platform
code:
* The IRQ_PRCMU_* definitions move from irqs-db8500.h into prcmu.c
because they are only of local significance.
* u8500_thsens_device goes into the prcmu, because it uses a PRCMU
IRQ that the platform does not see.
* IRQ_DB8500_AB8500 and IRQ_PRCMU_BASE go into the platform data
because the PRCMU does not see it.
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
[Fixed a oneliner bug]
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-ux500/board-mop500.c | 58 | ||||
-rw-r--r-- | arch/arm/mach-ux500/devices-db8500.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-ux500/include/mach/irqs-db8500.h | 25 |
3 files changed, 2 insertions, 83 deletions
diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c index b03457881c4b..fe3d72cc341c 100644 --- a/arch/arm/mach-ux500/board-mop500.c +++ b/arch/arm/mach-ux500/board-mop500.c | |||
@@ -206,63 +206,6 @@ struct ab8500_platform_data ab8500_platdata = { | |||
206 | .codec = &ab8500_codec_pdata, | 206 | .codec = &ab8500_codec_pdata, |
207 | }; | 207 | }; |
208 | 208 | ||
209 | /* | ||
210 | * Thermal Sensor | ||
211 | */ | ||
212 | |||
213 | static struct resource db8500_thsens_resources[] = { | ||
214 | { | ||
215 | .name = "IRQ_HOTMON_LOW", | ||
216 | .start = IRQ_PRCMU_HOTMON_LOW, | ||
217 | .end = IRQ_PRCMU_HOTMON_LOW, | ||
218 | .flags = IORESOURCE_IRQ, | ||
219 | }, | ||
220 | { | ||
221 | .name = "IRQ_HOTMON_HIGH", | ||
222 | .start = IRQ_PRCMU_HOTMON_HIGH, | ||
223 | .end = IRQ_PRCMU_HOTMON_HIGH, | ||
224 | .flags = IORESOURCE_IRQ, | ||
225 | }, | ||
226 | }; | ||
227 | |||
228 | static struct db8500_thsens_platform_data db8500_thsens_data = { | ||
229 | .trip_points[0] = { | ||
230 | .temp = 70000, | ||
231 | .type = THERMAL_TRIP_ACTIVE, | ||
232 | .cdev_name = { | ||
233 | [0] = "thermal-cpufreq-0", | ||
234 | }, | ||
235 | }, | ||
236 | .trip_points[1] = { | ||
237 | .temp = 75000, | ||
238 | .type = THERMAL_TRIP_ACTIVE, | ||
239 | .cdev_name = { | ||
240 | [0] = "thermal-cpufreq-0", | ||
241 | }, | ||
242 | }, | ||
243 | .trip_points[2] = { | ||
244 | .temp = 80000, | ||
245 | .type = THERMAL_TRIP_ACTIVE, | ||
246 | .cdev_name = { | ||
247 | [0] = "thermal-cpufreq-0", | ||
248 | }, | ||
249 | }, | ||
250 | .trip_points[3] = { | ||
251 | .temp = 85000, | ||
252 | .type = THERMAL_TRIP_CRITICAL, | ||
253 | }, | ||
254 | .num_trips = 4, | ||
255 | }; | ||
256 | |||
257 | static struct platform_device u8500_thsens_device = { | ||
258 | .name = "db8500-thermal", | ||
259 | .resource = db8500_thsens_resources, | ||
260 | .num_resources = ARRAY_SIZE(db8500_thsens_resources), | ||
261 | .dev = { | ||
262 | .platform_data = &db8500_thsens_data, | ||
263 | }, | ||
264 | }; | ||
265 | |||
266 | static struct platform_device u8500_cpufreq_cooling_device = { | 209 | static struct platform_device u8500_cpufreq_cooling_device = { |
267 | .name = "db8500-cpufreq-cooling", | 210 | .name = "db8500-cpufreq-cooling", |
268 | }; | 211 | }; |
@@ -622,7 +565,6 @@ static struct platform_device *snowball_platform_devs[] __initdata = { | |||
622 | &snowball_key_dev, | 565 | &snowball_key_dev, |
623 | &snowball_sbnet_dev, | 566 | &snowball_sbnet_dev, |
624 | &snowball_gpio_en_3v3_regulator_dev, | 567 | &snowball_gpio_en_3v3_regulator_dev, |
625 | &u8500_thsens_device, | ||
626 | &u8500_cpufreq_cooling_device, | 568 | &u8500_cpufreq_cooling_device, |
627 | }; | 569 | }; |
628 | 570 | ||
diff --git a/arch/arm/mach-ux500/devices-db8500.c b/arch/arm/mach-ux500/devices-db8500.c index f3d9419f75d3..df4d7de0fd9f 100644 --- a/arch/arm/mach-ux500/devices-db8500.c +++ b/arch/arm/mach-ux500/devices-db8500.c | |||
@@ -199,6 +199,8 @@ struct platform_device u8500_ske_keypad_device = { | |||
199 | 199 | ||
200 | struct prcmu_pdata db8500_prcmu_pdata = { | 200 | struct prcmu_pdata db8500_prcmu_pdata = { |
201 | .ab_platdata = &ab8500_platdata, | 201 | .ab_platdata = &ab8500_platdata, |
202 | .ab_irq = IRQ_DB8500_AB8500, | ||
203 | .irq_base = IRQ_PRCMU_BASE, | ||
202 | .version_offset = DB8500_PRCMU_FW_VERSION_OFFSET, | 204 | .version_offset = DB8500_PRCMU_FW_VERSION_OFFSET, |
203 | .legacy_offset = DB8500_PRCMU_LEGACY_OFFSET, | 205 | .legacy_offset = DB8500_PRCMU_LEGACY_OFFSET, |
204 | }; | 206 | }; |
diff --git a/arch/arm/mach-ux500/include/mach/irqs-db8500.h b/arch/arm/mach-ux500/include/mach/irqs-db8500.h index 68bc14974608..f3a9d5947ef3 100644 --- a/arch/arm/mach-ux500/include/mach/irqs-db8500.h +++ b/arch/arm/mach-ux500/include/mach/irqs-db8500.h | |||
@@ -109,31 +109,6 @@ | |||
109 | 109 | ||
110 | /* Virtual interrupts corresponding to the PRCMU wakeups. */ | 110 | /* Virtual interrupts corresponding to the PRCMU wakeups. */ |
111 | #define IRQ_PRCMU_BASE IRQ_SOC_START | 111 | #define IRQ_PRCMU_BASE IRQ_SOC_START |
112 | #define NUM_PRCMU_WAKEUPS (IRQ_PRCMU_END - IRQ_PRCMU_BASE) | ||
113 | |||
114 | #define IRQ_PRCMU_RTC (IRQ_PRCMU_BASE) | ||
115 | #define IRQ_PRCMU_RTT0 (IRQ_PRCMU_BASE + 1) | ||
116 | #define IRQ_PRCMU_RTT1 (IRQ_PRCMU_BASE + 2) | ||
117 | #define IRQ_PRCMU_HSI0 (IRQ_PRCMU_BASE + 3) | ||
118 | #define IRQ_PRCMU_HSI1 (IRQ_PRCMU_BASE + 4) | ||
119 | #define IRQ_PRCMU_CA_WAKE (IRQ_PRCMU_BASE + 5) | ||
120 | #define IRQ_PRCMU_USB (IRQ_PRCMU_BASE + 6) | ||
121 | #define IRQ_PRCMU_ABB (IRQ_PRCMU_BASE + 7) | ||
122 | #define IRQ_PRCMU_ABB_FIFO (IRQ_PRCMU_BASE + 8) | ||
123 | #define IRQ_PRCMU_ARM (IRQ_PRCMU_BASE + 9) | ||
124 | #define IRQ_PRCMU_MODEM_SW_RESET_REQ (IRQ_PRCMU_BASE + 10) | ||
125 | #define IRQ_PRCMU_GPIO0 (IRQ_PRCMU_BASE + 11) | ||
126 | #define IRQ_PRCMU_GPIO1 (IRQ_PRCMU_BASE + 12) | ||
127 | #define IRQ_PRCMU_GPIO2 (IRQ_PRCMU_BASE + 13) | ||
128 | #define IRQ_PRCMU_GPIO3 (IRQ_PRCMU_BASE + 14) | ||
129 | #define IRQ_PRCMU_GPIO4 (IRQ_PRCMU_BASE + 15) | ||
130 | #define IRQ_PRCMU_GPIO5 (IRQ_PRCMU_BASE + 16) | ||
131 | #define IRQ_PRCMU_GPIO6 (IRQ_PRCMU_BASE + 17) | ||
132 | #define IRQ_PRCMU_GPIO7 (IRQ_PRCMU_BASE + 18) | ||
133 | #define IRQ_PRCMU_GPIO8 (IRQ_PRCMU_BASE + 19) | ||
134 | #define IRQ_PRCMU_CA_SLEEP (IRQ_PRCMU_BASE + 20) | ||
135 | #define IRQ_PRCMU_HOTMON_LOW (IRQ_PRCMU_BASE + 21) | ||
136 | #define IRQ_PRCMU_HOTMON_HIGH (IRQ_PRCMU_BASE + 22) | ||
137 | #define IRQ_PRCMU_END (IRQ_PRCMU_BASE + 23) | 112 | #define IRQ_PRCMU_END (IRQ_PRCMU_BASE + 23) |
138 | 113 | ||
139 | /* | 114 | /* |