在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!)    创芯人才网--重磅上线啦!
查看: 1985|回复: 0

[原创] RK3288 HDMI配置和调试

[复制链接]
发表于 2020-2-11 17:05:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
RK3288 最大输出分辨率为 3840x2160
HDMI 驱动代码位于 kernel/drivers/video/rockchip/hdmi/rockchip-hdmiv2目录
1、设置默认输出分辨率
网上的资源是修改 kernel/drivers/video/rockchip/hdmi/rockchip-hdmiv2中的 rockchip-hdmi.h 文件,
/* HDMI defaultvide mode */
#define HDMI_VIDEO_DEFAULT_MODE    HDMI_1280X720P_60HZ
官方文档中是修改板级 dts 文件,路径为kernel\arch\arm\boot\dts\xxx.dts
在 hdmi 节点中添加 rockchip,defaultmode = <value>,<value>值可以在 rockchip-hdmi.h的 hdmi_video_infomation_code 中查到相应值。
hdmi_video_infomation_code是一个枚举数组,从 1 开始,想设置哪个分辨率,value 值就填此分辨率的序号。
设置前首先得支持此分辨率。查看支持的分辨率:cat/sys/class/display/HDMI/modes
例如,设置默认分辨率为1280x720P60Hz输出:
//路径:kernel\arch\arm\boot\dts\xxx.dts
&hdmi {
    status = "okay";
    rockchip,hdmi_video_source = <DISPLAY_SOURCE_LCDC1>;
    rockchip,defaultmode = <4>;
};
//路径:kernel\drivers\video\rockchip\hdmi\rockchip-hdmi.h
/* HDMI videoinformation code according CEA-861-F */
enum hdmi_video_infomation_code {
    HDMI_640X480P_60HZ = 1,
    HDMI_720X480P_60HZ_4_3,
    HDMI_720X480P_60HZ_16_9,
    HDMI_1280X720P_60HZ,
        ...
}
2、调试方法
查看sink设备的EDID信息,含原始数据和解析后信息。
cat /sys/class/display/HDMI/debug
shell@xxx:/ $ cat/sys/class/display/HDMI/debug
//EDID状态
EDID status:Okay
//原始数据
Raw Data:
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x05, 0xe3, 0x80, 0x22, 0xfd, 0x05, 0x00, 0x00,
0x0e, 0x1a, 0x01, 0x03, 0xa0, 0x30, 0x1b, 0x78, 0xba, 0x5a, 0x65, 0xa7, 0x56, 0x52, 0x9c, 0x27,
0x0f, 0x50, 0x54, 0xbf, 0xef, 0x00, 0xd1, 0xc0, 0xb3, 0x00, 0x95, 0x00, 0x81, 0x80, 0x81, 0x40,
0x81, 0xc0, 0x01, 0x01, 0x01, 0x01, 0x02, 0x3a, 0x80, 0x18, 0x71, 0x38, 0x2d, 0x40, 0x58, 0x2c,
0x45, 0x00, 0xdd, 0x0c, 0x11, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x32, 0x4c, 0x1e,
0x53, 0x11, 0x00, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x32,
0x32, 0x38, 0x30, 0x57, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xff,
0x00, 0x41, 0x42, 0x38, 0x30, 0x36, 0x31, 0x34, 0x5a, 0x30, 0x31, 0x35, 0x33, 0x33, 0x01, 0xa8,
0x02, 0x03, 0x1b, 0x71, 0x23, 0x09, 0x07, 0x07, 0x83, 0x01, 0x00, 0x00, 0x67, 0x03, 0x0c, 0x00,
0x10, 0x00, 0x80, 0x21, 0x43, 0x01, 0x10, 0x84, 0xe2, 0x00, 0x0f, 0x01, 0x1d, 0x00, 0x72, 0x51,
0xd0, 0x1e, 0x20, 0x6e, 0x28, 0x55, 0x00, 0x81, 0x49, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00,
0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf,
******** Show SinkInfo ********
//最大tmds通道时钟频率
Max tmds clk is 0
//支持的分辨率
Support videomode:
        1920x1080p@60Hz
        1280x720p@60Hz
//支持的视频颜色模式
Support videocolor mode: RGB YCbCr422 YCbCr444
//支持的视频颜色位深
Support videocolor depth: 24bit
//支持的音频类型
Support audIOType: LPCM
//支持的最大音频通道
Support max audiochannel is 2
//支持的音频采样速率
Support audiosample rate: 32000 44100 48000
//支持的音频字长
Support audio wordlenght: 16bit 20bit 24bit
查看支持的分辨率
$ cat/sys/class/display/HDMI/modes
查看当前分辨率
$ cat/sys/class/display/HDMI/mode
切换分辨率
$ echo1920x1080p-60 > /sys/class/display/HDMI/mode
查看HDMI是否连接
$ cat/sys/class/display/HDMI/connect
查看HDMI使能状态
$ cat/sys/class/display/HDMI/enable
设置HDMI使能,<value> 可取0或1,0表示关闭,1表示开启。
$ echo<value> > /sys/class/display/HDMI/enable
修改输出颜色
$ echomode=<value> > /sys/class/display/HDMI/color
mode = 0 是自动模式,优先级为:
YCbCr444[16-235]> YCbCr422[16-235] > RGB[16-235] > RGB[0-255]
mode = 1 是RGB[0-255]
mode = 2 是RGB[16-235]
mode = 3 是YCbCr444[16-235]
mode = 4 是YCbCr422[16-235]
查看3D模式
$ cat/sys/class/display/HDMI/3dmode
设置3D模式
$ echo<value> > /sys/class/display/HDMI/3dmode
<value>可以取以下值:
0:Frame packing
6:Top and Bottom
8:Side by Side Half
在 make menuconfig 中打开内核的 Debug 选项,可以查看更多的Log信息。
Device Drivers --->
    Graphics support --->
        
  • Rockchip HDMI support --->
  •             
  • Rockchip HDMI Debugging

  • 您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    站长推荐 上一条 /2 下一条

    小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
    ( 京ICP备:10050787号 京公网安备:11010502037710 )

    GMT+8, 2024-4-27 04:07 , Processed in 0.015166 second(s), 6 queries , Gzip On, Redis On.

    eetop公众号 创芯大讲堂 创芯人才网
    快速回复 返回顶部 返回列表