我是靠谱客的博主 单身戒指,最近开发中收集的这篇文章主要介绍[RK3399][Android7.1] 调试笔记 --- 调换dsi和dsi1两路通道数据,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
Platform: RK3399
OS: Android 7.1
Kernel: v4.4.83
背景:
此问题是网友Brian遇到的,需求如下:
点一个2560*1600的mipi屏,用的dsi和dsi1,这个屏有8 lane,有两个TCON IC,相当于两个屏了,一组DSI对应一个TCON,现在图像左右反了,所以想左右对调下。
相当于用的是dual-channel
具体配置可参考rk文档。
解决方法:
$ git diff drivers/gpu/drm/rockchip/rockchip_drm_vop.c
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
index 18eac37..ae6659c 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
@@ -2617,8 +2617,7 @@ static void vop_crtc_enable(struct drm_crtc *crtc)
VOP_CTRL_SET(vop, mipi_dclk_pol, dclk_inv);
VOP_CTRL_SET(vop, mipi_dual_channel_en,
!!(s->output_flags & ROCKCHIP_OUTPUT_DSI_DUAL_CHANNEL));
- VOP_CTRL_SET(vop, data01_swap,
- !!(s->output_flags & ROCKCHIP_OUTPUT_DSI_DUAL_LINK));
+ VOP_CTRL_SET(vop, data01_swap, 1);
break;
case DRM_MODE_CONNECTOR_DisplayPort:
VOP_CTRL_SET(vop, dp_dclk_pol, 0);
如果不想改VOP,那么改屏的寄存器也是可以的。
参考:
Rockchip_DRM_Panel_Porting_Guide_V1.6_20190228.pdf
最后
以上就是单身戒指为你收集整理的[RK3399][Android7.1] 调试笔记 --- 调换dsi和dsi1两路通道数据的全部内容,希望文章能够帮你解决[RK3399][Android7.1] 调试笔记 --- 调换dsi和dsi1两路通道数据所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复