diff options
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/clocksource.h | 11 | ||||
| -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 |
6 files changed, 66 insertions, 44 deletions
diff --git a/include/linux/clocksource.h b/include/linux/clocksource.h index 08ed5e19d8c6..ac33184b14fd 100644 --- a/include/linux/clocksource.h +++ b/include/linux/clocksource.h | |||
| @@ -332,16 +332,23 @@ extern int clocksource_mmio_init(void __iomem *, const char *, | |||
| 332 | 332 | ||
| 333 | extern int clocksource_i8253_init(void); | 333 | extern int clocksource_i8253_init(void); |
| 334 | 334 | ||
| 335 | struct device_node; | ||
| 336 | typedef void(*clocksource_of_init_fn)(struct device_node *); | ||
| 335 | #ifdef CONFIG_CLKSRC_OF | 337 | #ifdef CONFIG_CLKSRC_OF |
| 336 | extern void clocksource_of_init(void); | 338 | extern void clocksource_of_init(void); |
| 337 | 339 | ||
| 338 | #define CLOCKSOURCE_OF_DECLARE(name, compat, fn) \ | 340 | #define CLOCKSOURCE_OF_DECLARE(name, compat, fn) \ |
| 339 | static const struct of_device_id __clksrc_of_table_##name \ | 341 | static const struct of_device_id __clksrc_of_table_##name \ |
| 340 | __used __section(__clksrc_of_table) \ | 342 | __used __section(__clksrc_of_table) \ |
| 341 | = { .compatible = compat, .data = fn }; | 343 | = { .compatible = compat, \ |
| 344 | .data = (fn == (clocksource_of_init_fn)NULL) ? fn : fn } | ||
| 342 | #else | 345 | #else |
| 343 | static inline void clocksource_of_init(void) {} | 346 | static inline void clocksource_of_init(void) {} |
| 344 | #define CLOCKSOURCE_OF_DECLARE(name, compat, fn) | 347 | #define CLOCKSOURCE_OF_DECLARE(name, compat, fn) \ |
| 348 | static const struct of_device_id __clksrc_of_table_##name \ | ||
| 349 | __unused __section(__clksrc_of_table) \ | ||
| 350 | = { .compatible = compat, \ | ||
| 351 | .data = (fn == (clocksource_of_init_fn)NULL) ? fn : fn } | ||
| 345 | #endif | 352 | #endif |
| 346 | 353 | ||
| 347 | #endif /* _LINUX_CLOCKSOURCE_H */ | 354 | #endif /* _LINUX_CLOCKSOURCE_H */ |
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 | ||
