rk3288-HDMI添加特殊分辨率

本文指导如何查看并解析HDMI的EDID数据,针对特定分辨率(如1280x800p)在Rockchip驱动中添加支持,包括修改`rockchip-hdmi-lcdc.c`和`drm_edid.c`中的相关配置,以实现新设备的正确显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.查看hdmi的edid数据adb pull /sys/class/drm/card0-HDMI-A-1/edid d:/log/

2使用EDID Manager打开edid.bin文件,会看到edid的详细解析,如下图所示
在这里插入图片描述

图中圈的是我们要适配的新的分辨率。

3.在\kernel\drivers\video\rockchip\hdmi\rockchip-hdmi-lcdc.c中添加hdmi的timming
{
.mode = {
.name = “1280x800p@59Hz”,
.refresh = 59,
.xres = 1280,
.yres = 800,
.pixclock = 86000000,
.left_margin = 80,
.right_margin = 48,
.upper_margin = 14,
.lower_margin = 3,
.hsync_len = 32,
.vsync_len = 6,
.sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
.vmode = 0,
.flag = 0,
},
.vic = HDMI_VIDEO_DMT | 10,
.vic_2nd = 0,
.pixelrepeat = 1,
.interface = OUT_P888,
},
方法参考Rockchip_Developer_Guide_HDMI_CN.pdf
4.在\kernel\drivers\gpu\drm\drm_edid.c中添加新设备的edid
添加的依据就是EDID Manager读到的Modeline: “1280x800” 86.000 1280 1528 1640 1688 800 838 841 858 +hsync +vsync
{ DRM_MODE(“1280x800”, DRM_MODE_TYPE_DRIVER, 86000, 1280, 1528,
1640, 1688, 0, 800, 838, 841, 858, 0,
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_NVSYNC) },

5.剩下的依据补丁文件添加

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术求索者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值