void otm1280a_early_suspend(void)
{
	//	struct s3cfb_global *fbdev =
	//		container_of(h, struct s3cfb_global, early_suspend);
#ifdef ESD_FOR_LCD
	if (lcd_id == LCD_BOE)
		;
		//cancel_delayed_work_sync(&lcd_delayed_work);
	else {
		disable_irq(TE_IRQ);
		del_timer(&te_timer);
		//cancel_delayed_work_sync(&lcd_init_work);
	}
#endif
	otm1280a_display_off(NULL);
#ifdef LCD_CABC_MODE
	if (lcd_id == LCD_LG) 
		otm1280a_cabc_control(CABC_OFF);
#endif
	printk("%s\n", __func__);
	if (lcd_id == LCD_BOE){
		otm1280a_write_0(0x10);
		mdelay(200);
		otm1280a_write_0(0x28);
		mdelay(20);
	}

	s5p_dsim_frame_done_interrupt_enable(0);
}
Exemplo n.º 2
0
static void hs_clk_re_try_work(struct work_struct *work)
{
	int read_oled_det;

	read_oled_det = gpio_get_value(GPIO_OLED_DET);

	printk(KERN_INFO "%s, %d, %d\n", __func__,
				 count_dsim, read_oled_det);

	if (read_oled_det == 0) {
		if (count_dsim < 10) {
			schedule_delayed_work(&hs_clk_re_try, HZ/8);
			count_dsim++;
			set_dsim_hs_clk_toggle_count(15);
		} else
			s5p_dsim_frame_done_interrupt_enable(0);
	} else
		s5p_dsim_frame_done_interrupt_enable(0);
}
void otm1280a_late_resume(void)
{
	printk("%s\n", __func__);
	ddi_pd->cmd_write(ddi_pd->dsim_base, DCS_WR_1_PARA, 0x51, current_brightness);
	ddi_pd->cmd_write(ddi_pd->dsim_base, DCS_WR_1_PARA, 0x53, 0x24);
	printk("%s current_bl = %d\n", __func__, current_brightness);
#ifdef LCD_CABC_MODE
	if (lcd_id == LCD_LG && cabc_mode) 
		otm1280a_cabc_control(cabc_mode);
#endif
	s5p_dsim_frame_done_interrupt_enable(1);
#ifdef ESD_FOR_LCD
	if (lcd_id == LCD_BOE)
		schedule_delayed_work(&lcd_delayed_work, DELAY_TIME);
	else 
		enable_irq(TE_IRQ);
#endif
}