概述
声明:本专栏内容以及相关的资料仅作为学习为目的。文章会持续更新,如内容有误欢迎指出,共同交流学习。
前言
鉴于开发者最希望看到的是自己的主板正常运行起来了,接上屏幕显示一切正常,因此我决定从HDMI显示开始写本栏目。我们先来看一下RK3588S 的整体框架图,如下图所示:
从上图可以看出,RK3588S具有丰富的显示接口,包括 DP、HDMI、EDP、MIPI 。在根据产品的需求设计好硬件电路后,对SDK软件就行相应配置即可使用相应的接口进行显示。显示是人机交互必不可少的功能。
硬件设计
HDMI部分的电路大家可以参考原理图(在后续的文章中会专门讲解RK3588S 由RK原厂提供的原理图)HDMI部分。如下图所示:
上图很明显可以看出,RK3588s 的EDP和HDMI接口是复用接口,在本系列文章中,我们先介绍HDMI显示。
原理图中的 HDMI0_TX_ON_H 引脚需要特别注意,必须保持和软件配置一直,在我的原理图设计中,使用的是 GPIO4_B6,如图所示:
本文将在下面的软件部分展示对应配置代码。 HDMI 部分对应的其他引脚基本是固定的,不需要软件上配置,如果硬件设计在原厂设计上做了比较大的改动,一定要检查每个引脚对应的软件配置。
我们在调试过程中,还遇到一个比较典型也是容易忽略的问题,由于硬件设计是核心板设计,单独调试核心板时,HDMI部分的 5V 没有供电,导致只有开机 logo 可以通过HDMI显示,进入系统HDMI一直无显示,如果在调试过程中遇到类似问题,可以检查一下HDMI的5V。如下图:
软件
软件部分最主要的就是上文提到的 HDMI0_TX_ON_H 引脚的配置,原理图使用的是GPIO4_B6,软件就一定要配置为“&gpio4 RK_PB6 GPIO_ACTIVE_HIGH”,如下代码:
/* hdmi0 */
&hdmi0 {
enable-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;
status = "okay";
};
然后就是 hdmi 使用的vp、sound 等对应功能在软件里面都要打开。这部分在 dtsi 里面对应的完整代码如下:
/* hdmi0 */
&hdmi0 {
enable-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;
status = "okay";
};
&hdmi0_in_vp0 {
status = "okay";
};
&hdmi0_sound {
status = "okay";
};
&hdptxphy_hdmi0 {
status = "okay";
};
&route_hdmi0{
status = "okay";
};
总结
HDMI 部分的调试相对来说是比较简单的,因为硬件的设计线路基本固定。只要在内核的设备树文件打开对应的节点,一般都可以正常工作。 让你看到系统友好的图形交互界面。
最后
以上就是繁荣帆布鞋为你收集整理的[RK3588s 项目开发实践]——Android12 HDMI显示前言硬件设计软件总结的全部内容,希望文章能够帮你解决[RK3588s 项目开发实践]——Android12 HDMI显示前言硬件设计软件总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复