0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

jf_30051736 来源:jf_30051736 作者:jf_30051736 2023-06-10 08:59 次阅读

1. 简介

  • 本文是基于RK3588平台,SDK版本:RK3588_ANDROID12.0 RK628D调试总结。
  • 视频桥接芯片:RK628D
  • 驱动代码:"kernel-5.10driversmisc
    k628"(驱动用的是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.10driversmisc
k628Kconfig"已经默认设置为y了,可以不用在rockchip_defconfig中再配置)

MISC配置如下

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

Kconfig配置 :添加 source "drivers/misc/rk628/Kconfig"

Kconfig路径 :"kernel-5.10driversmiscKconfig"

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

Makefile路径 :"kernel-5.10driversmiscKconfig"

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

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

Kconfig路径 :"kernel-5.10driversmisc
k628Kconfig"

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

Makefile路径 :"kernel-5.10driversmisc
k628Makefile"

3.驱动手动打补丁:

① 将rk628文件夹复制到"kernel-5.10driversmisc
k628"

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

kernel-5.10\\drivers\\i2c     提前i2c设备的注册 以加快rk628的初始化  

kernel-5.10\\drivers\\base  增加宏主要是为了实现regmap文件结点可以写628寄存器

kernel-5.10\\drivers\\pwm  提前pwm设备的注册 以加快rk628的初始化

kernel-5.10\\drivers\\video 提前backlight设备的注册 以加快rk628的初始化

注意: driversgpudrmridgesynopsysdw-hdmi-qp.c 此c文件的第一组分辨率改成你要固定的分辨率 1920*1080

  • 步骤 ② dts配置
  1. rk628-for-all的dts配置
&i2c6 {

    //clock-frequency = < 400 >;

    pinctrl-names = "default";

    pinctrl-0 = < &i2c6m0_xfer >;

    status = "okay";

    rk628: rk628@50 {

        compatible = "rockchip,rk628";

        reg = < 0x50 >;

        interrupt-parent = < &gpio4 >;

        interrupts = < 22 IRQ_TYPE_LEVEL_HIGH >;

        //pinctrl-names = "default";

        //pinctrl-0 = < &rk628power >;

        enable-gpios = < &gpio4 RK_PD5 GPIO_ACTIVE_HIGH >;

        reset-gpios = < &gpio2 RK_PB6 GPIO_ACTIVE_LOW >;

        //panel-enable-gpios = < &gpio2 RK_PC1 GPIO_ACTIVE_HIGH >;

        panel-backlight = < &backlight_lvds >;

        status = "okay";

        rk628,hdmi-in;

        rk628-lvds{

            /* "jeida_18","vesa_24","vesa_18" */

            bus-format = "vesa_24";

            //bus-format = "jeida_18";

            /* "dual_link_odd_even_pixels"

             * "dual_link_even_odd_pixels"

             * "dual_link_left_right_pixels"

             * "dual_link_right_left_pixels"

            */

            link-type = "dual_link_even_odd_pixels";

            //link-type = "dual_link_odd_even_pixels";

            status = "okay";

        };

        display-timings {

            src-timing {

                clock-frequency = < 148500000 >;

                hactive = < 1920 >;

                vactive = < 1080 >;

                hback-porch = < 148 >;

                hfront-porch = < 88 >;

                vback-porch = < 6 >;

                vfront-porch = < 4 >;

                hsync-len = < 44 >;

                vsync-len = < 5 >;

                hsync-active = < 0 >;

                vsync-active = < 0 >;

                de-active = < 0 >;

                pixelclk-active = < 0 >;

            };

            dst-timing {

                clock-frequency = < 148500000 >;

                hactive = < 1920 >;

                vactive = < 1080 >;

                hback-porch = < 148 >;

                hfront-porch = < 88 >;

                vback-porch = < 6 >;

                vfront-porch = < 4 >;

                hsync-len = < 44 >;

                vsync-len = < 5 >;

                hsync-active = < 0 >;

                vsync-active = < 0 >;

                de-active = < 0 >;

                pixelclk-active = < 0 >;

            };

        };

    };

};
  1. hdmi的dts配置:
&hdmi0 {

    status = "okay";

};

&hdmi0_in_vp0{

status = "okay";

};

&hdptxphy_hdmi0 {

    status = "okay";

 };

&dsi0{

status = "disabled";

};

&dsi1 {

    status = "disabled";

};

2.4 调试命令,方法

命令:

1. cat sys/kernel/debug/dri/0/summary

2. dmesg | grep rk628

3. cat /sys/kernel/debug/gpio 查看gpio占用状态

4. dmesg | grep src 查看src(cpu输出的hdmi信号)状态

5. dmesg | grep “rxphy power”  查看rxphy power是否上电

6. dmesg | grep vop查看显示信息或者dmesg | grep drm

7. dmesg | grep stable查看628clock是否起来。

8. cat sys/kernel/debug/rk628/summary

3. 调试成功

​​

在这里插入图片描述

​审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电路板
    +关注

    关注

    139

    文章

    4031

    浏览量

    89618
  • 屏幕
    +关注

    关注

    6

    文章

    1128

    浏览量

    54918
  • 信号
    +关注

    关注

    11

    文章

    2456

    浏览量

    74753
  • lvds
    +关注

    关注

    2

    文章

    806

    浏览量

    63512
  • RK3588
    +关注

    关注

    6

    文章

    180

    浏览量

    3028
收藏 人收藏

    评论

    相关推荐

    RK628D三大优势解析

    RK628D可应用于六大场景包括多屏商显、4K大屏转接、智能投影仪、无线投屏、智能显示屏、视频采集转换类产品。一、RK628D 三大优势1、接口组合更丰富, 24 合11)输入接口支持:HDMI、RGB、BT.11202)输出接口支持:HDMI、GVI、MIPI_CSI、单/双LVDS
    发表于 02-11 06:57

    24合1视频桥芯片RK628D有哪些优势呢

    芯片RK628D有哪些优势呢?24合1视频桥芯片RK628D有哪些应用呢?
    发表于 03-02 09:40

    瑞芯微发布24合1视频桥芯片RK628D

    芯片RK628D RK628D支持三种输入接口,九种输出接口,仅一颗芯片即可实现多达24种视频传输转换接口的组合。RK628D可应用于六大场景包括多屏商显、4K大屏转接
    发表于 05-31 09:13

    iTOP-RK3588开发板修改成 mipi 或 lvds 显示

    rk3588-evb7-lp4.dtsi 中的设备树文件。如下图所示默认包含的头文件
    发表于 05-22 16:32

    24合1芯片RK628D替代龙讯LT6911C/东芝TC358749XBG/HDMI TO MIPI...

    RK628D可应用于六大场景包括多屏商显、4K大屏转接、智能投影仪、无线投屏、智能显示屏、视频采集转换类产品。一、RK628D 三大优势1、接口组合更丰富, 24 合11)输入接口支持:HDMI、RGB、BT.11202)输出接口支持:HDMI、GVI、MIPI_CSI、单/双LVDS
    发表于 12-08 09:36 21次下载
    24合1芯片<b>RK628D</b>替代龙讯LT6911C/东芝TC358749XBG/<b>HDMI</b> TO MIPI...

    瑞芯微视频桥24合1芯片RK628D 六大场景应用解析

    芯片RK628D,可满足多种产品的视频接口转换需求。RK628D支持三种输入接口,九种输出接口,仅一颗芯片即可实现多达24种视频传输转换接口的组合。
    的头像 发表于 05-26 16:30 1472次阅读
    瑞芯微视频桥<b>接</b>24合1芯片<b>RK628D</b> 六大场景应用解析

    RK3588RK3588S之间的区别是什么

    RK3588RK3588S的区别: RK3588S是RK3588的低配版,其区别类似RK3568跟RK3566的区别,设计框架基本一致,面向的细分领域不同。 RK3588可以说是目前接口最丰富
    发表于 03-10 19:22 1.8w次阅读

    瑞芯微RK3588开发板RK3588 EVB和RK3588S EVB解读

    RK3588开发板RK3588 EVB和RK3588S EVB解读 瑞芯微旗舰芯RK3588系列开发板受到广大开发者伙伴的关注和问询。针对相关的开发板功能、操作指南等问题,我们一起看看瑞芯微
    的头像 发表于 09-22 15:54 1.2w次阅读
    瑞芯微<b>RK3588</b>开发板<b>RK3588</b> EVB和<b>RK3588</b>S EVB解读

    RK3588-MIPI屏幕调试笔记:RK3588-MIPI-DSI

    RK3588-MIPI屏幕调试笔记:RK3588-MIPI-DSI
    的头像 发表于 06-10 10:31 479次阅读
    <b>RK3588</b>-MIPI<b>屏幕</b>调试笔记:<b>RK3588</b>-MIPI-DSI

    RK3588-MIPI屏幕调试笔记:RK3588-MIPI-DSILCD上电初始化时序

    RK3588-MIPI屏幕调试笔记:RK3588-MIPI-DSILCD上电初始化时序
    的头像 发表于 06-10 10:32 722次阅读

    RK3588-MIPI屏幕调试笔记:RK3588-MIPI-DSI屏参配置

    RK3588-MIPI屏幕调试笔记:RK3588-MIPI-DSI屏参配置
    的头像 发表于 06-10 10:36 755次阅读
    <b>RK3588</b>-MIPI<b>屏幕</b>调试笔记:<b>RK3588</b>-MIPI-DSI<b>之</b>屏参配置

    RK3588-HDMIRX

    HDMI IN功能可以通过桥芯⽚的⽅式实现,将HDMI信号转换成MIPI信号接收,RK3588芯⽚平台⾃带
    的头像 发表于 06-13 10:45 548次阅读
    <b>RK3588</b>-HDMIRX

    【技术分享】RK3568适配RK628 RGB to HDMI

    RK628是一款多功能视频桥芯片,支持多种显示接口的转换。本文基于RK3568平台,分享使用RK628芯片实现RGB信号转换为HDMI输出的适配过程。
    的头像 发表于 07-21 16:49 387次阅读
    【技术分享】<b>RK</b>3568适配<b>RK628</b> RGB to <b>HDMI</b>

    rk3588s与rk3588的区别

    rk3588s与rk3588的区别 RK3588S与RK3588是两款来自瑞芯微的高端芯片,这两款芯片都采用了12nm工艺和Cortex-A76/A55内核,同时也支持多种先进的技术和标准,包括AI
    的头像 发表于 08-15 16:44 1458次阅读

    rk3588rk3588s的区别

    rk3588rk3588s的区别 Rockchip是一家专业的半导体公司,成立于2001年,总部位于中国深圳,主要从事集成电路的设计、开发和销售。他们的热门产品RK3588RK3588S都是
    的头像 发表于 08-15 16:44 1109次阅读