static void lcm_resume_power(void)
{
	if(wakeup_by_swipe == false){
		//if(!is_update)mutex_lock(pMutexTouch);
		ldo_p5m5_dsv_5v5_off();
		ldo_1v8io_off();
		ldo_3v0_off();
		reset_lcd_module(1); //removed reset delay 50ms

		//chargepump_dsv_reset();//no need it for ESD

		MDELAY(10); //0318 100ms -> 10ms
		ldo_3v0_on();
		ldo_1v8io_on();
		//MDELAY(10);
		//ldo_p5m5_dsv_5v5_on(); // 0318 move to LP11
		MDELAY(50);
		//SET_RESET_PIN(1);
		//reset_lcd_module(0); //0318 move to LP11
		//MDELAY(150);
		LCM_PRINT("[LCD] lcm_resume_power \n");
	}else{
		LCM_PRINT("[LCD] lcm_resume_power wakeup_by_swipe\n");
	}
}
static void lcm_init(void)
{
#if defined(BUILD_LK)
        SET_RESET_PIN(0);  // RESET low
        ldo_p5m5_dsv_off();
        ldo_1v8io_off();
        ldo_ext_3v0_off();
        MDELAY(2);

        ldo_1v8io_on();  // VDDI on
        ldo_ext_3v0_on(); // VPNL/TVDD on
        mt_set_gpio_mode(GPIO_LCD_PMODE_EN, GPIO_LCD_PMODE_EN_M_GPIO);
        mt_set_gpio_dir(GPIO_LCD_PMODE_EN, GPIO_DIR_OUT);
        mt_set_gpio_out(GPIO_LCD_PMODE_EN, GPIO_OUT_ZERO);  // PMODE pin low
        MDELAY(2);        
        mt_set_gpio_out(GPIO_LCD_PMODE_EN, GPIO_OUT_ONE);  // PMODE pin high
        MDELAY(5);
#else
        SET_RESET_PIN(0);
        ldo_1v8io_on();
        ldo_ext_3v0_on();
        MDELAY(10);
#endif
        SET_RESET_PIN(1);
        MDELAY(30);

        init_lcm_registers();
        MDELAY(20);
        ldo_p5m5_dsv_on();
        MDELAY(20);    
        init_lcm_registers_added(); //Display On

	need_set_lcm_addr = 1;

	LCM_PRINT("[LCD] lcm_init \n");
}
static void lcm_init(void)
{
#if defined(BUILD_LK) 	    
    #ifdef TEMP_VER_CHECK
    g_PCBver = get_pcb_version();
    LCM_PRINT("[LCD] pcb_version =%d\n",g_PCBver);
    #endif /* TEMP_VER_CHECK */

	ldo_p5m5_dsv_5v5_off();
	SET_RESET_PIN(0);
	MDELAY(50);
#endif
	//SET_RESET_PIN(0);

	//TP_VCI 3.0v on
	ldo_3v0_on();
	MDELAY(200);

	ldo_1v8io_on();

	MDELAY(200);

	ldo_p5m5_dsv_5v5_on();

	MDELAY(20);

	SET_RESET_PIN(1);
	MDELAY(20);
	SET_RESET_PIN(0);
	MDELAY(2);
	SET_RESET_PIN(1);
	MDELAY(20);

	init_lcm_registers();	//SET EXTC ~ sleep out register

	MDELAY(80);
	
//	init_lcm_registers_added();	//Display On
	need_set_lcm_addr = 1;
	LCM_PRINT("[SEOSCTEST] lcm_init \n");
	LCM_PRINT("[LCD] lcm_init \n");
}
static void lcm_resume(void)
{
	unsigned int data_array[1];

#ifndef LGE_LPWG_SUPPORT
	lcm_init();
#else
	#if 0
	SET_RESET_PIN(0);
	MDELAY(20);
	//dsv low
	ldo_p5m5_dsv_5v5_off();
	ldo_1v8io_off();
	ldo_3v0_off();
	MDELAY(1);	
	ldo_3v0_on();
	ldo_1v8io_on();
	MDELAY(10);
	ldo_p5m5_dsv_5v5_on();
	MDELAY(5);

	SET_RESET_PIN(1);
	MDELAY(150);
	#endif

	data_array[0] = 0x00110500; //exit sleep
	dsi_set_cmdq(data_array, 1, 1);
	MDELAY(120);

	
	data_array[0] = 0x00290500; //Display on
	dsi_set_cmdq(data_array, 1, 1);
	MDELAY(2);


	//dsi_set_cmdq_V3(lcm_initialization_sleep_out_V3, sizeof(lcm_initialization_sleep_out_V3) / sizeof(LCM_setting_table_V3), 1);
	//init_lcm_registers();	//SET EXTC ~ sleep out register
#endif
    need_set_lcm_addr = 1;
	LCM_PRINT("[LCD] lcm_resume \n");
}
static void lcm_init(void)
{
#if defined(BUILD_LK)
//	ldo_p5m5_dsv_5v5_off();
	//SET_RESET_PIN(0);
	reset_lcd_module(1);
	//MDELAY(5);
#else
#endif
	//TP_VCI 3.0v on
	ldo_3v0_on();
	MDELAY(1);

	ldo_1v8io_on();

	MDELAY(10);

	ldo_p5m5_dsv_5v5_on();

	MDELAY(5);

//	SET_RESET_PIN(1);
//	MDELAY(20);
//	SET_RESET_PIN(0);
//	MDELAY(2);
//	SET_RESET_PIN(1);
	reset_lcd_module(0);
	MDELAY(150);

	init_lcm_registers();	//SET EXTC ~ sleep out register

	MDELAY(20);

//	init_lcm_registers_added();	//Display On
	need_set_lcm_addr = 1;
	LCM_PRINT("[SEOSCTEST] lcm_init \n");
	LCM_PRINT("[LCD] lcm_init \n");
}
static void lcm_init(void)
{	
#if defined(BUILD_LK) 	
	ldo_p5m5_dsv_off();
#endif

       SET_RESET_PIN(0);        
	ldo_1v8io_on();
	ldo_ext_3v0_on();
	
        MDELAY(10);
        ldo_p5m5_dsv_on();
        SET_RESET_PIN(1);  

	MDELAY(20);
        init_lcm_registers();   
	init_lcm_registers_added();	//Display On

	MDELAY(10);
	need_set_lcm_addr = 1;

	LCM_PRINT("[LCD] lcm_init \n");
}
static void lcm_init(void)
{
	ldo_3v0_on();
	MDELAY(10);

	ldo_1v8io_on();
	MDELAY(10);

	touch_reset_pin(1);
	MDELAY(10);

	ldo_p5m5_dsv_5v5_on();
	MDELAY(10);

	reset_lcd_module(1);
	MDELAY(10);
	
	init_lcm_registers();

	MDELAY(120);

	need_set_lcm_addr = 1;
	LCM_PRINT("[LCD] lcm_init \n");
}