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"); }
static void init_lcm_registers(void) { #if 1 //DSI_clk_HS_mode(DISP_MODULE_DSI0, NULL, 1); //push_table(lcm_initialization_setting, sizeof(lcm_initialization_setting) / sizeof(struct LCM_setting_table), 1); //if ( lge_get_board_revno() > EVB_PCB_REVISION ) //dsi_set_cmdq_V3(lcm_initialization_setting_rotation_V3, sizeof(lcm_initialization_setting_rotation_V3) / sizeof(LCM_setting_table_V3), 1); dsi_set_cmdq_V3(lcm_initialization_setting_V3, sizeof(lcm_initialization_setting_V3) / sizeof(LCM_setting_table_V3), 1); MDELAY(120); //dsi_set_cmdq_V3(lcm_initialization_setting_V3_Disp_On, sizeof(lcm_initialization_setting_V3_Disp_On) / sizeof(LCM_setting_table_V3), 1); #else unsigned int data_array[32]; dsi_set_cmdq_V3(lcm_initialization_setting_V3, sizeof(lcm_initialization_setting_V3) / sizeof(LCM_setting_table_V3), 1); data_array[0] = 0x00290500; //Display On dsi_set_cmdq(data_array, 1, 1); data_array[0] = 0x00110500; //Sleep Out dsi_set_cmdq(data_array, 1, 1); MDELAY(120); #endif LCM_PRINT("[LCD] init_lcm_registers \n"); }
static void lcm_init(void) { //SET_RESET_PIN(0); //MDELAY(20); //SET_RESET_PIN(1); //MDELAY(20); lcm_is_init = true; dct_pmic_VGP2_enable(1); MDELAY(5); mt_set_gpio_mode(GPIO112,GPIO_MODE_00); mt_set_gpio_dir(GPIO112,GPIO_DIR_OUT); mt_set_gpio_out(GPIO112,GPIO_OUT_ONE); MDELAY(5); //SET_RESET_PIN(0); mt_set_gpio_out(GPIO112,GPIO_OUT_ZERO); MDELAY(5); //SET_RESET_PIN(1); mt_set_gpio_out(GPIO112,GPIO_OUT_ONE); MDELAY(20); dsi_set_cmdq_V3(lcm_initialization_setting,sizeof(lcm_initialization_setting)/sizeof(lcm_initialization_setting[0]),1); #ifdef BUILD_LK printf("[LK]---cmd---hx8394_hd720_dsi_vdo_truly----%s------\n",__func__); #else printk("[KERNEL]---cmd---hx8394_hd720_dsi_vdo_truly----%s------\n",__func__); #endif }
void lcm_force_lut_update(void) { dsi_set_cmdq_V3(lcm_lut_update_in_V3, sizeof(lcm_lut_update_in_V3) / sizeof(LCM_setting_table_V3), 1); MDELAY(120); LCM_PRINT("[LCD] lut update for upgrading Touch FW \n"); }
void init_lcm_registers_sleep_2nd(void) { unsigned int data_array[1]; //dsi_set_cmdq_V3(lcm_initialization_for_sleep_in_pre, sizeof(lcm_initialization_for_sleep_in_pre) / sizeof(LCM_setting_table_V3), 1); //MDELAY(150); dsi_set_cmdq_V3(lcm_initialization_for_sleep_in_post, sizeof(lcm_initialization_for_sleep_in_post) / sizeof(LCM_setting_table_V3), 1); LCM_PRINT("[LCD] init_lcm_registers_sleep 2nd \n"); }
static void lcm_suspend(void) { unsigned int data_array[16]; dsi_set_cmdq_V3(lcm_initialization_sleep_in_V3, sizeof(lcm_initialization_sleep_in_V3) / sizeof(LCM_setting_table_V3), 1); MDELAY(120); lcm_set_pwm_for_mix(0); MDELAY(16); DPI_DisableClk(); DSI_Reset(); DSI_clk_HS_mode(1); DSI_SetMode(0); /* MDELAY(1); */ dsi_set_cmdq_V3(lcm_suspend_ULPS_for_data0_in_V3, sizeof(lcm_suspend_ULPS_for_data0_in_V3) / sizeof(LCM_setting_table_V3), 1); MDELAY(200); LCM_PRINT("[LCD] lcm_suspend\n"); }
static void lcm_init(void) { SET_RESET_PIN(1); SET_RESET_PIN(0); MDELAY(10); SET_RESET_PIN(1); MDELAY(120); dsi_set_cmdq_V3(lcm_initialization_setting,sizeof(lcm_initialization_setting)/sizeof(lcm_initialization_setting[0]),1); }
static void lcm_suspend(void) { dsi_set_cmdq_V3(lcm_deep_sleep_mode_in_setting, sizeof(lcm_deep_sleep_mode_in_setting)/sizeof(lcm_deep_sleep_mode_in_setting[0]), 1); SET_RESET_PIN(1); SET_RESET_PIN(0); MDELAY(20); // 1ms SET_RESET_PIN(1); MDELAY(120); }
static void lcm_init(void) { SET_RESET_PIN(1); SET_RESET_PIN(0); MDELAY(10); SET_RESET_PIN(1); MDELAY(120); dsi_set_cmdq_V3(lcm_initialization_setting,sizeof(lcm_initialization_setting)/sizeof(lcm_initialization_setting[0]),1); //push_table(lcm_initialization_setting, sizeof(lcm_initialization_setting) / sizeof(struct LCM_setting_table), 1); }
static void lcm_suspend(void) { //init_lcm_registers_sleep(); //Need to use this in LPWG dsi_set_cmdq_V3(lcm_initialization_sleep_in_V3, sizeof(lcm_initialization_sleep_in_V3) / sizeof(LCM_setting_table_V3), 1); MDELAY(120); #ifndef LGE_LPWG_SUPPORT SET_RESET_PIN(0); MDELAY(20); //dsv low ldo_p5m5_dsv_5v5_off(); MDELAY(10); //VCI/IOVCC off ldo_1v8io_off(); //ldo_ext_3v0_off(); #endif LCM_PRINT("[LCD] lcm_suspend \n"); }
static void lcm_init(void) { SET_RESET_PIN(1); MDELAY(10); SET_RESET_PIN(0); MDELAY(10);//Must > 10ms SET_RESET_PIN(1); MDELAY(120);//Must > 120ms if (para_init_table != NULL) { push_table(para_init_table, para_init_size, 1); } else { dsi_set_cmdq_V3(lcm_initialization_setting,ARRAY_SIZE(lcm_initialization_setting),1); } //push_table(lcm_initialization_setting, sizeof(lcm_initialization_setting) / sizeof(struct LCM_setting_table), 1); }
static void lcm_init(void) { int i, j; int size; SET_RESET_PIN(1); SET_RESET_PIN(0); MDELAY(10); SET_RESET_PIN(1); MDELAY(120); if (para_init_table != NULL) { push_table(para_init_table, para_init_size, 1); } else { dsi_set_cmdq_V3(lcm_initialization_setting,sizeof(lcm_initialization_setting)/sizeof(lcm_initialization_setting[0]),1); } }
static void lcm_init(void) { LCM_DBG(); #ifdef BUILD_LK printf("%s, LK \n", __func__); #else printk("%s, kernel", __func__); #endif //lcm_compare_id(); //SET_RESET_PIN(0); lcd_power_en(1); MDELAY(80); lcd_reset(1); MDELAY(5); lcd_reset(0); MDELAY(5); lcd_reset(1); MDELAY(120); dsi_set_cmdq_V3(lcm_initialization_setting,sizeof(lcm_initialization_setting)/sizeof(lcm_initialization_setting[0]),1); }
static void lcm_init(void) { //enable VSP & VSN lcm_util.set_gpio_out(GPIO_LCD_BIAS_ENP_PIN, GPIO_OUT_ONE); lcm_util.set_gpio_out(GPIO_LCD_BIAS_ENN_PIN, GPIO_OUT_ONE); MDELAY(50); //reset high to low to high SET_RESET_PIN(1); MDELAY(20); SET_RESET_PIN(0); MDELAY(30); SET_RESET_PIN(1); MDELAY(30); //lcm_id_pin_handle(); //lcm_register(); dsi_set_cmdq_V3(lcm_initialization_setting,sizeof(lcm_initialization_setting)/sizeof(lcm_initialization_setting[0]),1); //push_table(lcm_initialization_setting, sizeof(lcm_initialization_setting) / sizeof(struct LCM_setting_table), 1); }
static void lcm_suspend(void) { //Back to MP.P7 baseline , solve LCD display abnormal On the right // when phone sleep , config output low, disable backlight drv chip // lcm_util.set_gpio_out(GPIO_LCD_DRV_EN_PIN, GPIO_OUT_ZERO); dsi_set_cmdq_V3(lcm_deep_sleep_mode_in_setting, sizeof(lcm_deep_sleep_mode_in_setting) / sizeof(lcm_deep_sleep_mode_in_setting[0]), 1); //reset low lcm_util.set_gpio_out(GPIO_DISP_LRSTB_PIN, GPIO_OUT_ZERO); MDELAY(5); //disable VSP & VSN lcm_util.set_gpio_out(GPIO_LCD_BIAS_ENP_PIN, GPIO_OUT_ZERO); lcm_util.set_gpio_out(GPIO_LCD_BIAS_ENN_PIN, GPIO_OUT_ZERO); MDELAY(5); /*#ifdef BUILD_LK ; #else printk("sym lcm_suspend\n"); #endif lcm_compare_id();*/ // printk("kernel:boe_nt35521_lcm_suspend\n"); }
static void init_lcm_registers(void) { dsi_set_cmdq_V3(lcm_initialization_setting_V3, sizeof(lcm_initialization_setting_V3) / sizeof(LCM_setting_table_V3), 1); LCM_PRINT("[LCD] init_lcm_registers\n"); }
static void init_lcm_registers(void) { unsigned int data_array[32]; #if 1 #if 1 push_table(lcm_initialization_setting, sizeof(lcm_initialization_setting) / sizeof(struct LCM_setting_table), 1); #else data_array[0] = 0xff513900; //Write_Display_Brightness dsi_set_cmdq(data_array, 1, 1); data_array[0] = 0x2c533900; //Write_CTRL_Display // data_array[0] = 0x0c533900; //Write_CTRL_Display dsi_set_cmdq(data_array, 1, 1); data_array[0] = 0x40553900; //Write_CABC // data_array[0] = 0x00553900; //Write_CABC dsi_set_cmdq(data_array, 1, 1); data_array[0] = 0x04B02900; //Test command dsi_set_cmdq(data_array, 1, 1); data_array[0] = 0x84C12900; //Test Command data_array[1] = 0x00000061; dsi_set_cmdq(data_array, 2, 1); #if 0 data_array[0] = 0x00C72900; //Gamma 1 data_array[1] = 0x2C20160A; data_array[2] = 0x36524339; data_array[3] = 0x5A584B3E; data_array[4] = 0x0A00675F; data_array[5] = 0x392C2016; data_array[6] = 0x3E365243; data_array[7] = 0x5A584B3E; data_array[8] = 0x00000067; dsi_set_cmdq(data_array, 9, 1); data_array[0] = 0x00C82900; //Gamma 2 data_array[1] = 0x00000000; data_array[2] = 0x000000FC; data_array[3] = 0x00FC0000; data_array[4] = 0x00000000; data_array[5] = 0x000000FC; dsi_set_cmdq(data_array, 6, 1); data_array[0] = 0x07B82900; //Backlight 1 data_array[1] = 0x40001E90; data_array[2] = 0x00000032; dsi_set_cmdq(data_array, 3, 1); data_array[0] = 0x07B92900; //Backlight 2 data_array[1] = 0x2D203C8C; data_array[2] = 0x00000087; dsi_set_cmdq(data_array, 3, 1); data_array[0] = 0x07BA2900; //Backlight 3 data_array[1] = 0x3C103C82; data_array[2] = 0x000000B4; dsi_set_cmdq(data_array, 3, 1); data_array[0] = 0x7DCE2900; //Backlight 4 data_array[1] = 0x55494340; data_array[2] = 0x94827162; data_array[3] = 0xDBCBB9A8; data_array[4] = 0xFFFCF5E9; data_array[5] = 0x040402FF; data_array[6] = 0x0002FFFC; data_array[7] = 0x00010444; dsi_set_cmdq(data_array, 8, 1); data_array[0] = 0x01BB2900; //SRE ctrl 1 data_array[0] = 0x0000141E; dsi_set_cmdq(data_array, 2, 1); data_array[0] = 0x01BC2900; //SRE ctrl 2 data_array[0] = 0x00003250; dsi_set_cmdq(data_array, 2, 1); data_array[0] = 0x00BD2900; //SRE ctrl 3 data_array[0] = 0x0000A0B4; dsi_set_cmdq(data_array, 2, 1); #endif data_array[0] = 0x01D62900; //test commad dsi_set_cmdq(data_array, 1, 1); data_array[0] = 0x00361500; //set address mode dsi_set_cmdq(data_array, 1, 1); data_array[0] = 0x00290500; //Display On dsi_set_cmdq(data_array, 1, 1); data_array[0] = 0x00110500; //Sleep Out dsi_set_cmdq(data_array, 1, 1); #endif #else dsi_set_cmdq_V3(lcm_initialization_setting_V3, sizeof(lcm_initialization_setting_V3) / sizeof(LCM_setting_table_V3), 1); data_array[0] = 0x00290500; //Display On dsi_set_cmdq(data_array, 1, 1); data_array[0] = 0x00110500; //Sleep Out dsi_set_cmdq(data_array, 1, 1); MDELAY(120); #endif LCM_PRINT("[LCD] init_lcm_registers \n"); }
static void init_lcm_registers_sleep(void) { dsi_set_cmdq_V3(lcm_initialization_for_sleep_in_pre, sizeof(lcm_initialization_for_sleep_in_pre) / sizeof(LCM_setting_table_V3), 1); MDELAY(60); LCM_PRINT("[LCD] init_lcm_registers_sleep \n"); }
static void init_lcm_registers(void) { unsigned int data_array[32]; #if 0 #if 0 push_table(lcm_initialization_setting, sizeof(lcm_initialization_setting) / sizeof(struct LCM_setting_table), 1); data_array[0] = 0x00110500; //Sleep Out dsi_set_cmdq(data_array, 1, 1); MDELAY(200); data_array[0] = 0x00290500; //Display On dsi_set_cmdq(data_array, 1, 1); MDELAY(200); #else // data_array[0] = 0x00010500; //sw_reset // dsi_set_cmdq(data_array, 1, 1); // MDELAY(200); #if 0 data_array[0] = 0x00062902; //vcom control data_array[1] = 0x00A50000; data_array[2] = 0x00000113; dsi_set_cmdq(data_array, 3, 1); data_array[0] = 0x00042902; //Flip data_array[1] = 0x02650001; dsi_set_cmdq(data_array, 2, 1); data_array[0] = 0x00062902; //gate bias trim data_array[1] = 0x001F0007; data_array[2] = 0x000001A6; dsi_set_cmdq(data_array, 3, 1); #endif #if 0 //test1 data_array[0] = 0x00042902; //vcom control data_array[1] = 0x011300A5; dsi_set_cmdq(data_array, 3, 1); data_array[0] = 0x00042902; //Flip data_array[1] = 0x02650001; dsi_set_cmdq(data_array, 2, 1); data_array[0] = 0x00042902; //gate bias trim data_array[1] = 0x016A071F; dsi_set_cmdq(data_array, 3, 1); #endif #if 0 data_array[0] = 0x00062902; //vcom control data_array[1] = 0x000000A5; data_array[2] = 0x00000113; dsi_set_cmdq(data_array, 3, 1); data_array[0] = 0x00042902; //Flip data_array[1] = 0x02650001; dsi_set_cmdq(data_array, 2, 1); data_array[0] = 0x00062902; //gate bias trim data_array[1] = 0x0007001F; data_array[2] = 0x000001A6; dsi_set_cmdq(data_array, 3, 1); #endif // data_array[0] = 0x01000500; //reset // dsi_set_cmdq(data_array, 1, 1); // MDELAY(120); data_array[0] = 0x00110500; //Sleep Out dsi_set_cmdq(data_array, 1, 1); //MDELAY(100); data_array[0] = 0x00062902; //vcom control data_array[1] = 0x000000A5; data_array[2] = 0x00000113; dsi_set_cmdq(data_array, 3, 1); data_array[0] = 0x00042902; //Flip data_array[1] = 0x02650002; dsi_set_cmdq(data_array, 2, 1); data_array[0] = 0x00062902; //gate bias trim data_array[1] = 0x0007001F; data_array[2] = 0x000001A6; dsi_set_cmdq(data_array, 3, 1); data_array[0] = 0x00290500; //Display On dsi_set_cmdq(data_array, 1, 1); MDELAY(100); #endif #else dsi_set_cmdq_V3(lcm_initialization_setting_V3, sizeof(lcm_initialization_setting_V3) / sizeof(LCM_setting_table_V3), 1); #if 0 data_array[0] = 0x00110500; //Sleep Out dsi_set_cmdq(data_array, 1, 1); MDELAY(200); data_array[0] = 0x00290500; //Display On dsi_set_cmdq(data_array, 1, 1); MDELAY(200); #endif #endif LCM_PRINT("[LCD] init_lcm_registers \n"); }