Exemple #1
0
static int exynos4_pm_suspend(void)
{
	unsigned long tmp;

	if (!exynos4_is_c2c_use())
		s3c_pm_do_save(exynos4_core_save, ARRAY_SIZE(exynos4_core_save));

	s3c_pm_do_save(exynos4_l2cc_save, ARRAY_SIZE(exynos4_l2cc_save));

	/* Setting Central Sequence Register for power down mode */

	tmp = __raw_readl(S5P_CENTRAL_SEQ_CONFIGURATION);
	tmp &= ~(S5P_CENTRAL_LOWPWR_CFG);
	__raw_writel(tmp, S5P_CENTRAL_SEQ_CONFIGURATION);

	/* When enter sleep mode, USE_DELAYED_RESET_ASSERTION have to disable */
	if (!soc_is_exynos4210())
		exynos4_reset_assert_ctrl(0);

	if (!soc_is_exynos4210()) {
		tmp = S5P_USE_STANDBY_WFI0 | S5P_USE_STANDBY_WFE0;
		__raw_writel(tmp, S5P_CENTRAL_SEQ_OPTION);

		if (exynos4_is_c2c_use()) {
			tmp = __raw_readl(S5P_WAKEUP_MASK_COREBLK);
			tmp &= ~(1 << 20);
			__raw_writel(tmp, S5P_WAKEUP_MASK_COREBLK);
			tmp = __raw_readl(S5P_CENTRAL_SEQ_CONFIGURATION_COREBLK);
			tmp &= ~S5P_CENTRAL_SEQ_COREBLK_CONF;
			__raw_writel(tmp, S5P_CENTRAL_SEQ_CONFIGURATION_COREBLK);
		}
	}

	return 0;
}
Exemple #2
0
int s5p_irq_suspend(struct sys_device *dev, pm_message_t state)
{
	s3c_pm_do_save(eint_save, ARRAY_SIZE(eint_save));
	s3c_pm_do_save(irq_save, ARRAY_SIZE(irq_save));

	return 0;
}
Exemple #3
0
void s3c_pm_save_core(void)
{
	s3c_pm_do_save(sromc_save, ARRAY_SIZE(sromc_save));
	s3c_pm_do_save(core_save, ARRAY_SIZE(core_save));
	s3c_pm_do_save(gpio_save_ext, ARRAY_SIZE(gpio_save_ext));
	s3c_pm_do_save(gpio_save_gpio_int, ARRAY_SIZE(gpio_save_gpio_int));
	s3c_pm_do_save(irq_save, ARRAY_SIZE(irq_save));
}
static int exynos4210_clock_suspend(void)
{
	s3c_pm_do_save(exynos4210_clock_save, ARRAY_SIZE(exynos4210_clock_save));
	s3c_pm_do_save(exynos4210_epll_save, ARRAY_SIZE(exynos4210_epll_save));
	s3c_pm_do_save(exynos4210_vpll_save, ARRAY_SIZE(exynos4210_vpll_save));

	return 0;
}
static int exynos4212_clock_suspend(void)
{
	s3c_pm_do_save(exynos4212_clock_save, ARRAY_SIZE(exynos4212_clock_save));
	s3c_pm_do_save(exynos4212_vpll_save, ARRAY_SIZE(exynos4212_vpll_save));
#if (defined(CONFIG_MACH_M0) && defined(CONFIG_TARGET_LOCALE_EUR)) || \
	((defined(CONFIG_MACH_C1) || defined(CONFIG_MACH_M0)) && \
	defined(CONFIG_TARGET_LOCALE_KOR))
	s3c_pm_do_save(exynos4212_epll_save, ARRAY_SIZE(exynos4212_epll_save));
#endif
	return 0;
}
static int exynos3_pd_lcd0_clk_enable_off(struct exynos_pm_domain *domain)
{
	unsigned int tmp;

	DEBUG_PRINT_INFO("%s pre power off\n", "LCD");

	s3c_pm_do_save(exynos_pd_lcd0_clk_save,
			ARRAY_SIZE(exynos_pd_lcd0_clk_save));

	tmp = __raw_readl(EXYNOS3_CLKSRC_MASK_LCD);
	tmp |= ((0x1 << 12)|(0x1));
	__raw_writel(tmp, EXYNOS3_CLKSRC_MASK_LCD);

	tmp = __raw_readl(EXYNOS3_CLKGATE_BUS_LCD);
	tmp |= ((0x7F << 14)|(0x3 << 9)|(0x1F << 3)|(0x1));
	__raw_writel(tmp, EXYNOS3_CLKGATE_BUS_LCD);

	tmp = __raw_readl(EXYNOS3_CLKGATE_SCLK_LCD);
	tmp |= ((0x3 << 3)|(0x3));
	__raw_writel(tmp, EXYNOS3_CLKGATE_SCLK_LCD);

	tmp = __raw_readl(EXYNOS3_CLKGATE_IP_LCD);
	tmp |= ((0x3F << 2)|(0x1));
	__raw_writel(tmp, EXYNOS3_CLKGATE_IP_LCD);

	return 0;
}
static int exynos5_pm_suspend(void)
{
	unsigned long tmp;

	s3c_pm_do_save(exynos5_core_save, ARRAY_SIZE(exynos5_core_save));

	if (!(__raw_readl(EXYNOS5_ISP_STATUS) & S5P_INT_LOCAL_PWR_EN)) {
		isp_pwr_off = true;
		/*
		 * Before enter suspend, ISP power domain should be on
		 */
		__raw_writel(S5P_INT_LOCAL_PWR_EN, EXYNOS5_ISP_CONFIGURATION);
	}

	tmp = __raw_readl(EXYNOS5_CENTRAL_SEQ_CONFIGURATION);
	tmp &= ~(EXYNOS5_CENTRAL_LOWPWR_CFG);
	__raw_writel(tmp, EXYNOS5_CENTRAL_SEQ_CONFIGURATION);

	tmp = __raw_readl(EXYNOS5_CENTRAL_SEQ_OPTION);

	tmp = (EXYNOS5_USE_STANDBYWFI_ARM_CORE0 |
		EXYNOS5_USE_STANDBYWFE_ARM_CORE0);

	__raw_writel(tmp, EXYNOS5_CENTRAL_SEQ_OPTION);

	return 0;
}
static int exynos3_pd_cam_clk_enable_off(struct exynos_pm_domain *domain)
{
	unsigned int tmp;

	DEBUG_PRINT_INFO("%s pre power off\n", "CAM");

	s3c_pm_do_save(exynos_pd_cam_clk_save,
			ARRAY_SIZE(exynos_pd_cam_clk_save));

	tmp = __raw_readl(EXYNOS3_CLKSRC_MASK_CAM);
	tmp |= ((0x1 << 20)|(0x1));
	__raw_writel(tmp, EXYNOS3_CLKSRC_MASK_CAM);

	tmp = __raw_readl(EXYNOS3_CLKGATE_BUS_CAM0);
	tmp |= ((0x3 << 29)|(0x1 << 27)|(0xF << 22)|(0x7 << 18)|(0x3 << 14)|(0x7 << 10)|(0xF << 5)|(0x7));
	__raw_writel(tmp, EXYNOS3_CLKGATE_BUS_CAM0);

	tmp = __raw_readl(EXYNOS3_CLKGATE_BUS_CAM1);
	tmp |= ((0xF << 10)|(0x7));
	__raw_writel(tmp, EXYNOS3_CLKGATE_BUS_CAM1);

	tmp = __raw_readl(EXYNOS3_CLKGATE_SCLK_CAM);
	tmp |= (0x1 << 8);
	__raw_writel(tmp, EXYNOS3_CLKGATE_SCLK_CAM);

	tmp = __raw_readl(EXYNOS3_CLKGATE_IP_CAM);
	tmp |= ((0xF << 16)|(0xF << 11)|(0xF << 6)|(0x7));
	__raw_writel(tmp, EXYNOS3_CLKGATE_IP_CAM);

	return 0;
}
Exemple #9
0
static int s3c_keypad_suspend(struct platform_device *dev, pm_message_t state)
{
#if defined(CONFIG_MACH_CHIEF) && !defined(CONFIG_TIKAL_MPCS)
	struct s3c_keypad *s3c_keypad;
#endif
	keyifcon = readl(key_base+S3C_KEYIFCON);
	keyiffc = readl(key_base+S3C_KEYIFFC);
#if defined(CONFIG_TIKAL_MPCS)
	enable_irq_wake(IRQ_KEYPAD);		
        keyled_timer_stop(); /* keypad_led */
#elif defined(CONFIG_MACH_STEALTHV)
        if((during_call==1)&&(volume_key_wakeup==0)){
            enable_irq_wake(IRQ_KEYPAD);
            volume_key_wakeup=1;            
        }
        else if((during_call==0)&&(volume_key_wakeup==1)){
            disable_irq_wake(IRQ_KEYPAD);
            volume_key_wakeup=0;        
        }
#else
	s3c_pm_do_save(s3c_keypad_save, ARRAY_SIZE(s3c_keypad_save));

	//writel(~(0xfffffff), KEYPAD_ROW_GPIOCON);
	//writel(~(0xfffffff), KEYPAD_COL_GPIOCON);

	disable_irq(IRQ_KEYPAD);
	clk_disable(keypad_clock);

#if defined(CONFIG_MACH_CHIEF) && !defined(CONFIG_TIKAL_MPCS)
	
	if((during_call == 1) && (volume_key_wakeup == 0)){
		s3c_keypad= platform_get_drvdata(dev);
		
		if(!s3c_keypad){
			printk(KERN_INFO "failed to get drv data \n ");
			return ;
		}
		volume_key_wakeup = 1;	
		s3c_keygpio_keysense_isr_setup((void * )s3c_keypad);
	}
	else if((during_call == 0) && (volume_key_wakeup == 1)){
		
		disable_irq_wake(gpio_to_irq(S5PV210_GPH3(0)));
		volume_key_wakeup = 0;		
		printk(KERN_INFO "%s:DISABLE IRQ  \n ", __func__);	
		
		/* Set GPIO Port for keypad mode and pull-up disable*/
		s3c_setup_keypad_cfg_gpio(KEYPAD_ROWS, KEYPAD_COLUMNS);
	}
	else{
		//set gpio during normal sleep
		s3c_setup_keypad_cfg_gpio_sleep(KEYPAD_ROWS, KEYPAD_COLUMNS);
		
		}
#endif //#if defined(CONFIG_MACH_CHIEF) && !defined(CONFIG_TIKAL_MPCS)
	in_sleep = 1;
#endif
	return 0;
}
Exemple #10
0
void s3c_pm_save_core(void)
{
#ifdef CONFIG_ARCH_LBOOK_V3
	if (machine_is_lbook_v3()) {
		s3c2410_gpio_setpin(S3C2410_GPC(6), 1);
	}
#endif

	s3c_pm_do_save(misc_save, ARRAY_SIZE(misc_save));
	s3c_pm_do_save(core_save, ARRAY_SIZE(core_save));

#ifdef CONFIG_ARCH_LBOOK_V3
	if (machine_is_lbook_v3()) {
		s3c2410_gpio_setpin(S3C2410_GPC(6), 1);
	}
#endif
}
Exemple #11
0
static void exynos_pm_prepare(void)
{
	exynos_set_delayed_reset_assertion(false);

	/* Set wake-up mask registers */
	exynos_pm_set_wakeup_mask();

	s3c_pm_do_save(exynos_core_save, ARRAY_SIZE(exynos_core_save));

	 if (pm_data->extra_save)
		s3c_pm_do_save(pm_data->extra_save,
				pm_data->num_extra_save);

	exynos_pm_enter_sleep_mode();

	/* ensure at least INFORM0 has the resume address */
	pmu_raw_writel(virt_to_phys(exynos_cpu_resume), S5P_INFORM0);
}
static int exynos5_pm_suspend(void)
{
	unsigned long tmp;
	u32 timeout;

	s3c_pm_do_save(exynos5_core_save, ARRAY_SIZE(exynos5_core_save));

	s3c_pm_do_save(exynos5_regs_save, ARRAY_SIZE(exynos5_regs_save));

	if (samsung_rev() < EXYNOS5250_REV_1_0) {
		if (!(__raw_readl(EXYNOS5_ISP_STATUS) & S5P_INT_LOCAL_PWR_EN)) {
			isp_pwr_off = true;
			/*
			 * Before enter suspend, ISP power domain should be on
			 */
			__raw_writel(S5P_INT_LOCAL_PWR_EN,
					EXYNOS5_ISP_CONFIGURATION);
			timeout = 1000;

			while (!(__raw_readl(EXYNOS5_ISP_STATUS) & S5P_INT_LOCAL_PWR_EN)) {
				if (timeout == 0) {
					printk(KERN_ERR "ISP power domain can not on\n");
				}
				timeout--;
				udelay(1);
			}
		}
	}

	tmp = __raw_readl(EXYNOS5_CENTRAL_SEQ_CONFIGURATION);
	tmp &= ~(EXYNOS5_CENTRAL_LOWPWR_CFG);
	__raw_writel(tmp, EXYNOS5_CENTRAL_SEQ_CONFIGURATION);

	tmp = __raw_readl(EXYNOS5_CENTRAL_SEQ_OPTION);

	tmp = (EXYNOS5_USE_STANDBYWFI_ARM_CORE0 |
		EXYNOS5_USE_STANDBYWFE_ARM_CORE0);

	__raw_writel(tmp, EXYNOS5_CENTRAL_SEQ_OPTION);

	return 0;
}
Exemple #13
0
static void s5pv310_cpu_prepare(void)
{
	s3c_pm_do_save(s5pv310_core_save, ARRAY_SIZE(s5pv310_core_save));

	/* Set value of power down register for sleep mode */
	s3c_pm_do_restore_core(s5pv310_sleep, ARRAY_SIZE(s5pv310_sleep));
	__raw_writel(S5P_CHECK_SLEEP, S5P_INFORM1);

	/* ensure at least INFORM0 has the resume address */
	__raw_writel(virt_to_phys(s3c_cpu_resume), S5P_INFORM0);
}
Exemple #14
0
static int
s3c24xx_serial_suspend(struct platform_device *dev, pm_message_t state)
{
	struct uart_port *port = s3c24xx_dev_to_port(&dev->dev);

	if (port) {
		uart_suspend_port(&s3c24xx_uart_drv, port);
		s3c_pm_do_save(uart_save + port->line * SAVE_UART_PORT,
				SAVE_UART_PORT);
	}

	return 0;
}
int s3c24xx_irq_suspend(struct sys_device *dev, pm_message_t state)
{
	unsigned int i;

	for (i = 0; i < ARRAY_SIZE(save_extint); i++)
		save_extint[i] = __raw_readl(S3C24XX_EXTINT0 + (i*4));

	for (i = 0; i < ARRAY_SIZE(save_eintflt); i++)
		save_eintflt[i] = __raw_readl(S3C24XX_EINFLT0 + (i*4));

	s3c_pm_do_save(irq_save, ARRAY_SIZE(irq_save));
	save_eintmask = __raw_readl(S3C24XX_EINTMASK);

	return 0;
}
int s3c24xx_irq_suspend(void)
{
	unsigned int i;

	for (i = 0; i < ARRAY_SIZE(save_extint); i++)
		save_extint[i] = __raw_readl(S3C24XX_EXTINT0 + (i*4));

	for (i = 0; i < ARRAY_SIZE(save_eintflt); i++)
		save_eintflt[i] = __raw_readl(S3C24XX_EINFLT0 + (i*4));

	s3c_pm_do_save(irq_save, ARRAY_SIZE(irq_save));
	save_eintmask = __raw_readl(S3C24XX_EINTMASK);

	return 0;
}
Exemple #17
0
static int exynos5_asv_suspend(void)
{
	struct asv_info *exynos_asv_info;
	int i;

	s3c_pm_do_save(exynos5_abb_save,
			ARRAY_SIZE(exynos5_abb_save));

	for (i = 0; i < ARRAY_SIZE(exynos5_asv_member); i++) {
		exynos_asv_info = &exynos5_asv_member[i];
		exynos_asv_info->ops_cal
			->set_abb(exynos_asv_info->asv_type, ABB_BYPASS);
	}

	return 0;
}
static int exynos3_pd_isp_clk_enable_off(struct exynos_pm_domain *domain)
{
	unsigned int tmp;

	DEBUG_PRINT_INFO("%s pre power off : save clocks and masking\n", "ISP");

	s3c_pm_do_save(exynos_pd_isp_clk_save,
			ARRAY_SIZE(exynos_pd_isp_clk_save));

	tmp = __raw_readl(EXYNOS3_CLKGATE_BUS_ISP0);
	tmp |= ((0x7 << 27)|(0xF << 21)|(0xFFF << 8)|(0x7F));
	__raw_writel(tmp, EXYNOS3_CLKGATE_BUS_ISP0);

	tmp = __raw_readl(EXYNOS3_CLKGATE_BUS_ISP1);
	tmp |= ((0x7F << 15)|(0x1 << 4));
	__raw_writel(tmp, EXYNOS3_CLKGATE_BUS_ISP1);

	tmp = __raw_readl(EXYNOS3_CLKGATE_BUS_ISP2);
	tmp |= ((0x3 << 30)|(0x1 << 28)|(0xF << 23)|(0x3 << 20)|(0x1F << 14)|(0xFFF << 1));
	__raw_writel(tmp, EXYNOS3_CLKGATE_BUS_ISP2);

	tmp = __raw_readl(EXYNOS3_CLKGATE_BUS_ISP3);
	tmp |= ((0x7F << 15)|(0x3 << 12)|(0x3 << 3)|(0x1));
	__raw_writel(tmp, EXYNOS3_CLKGATE_BUS_ISP3);

	tmp = __raw_readl(EXYNOS3_CLKGATE_IP_ISP0);
	tmp |= ((0x3 << 30)|(0x1 << 28)|(0xF << 23)|(0x3 << 20)|(0x3FFFF));
	__raw_writel(tmp, EXYNOS3_CLKGATE_IP_ISP0);

	tmp = __raw_readl(EXYNOS3_CLKGATE_IP_ISP1);
	tmp |= ((0x7F << 15)|(0x3 << 12)|(0x1 << 4)|(0x1));
	__raw_writel(tmp, EXYNOS3_CLKGATE_IP_ISP1);

	tmp = __raw_readl(EXYNOS3_CLKSRC_MASK_ISP);
	tmp |= ((0x1 << 12)|(0x1 << 8)|(0x3 << 4));
	__raw_writel(tmp, EXYNOS3_CLKSRC_MASK_ISP);

	tmp = __raw_readl(EXYNOS3_CLKGATE_SCLK_TOP_ISP);
	tmp |= (0xF << 1);
	__raw_writel(tmp, EXYNOS3_CLKGATE_SCLK_TOP_ISP);

	tmp = __raw_readl(EXYNOS3_CLKGATE_SCLK_ISP);
	tmp |= (0x1);
	__raw_writel(tmp, EXYNOS3_CLKGATE_SCLK_ISP);

	return 0;
}
Exemple #19
0
/*
 *  Suspend
 */
int s3cfb_suspend(struct platform_device *dev, pm_message_t state)
{
	struct fb_info *fbinfo = platform_get_drvdata(dev);
	s3cfb_info_t *info = fbinfo->par;

	s3cfb_stop_lcd();
	s3c_pm_do_save(s3c_lcd_save, ARRAY_SIZE(s3c_lcd_save));

	/* sleep before disabling the clock, we need to ensure
	 * the LCD DMA engine is not going to get back on the bus
	 * before the clock goes off again (bjd) */

	msleep(1);
	clk_disable(info->clk);

	return 0;
}
Exemple #20
0
static void exynos5420_pm_prepare(void)
{
	unsigned int tmp;

	/* Set wake-up mask registers */
	exynos_pm_set_wakeup_mask();

	s3c_pm_do_save(exynos_core_save, ARRAY_SIZE(exynos_core_save));

	exynos_pmu_spare3 = pmu_raw_readl(S5P_PMU_SPARE3);
	/*
	 * The cpu state needs to be saved and restored so that the
	 * secondary CPUs will enter low power start. Though the U-Boot
	 * is setting the cpu state with low power flag, the kernel
	 * needs to restore it back in case, the primary cpu fails to
	 * suspend for any reason.
	 */
	exynos5420_cpu_state = __raw_readl(sysram_base_addr +
						EXYNOS5420_CPU_STATE);

	exynos_pm_enter_sleep_mode();

	/* ensure at least INFORM0 has the resume address */
	if (IS_ENABLED(CONFIG_EXYNOS5420_MCPM))
		pmu_raw_writel(virt_to_phys(mcpm_entry_point), S5P_INFORM0);

	tmp = pmu_raw_readl(EXYNOS5_ARM_L2_OPTION);
	tmp &= ~EXYNOS5_USE_RETENTION;
	pmu_raw_writel(tmp, EXYNOS5_ARM_L2_OPTION);

	tmp = pmu_raw_readl(EXYNOS5420_SFR_AXI_CGDIS1);
	tmp |= EXYNOS5420_UFS;
	pmu_raw_writel(tmp, EXYNOS5420_SFR_AXI_CGDIS1);

	tmp = pmu_raw_readl(EXYNOS5420_ARM_COMMON_OPTION);
	tmp &= ~EXYNOS5420_L2RSTDISABLE_VALUE;
	pmu_raw_writel(tmp, EXYNOS5420_ARM_COMMON_OPTION);

	tmp = pmu_raw_readl(EXYNOS5420_FSYS2_OPTION);
	tmp |= EXYNOS5420_EMULATION;
	pmu_raw_writel(tmp, EXYNOS5420_FSYS2_OPTION);

	tmp = pmu_raw_readl(EXYNOS5420_PSGEN_OPTION);
	tmp |= EXYNOS5420_EMULATION;
	pmu_raw_writel(tmp, EXYNOS5420_PSGEN_OPTION);
}
Exemple #21
0
static int s3c_keypad_suspend(struct platform_device *dev, pm_message_t state)
{
	keyifcon = readl(key_base + S3C_KEYIFCON);
	keyiffc = readl(key_base + S3C_KEYIFFC);

	s3c_pm_do_save(s3c_keypad_save, ARRAY_SIZE(s3c_keypad_save));

	//writel(~(0xfffffff), KEYPAD_ROW_GPIOCON);
	//writel(~(0xfffffff), KEYPAD_COL_GPIOCON);

	disable_irq(IRQ_KEYPAD);

	clk_disable(keypad_clock);

	in_sleep = 1;

	return 0;
}
static int exynos3_pd_mfc_clk_enable_off(struct exynos_pm_domain *domain)
{
	unsigned int tmp;

	DEBUG_PRINT_INFO("%s pre power off\n", "MFC");

	s3c_pm_do_save(exynos_pd_mfc_clk_save,
			ARRAY_SIZE(exynos_pd_mfc_clk_save));

	tmp = __raw_readl(EXYNOS3_CLKGATE_BUS_MFC);
	tmp |= ((0x1 << 19)|(0x7 << 15)|(0x1 << 6)|(0x1 << 4)|(0x3 << 1));
	__raw_writel(tmp, EXYNOS3_CLKGATE_BUS_MFC);

	tmp = __raw_readl(EXYNOS3_CLKGATE_IP_MFC);
	tmp |= ((0x1 << 5)|(0x1 << 3)|(0x3));
	__raw_writel(tmp, EXYNOS3_CLKGATE_IP_MFC);

	return 0;
}
static int exynos3_pd_g3d_clk_enable_off(struct exynos_pm_domain *domain)
{
	unsigned int tmp;

	DEBUG_PRINT_INFO("%s pre power off\n", "G3D");

	s3c_pm_do_save(exynos_pd_g3d_clk_save,
			ARRAY_SIZE(exynos_pd_g3d_clk_save));

	tmp = __raw_readl(EXYNOS3_CLKGATE_BUS_G3D);
	tmp |= ((0x1 << 18)|(0x1 << 16)|(0x7 << 3));
	__raw_writel(tmp, EXYNOS3_CLKGATE_BUS_G3D);

	tmp = __raw_readl(EXYNOS3_CLKGATE_IP_G3D);
	tmp |= 0xF;
	__raw_writel(tmp, EXYNOS3_CLKGATE_IP_G3D);

	return 0;
}
Exemple #24
0
static int s3c64xx_irq_pm_suspend(void)
{
	struct irq_grp_save *grp = eint_grp_save;
	int i;

	S3C_PMDBG("%s: suspending IRQs\n", __func__);

	s3c_pm_do_save(irq_save, ARRAY_SIZE(irq_save));

	for (i = 0; i < CONFIG_SERIAL_SAMSUNG_UARTS; i++)
		irq_uart_mask[i] = __raw_readl(S3C_VA_UARTx(i) + S3C64XX_UINTM);

	for (i = 0; i < ARRAY_SIZE(eint_grp_save); i++, grp++) {
		grp->con = __raw_readl(S3C64XX_EINT12CON + (i * 4));
		grp->mask = __raw_readl(S3C64XX_EINT12MASK + (i * 4));
		grp->fltcon = __raw_readl(S3C64XX_EINT12FLTCON + (i * 4));
	}

	return 0;
}
Exemple #25
0
static int s3c244x_suspend(void)
{
	s3c_pm_do_save(s3c244x_sleep, ARRAY_SIZE(s3c244x_sleep));
	return 0;
}
Exemple #26
0
void s3c2410wdt_save(void)
{
	s3c_pm_do_save(wdt_save, ARRAY_SIZE(wdt_save));
}
static int s3c2412_pm_suspend(struct sys_device *dev, pm_message_t state)
{
	s3c_pm_do_save(s3c2412_sleep, ARRAY_SIZE(s3c2412_sleep));
	return 0;
}
Exemple #28
0
void s3c_pm_save_core(void)
{
	s3c_pm_do_save(sromc_save, ARRAY_SIZE(sromc_save));
	s3c_pm_do_save(core_save, ARRAY_SIZE(core_save));
}
Exemple #29
0
int s3c24xx_irq_suspend(void)
{
	s3c_pm_do_save(eint_save, ARRAY_SIZE(eint_save));

	return 0;
}
static int exynos5_clock_suspend(void)
{
	s3c_pm_do_save(exynos5_clock_save, ARRAY_SIZE(exynos5_clock_save));

	return 0;
}