Пример #1
0
void exynos_sys_powerdown_conf(enum sys_powerdown mode)
{
	unsigned int i;

	if (soc_is_exynos3250()) {
		exynos3250_init_pmu();

		if (mode == SYS_SLEEP) {
			__raw_writel(0x00000BB8, EXYNOS3_XUSBXTI_DURATION);
			__raw_writel(0x00000BB8, EXYNOS3_XXTI_DURATION);
			__raw_writel(0x00001D4C,
				     EXYNOS3_EXT_REGULATOR_DURATION);
			__raw_writel(0x00001D4C,
				     EXYNOS3_EXT_REGULATOR_COREBLK_DURATION);
		}
	}

	if (soc_is_exynos5250())
		exynos5_init_pmu();

	for (i = 0; (exynos_pmu_config[i].reg != PMU_TABLE_END) ; i++)
		__raw_writel(exynos_pmu_config[i].val[mode],
				exynos_pmu_config[i].reg);

	if (soc_is_exynos4412()) {
		for (i = 0; exynos4412_pmu_config[i].reg != PMU_TABLE_END ; i++)
			__raw_writel(exynos4412_pmu_config[i].val[mode],
				exynos4412_pmu_config[i].reg);
	}
}
Пример #2
0
void exynos5_sys_powerdown_conf(enum sys_powerdown mode)
{
	unsigned int count = entry_cnt;
	unsigned int i;

	exynos5_init_pmu();

	for (; count > 0; count--)
		__raw_writel(exynos5_pmu_config[count - 1].val[mode],
				exynos5_pmu_config[count - 1].reg);

	if (samsung_rev() < EXYNOS5250_REV_1_0) {
		for (i = 0; i < ARRAY_SIZE(exynos52xx_pmu_config_gps); i++) {
			__raw_writel(exynos52xx_pmu_config_gps[i].val[mode],
					exynos52xx_pmu_config_gps[i].reg);
		}

	}

	if ((mode != SYS_AFTR) && (exynos4_is_c2c_use())) {
		pr_info("%s power mode enter with C2C Enabling\n"
				, (mode == SYS_LPA) ? "LPA" : "SLEEP");

		for (i = 0; i < ARRAY_SIZE(exynos52xx_pmu_c2c_config); i++) {
			__raw_writel(exynos52xx_pmu_c2c_config[i].val[mode],
					exynos52xx_pmu_c2c_config[i].reg);
		}
	}
}
Пример #3
0
void exynos_sys_powerdown_conf(enum sys_powerdown mode)
{
	unsigned int i;

	if (soc_is_exynos5250())
		exynos5_init_pmu();

	/* Setting SEQ_OPTION register */
	if (soc_is_exynos5410())
		exynos_set_core_flag();

	for (i = 0; (exynos_pmu_config[i].reg != PMU_TABLE_END) ; i++)
		__raw_writel(exynos_pmu_config[i].val[mode],
				exynos_pmu_config[i].reg);
}
Пример #4
0
void exynos_sys_powerdown_conf(enum sys_powerdown mode)
{
	unsigned int i;

	if (soc_is_exynos5250())
		exynos5_init_pmu();

	for (i = 0; (exynos_pmu_config[i].reg != PMU_TABLE_END) ; i++)
		__raw_writel(exynos_pmu_config[i].val[mode],
				exynos_pmu_config[i].reg);

	if (soc_is_exynos4412()) {
		for (i = 0; exynos4412_pmu_config[i].reg != PMU_TABLE_END ; i++)
			__raw_writel(exynos4412_pmu_config[i].val[mode],
				exynos4412_pmu_config[i].reg);
	}
}