EXYNOS: Add API for power reset and exit wakeup
This patch adds APIs to get power reset status and exit the wakeup condition for both exynos5 and exynos4 Signed-off-by: Rajeshwari Shinde <rajeshwari.s@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
This commit is contained in:
parent
493c073ff4
commit
dc20fdd76a
@ -140,3 +140,53 @@ void set_hw_thermal_trip(void)
|
||||
setbits_le32(&power->ps_hold_control, POWER_ENABLE_HW_TRIP);
|
||||
}
|
||||
}
|
||||
|
||||
static uint32_t exynos5_get_reset_status(void)
|
||||
{
|
||||
struct exynos5_power *power =
|
||||
(struct exynos5_power *)samsung_get_base_power();
|
||||
|
||||
return power->inform1;
|
||||
}
|
||||
|
||||
static uint32_t exynos4_get_reset_status(void)
|
||||
{
|
||||
struct exynos4_power *power =
|
||||
(struct exynos4_power *)samsung_get_base_power();
|
||||
|
||||
return power->inform1;
|
||||
}
|
||||
|
||||
uint32_t get_reset_status(void)
|
||||
{
|
||||
if (cpu_is_exynos5())
|
||||
return exynos5_get_reset_status();
|
||||
else
|
||||
return exynos4_get_reset_status();
|
||||
}
|
||||
|
||||
static void exynos5_power_exit_wakeup(void)
|
||||
{
|
||||
struct exynos5_power *power =
|
||||
(struct exynos5_power *)samsung_get_base_power();
|
||||
typedef void (*resume_func)(void);
|
||||
|
||||
((resume_func)power->inform0)();
|
||||
}
|
||||
|
||||
static void exynos4_power_exit_wakeup(void)
|
||||
{
|
||||
struct exynos4_power *power =
|
||||
(struct exynos4_power *)samsung_get_base_power();
|
||||
typedef void (*resume_func)(void);
|
||||
|
||||
((resume_func)power->inform0)();
|
||||
}
|
||||
|
||||
void power_exit_wakeup(void)
|
||||
{
|
||||
if (cpu_is_exynos5())
|
||||
exynos5_power_exit_wakeup();
|
||||
else
|
||||
exynos4_power_exit_wakeup();
|
||||
}
|
||||
|
@ -888,4 +888,16 @@ void set_ps_hold_ctrl(void);
|
||||
* source as XXTI
|
||||
*/
|
||||
void set_xclkout(void);
|
||||
|
||||
/*
|
||||
* Read inform1 to get the reset status.
|
||||
* @return: the value can be either S5P_CHECK_SLEEP or
|
||||
* S5P_CHECK_DIDLE or S5P_CHECK_LPA as stored in inform1
|
||||
* if none of these then its normal booting.
|
||||
*/
|
||||
uint32_t get_reset_status(void);
|
||||
|
||||
|
||||
/* Read the resume function and call it */
|
||||
void power_exit_wakeup(void);
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user