iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何进行RK3288 HDMI配置和调试
  • 189
分享到

如何进行RK3288 HDMI配置和调试

2023-06-05 15:06:34 189人浏览 安东尼
摘要

这篇文章给大家介绍如何进行RK3288 HDMI配置和调试,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。RK3288 最大输出分辨率为 3840x2160HDMI 驱动代码位于 kernel/dri

这篇文章给大家介绍如何进行RK3288 HDMI配置和调试,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

RK3288 最大输出分辨率为 3840x2160

HDMI 驱动代码位于 kernel/drivers/video/rockchip/hdmi/rockchip-hdmiv2 目录

1、设置默认输出分辨率

网上的资源是修改 kernel/drivers/video/rockchip/hdmi/rockchip-hdmiv2 中的 rockchip-hdmi.h 文件,

#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

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 Sink Info ********

//最大tmds通道时钟频率

Max tmds clk is 0

//支持的分辨率

Support video mode:

        1920x1080p@60Hz

        1280x720p@60Hz

//支持的视频颜色模式

Support video color mode: RGB YCbCr422 YCbCr444

//支持的视频颜色位深

Support video color depth: 24bit

//支持的音频类型

Support audio type: LPCM

//支持的最大音频通道

Support max audio channel is 2

//支持的音频采样速率

Support audio sample rate: 32000 44100 48000

//支持的音频字长

Support audio Word lenght: 16bit 20bit 24bit

查看支持的分辨率

$ cat /sys/class/display/HDMI/modes

查看当前分辨率

$ cat /sys/class/display/HDMI/mode

切换分辨率

$ echo 1920x1080p-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

修改输出颜色

$ echo mode=<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

Top and Bottom

Side by Side Half

在 make menuconfig 中打开内核的 Debug 选项,可以查看更多的Log信息。

Device Drivers --->

    Graphics support --->

        [*] Rockchip HDMI support --->

            [*] Rockchip HDMI Debugging

关于如何进行RK3288 HDMI配置和调试就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: 如何进行RK3288 HDMI配置和调试

本文链接: https://www.lsjlt.com/news/243561.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C++ 生态系统中流行库和框架的贡献指南
    作为 c++++ 开发人员,通过遵循以下步骤即可为流行库和框架做出贡献:选择一个项目并熟悉其代码库。在 issue 跟踪器中寻找适合初学者的问题。创建一个新分支,实现修复并添加测试。提交...
    99+
    2024-05-15
    框架 c++ 流行库 git
  • C++ 生态系统中流行库和框架的社区支持情况
    c++++生态系统中流行库和框架的社区支持情况:boost:活跃的社区提供广泛的文档、教程和讨论区,确保持续的维护和更新。qt:庞大的社区提供丰富的文档、示例和论坛,积极参与开发和维护。...
    99+
    2024-05-15
    生态系统 社区支持 c++ overflow 标准库
  • c++中if elseif使用规则
    c++ 中 if-else if 语句的使用规则为:语法:if (条件1) { // 执行代码块 1} else if (条件 2) { // 执行代码块 2}// ...else ...
    99+
    2024-05-15
    c++
  • c++中的继承怎么写
    继承是一种允许类从现有类派生并访问其成员的强大机制。在 c++ 中,继承类型包括:单继承:一个子类从一个基类继承。多继承:一个子类从多个基类继承。层次继承:多个子类从同一个基类继承。多层...
    99+
    2024-05-15
    c++
  • c++中如何使用类和对象掌握目标
    在 c++ 中创建类和对象:使用 class 关键字定义类,包含数据成员和方法。使用对象名称和类名称创建对象。访问权限包括:公有、受保护和私有。数据成员是类的变量,每个对象拥有自己的副本...
    99+
    2024-05-15
    c++
  • c++中优先级是什么意思
    c++ 中的优先级规则:优先级高的操作符先执行,相同优先级的从左到右执行,括号可改变执行顺序。操作符优先级表包含从最高到最低的优先级列表,其中赋值运算符具有最低优先级。通过了解优先级,可...
    99+
    2024-05-15
    c++
  • c++中a+是什么意思
    c++ 中的 a+ 运算符表示自增运算符,用于将变量递增 1 并将结果存储在同一变量中。语法为 a++,用法包括循环和计数器。它可与后置递增运算符 ++a 交换使用,后者在表达式求值后递...
    99+
    2024-05-15
    c++
  • c++中a.b什么意思
    c++kquote>“a.b”表示对象“a”的成员“b”,用于访问对象成员,可用“对象名.成员名”的语法。它还可以用于访问嵌套成员,如“对象名.嵌套成员名.成员名”的语法。 c++...
    99+
    2024-05-15
    c++
  • C++ 并发编程库的优缺点
    c++++ 提供了多种并发编程库,满足不同场景下的需求。线程库 (std::thread) 易于使用但开销大;异步库 (std::async) 可异步执行任务,但 api 复杂;协程库 ...
    99+
    2024-05-15
    c++ 并发编程
  • 如何在 Golang 中备份数据库?
    在 golang 中备份数据库对于保护数据至关重要。可以使用标准库中的 database/sql 包,或第三方包如 github.com/go-sql-driver/mysql。具体步骤...
    99+
    2024-05-15
    golang 数据库备份 mysql git 标准库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作