[RK3399] HDMI正常输出4K30帧 无法输出60帧以及设置分辨率的流程分析 | 您所在的位置:网站首页 › edid设置怎么调 › [RK3399] HDMI正常输出4K30帧 无法输出60帧以及设置分辨率的流程分析 |
** Platform: ROCKCHIP Chip: RK3399 OS: Android7.1.2 Kernel: 4.4.126* ** 【接上篇】上篇虽然HDMI能正常输出4K,但是帧率却达不到60帧,只能30帧,具体分析如下 按网上和官方的分别试了下修改,均没成功kernel/driversideo/rockchipmi/rockchip-hdmiv2 中的 rockchip-hdmi.h 文件, /* HDMI default vide mode */ #define HDMI_VIDEO_DEFAULT_MODE HDMI_1280X720P_60HZ 又在dtsi中加入 rockchip,defaultmode = ;也没有成功。 以上是开机那时候的分辨率。 修改与现象将输出特殊分辨率的方法输出 相关文件: kernel/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c kernel/drivers/gpu/drm/drm_edid.c 如上修改: 1、在edid_cea_modes数据的最后定义特殊的分辨率(drm_edid.c文件中)。 2、把def_mode数组的第一个值改成特殊分辨率对应的 vic(vic在drivers/gpu/drm/drm_edid.c文件中edid_cea_modes结构体中). 3、edid = NULL;强制把edid赋为NULL,不管有没有读到edid都强制按def_modes来显示。 kernel/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c下的函数dw_hdmi_connector_get_modes(),修改def_modes def_modes[1] = {97};//3840x2160P60烧录设备结果:hdmi输出显示屏黑屏 cat 设备结果如下 ![]() ![]() 先通过i2c获取屏的edid信息。 EDID的全称是Extended Display Identification Data(扩展显示标识数据),共有128字节。其中包含有关显示器及其性能的参数,包括供应商信息、最大图像大小、颜色设置、厂商预设置、 频率范围的限制以及显示器名和序列号的字符串等等。 如何查看edid信息? cat sys/class/drm/card0-HDMI-A-1/edid > /data/edid.bin //然后把edid.bin拷贝出来 或者:cat sys/class/drm/card0-HDMI-A-1/edid |busybox hexdump 驱动文件清单 通用屏配置驱动: drivers/gpu/drm/panel/panel-simple.c //.c文件里面包含mipi的时序参数配置和mipi一些接口还有背光的使能关闭等,配置屏参可以在此文件或者dts Core: drivers/gpu/drm/rockchip/rockchip_drm_drv.c framebuffer drivers/gpu/drm/rockchip/rockchip_drm_fb.c gem drivers/gpu/drm/rockchip/rockchip_ |
CopyRight 2018-2019 实验室设备网 版权所有 |