MIPI LCD屏厂初始化时序转换为 qcom,mdss-dsi-on-command

2023-11-11 06:50

本文主要是介绍MIPI LCD屏厂初始化时序转换为 qcom,mdss-dsi-on-command,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一.前言

最近在sdm450、msm8953 Android O 上,调试jd9365da(800x1280)和gc9305v(480x960)两块mipi屏,一个作为主屏,一个作为副屏。厂家各提供了屏的初始化代码,初始化代码需要转换成dcs格式,合到到lk和kernel里。

二.厂商提供格式

总结了一下厂商提供的代码格式,分为以下两种:

1. 厂商提供格式一

DCS_Short_Write_1P(0xE0,0x00);//0 
理解:地址(0xE0)+数据(0x00) 向0xE0写0x00.
DCS_Short_Write_1P(0xE1,0x93);//1
DCS_Short_Write_1P(0xE2,0x65);//2

2.厂商提供格式二

{0xF0, 5,{0x55, 0xAA, 0x52, 0x08, 0x00}},
理解:{地址(0xf0),data个数(5),data(0x55 0xAA 0x52 0x08 0x00)};
{0xF6, 2,{0x5A, 0x87}},
{0xC1, 1,{0x3F}},

三.需要转换格式

以上两种格式,是厂商普遍点屏使用的,怎么转换为以下两种格式?

3.需要的格式一(lk)

static char jd9365da_800p_video_on_cmd0[] = {0x02, 0x00, 0x39, 0xC0,0xE0, 0x00, 0xFF, 0xFF,
};//DCS_Short_Write_1P(0xE0,0x00); 理解://长类型代码
//Pack header 0x02, 0x00, 0x39, 0xC0, (2长度+1类型+1标记=4HDR)
//Data 0x35, 0x00, 0xFF, 0xFF,(1命令addr,写入的data)1.0x02+0x00 之和是dsi 数值写入的个数,第二个一般为0x00 
2.0x39 和 0xc0 ,是data type(23、15、05对应的是80)(29、39对应c0)
3.0x35 0x00 是要写的数值(0X02+0X00),理解:地址(0x35)+数据(0x00),一行不满4个,缺省填写0xffstatic char jd9365da_800p_video_on_cmd1[] = {0x02, 0x00, 0x39, 0xC0,0xE1, 0x93, 0xFF, 0xFF,
};//DCS_Short_Write_1P(0xE1,0x93);static char jd9365da_800p_video_on_cmd2[] = {0x02, 0x00, 0x39, 0xC0,0xE2, 0x65, 0xFF, 0xFF,
};//DCS_Short_Write_1P(0xE2,0x65);static char jd9365da_800p_video_on_cmd216[] = {0x11, 0xFF, 0x05, 0x80	
};//短类型代码
Data (1命令addr 0x11,1写入的data 0xff,1类型 0x05, 1标记0x80)

4.需要的格式二(kernel)

        39 01 00 00 00 00 02 E0 00 39 01 00 00 00 00 02 E1 93 39 01 00 00 00 00 02 E2 6505 01 00 00 78 00 02 11 00理解:
39 01 00 00 00 00 02 E0 00 
解析:
39                                     long write 01 00 00                            结构体其他位 00                         ms00 02                   write-len “E0和00,两个” E0 00             data“地址(E0)+数据(00)”

说明:

1. 以下清楚的描述了qcom,mdss-dsi-on-command 意思,结合dsi_ctrl_hdr结构体,可以理解以上代码。

2.同时dcs type :39、15、05、29 意思如下:

 

三.转换实例

1. 格式一实例

##  DCS_Short_Write_1P(0xE0,0x00);//0##(lk)----->static char jd9365da_800p_video_on_cmd0[] = {0x02, 0x00, 0x39, 0xC0,0xE0, 0x00, 0xFF, 0xFF,};//DCS_Short_Write_1P(0xE0,0x00);static struct mipi_dsi_cmd jd9365da_800p_video_on_command[] = {{0x8, jd9365da_800p_video_on_cmd0, 0x00},##(kernel)----->39 01 00 00 00 00 02 E0 00 

2.格式二实例

## {0xF0, 5,{0x55, 0xAA, 0x52, 0x08, 0x00}},##(lk)---------------》static char gc9503v_480p_video_on_cmd0[] = {0x06, 0x00, 0x39, 0xC0,0xF0, 0x55, 0xAA, 0x52,0x08, 0x00, 0xFF, 0XFF,};// {0xF0, 5,{0x55, 0xAA, 0x52, 0x08, 0x00}},static struct mipi_dsi_cmd gc9503v_480p_video_on_command[] = {{0xC, gc9503v_480p_video_on_cmd0, 0x00},##(kernel)-----------》39 01 00 00 00 00 06 F0 55 AA 52 08 00

                13 0A 00 01 28      关屏
                13 78 00 01 10      睡眠
   
                13 78 00 01 11     唤醒
                13 64 00 01 29    显示

这篇关于MIPI LCD屏厂初始化时序转换为 qcom,mdss-dsi-on-command的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/388288

相关文章

Java轻松实现PDF转换为PDF/A的示例代码

《Java轻松实现PDF转换为PDF/A的示例代码》本文将深入探讨Java环境下,如何利用专业工具将PDF转换为PDF/A格式,为数字文档的永续保存提供可靠方案,文中的示例代码讲解详细,感兴趣的小伙伴... 目录为什么需要将PDF转换为PDF/A使用Spire.PDF for Java进行转换前的准备通过

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

Python中Json和其他类型相互转换的实现示例

《Python中Json和其他类型相互转换的实现示例》本文介绍了在Python中使用json模块实现json数据与dict、object之间的高效转换,包括loads(),load(),dumps()... 项目中经常会用到json格式转为object对象、dict字典格式等。在此做个记录,方便后续用到该方

使用Java读取本地文件并转换为MultipartFile对象的方法

《使用Java读取本地文件并转换为MultipartFile对象的方法》在许多JavaWeb应用中,我们经常会遇到将本地文件上传至服务器或其他系统的需求,在这种场景下,MultipartFile对象非... 目录1. 基本需求2. 自定义 MultipartFile 类3. 实现代码4. 代码解析5. 自定

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

C++11范围for初始化列表auto decltype详解

《C++11范围for初始化列表autodecltype详解》C++11引入auto类型推导、decltype类型推断、统一列表初始化、范围for循环及智能指针,提升代码简洁性、类型安全与资源管理效... 目录C++11新特性1. 自动类型推导auto1.1 基本语法2. decltype3. 列表初始化3

Spring Bean初始化及@PostConstruc执行顺序示例详解

《SpringBean初始化及@PostConstruc执行顺序示例详解》本文给大家介绍SpringBean初始化及@PostConstruc执行顺序,本文通过实例代码给大家介绍的非常详细,对大家的... 目录1. Bean初始化执行顺序2. 成员变量初始化顺序2.1 普通Java类(非Spring环境)(

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

Kotlin Map映射转换问题小结

《KotlinMap映射转换问题小结》文章介绍了Kotlin集合转换的多种方法,包括map(一对一转换)、mapIndexed(带索引)、mapNotNull(过滤null)、mapKeys/map... 目录Kotlin 集合转换:map、mapIndexed、mapNotNull、mapKeys、map