static void LCD_panel_init(u32 sel) { disp_panel_para *panel_info = disp_sys_malloc(sizeof(disp_panel_para)); u32 bright = 0; bsp_disp_get_panel_info(sel, panel_info); bright = bsp_disp_lcd_get_bright(sel); sunxi_lcd_dsi_clk_enable(sel); sunxi_lcd_delay_ms(5); sunxi_lcd_dsi_dcs_write_0para(sel,DSI_DCS_SOFT_RESET); sunxi_lcd_delay_ms(5); sunxi_lcd_dsi_gen_write_1para(sel,0xb0,0x00); sunxi_lcd_dsi_gen_write_5para(sel,0xb3,0x04,0x08,0x00,0x22,0x00); sunxi_lcd_dsi_gen_write_1para(sel,0xb4,0x0c); sunxi_lcd_dsi_gen_write_2para(sel,0xb6,0x3a,0xd3); sunxi_lcd_dsi_dcs_write_1para(sel,0x51,bright); sunxi_lcd_dsi_dcs_write_1para(sel,0x53,0x2c); sunxi_lcd_dsi_dcs_write_1para(sel,DSI_DCS_SET_PIXEL_FORMAT,0x77); sunxi_lcd_dsi_dcs_write_4para(sel,DSI_DCS_SET_COLUMN_ADDRESS,0x00,0x00,0x04,0xaf); sunxi_lcd_dsi_dcs_write_4para(sel,DSI_DCS_SET_PAGE_ADDRESS,0x00,0x00,0x07,0x7f); sunxi_lcd_dsi_dcs_write_0para(sel,DSI_DCS_EXIT_SLEEP_MODE); disp_sys_free(panel_info); return; }
static void LCD_panel_exit(u32 sel) { sunxi_lcd_dsi_dcs_write_0para(sel,DSI_DCS_SET_DISPLAY_OFF); sunxi_lcd_delay_ms(20); sunxi_lcd_dsi_dcs_write_0para(sel,DSI_DCS_ENTER_SLEEP_MODE); sunxi_lcd_delay_ms(80); return ; }
static void LCD_panel_init2(u32 sel) { disp_panel_para *panel_info = disp_sys_malloc(sizeof(disp_panel_para)); u8 para[9]; bsp_disp_get_panel_info(sel, panel_info); sunxi_lcd_dsi_dcs_write_0para(sel,DSI_DCS_SET_DISPLAY_ON); sunxi_lcd_dsi_gen_write_5para(sel,0xb3,0x14,0x08,0x00,0x22,0x00); sunxi_lcd_dsi_gen_write_1para(sel,0xd6,0x01); para[0] = 0x31; para[1] = 0xf7; para[2] = 0x80; para[3] = 0x00; para[4] = panel_info->lcd_vbp-1; para[5] = 0x00; para[6] = 0x08; para[7] = 0x00; para[8] = 0x00; sunxi_lcd_dsi_gen_write(sel, 0xc2, para, 9); disp_sys_free(panel_info); return; }
static void LCD_panel_init(u32 sel) { __u32 i; char model_name[25]; disp_sys_script_get_item("lcd0","lcd_model_name", (int*)model_name, 25); sunxi_lcd_dsi_clk_enable(sel); sunxi_lcd_delay_ms(20); sunxi_lcd_dsi_dcs_write_0para(sel,DSI_DCS_SOFT_RESET); sunxi_lcd_delay_ms(10); for(i=0;;i++) { if(LCM_LT080B21BA94_setting[i].count == REGFLAG_END_OF_TABLE) break; else if (LCM_LT080B21BA94_setting[i].count == REGFLAG_DELAY) sunxi_lcd_delay_ms(LCM_LT080B21BA94_setting[i].para_list[0]); else dsi_dcs_wr(sel,LCM_LT080B21BA94_setting[i].cmd,LCM_LT080B21BA94_setting[i].para_list,LCM_LT080B21BA94_setting[i].count); //break; } return; }