Esempio n. 1
0
void exynos_wakeup_sys_powerdown(enum sys_powerdown mode, bool early_wakeup)
{

	if (early_wakeup)
		exynos_pmu_cal_sys_earlywake(mode);
	else
		exynos_pmu_cal_sys_post(mode);

	exynos_idle_clock_down(true, LITTLE);
	exynos_idle_clock_down(true, BIG);

	exynos_sys_powerdown_restore_clk(mode);

	switch (mode) {
	case SYS_AFTR:
		break;
	case SYS_ALPA:
		exynos_ctrl_alpa(false);
	case SYS_LPA:
		exynos_lpa_exit();
		exynos_aud_alpa_notifier(false);
		break;
	case SYS_SLEEP:
#if defined(CONFIG_SOC_EXYNOS7420)
		/* Set Apollo SRAM control sysreg to Dual rail mode*/
		__raw_writel(0x0, EXYNOS7420_VA_SYSREG + 0x0054);
#endif
		break;
	default:
		break;
	}
}
void exynos_wakeup_sys_powerdown(enum sys_powerdown mode, bool early_wakeup)
{
	if (early_wakeup)
		exynos_pmu_cal_sys_earlywake(mode);
	else
		exynos_pmu_cal_sys_post(mode);

	exynos_idle_clock_down(true);

	exynos_sys_powerdown_restore_clk(mode);

	switch (mode) {
	case SYS_LPA:
		exynos_lpa_exit();
		break;
	default:
		break;
	}
}