首页 > 资讯 > 正文

RK3588-HDMIRX

2023-06-13 11:06:59   来源:jf_30051736  

1. 简介

专栏总目录

HDMIIN功能可以通过桥接芯⽚的⽅式实现,将HDMI信号转换成MIPI信号接收,RK3588芯⽚平台⾃带

HDMI RX模块,可以直接接收HDMI信号。


【资料图】

本篇文章主要介绍在RK3588 平台通过HDMI RX模块开发实现HDMI IN功能的⽅法。

2. dts配置

2.1 HDMI RX控制器配置

/* Should work with at least 128MB cma reserved above. */ &hdmirx_ctrler { status = "okay"; /* Effective level used to trigger HPD: 0-low, 1-high */ hpd-trigger-level = < 1 >; hdmirx-det-gpios = < &gpio2 RK_PB5 GPIO_ACTIVE_LOW >; pinctrl-names = "default"; pinctrl-0 = < &hdmim1_rx &hdmirx_det >; }; &pinctrl {hdmirx {hdmirx_det: hdmirx-det {rockchip,pins = < 1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none >;};};}

2.2 预留内存

RK3588 HDMI RX模块只能使用物理连续内存,需要预留至少128MB的CMA内存:

注:按3840x2160分辨率,RGB888图像格式,4个轮转Buffer计算。

/* If hdmirx node is disabled, deletethe reserved-memory node here. */ reserved-memory { #address-cells = < 2 >; #size-cells = < 2 >; ranges; /* Reserve 128MB memory for hdmirx-controller@fdee0000 */ cma { compatible = "shared-dma-pool"; reusable; reg = < 0x0 (256 * 0x100000) 0x0 (128 * 0x100000) >; linux,cma-default; }; };

3. 调试

HDMI-IN 设备在内核中会被注册为 video 设备,生成的节点如:/dev/video20,可以通过 v4l2-ctl 命令来获取设备信息和抓帧。

查看所有video节点

ls /dev/video*

获取设备信息,查找rk_hdmirx设备对应的是哪个video节点

v4l2-ctl -d /dev/video* -D      例: v4l2-ctl -d /dev/video20 -D

使⽤v4l2-ctl -d参数指定vidoe节点,-D命令查看节点信息,通过Driver name确认哪个是节点是rk_hdmirx 设备:

获取外部设备输入的分辨率信息

v4l2-ctl -d /dev/video20  -V

可以看出此时输入源的像素格式为 " NV24 " 。分辨率为 1920 * 1080

抓图:根据输入源的格式和分辨率设置好抓图命令的格式和分辨率:( 这里像素格式为 " NV24 " 。分辨率为 1920 * 1080 )

v4l2-ctl -d /dev/video20 --set-fmt-video=width=1920,height=1080,pixelformat=NV24 --stream-mmap=3 --stream-skip=100 --stream-to=/oem/NV24.yuv --stream-count=1 --stream-poll

在 PC 端查看抓取到的帧文件将抓取到的NV24.yuv图片可adb pull到PC端,通过7yuv、YUView等⼯具软件查看:

审核编辑:汤梓红

adb pull /oem/NV24.yuv ./

关键词:

推荐内容

Copyright www.caikuang.meiriwang.net 版权所有
网站备案号:沪ICP备2023005074号-40
邮箱:5 85 59 73 @qq.com