全志A33 ANDROID kernel 层MIPI屏显示流程


		

//linux-3.4/drivers/video/sunxi/disp/dev_disp.c
disp_module_init

//linux-3.4/drivers/video/sunxi/disp/dev_disp.c
disp_probe
	s32 DRV_DISP_Init(void)
		bsp_disp_init(&para);
			//linux-3.4/drivers/video/sunxi/disp/de/disp_display.c 
			disp_init_lcd(para);
			//linux-3.4/drivers/video/sunxi/disp/de/disp_lcd.c
			disp_init_lcd
				switch(screen_id) //设置lcd->channel_id等
				lcd->xxx = disp_lcd_xxx //保存一些函数到struct disp_lcd *lcd;
                lcd->pre_enable = disp_lcd_pre_enable->disp_al_lcd_cfg()//将屏参写入寄存器
				lcd->init(lcd);//即运行disp_lcd_init
					disp_lcd_init(struct disp_lcd* lcd)
						lcd_get_sys_config(lcd->channel_id, &lcdp->lcd_cfg) //lcd使能
						lcd_parse_panel_para(lcd->channel_id, &lcdp->panel_info)//从sys_config.fex读取屏参 ,panel_info保存了屏参
							
						lcd_panel_parameter_check(u32 screen_id, struct disp_lcd* lcd)
							sprintf(primary_key, "lcd%d_para", lcd->channel_id);
		s32 start_process(void)								
	Fb_Init();
		


//linux-3.4/drivers/video/sunxi/lcd/dev_lcd.c
lcd_module_init		
	lcd_init
		sunxi_disp_get_source_ops
		//linux-3.4/drivers/video/sunxi/lcd/lcd_panel_cfg.c
		LCD_set_panel_funs()  //遍历所有屏的配置函数
			start_work
				//linux-3.4/drivers/video/sunxi/disp/dev_disp.c
				drv_lcd_enable(screen_id)
					//drivers/video/sunxi/disp/de/disp_display.c
					bsp_disp_lcd_pre_enable
						if(lcd && lcd->pre_enable);//lcd->pre_enable即运行disp_lcd_pre_enable
							//linux-3.4/drivers/video/sunxi/disp/de/disp_lcd.c
							disp_lcd_pre_enable		
								//linux-3.4/drivers/video/sunxi/disp/de/lowlevel_sun8iw5/disp_al.c
								disp_al_lcd_cfg		
									//linux-3.4/drivers/video/sunxi/disp/de/lowlevel_sun8iw5/de_dsi.c	
									dsi_cfg
										dsi_basic_cfg  //设置lcd_parse_panel_para函数里面提取的屏参
								lcdp->lcd_panel_fun.cfg_open_flow		
					flow->func[i].func(sel) //轮询执行1.2.3.4函数
						//drivers/video/sunxi/lcd/panels/sl698ph_720p.c
						1.LCD_power_on
						2.LCD_panel_init //控制resetGPIO,并下发指令
						3.sunxi_lcd_tcon_enable
						4.LCD_bl_open
							sunxi_lcd_pwm_enable //打开背光
							sunxi_lcd_backlight_enable 
					bsp_disp_lcd_get_open_flow(sel)
					bsp_disp_lcd_post_enable(sel)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值