rk3588内核添加特殊分辨率

rk平台内核本身默认支持一些常规的分辨率,如1920x1080@30,1280x720@60,但是往往不能满足需求,如有的客户需要你添加1020x700@35的分辨率,这时候就要自己加上去了。

下图是LCD各个参数对应的位置:

在这里插入图片描述

显示mode 各个参数含义如下:

hdisplay:有效显示区水平像素数量,对应Active Width

hsync_start:水平同步开始,对应hdispay + HFP

hsync_end:水平同步结束,对应hdisplay + HFP + HSYNC width(HPW)

htotal:水平总像素,对应hdisplay + HFP + HSYNC width + HBP

vdisplay:垂直显示像素,对应Active Height

vsync_start:垂直同步开始,对应vdispay + VFP

vsync_end:垂直像素结束,对应vdisplay + VFP + VSYNC width(VPW)

vtotal:垂直总像素,对应vdisplay + VFP + VSYNC width + VBP

vrefresh:刷新率

如果我们需要往HDMI的驱动添加特殊分辨率(即不在原来支持列表:static const struct drm_display_mode dw_hdmi_default_modes[]结构体中的分辨率),比如要添加700x1020@20,此时需要找到对应特殊分辨率的LCD屏参,根据你的屏参来配置对应的行、场参数。其他的屏接口可以对应找到对应的驱动添加到分辨率列表中即可,如dp,edp等。
rk3588 kernel5.1 HDMI对应添加分辨率的驱动在./drivers/gpu/drm/bridge/synopsys/dw-hdmi.c文件。
如果对屏参无要求,只需要支持对应分辨率和帧率即可,那么除了分辨率和帧率,其他行场参数可以随意设置。例如我这里添加特殊分辨率:1020x700@35,除了1020和700和35是真实的,其他的都是随意取的,核心要点是DCLK要满足这个DCLK = vtotal x htotal x 帧率fps(帧率一般设置30,60,当然,现在的很多手机已经干到120+了),即DCLK=1080X760X35=28728。其他分辨率和帧率可参考这里设置或者由屏datasheet获取。

1020x700@35
hsync_start = 1020+20[HFP]=1040
hsync_end=1020+20[HFP]+10[HPW]
  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

零意@

您的打赏将是我继续创作的动力!

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

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

打赏作者

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

抵扣说明:

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

余额充值