ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

LCD-MIPI屏的点亮,关于屏驱的个人理解与分析(基于杰理SDK的个人实战)

LCD-MIPI屏的点亮,关于屏驱的个人理解与分析(基于杰理SDK的个人实战) 硬件条件背光引脚复位引脚.lcd_cs/.lcd_lane/.lcd_rs/.lcd_spi_ck/di/domipi屏不需要这些屏显相关配置关于LCD显示的设备注册表设备ops作用imrimr_dev_opsIMR图像旋转/缩放imdimd_dev_opsIMD图像显示模块图层管理lcdlcd_dev_opslcd_dataLCD 控制器拿着上面那组面板数据fb0/fb1/fb2/fb4fb_dev_ops帧缓冲设备应用层相关屏驱注册表这里给一个小实例​ REGISTER_LCD_DEVICE_DRIVE(dev) { .type LCD_MIPI, //LCD类型 .init dsi_init, //mipi-DSi初始化 .dev mipi_dev_t, //设备配置序列 .bl_ctrl mipi_backlight_ctrl, //背光控制 }; ​DSI_INIT(){ RESET脚的复位和设备初始化配置struct imd_dmm_info { u16 xres; // 显存水平分辨率 u16 yres; // 显存垂直分辨率 u16 target_xres; // 放大后的水平分辨率 u16 target_yres; // 放大后的垂直分辨率 u8 test_mode; // 测试模式(纯色)使能 u8 layer_buf_num; // 图层显存数量 u32 test_mode_color; // 测试模式颜色设置 u32 background_color; // 图层背景层颜色 enum OUT_FORMAT format; // 输出数据格式 enum INTERLACED interlaced_mode; // 隔行模式 enum ODD_EVEN_FILED interlaced_1st_filed; // 首场是奇场or偶场,INTERLACED_DATA 时有效 struct color_correct adjust;// 颜色校正参数 enum LEN_CFG len; // 访问瞬时长度 enum ROTATE rotate; // 屏幕旋转 };lane通道配置启动模式和时序和DSI时序配置。struct mipi_dev { struct imd_dmm_info info; struct dsi_lane_mapping lane_mapping; struct dsi_video_timing video_timing; struct dsi_timing timing; struct te_mode_ctrl te_mode; unsigned int reset_gpio; void (*lcd_reset)(unsigned int reset_gpio); void (*lcd_reset_release)(unsigned int reset_gpio); const u8 *cmd_list; u16 cmd_list_item; u8 debug_mode; //调试使能 /* 配置PLL频率的最佳范围为600MHz~1.2GHz,少于600MHz的频率通过二分频获得 */ u16 pll_freq; //目标频率(MHz) enum MIPI_PLL_DIV pll_division; //分频 };根据datasheet和SDK相关接口配置起来。然后进行背光初始化配置。背光用PWM驱动接口。可以调试相关占空比。出流打开服务层UI-SERVER。图层分配由底层预编译库cpu_disp.a/video_dev.a给出通过fb1的本地出流缓冲区一起给出并调用lcd的显示请求。
返回列表