在rk3568上使用628d hdmi转mipi,在628d已经调试好的情况下,客户新增需求:视频输入这边的推荐分辨率固定在1024x768。
Windows相当于主机使用hdmi线与rk3568连接,此时628d相当于显示器,而主机回去读取628d的edid,两者都会有一个支持的edid支持列表,默认会以两者匹配最高的分辨率输出。
RK628D⽀持EDID配置,⽬前驱动代码中EDID⽀持的分辨率为:
3840x2160P30、1920x1080P60、1920x1080P30、1280x720P60、720x576P50、720x480P60
Windows支持的分辨率最高位1920x1080P60,所以两者上电会以1920x1080显示。
现在新增一个需求是想让Windows默认以1024X768输出。
需要修改分辨率⽀持,可直接在驱动代码中修改EDID:
\drivers\media\i2c\rk628_csi.c的static u8 edid_init_data[]
这结构体里的数组是支持的EDID
把代码里面的EDID转换成二进制的.bin文件,我写了一份转换代码,代码如下:
#include <stdio.h>
typedef unsigned char u8;
s