整理一些全志 D1 / D1s 的 DisplayEngine / LCD / HDMI 常用骚操作

2024-02-02 17:26:45 浏览数 (1)

  • 调整LCD背光亮度:
代码语言:javascript复制
mount -t debugfs none /sys/kernel/debug;
cd /sys/kernel/debug/dispdbg;
echo lcd0 > name; echo setbl > command; echo 100 > param; echo 1 > start

亮度 0 - 255 写入 param, 0最亮, 255最暗。

调到最亮:

代码语言:javascript复制
echo lcd0 > name; echo setbl > command; echo 0 > param; echo 1 > start

关LCD背光:

代码语言:javascript复制
echo lcd0 > name; echo setbl > command; echo 255 > param; echo 1 > start

读当前背光:

代码语言:javascript复制
echo getbl > command; echo lcd0 > name; echo 1 > start; cat info

参考: 全志显示量产问题快速排查指南.pdf 参考: D1_Tina_Linux_Display_开发指南.pdf

AIC800 有两个LCD,如果液晶接在LCD1上面,那这么调背光(255最亮):

代码语言:javascript复制
mount -t debugfs none /sys/kernel/debug;
cd /sys/kernel/debug/dispdbg;
echo lcd1 > name; echo setbl > command; echo 255 > param; echo 1 > start
  • 切换HDMI到屏幕0:
代码语言:javascript复制
mount -t debugfs none /sys/kernel/debug;
cd /sys/kernel/debug/dispdbg
echo disp0 > name; echo switch1 > command; echo 4 10 0 0 0x4 0x101 0 0 0 8 > param; echo 1 > start;

切换TV到屏幕0(但没有成功):

代码语言:javascript复制
mount -t debugfs none /sys/kernel/debug;
cd /sys/kernel/debug/dispdbg
echo disp0 > name; echo switch1 > command; echo 2 11 > param; echo 1 > start;

切换HDMI到屏幕1:

代码语言:javascript复制
mount -t debugfs none /sys/kernel/debug;
cd /sys/kernel/debug/dispdbg
echo disp1 > name; echo switch1 > command; echo 4 10 0 0 0x4 0x101 0 0 0 8 > param; echo 1 > start;

切换TV到屏幕1(但没有成功):

代码语言:javascript复制
mount -t debugfs none /sys/kernel/debug;
cd /sys/kernel/debug/dispdbg
echo disp1 > name; echo switch1 > command; echo 2 11 > param; echo 1 > start;
  • LCD0重新初始化:
代码语言:javascript复制
mount -t debugfs none /sys/kernel/debug;
cd /sys/kernel/debug/dispdbg;

echo suspend > command; echo disp0 > name; echo 1 > start
echo resume > command; echo disp0 > name; echo 1 > start
  • 按住 s 上电启动可以进入u-boot命令行,输入两行命令可以把GPIO PD22拉高:
代码语言:javascript复制
mw 0x02000098 0x01222222
mw 0x020000A0 0x00400000 
  • disp display channel 0: disp0, 1:disp1
  • enhance_mode 0:standard, 1: enhance, 2: soft, 3: enahnce demo

//设置disp0 的色彩增强的模式为增强模式

代码语言:javascript复制
echo 0 > /sys/class/disp/disp/attr/disp;
echo 1 > /sys/class/disp/disp/attr/enhance_mode;

//设置disp1 的色彩增强的模式为柔和模式

代码语言:javascript复制
echo 1 > /sys/class/disp/disp/attr/disp;
echo 2 > /sys/class/disp/disp/attr/enhance_mode;

//设置disp0 的色彩增强的模式为增加模式,并且开启演示模式

代码语言:javascript复制
echo 0 > /sys/class/disp/disp/attr/disp;
echo 3 > /sys/class/disp/disp/attr/enhance_mode;
  • 该接口用于设置图像的亮度/对比度/饱和度/边缘锐度/细节增强/降噪的调节幅度。

//设置disp0 的图像亮度为80

代码语言:javascript复制
echo 0 > /sys/class/disp/disp/attr/disp;
echo 80 > /sys/class/disp/disp/attr/enhance_bright;

//设置disp1 的饱和度为50

代码语言:javascript复制
echo 1 > /sys/class/disp/disp/attr/disp;
echo 50 > /sys/class/disp/disp/attr/enhance_saturation;
  • 获取disp0 的 X / Y 分辨率:
代码语言:javascript复制
mount -t debugfs none /sys/kernel/debug;
cd /sys/kernel/debug/dispdbg;
代码语言:javascript复制
echo getxres > command;echo disp0 > name;echo 1 > start;cat info
echo getyres > command;echo disp0 > name;echo 1 > start;cat info

原文链接:https://whycan.com/t_7726.html 作者@memory

0 人点赞