打印
[RISC-V MCU 应用开发]

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

[复制链接]
630|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
神棍地海棠|  楼主 | 2023-3-3 09:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
调整LCD背光亮度:
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最暗。

调到最亮:
echo lcd0 > name; echo setbl > command; echo 0 > param; echo 1 > start
关LCD背光:
echo lcd0 > name; echo setbl > command; echo 255 > param; echo 1 > start
读当前背光:
echo getbl > command; echo lcd0 > name; echo 1 > start; cat info
参考: 全志显示量产问题快速排查指南.pdf
参考: D1_Tina_Linux_Display_开发指南.pdf

切换HDMI到屏幕0:
mount -t debugfs none /sys/kernel/debug;cd /sys/kernel/debug/dispdbgecho disp0 > name; echo switch1 > command; echo 4 10 0 0 0x4 0x101 0 0 0 8 > param; echo 1 > start;
切换TV到屏幕0(但没有成功):
mount -t debugfs none /sys/kernel/debug;cd /sys/kernel/debug/dispdbgecho disp0 > name; echo switch1 > command; echo 2 11 > param; echo 1 > start;

切换HDMI到屏幕1:
mount -t debugfs none /sys/kernel/debug;cd /sys/kernel/debug/dispdbgecho disp1 > name; echo switch1 > command; echo 4 10 0 0 0x4 0x101 0 0 0 8 > param; echo 1 > start;
切换TV到屏幕1(但没有成功):
mount -t debugfs none /sys/kernel/debug;cd /sys/kernel/debug/dispdbgecho disp1 > name; echo switch1 > command; echo 2 11 > param; echo 1 > start;
参考: 【DIY教程】D1的双屏异显第一弹来啦!D1同时支持两个屏幕,一共做UI交互,一边个播放视频
https://debugdump.com/topic/362
LCD0重新初始化:
mount -t debugfs none /sys/kernel/debug;cd /sys/kernel/debug/dispdbg;echo suspend > command; echo disp0 > name; echo 1 > startecho resume > command; echo disp0 > name; echo 1 > start
按住 s 上电启动可以进入u-boot命令行,输入两行命令可以把GPIO PD22拉高:
mw 0x02000098 0x01222222mw 0x020000A0 0x00400000
参考: 请问 uboot 不能驱动PWM7 (PD22) 是什么原因呢?
https://debugdump.com/topic/949/share/5


disp display channel
0: disp0,
1:disp1

enhance_mode
0:standard,
1: enhance,
2: soft,
3: enahnce + demo
//设置disp0 的色彩增强的模式为增强模式
echo 0 > /sys/class/disp/disp/attr/disp;echo 1 > /sys/class/disp/disp/attr/enhance_mode;
//设置disp1 的色彩增强的模式为柔和模式
echo 1 > /sys/class/disp/disp/attr/disp;echo 2 > /sys/class/disp/disp/attr/enhance_mode;
//设置disp0 的色彩增强的模式为增加模式,并且开启演示模式
echo 0 > /sys/class/disp/disp/attr/disp;echo 3 > /sys/class/disp/disp/attr/enhance_mode;

该接口用于设置图像的亮度/对比度/饱和度/边缘锐度/细节增强/降噪的调节幅度。

//设置disp0 的图像亮度为80
echo 0 > /sys/class/disp/disp/attr/disp;echo 80 > /sys/class/disp/disp/attr/enhance_bright;
//设置disp1 的饱和度为50
echo 1 > /sys/class/disp/disp/attr/disp;echo 50 > /sys/class/disp/disp/attr/enhance_saturation;


获取disp0 的 X / Y 分辨率:
mount -t debugfs none /sys/kernel/debug;cd /sys/kernel/debug/dispdbg;
echo getxres > command;echo disp0 > name;echo 1 > start;cat infoecho getyres > command;echo disp0 > name;echo 1 > start;cat info
AIC800 有两个LCD,如果液晶接在LCD1上面,那这么调背光(255最亮):
mount -t debugfs none /sys/kernel/debug;cd /sys/kernel/debug/dispdbg;echo lcd1 > name; echo setbl > command; echo 255 > param; echo 1 > start

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

266

主题

274

帖子

0

粉丝