diff options
Diffstat (limited to 'arch/arm/mach-ux500/include')
-rw-r--r-- | arch/arm/mach-ux500/include/mach/prcmu-db5500.h | 10 | ||||
-rw-r--r-- | arch/arm/mach-ux500/include/mach/prcmu-db8500.h | 9 | ||||
-rw-r--r-- | arch/arm/mach-ux500/include/mach/prcmu.h | 28 |
3 files changed, 30 insertions, 17 deletions
diff --git a/arch/arm/mach-ux500/include/mach/prcmu-db5500.h b/arch/arm/mach-ux500/include/mach/prcmu-db5500.h index 97f0f5e7e68..3f31bef433a 100644 --- a/arch/arm/mach-ux500/include/mach/prcmu-db5500.h +++ b/arch/arm/mach-ux500/include/mach/prcmu-db5500.h @@ -25,9 +25,7 @@ int prcmu_resetout(u8 resoutn, u8 state); int db5500_prcmu_set_power_state(u8 state, bool keep_ulp_clk, bool keep_ap_pll); int db5500_prcmu_config_esram0_deep_sleep(u8 state); - -static inline void db5500_prcmu_system_reset(u16 reset_code) {} - +void db5500_prcmu_system_reset(u16 reset_code); u16 db5500_prcmu_get_reset_code(void); bool db5500_prcmu_is_ac_wake_requested(void); int db5500_prcmu_set_arm_opp(u8 opp); @@ -35,9 +33,7 @@ int db5500_prcmu_get_arm_opp(void); #else /* !CONFIG_UX500_SOC_DB5500 */ -static inline void db5500_prcmu_early_init(void) -{ -} +static inline void db5500_prcmu_early_init(void) {} static inline int db5500_prcmu_abb_read(u8 slave, u8 reg, u8 *value, u8 size) { @@ -95,6 +91,8 @@ static inline int db5500_prcmu_set_power_state(u8 state, bool keep_ulp_clk, return 0; } +static inline void db5500_prcmu_system_reset(u16 reset_code) {} + static inline u16 db5500_prcmu_get_reset_code(void) { return 0; diff --git a/arch/arm/mach-ux500/include/mach/prcmu-db8500.h b/arch/arm/mach-ux500/include/mach/prcmu-db8500.h index 4545fb9b2cb..458ae2aaa44 100644 --- a/arch/arm/mach-ux500/include/mach/prcmu-db8500.h +++ b/arch/arm/mach-ux500/include/mach/prcmu-db8500.h @@ -157,6 +157,8 @@ enum ap_pwrst { #ifdef CONFIG_UX500_SOC_DB8500 +void db8500_prcmu_early_init(void); + bool prcmu_is_u8400(void); int prcmu_request_ape_opp_100_voltage(bool enable); @@ -211,6 +213,8 @@ int db8500_prcmu_get_arm_opp(void); #else /* !CONFIG_UX500_SOC_DB8500 */ +static inline void db8500_prcmu_early_init(void) {} + static inline bool prcmu_is_u8400(void) { return false; @@ -339,6 +343,11 @@ static inline void db8500_prcmu_config_abb_event_readout(u32 abb_events) {} static inline void db8500_prcmu_get_abb_event_buffer(void __iomem **buf) {} +static inline u16 db8500_prcmu_get_reset_code(void) +{ + return 0; +} + static inline int prcmu_config_a9wdog(u8 num, bool sleep_auto_off) { return 0; diff --git a/arch/arm/mach-ux500/include/mach/prcmu.h b/arch/arm/mach-ux500/include/mach/prcmu.h index 802daf8f060..e3ee37fa872 100644 --- a/arch/arm/mach-ux500/include/mach/prcmu.h +++ b/arch/arm/mach-ux500/include/mach/prcmu.h @@ -227,6 +227,14 @@ enum ddr_pwrst { #if defined(CONFIG_UX500_SOC_DB8500) || defined(CONFIG_UX500_SOC_DB5500) +static inline void __init prcmu_early_init(void) +{ + if (machine_is_u5500()) + return db5500_prcmu_early_init(); + else + return db8500_prcmu_early_init(); +} + static inline int prcmu_set_power_state(u8 state, bool keep_ulp_clk, bool keep_ap_pll) { @@ -317,7 +325,13 @@ static inline void prcmu_system_reset(u16 reset_code) return db8500_prcmu_system_reset(reset_code); } -u16 prcmu_get_reset_code(void); +static inline u16 prcmu_get_reset_code(void) +{ + if (machine_is_u5500()) + return db5500_prcmu_get_reset_code(); + else + return db8500_prcmu_get_reset_code(); +} void prcmu_ac_wake_req(void); void prcmu_ac_sleep_req(void); @@ -363,6 +377,8 @@ static inline int prcmu_config_esram0_deep_sleep(u8 state) } #else +static inline void __init prcmu_early_init(void) {} + static inline int prcmu_set_power_state(u8 state, bool keep_ulp_clk, bool keep_ap_pll) { @@ -475,14 +491,4 @@ static inline void prcmu_get_abb_event_buffer(void __iomem **buf) #endif -#if defined(CONFIG_UX500_SOC_DB8500) - -void __init prcmu_early_init(void); - -#else - -static inline void __init prcmu_early_init(void) {} - -#endif - #endif /* __MACH_PRCMU_H */ |