static void lcm_resume(void)
{
	unsigned int data_array[1];

	MDELAY(5);
if(wakeup_by_swipe == false){
	//reset_lcd_module(0);
	//MDELAY(10); //seosc
	ldo_p5m5_dsv_5v5_on();
	MDELAY(5);
	reset_lcd_module(0);
	MDELAY(1);
	reset_lcd_module(1);
	MDELAY(1);
	reset_lcd_module(0);
	MDELAY(50);
}else{
	LCM_PRINT("[LCD] lcm_resume wakeup_by_swipe\n");
}
	DSI_clk_HS_mode(1);
	MDELAY(120);

	dsi_set_cmdq_V3(lcm_initialization_pre_sleep_out_V3, sizeof(lcm_initialization_pre_sleep_out_V3) / sizeof(LCM_setting_table_V3), 1);
	MDELAY(120);
	dsi_set_cmdq_V3(lcm_initialization_post_sleep_out_V3, sizeof(lcm_initialization_post_sleep_out_V3) / sizeof(LCM_setting_table_V3), 1);


	need_set_lcm_addr = 1;
	LCM_PRINT("[LCD] lcm_resume\n");
}
void lcm_init_power(void)
{
	MDELAY(50);
//	ldo_3v0_on();
//	ldo_1v8io_on();
//	MDELAY(10);
	ldo_p5m5_dsv_5v5_on();
	MDELAY(50);

	reset_lcd_module(0);
	MDELAY(20);

	LCM_PRINT("[LCD] lcm_init_Power \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)
{
	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");
}