本文主要是介绍Android MIPI屏配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
参考资料:RockChip发布的DRM Display Driver Development Guide手册,以及网上大量相关博客资料
首先要拿到《屏幕硬件规格书》和《DataSheet》,软件配置主要依靠DataSheet提供数据支持。
查阅DataSheet里面on sequence和off sequence说明,这是屏幕上电和下电的时序,将这些数据转换成RK dts文件对应的格式,转换方式RK文档有说明。
在dsi结构树下配置panel-init-sequence = [ ... ]上电时序,panel-exit-sequence = [...]下电时序。
&dsi1 {status = "okay";rockchip,lane-rate = <420>;dsi1_panel: panel@0 {status = "okay";compatible = "aoly,sl008pa21y1285-b00", "simple-panel-dsi";reg = <0>;backlight = <&backlight>;...panel-init-sequence = [15 00 02 00 0039 00 04 ff 12 83 0115 00 02 00 8039 00 03 ff 12 8315 00 02 00 c615 00 02 b0 03...];panel-exit-sequence = [05 64 01 2805 78 01 10];
比如这条数据
05 78 01 10
05表示DCS Short Write 没有参数(我也没明白没有参数是啥意思?文档是这么写的),78代表延时78ms执行下一条,01应该是数据长度1, 最后的10是写进去的数据。
比如这条数据
15 00 02 E0 00
15代表DCS Short Write 写2个数据,
00表示延迟0ms执行下一条指令
02代表数据长度2
E0 寄存器地址
00 是需要写进去的十六进制数据
比如这条数据
39 00 11 E1 0A 18 1E 0F 08 10 0B 0A 04 07 0C 07 0F 11 0C 06
39代表DCS Long Write 写2个以上的数据
00代表延时0ms
11代表数据长度,注意这个11是十六进制的,表示写入的数据长度是17
E1 寄存器地址
后面这些就是写寄存器的值
这篇关于Android MIPI屏配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!