瑞芯微Rockchip开发者社区
直播中

马占云

7年用户 1595经验值
私信 关注
[资料]

记录总结一下基于RK3128平台的LCD驱动调试步骤

1、rk3128 lcd驱动调试记录

  最近刚调试了基于rk3128平台的lcd驱动,顺便记录总结一下,有不足之处,望各位不吝赐教!

  关于framebuffer(帧缓冲设备)的架构这里就不多罗嗦了,不会的可以去网上百度,这个很多的

  代码架构

  drivers/video/rockchip/transmitter/

  |_ rk32_mipi_dsi.c /* MIPI 驱动主体文件 */

  |_ rk32_mipi_dsi.h /* 寄存器以及结构体的定义 */

  |_ mipi_dsi.c /* 封装的函数指针接口函数, 供 lcd_mipi.c 调用, 函数的具体实现

  在 rk32_mipi_dsi.c 中 */

  |_ mipi_dsi.h /* mipi 协议相关的宏定义以及函数指针结构体定义 */

  drivers/video/rockchip/screen/

  |_ lcd_mipi.c /* 屏参 dtsi 文件的解析 */

  由于rk3128平台使用了3.10以后的内核,所以采用了dts的形式来管理驱动,刚开始的时候会觉得不顺手,用多了还是相当方便的

  代码架构图

  无论是正常的开机流程以及休眠唤醒的流程,显示相关的模块都是要和 fb 以及vop(lcdc)交互的。rk32_dsi_enable()和

rk32_dsi_disable()函数作为 MIPI 和 vop 之间 的 交 互 的 总 入 口 函 数 。 另 外 还 有 一 对rk32_mipi_power_up_DDR() 和rk32_mipi_power_down_DDR()函数是单独供 ddr变频的时候使用,正常的开机以及休眠唤醒流程不走这两个函数。开机流程图如下图所示:

1.jpg

原作者:君醉为红颜

更多回帖

发帖
×
20
完善资料,
赚取积分