Пример #1
0
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;
}
Пример #2
0
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 ;
}
Пример #3
0
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;
}
Пример #4
0
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;
}