我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何进行RK3288 HDMI配置和调试

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何进行RK3288 HDMI配置和调试

这篇文章给大家介绍如何进行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配置和调试就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何进行RK3288 HDMI配置和调试

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

下载Word文档

猜你喜欢

如何进行RK3288 HDMI配置和调试

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

如何进行rk3288 MIPI DSI调式

如何进行rk3288 MIPI DSI调式,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。MIPI DSI 使用¶Config配置¶在arch/arm/configs/firef
2023-06-05

如何进行RK3288 dts和dtsi介绍

这期内容当中小编将会给大家带来有关如何进行RK3288 dts和dtsi介绍,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Device Tree 是一种描述硬件的数据结构,它起源于 OpenFirmwar
2023-06-05

Nagios如何进行配置和设置

Nagios的配置和设置包括以下几个步骤:安装Nagios软件:首先需要在服务器上安装Nagios软件。可以从官方网站下载最新版本的Nagios软件,并按照官方文档进行安装。配置Nagios对象:在Nagios中,需要配置对象,包括主机、服
Nagios如何进行配置和设置
2024-03-11

vscode如何配置java环境并调试运行

这篇文章给大家分享的是有关vscode如何配置java环境并调试运行的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。下载vscode以及安装jdk 度娘一大堆 这里不介绍 jdk最好安装jdk11及以上 vscod
2023-06-15

python运行配置如何调

调整Python运行配置的方式取决于您正在使用的Python集成开发环境(IDE)或编辑器。以下是一些常见的Python IDE和编辑器的配置方式:PyCharm:在PyCharm中,您可以通过选择“Run”菜单下的“Edit Config
python运行配置如何调
2024-02-29

如何在MariaDB中进行性能优化和调试

在MariaDB中进行性能优化和调试可以采取以下几种方法:使用性能分析工具:MariaDB提供了一些性能分析工具,如EXPLAIN、SHOW PROFILE等,可以帮助你分析查询语句的性能瓶颈,找出优化的方法。使用索引:正确地使用索引可以
如何在MariaDB中进行性能优化和调试
2024-04-09

如何进行C++代码的调试?

如何进行C++代码的调试?引言:在编写C++代码时,难免会遇到各种Bug和错误。调试是程序开发中非常重要的一部分,因为它可以帮助我们找到问题所在并修复它们。本文将介绍一些常用的C++代码调试技巧和工具,帮助读者更好地进行C++代码调试。一、
如何进行C++代码的调试?
2023-11-02

如何使用pdb进行Python调试

调试应用有时是一个不受欢迎的工作,当你长期编码之后,只希望写的代码顺利运行。但是,很多情况下,我们需要学习一个新的语言功能或者实验检测新的方法,从而去理解其中运行的机制原理。 即使不考虑这样的场景,调试代码仍然是有必要的,所以学会在工作中使
2022-06-02

如何进行WCF的配置

小编给大家分享一下如何进行WCF的配置,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!软件进行调试,如果没有WCF的配置文件几乎是不可想象的事。没有WCF的配置文件
2023-06-17

如何进行RHEL5 DNS配置

如何进行RHEL5 DNS配置,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在RHEL4的基础上添加了RHEL5,同样系统的完善,也让跟多的人应用了RHEL5,所以这就要求RH
2023-06-17

如何进行小程序的测试与调试

小程序的测试与调试可以通过以下几个步骤来进行:使用开发者工具:小程序开发者工具是一个专门用于小程序开发和调试的工具,可以在其中模拟不同的机型和系统环境,实时查看小程序的效果和调试代码。使用真机调试:在开发者工具中可以连接真机进行调试,以查看
如何进行小程序的测试与调试
2024-04-17

Spring如何进行调试启动速度

这篇文章给大家介绍Spring如何进行调试启动速度,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在调试spring应用时,动辄几十秒,甚至有的应用上分钟的启动速度,会让整个调试速度慢下来了。等待时间让人抓狂。环境配置:
2023-06-17

如何进行linux内核模块调试

这篇文章将为大家详细讲解有关如何进行linux内核模块调试,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1. 开启虚拟机,虚拟机运行到 kgdb: Waiting for connectio
2023-06-16

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录