欢迎光临散文网 会员登陆 & 注册

RK3588使用RK628D 之 HDMI转成双路LVDS信号接LVDS屏幕

2023-06-09 20:09 作者:磊子啊_  | 我要投稿

1. 简介

  • 本文是基于RK3588平台,SDK版本:RK3588_ANDROID12.0 RK628D调试总结。

  • 视频桥接芯片:RK628D

  • 驱动代码:“kernel-5.10\drivers\misc\rk628”(驱动用的是rk628-for-all-v21版本)

  • 本次调试的方案功能:从SOC出来的HDMITX通过RK628D转成双路LVDS信号接LVDS屏幕。

2. 视频桥接芯片RK628D调试

2.1 RK628驱动介绍

RK628 分为 Display 通路和 HDMI IN 通路,SDK 版本 Display 通路基于DRM框架,HDMI IN 通路基于

V4L2框架。

RK628-For-All 版本驱动一样也分为Display 通路和 HDMI IN 通路,Display 通路的驱动于drivers/misc/rk628/

下,HDMI IN 通路的驱动于drivers/media/i2c/rk628/下。本文采用RK628-For-All 版本Display 通路:MISC

2.2 调试总览,调试步骤分析

  • 步骤 ① 移植RK628D_For_All_V21的驱动代码

  • 步骤 ② dts配置

  • 步骤 ③ 编译,烧写。

2.3 调试过程

  • 步骤 ① :移植RK628D_For_All_V21的驱动代码

1.联系RK业务拿到最新的RK628-for-all版本代码

本文是基于RK628-for-all-v21版本。要移植RK628D_For_All的驱动代码。

采取手动打补丁的方式移植:因为自动打补丁会因为SDK版本差异,代码不一致导致报错。

2.rockchip_defconfig,Kconfig,Makefile配置

rockchip_defconfig配置:关闭SDK系统自带的rk628d配置,开启rk628-for-all版本的配置:

CONFIG_DRM=y(系统默认是打开)

CONFIG_RK628_MISC=y

CONFIG_ROCKCHIP_THUNDER_BOOT_RK628=y

(下面两项在"kernel-5.10\drivers\misc\rk628\Kconfig"已经默认设置为y了,可以不用在rockchip_defconfig中再配置)

MISC配置如下 :

将rk628驱动添加进编译规则。

Kconfig配置 :添加 source “drivers/misc/rk628/Kconfig”

Kconfig路径 :“kernel-5.10\drivers\misc\Kconfig”

Makefile配置 :添加 obj-y += rk628/

Makefile路径 :“kernel-5.10\drivers\misc\Kconfig”

rk628-for-all版本驱动配置如下:

Kconfig配置 :添加 config RK628_MISC 和 config ROCKCHIP_THUNDER_BOOT_RK628说明

Kconfig路径 :“kernel-5.10\drivers\misc\rk628\Kconfig”

Makefile配置 :添加RK628_MISC驱动和obj-$(CONFIG_DRM) += rk628_hdmitx.o

Makefile路径 :“kernel-5.10\drivers\misc\rk628\Makefile”

3.驱动手动打补丁:

① 将rk628文件夹复制到"kernel-5.10\drivers\misc\rk628"

② kernel-5.10\drivers\gpu hdmi强制输出固定分辨率 绕过读edid流程


注意: drivers\gpu\drm\bridge\synopsys\dw-hdmi-qp.c 此c文件的第一组分辨率改成你要固定的分辨率 1920*1080

  • 步骤 ② dts配置

  1. rk628-for-all的dts配置


  1. hdmi的dts配置:


2.4 调试命令,方法

命令


3. 调试成功



RK3588使用RK628D 之 HDMI转成双路LVDS信号接LVDS屏幕的评论 (共 条)

分享到微博请遵守国家法律