全志 BPI-M64驱动mipi屏(480x1280分辨率)
之前做的安卓车载中控(https://blog.****.net/babyshan1/article/details/81327853),用的是一块LVDS接口的屏。由于BPI-M64只提供了HDMI和mipi接口,之前使用HDMI转LVDS的视频模块,感觉显示效果不够完美,最近终于决定抛开转换模块,直接驱动MIPI屏。这是一块480x1280分辨率的MIPI屏,使用EK79030-DS驱动模块。
1、硬件连接
通过搜索获取到了BPI-M64的MIPI接口线序图,结合MIPI屏的datasheet,完成硬件连接。
2、sys_config.fex配置
[lcd0]
lcd_used = 1
lcd_driver_name = "S070WV20_MIPI_RGB"
lcd_model_name = "S070WV20_MIPI_RGB"
...
根据屏的时序填充lcd_x、lcd_y、lcd_dclk_freq、lcd_hbp、lcd_ht、lcd_hspw、lcd_vbp、lcd_vt、lcd_vspw。
先参照屏厂家给的参数设置,如果显示异常,一般调整lcd_dclk_freq、lcd_hbp这两个参数就可以解决了。
3、MIPI初始化代码
修改lichee/linux-3.10/drivers/video/sunxi/disp2/disp/lcd/S070WV20_MIPI_RGB.c,
static void LCD_panel_init(u32 sel)
{
....这里填入屏厂家给的初始化代码;
}
4、编译内核和安卓系统,刷机。ok!