diff options
author | Arnd Bergmann <arnd@arndb.de> | 2013-04-09 09:54:16 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2013-04-09 10:01:52 -0400 |
commit | 9bc128e16bb82c046d6972171de572affc5c4cbf (patch) | |
tree | 7c6dbe7f69771e9563d39f3be8a4854bed30d861 /include | |
parent | 835f9c38bbb4498c3d43b7466964bdadbb1fd244 (diff) | |
parent | f6f1bdac9d3006e246e82672322dcd7e7e0863fd (diff) |
Merge tag 'ux500-multiplatform-asoc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into next/multiplatform
From Linus Walleij <linus.walleij@linaro.org>:
Ux500 multiplatform support. This tag builds upon the MFD-specific base
tag "ux500-multiplatform-mfd". This removes all <mach/*> dependencies
and makes the ux500 fully multi-platform.
* tag 'ux500-multiplatform-asoc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:
ARM: ux500: build hotplug.o for ARMv7-a
ARM: ux500: move to multiplatform
ARM: ux500: make remaining headers local
ARM: ux500: make irqs.h local to platform
ARM: ux500: get rid of <mach/[hardware|db8500-regs].h>
staging: ste_rmi4: kill platform_data hack
ARM: ux500: move mach/msp.h to <linux/platform_data/*>
clk: ux500: pass clock base adresses in init call
ARM: ux500: make debug macro stand-alone
ARM: ux500: move debugmacro to debug includes
ARM: ux500: split out prcmu initialization
mfd: db8500-prcmu: drop unused includes
ARM: ux500: move PM-related PRCMU functions to machine
mfd: db8500-prcmu: get base address from resource
mfd: prcmu: pass a base and size with the early initcall
Conflicts:
arch/arm/Kconfig
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/mfd/db8500-prcmu.h | 10 | ||||
-rw-r--r-- | include/linux/mfd/dbx500-prcmu.h | 38 | ||||
-rw-r--r-- | include/linux/platform_data/arm-ux500-pm.h | 21 | ||||
-rw-r--r-- | include/linux/platform_data/asoc-ux500-msp.h | 27 | ||||
-rw-r--r-- | include/linux/platform_data/clk-ux500.h | 3 |
5 files changed, 57 insertions, 42 deletions
diff --git a/include/linux/mfd/db8500-prcmu.h b/include/linux/mfd/db8500-prcmu.h index 77a46ae2fc17..0bd69446bb05 100644 --- a/include/linux/mfd/db8500-prcmu.h +++ b/include/linux/mfd/db8500-prcmu.h | |||
@@ -489,7 +489,7 @@ struct prcmu_auto_pm_config { | |||
489 | 489 | ||
490 | #ifdef CONFIG_MFD_DB8500_PRCMU | 490 | #ifdef CONFIG_MFD_DB8500_PRCMU |
491 | 491 | ||
492 | void db8500_prcmu_early_init(void); | 492 | void db8500_prcmu_early_init(u32 phy_base, u32 size); |
493 | int prcmu_set_rc_a2p(enum romcode_write); | 493 | int prcmu_set_rc_a2p(enum romcode_write); |
494 | enum romcode_read prcmu_get_rc_p2a(void); | 494 | enum romcode_read prcmu_get_rc_p2a(void); |
495 | enum ap_pwrst prcmu_get_xp70_current_state(void); | 495 | enum ap_pwrst prcmu_get_xp70_current_state(void); |
@@ -522,12 +522,6 @@ int db8500_prcmu_load_a9wdog(u8 id, u32 val); | |||
522 | void db8500_prcmu_system_reset(u16 reset_code); | 522 | void db8500_prcmu_system_reset(u16 reset_code); |
523 | int db8500_prcmu_set_power_state(u8 state, bool keep_ulp_clk, bool keep_ap_pll); | 523 | int db8500_prcmu_set_power_state(u8 state, bool keep_ulp_clk, bool keep_ap_pll); |
524 | u8 db8500_prcmu_get_power_state_result(void); | 524 | u8 db8500_prcmu_get_power_state_result(void); |
525 | int db8500_prcmu_gic_decouple(void); | ||
526 | int db8500_prcmu_gic_recouple(void); | ||
527 | int db8500_prcmu_copy_gic_settings(void); | ||
528 | bool db8500_prcmu_gic_pending_irq(void); | ||
529 | bool db8500_prcmu_pending_irq(void); | ||
530 | bool db8500_prcmu_is_cpu_in_wfi(int cpu); | ||
531 | void db8500_prcmu_enable_wakeups(u32 wakeups); | 525 | void db8500_prcmu_enable_wakeups(u32 wakeups); |
532 | int db8500_prcmu_set_epod(u16 epod_id, u8 epod_state); | 526 | int db8500_prcmu_set_epod(u16 epod_id, u8 epod_state); |
533 | int db8500_prcmu_request_clock(u8 clock, bool enable); | 527 | int db8500_prcmu_request_clock(u8 clock, bool enable); |
@@ -553,7 +547,7 @@ void db8500_prcmu_write_masked(unsigned int reg, u32 mask, u32 value); | |||
553 | 547 | ||
554 | #else /* !CONFIG_MFD_DB8500_PRCMU */ | 548 | #else /* !CONFIG_MFD_DB8500_PRCMU */ |
555 | 549 | ||
556 | static inline void db8500_prcmu_early_init(void) {} | 550 | static inline void db8500_prcmu_early_init(u32 phy_base, u32 size) {} |
557 | 551 | ||
558 | static inline int prcmu_set_rc_a2p(enum romcode_write code) | 552 | static inline int prcmu_set_rc_a2p(enum romcode_write code) |
559 | { | 553 | { |
diff --git a/include/linux/mfd/dbx500-prcmu.h b/include/linux/mfd/dbx500-prcmu.h index 3abcca91eecd..689e6a0d9c99 100644 --- a/include/linux/mfd/dbx500-prcmu.h +++ b/include/linux/mfd/dbx500-prcmu.h | |||
@@ -237,6 +237,8 @@ struct prcmu_pdata | |||
237 | bool enable_set_ddr_opp; | 237 | bool enable_set_ddr_opp; |
238 | bool enable_ape_opp_100_voltage; | 238 | bool enable_ape_opp_100_voltage; |
239 | struct ab8500_platform_data *ab_platdata; | 239 | struct ab8500_platform_data *ab_platdata; |
240 | int ab_irq; | ||
241 | int irq_base; | ||
240 | u32 version_offset; | 242 | u32 version_offset; |
241 | u32 legacy_offset; | 243 | u32 legacy_offset; |
242 | u32 adt_offset; | 244 | u32 adt_offset; |
@@ -276,9 +278,9 @@ struct prcmu_fw_version { | |||
276 | 278 | ||
277 | #if defined(CONFIG_UX500_SOC_DB8500) | 279 | #if defined(CONFIG_UX500_SOC_DB8500) |
278 | 280 | ||
279 | static inline void __init prcmu_early_init(void) | 281 | static inline void prcmu_early_init(u32 phy_base, u32 size) |
280 | { | 282 | { |
281 | return db8500_prcmu_early_init(); | 283 | return db8500_prcmu_early_init(phy_base, size); |
282 | } | 284 | } |
283 | 285 | ||
284 | static inline int prcmu_set_power_state(u8 state, bool keep_ulp_clk, | 286 | static inline int prcmu_set_power_state(u8 state, bool keep_ulp_clk, |
@@ -293,36 +295,6 @@ static inline u8 prcmu_get_power_state_result(void) | |||
293 | return db8500_prcmu_get_power_state_result(); | 295 | return db8500_prcmu_get_power_state_result(); |
294 | } | 296 | } |
295 | 297 | ||
296 | static inline int prcmu_gic_decouple(void) | ||
297 | { | ||
298 | return db8500_prcmu_gic_decouple(); | ||
299 | } | ||
300 | |||
301 | static inline int prcmu_gic_recouple(void) | ||
302 | { | ||
303 | return db8500_prcmu_gic_recouple(); | ||
304 | } | ||
305 | |||
306 | static inline bool prcmu_gic_pending_irq(void) | ||
307 | { | ||
308 | return db8500_prcmu_gic_pending_irq(); | ||
309 | } | ||
310 | |||
311 | static inline bool prcmu_is_cpu_in_wfi(int cpu) | ||
312 | { | ||
313 | return db8500_prcmu_is_cpu_in_wfi(cpu); | ||
314 | } | ||
315 | |||
316 | static inline int prcmu_copy_gic_settings(void) | ||
317 | { | ||
318 | return db8500_prcmu_copy_gic_settings(); | ||
319 | } | ||
320 | |||
321 | static inline bool prcmu_pending_irq(void) | ||
322 | { | ||
323 | return db8500_prcmu_pending_irq(); | ||
324 | } | ||
325 | |||
326 | static inline int prcmu_set_epod(u16 epod_id, u8 epod_state) | 298 | static inline int prcmu_set_epod(u16 epod_id, u8 epod_state) |
327 | { | 299 | { |
328 | return db8500_prcmu_set_epod(epod_id, epod_state); | 300 | return db8500_prcmu_set_epod(epod_id, epod_state); |
@@ -500,7 +472,7 @@ static inline int prcmu_config_a9wdog(u8 num, bool sleep_auto_off) | |||
500 | } | 472 | } |
501 | #else | 473 | #else |
502 | 474 | ||
503 | static inline void __init prcmu_early_init(void) {} | 475 | static inline void prcmu_early_init(u32 phy_base, u32 size) {} |
504 | 476 | ||
505 | static inline int prcmu_set_power_state(u8 state, bool keep_ulp_clk, | 477 | static inline int prcmu_set_power_state(u8 state, bool keep_ulp_clk, |
506 | bool keep_ap_pll) | 478 | bool keep_ap_pll) |
diff --git a/include/linux/platform_data/arm-ux500-pm.h b/include/linux/platform_data/arm-ux500-pm.h new file mode 100644 index 000000000000..8dff64b29ec0 --- /dev/null +++ b/include/linux/platform_data/arm-ux500-pm.h | |||
@@ -0,0 +1,21 @@ | |||
1 | /* | ||
2 | * Copyright (C) ST-Ericsson SA 2010-2013 | ||
3 | * Author: Rickard Andersson <rickard.andersson@stericsson.com> for | ||
4 | * ST-Ericsson. | ||
5 | * Author: Daniel Lezcano <daniel.lezcano@linaro.org> for Linaro. | ||
6 | * License terms: GNU General Public License (GPL) version 2 | ||
7 | * | ||
8 | */ | ||
9 | |||
10 | #ifndef ARM_UX500_PM_H | ||
11 | #define ARM_UX500_PM_H | ||
12 | |||
13 | int prcmu_gic_decouple(void); | ||
14 | int prcmu_gic_recouple(void); | ||
15 | bool prcmu_gic_pending_irq(void); | ||
16 | bool prcmu_pending_irq(void); | ||
17 | bool prcmu_is_cpu_in_wfi(int cpu); | ||
18 | int prcmu_copy_gic_settings(void); | ||
19 | void ux500_pm_init(u32 phy_base, u32 size); | ||
20 | |||
21 | #endif /* ARM_UX500_PM_H */ | ||
diff --git a/include/linux/platform_data/asoc-ux500-msp.h b/include/linux/platform_data/asoc-ux500-msp.h new file mode 100644 index 000000000000..9991aea3d577 --- /dev/null +++ b/include/linux/platform_data/asoc-ux500-msp.h | |||
@@ -0,0 +1,27 @@ | |||
1 | /* | ||
2 | * Copyright (C) ST-Ericsson SA 2010 | ||
3 | * | ||
4 | * Author: Rabin Vincent <rabin.vincent@stericsson.com> for ST-Ericsson | ||
5 | * License terms: GNU General Public License (GPL), version 2. | ||
6 | */ | ||
7 | |||
8 | #ifndef __MSP_H | ||
9 | #define __MSP_H | ||
10 | |||
11 | #include <linux/platform_data/dma-ste-dma40.h> | ||
12 | |||
13 | enum msp_i2s_id { | ||
14 | MSP_I2S_0 = 0, | ||
15 | MSP_I2S_1, | ||
16 | MSP_I2S_2, | ||
17 | MSP_I2S_3, | ||
18 | }; | ||
19 | |||
20 | /* Platform data structure for a MSP I2S-device */ | ||
21 | struct msp_i2s_platform_data { | ||
22 | enum msp_i2s_id id; | ||
23 | struct stedma40_chan_cfg *msp_i2s_dma_rx; | ||
24 | struct stedma40_chan_cfg *msp_i2s_dma_tx; | ||
25 | }; | ||
26 | |||
27 | #endif | ||
diff --git a/include/linux/platform_data/clk-ux500.h b/include/linux/platform_data/clk-ux500.h index 3af0da1f3be5..320d9c39ea0a 100644 --- a/include/linux/platform_data/clk-ux500.h +++ b/include/linux/platform_data/clk-ux500.h | |||
@@ -10,7 +10,8 @@ | |||
10 | #ifndef __CLK_UX500_H | 10 | #ifndef __CLK_UX500_H |
11 | #define __CLK_UX500_H | 11 | #define __CLK_UX500_H |
12 | 12 | ||
13 | void u8500_clk_init(void); | 13 | void u8500_clk_init(u32 clkrst1_base, u32 clkrst2_base, u32 clkrst3_base, |
14 | u32 clkrst5_base, u32 clkrst6_base); | ||
14 | void u9540_clk_init(void); | 15 | void u9540_clk_init(void); |
15 | void u8540_clk_init(void); | 16 | void u8540_clk_init(void); |
16 | 17 | ||