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

相关文章

C++中RAII资源获取即初始化

《C++中RAII资源获取即初始化》RAII通过构造/析构自动管理资源生命周期,确保安全释放,本文就来介绍一下C++中的RAII技术及其应用,具有一定的参考价值,感兴趣的可以了解一下... 目录一、核心原理与机制二、标准库中的RAII实现三、自定义RAII类设计原则四、常见应用场景1. 内存管理2. 文件操

java Long 与long之间的转换流程

《javaLong与long之间的转换流程》Long类提供了一些方法,用于在long和其他数据类型(如String)之间进行转换,本文将详细介绍如何在Java中实现Long和long之间的转换,感... 目录概述流程步骤1:将long转换为Long对象步骤2:将Longhttp://www.cppcns.c

在Java中将XLS转换为XLSX的实现方案

《在Java中将XLS转换为XLSX的实现方案》在本文中,我们将探讨传统ExcelXLS格式与现代XLSX格式的结构差异,并为Java开发者提供转换方案,通过了解底层原理、性能优势及实用工具,您将掌握... 目录为什么升级XLS到XLSX值得投入?实际转换过程解析推荐技术方案对比Apache POI实现编程

Python使用FFmpeg实现高效音频格式转换工具

《Python使用FFmpeg实现高效音频格式转换工具》在数字音频处理领域,音频格式转换是一项基础但至关重要的功能,本文主要为大家介绍了Python如何使用FFmpeg实现强大功能的图形化音频转换工具... 目录概述功能详解软件效果展示主界面布局转换过程截图完成提示开发步骤详解1. 环境准备2. 项目功能结

使用Python实现网页表格转换为markdown

《使用Python实现网页表格转换为markdown》在日常工作中,我们经常需要从网页上复制表格数据,并将其转换成Markdown格式,本文将使用Python编写一个网页表格转Markdown工具,需... 在日常工作中,我们经常需要从网页上复制表格数据,并将其转换成Markdown格式,以便在文档、邮件或

Python将字符串转换为小写字母的几种常用方法

《Python将字符串转换为小写字母的几种常用方法》:本文主要介绍Python中将字符串大写字母转小写的四种方法:lower()方法简洁高效,手动ASCII转换灵活可控,str.translate... 目录一、使用内置方法 lower()(最简单)二、手动遍历 + ASCII 码转换三、使用 str.tr

Java如何将文件内容转换为MD5哈希值

《Java如何将文件内容转换为MD5哈希值》:本文主要介绍Java如何将文件内容转换为MD5哈希值的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java文件内容转换为MD5哈希值一个完整的Java示例代码代码解释注意事项总结Java文件内容转换为MD5

使用Java将实体类转换为JSON并输出到控制台的完整过程

《使用Java将实体类转换为JSON并输出到控制台的完整过程》在软件开发的过程中,Java是一种广泛使用的编程语言,而在众多应用中,数据的传输和存储经常需要使用JSON格式,用Java将实体类转换为J... 在软件开发的过程中,Java是一种广泛使用的编程语言,而在众多应用中,数据的传输和存储经常需要使用j

Java实现视频格式转换的完整指南

《Java实现视频格式转换的完整指南》在Java中实现视频格式的转换,通常需要借助第三方工具或库,因为视频的编解码操作复杂且性能需求较高,以下是实现视频格式转换的常用方法和步骤,需要的朋友可以参考下... 目录核心思路方法一:通过调用 FFmpeg 命令步骤示例代码说明优点方法二:使用 Jaffree(FF

C语言中的常见进制转换详解(从二进制到十六进制)

《C语言中的常见进制转换详解(从二进制到十六进制)》进制转换是计算机编程中的一个常见任务,特别是在处理低级别的数据操作时,C语言作为一门底层编程语言,在进制转换方面提供了灵活的操作方式,今天,我们将深... 目录1、进制基础2、C语言中的进制转换2.1 从十进制转换为其他进制十进制转二进制十进制转八进制十进