本帖最后由 denghaifei 于 2018-8-20 16:27 编辑
使用IMX6Q做主控,需要将显示屏旋转180度装配,因此也需要将显示屏图像旋转180度(垂直方向和水平方向均翻转180度)。通过驱动配置,只能垂直翻转180度,无法实现水平翻转180度,有什么方法能实现我的目的吗。
内核版本为3.14.52。
以下是我的尝试:
通过 echo 1 > /sys/class/graphics/fb0/rotate 命令,可以将显示画面垂直翻转180度。
修改驱动 drivers/video/mxc/mxc_ipuv3_fb.c 源码修改如图片1:
IPU rotation modes定义如图片2:
echo 2 > /sys/class/graphics/fb0/rotate 设置IPU_ROTATE_HORIZ_FLIP ,echo 3 > /sys/class/graphics/fb0/rotate 设置IPU_ROTATE_180
其中 IPU_ROTATE_HORIZ_FLIP 没有效果,IPU_ROTATE_180 只做了垂直180度翻转。
在《IMX6DQRM20130425.pdf》文档中关于IPU章节中讲到,通过设置CPMEM的Rotation、Horizontal Flip、Vertical Flip位可以使能对应的旋转。
跟踪源码,echo 2 和 echo 3 均有设置Horizontal Flip位,但是并没有实现水平翻转。
|