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

相关文章

Python3脚本实现Excel与TXT的智能转换

《Python3脚本实现Excel与TXT的智能转换》在数据处理的日常工作中,我们经常需要将Excel中的结构化数据转换为其他格式,本文将使用Python3实现Excel与TXT的智能转换,需要的可以... 目录场景应用:为什么需要这种转换技术解析:代码实现详解核心代码展示改进点说明实战演练:从Excel到

C++初始化数组的几种常见方法(简单易懂)

《C++初始化数组的几种常见方法(简单易懂)》本文介绍了C++中数组的初始化方法,包括一维数组和二维数组的初始化,以及用new动态初始化数组,在C++11及以上版本中,还提供了使用std::array... 目录1、初始化一维数组1.1、使用列表初始化(推荐方式)1.2、初始化部分列表1.3、使用std::

Java数字转换工具类NumberUtil的使用

《Java数字转换工具类NumberUtil的使用》NumberUtil是一个功能强大的Java工具类,用于处理数字的各种操作,包括数值运算、格式化、随机数生成和数值判断,下面就来介绍一下Number... 目录一、NumberUtil类概述二、主要功能介绍1. 数值运算2. 格式化3. 数值判断4. 随机

C语言中自动与强制转换全解析

《C语言中自动与强制转换全解析》在编写C程序时,类型转换是确保数据正确性和一致性的关键环节,无论是隐式转换还是显式转换,都各有特点和应用场景,本文将详细探讨C语言中的类型转换机制,帮助您更好地理解并在... 目录类型转换的重要性自动类型转换(隐式转换)强制类型转换(显式转换)常见错误与注意事项总结与建议类型

Python实现视频转换为音频的方法详解

《Python实现视频转换为音频的方法详解》这篇文章主要为大家详细Python如何将视频转换为音频并将音频文件保存到特定文件夹下,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. python需求的任务2. Python代码的实现3. 代码修改的位置4. 运行结果5. 注意事项

使用Python实现图片和base64转换工具

《使用Python实现图片和base64转换工具》这篇文章主要为大家详细介绍了如何使用Python中的base64模块编写一个工具,可以实现图片和Base64编码之间的转换,感兴趣的小伙伴可以了解下... 简介使用python的base64模块来实现图片和Base64编码之间的转换。可以将图片转换为Bas

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动

Python 标准库time时间的访问和转换问题小结

《Python标准库time时间的访问和转换问题小结》time模块为Python提供了处理时间和日期的多种功能,适用于多种与时间相关的场景,包括获取当前时间、格式化时间、暂停程序执行、计算程序运行时... 目录模块介绍使用场景主要类主要函数 - time()- sleep()- localtime()- g

JAVA中整型数组、字符串数组、整型数和字符串 的创建与转换的方法

《JAVA中整型数组、字符串数组、整型数和字符串的创建与转换的方法》本文介绍了Java中字符串、字符数组和整型数组的创建方法,以及它们之间的转换方法,还详细讲解了字符串中的一些常用方法,如index... 目录一、字符串、字符数组和整型数组的创建1、字符串的创建方法1.1 通过引用字符数组来创建字符串1.2

Java将时间戳转换为Date对象的方法小结

《Java将时间戳转换为Date对象的方法小结》在Java编程中,处理日期和时间是一个常见需求,特别是在处理网络通信或者数据库操作时,本文主要为大家整理了Java中将时间戳转换为Date对象的方法... 目录1. 理解时间戳2. Date 类的构造函数3. 转换示例4. 处理可能的异常5. 考虑时区问题6.