瑞芯微RK3588驱动配置之DVP摄像头1

        发现很多人不会RK3588DVP摄像头的驱动配置,这里简单分享一下,各位老铁点个赞,一键三连,给点动力。 这篇主要讲一下DTS设备树的配置,下篇写具体的驱动设计。

        因为瑞芯微的大部分芯片都支持DVP摄像头,配置都大同小异,这里以当下最流行的RK3588为例,从文档资料中我们可以看到对DVP的支持能力。

        重点看看dts中如何实现的。

        先看下rk3588_sdk/kernel/arch/arm64/boot/dts/rockchip/rk3588s-pinctrl.dtsi。这是管脚信息描述。其中有cif。在瑞芯微的早期芯片都是用的cif接口来描述,实际就是连接的dvp接口。

        这里可以看到cif_dvp_bus8和cif_dvp_bus16,即8位数据线和16位数据线。如果是8位线宽,一般就是YUYV、UYVY来传输数据,如果是16位线宽,一般就是8位Y数据,8位UV数据传输。

	cif {/omit-if-no-ref/cif_clk: cif-clk {rockchip,pins =/* cif_clkout */<4 RK_PB4 1 &pcfg_pull_none>;};/omit-if-no-ref/cif_dvp_clk: cif-dvp-clk {rockchip,pins =/* cif_clkin */<4 RK_PB0 1 &pcfg_pull_none>,/* cif_href */<4 RK_PB2 1 &pcfg_pull_none>,/* cif_vsync */<4 RK_PB3 1 &pcfg_pull_none>;};/omit-if-no-ref/cif_dvp_bus16: cif-dvp-bus16 {rockchip,pins =/* cif_d8 */<3 RK_PC4 1 &pcfg_pull_none>,/* cif_d9 */<3 RK_PC5 1 &pcfg_pull_none>,/* cif_d10 */<3 RK_PC6 1 &pcfg_pull_none>,/* cif_d11 */<3 RK_PC7 1 &pcfg_pull_none>,/* cif_d12 */<3 RK_PD0 1 &pcfg_pull_none>,/* cif_d13 */<3 RK_PD1 1 &pcfg_pull_none>,/* cif_d14 */<3 RK_PD2 1 &pcfg_pull_none>,/* cif_d15 */<3 RK_PD3 1 &pcfg_pull_none>;};/omit-if-no-ref/cif_dvp_bus8: cif-dvp-bus8 {rockchip,pins =/* cif_d0 */<4 RK_PA0 1 &pcfg_pull_none>,/* cif_d1 */<4 RK_PA1 1 &pcfg_pull_none>,/* cif_d2 */<4 RK_PA2 1 &pcfg_pull_none>,/* cif_d3 */<4 RK_PA3 1 &pcfg_pull_none>,/* cif_d4 */<4 RK_PA4 1 &pcfg_pull_none>,/* cif_d5 */<4 RK_PA5 1 &pcfg_pull_none>,/* cif_d6 */<4 RK_PA6 1 &pcfg_pull_none>,/* cif_d7 */<4 RK_PA7 1 &pcfg_pull_none>;};};

        在实际的传输中,还有内同步外同步的区别,这根据使用的摄像头来。

        下面就是核心的配置了。挂载在i2c下,不管摄像头有没有用到i2c,必须挂载在i2c下,因为驱动的设计就是这样的,走这个总线最方便。

&i2c1 {status = "okay";pinctrl-names = "default";pinctrl-0 = <&i2c1m2_xfer>;gc2145: gc2145@30 {status = "okay";compatible = "galaxycore,gc2145";reg = <0x30>;clocks = <&cru CLK_CIFOUT_OUT>;clock-names = "xvclk";power-domains = <&power RK3588_PD_VI>;pinctrl-names = "default";pinctrl-0 = <&cif_dvp_clk &cif_dvp_bus8>;rockchip,camera-module-index = <1>;rockchip,camera-module-facing = "front";rockchip,camera-module-name = "CameraKing";rockchip,camera-module-lens-name = "Largan";port {gc2145_out: endpoint {remote-endpoint = <&dvp_in_bcam1>;};};};
};&rkcif {status = "okay";
};&rkcif_dvp {status = "okay";ports {#address-cells = <1>;#size-cells = <0>;port@0 {#address-cells = <1>;#size-cells = <0>;/* Parallel bus endpoint */dvp_in_bcam1: endpoint@1 {reg = <1>;remote-endpoint = <&gc2145_out>;bus-width = <8>;/*16*/vsync-active = <0>;hsync-active = <1>;};};};
};&rkcif_mmu {status = "okay";
};

        DVP摄像头的dts不用配置data-lanes。

vsync-active = <0>;
hsync-active = <1>;

        指定 vsync, hsync 行场同步信号的有效状态,其中 0 表示低电平有效, 1 表示高电平有效。

        这里使用的8位线宽配置。

        这样DVP摄像头的dts就配置好了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/691303.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android内存分析

1.分析某个进程的内存情况 1.1 生成.hprof文件 可以在运行的设备上&#xff0c;使用adb命令生成 .hprof文件&#xff0c;表示在执行命令的那一刻&#xff0c;该进程的内存情况。如下&#xff1a; am dumpheap com.example.demo /data/local/tmp/demo.hprof这里就是对包名为c…

【力扣白嫖日记】1890.2020年最后一次登录

前言 练习sql语句&#xff0c;所有题目来自于力扣&#xff08;https://leetcode.cn/problemset/database/&#xff09;的免费数据库练习题。 今日题目&#xff1a; 1890.2020年最后一次登录 表&#xff1a;Logins 列名类型user_idinttime_stampvarchar (user_id, time_sta…

Unity UGUI的DrawCall优化

Unity UGUI是一种强大的用户界面设计工具&#xff0c;它可以帮助开发者快速创建各种界面元素&#xff0c;从按钮和文本到滑块和面板等。然而&#xff0c;在使用UGUI时&#xff0c;一个常见的性能瓶颈就是DrawCall过多导致的性能下降。在本文中&#xff0c;我们将深入探讨UGUI的…

搜索算法(算法竞赛、蓝桥杯)--BFS八数码难题、抓住那头牛、魔板问题

1、B站视频链接&#xff1a;B14 BFS 八数码难题_哔哩哔哩_bilibili 题目链接&#xff1a;八数码难题 - 洛谷 #include <bits/stdc.h> using namespace std; char c; string str; unordered_map<string,int> d;//记录步数 queue<string> q; int dx[4]{-1,0,1…

微服务—RabbitMQ高级(业务在各方面的可靠性)

本博客为个人学习笔记&#xff0c;学习网站&#xff1a;2023黑马程序员RabbitMQ入门到实战教程 高级篇章节 目录 生产者可靠性 生产者重连机制 生产者确认机制 介绍 实现 总结与建议 MQ可靠性 数据持久化 LazyQueue 消费者可靠性 消费者确认机制 失败重试机制 失…

深度学习之pytorch实现逻辑斯蒂回归

深度学习之pytorch实现逻辑斯蒂回归 解决的问题数学公式logiatic函数损失值 代码与线性回归代码的区别数据损失值构造回归的函数 结果分析 解决的问题 logistic 适用于分类问题&#xff0c;这里案例( y为0和1 &#xff0c;0和 1 分别代表一类&#xff09; 于解决二分类&#xf…

2024上海国际地下空间工程与技术展览会

2024上海国际地下空间工程与技术展览会 Underground Space Project and Technology Exhibition 2024 2024年10月31日-11月2日 上海世博展览馆 国展路1099号 展会规模&#xff1a;25000平方米 主办单位&#xff1a;联合国人居署 上海市住房与城乡建设管理委员会 一、城博会…

农村分散式污废水处理需要哪些设备

农村地区由于存在分散式的生活污废水&#xff0c;需要通过适合的设备进行处理和处理。在农村分散式污废水处理中&#xff0c;有几种主要的设备是必不可少的&#xff1a; 1. 废水收集器&#xff1a;废水收集器用于将分散式废水收集起来&#xff0c;确保其能够被有效地输送至处理…

高压圆盘电阻器----氧化锌电阻(1)?

特点 1&#xff09;100%陶瓷固体压铸结构&#xff0c;主要由氧化锌、氧化铝、氧化镁和人造粘土组成 2&#xff09;承受高脉冲能量&#xff0c;适用于超高压环境&#xff0c;可用于1000kV以上电路&#xff0c;瞬时功率可达3kkw 3&#xff09;无感设计&#xff0c;非传统绕线&…

【ArcGIS Pro二次开发】(82):玩个花活_控规指标块生成

一、要实现的效果 废话不多说&#xff0c;这次要实现的是类似控规指标块的标注&#xff1a; 这里只是示例&#xff0c;用了5个格子&#xff0c;做成9个格子也是可以的。 实现这个效果最关键的是要用到Pro中的复合标注。 关于复合标注的用法可以搜一下帮助里的【使用复合注释…

基于WOA优化的Bi-LSTM多输入回归预测(Matlab)鲸鱼算法优化双向长短期神经网络回归预测

目录 一、程序及算法内容介绍&#xff1a; 基本内容&#xff1a; 亮点与优势&#xff1a; 二、实际运行效果&#xff1a; 三、算法介绍&#xff1a; 鲸鱼优化算法&#xff08;WOA&#xff09;&#xff1a; 双向长短期神经网络&#xff08;Bi-LSTM&#xff09;&#xff1a…

raspi_os 32-bit lite下使用摄像头

前置条件&#xff1a;已经烧录32位版本的raspi os 按照如下步骤即可使用摄像头&#xff1a; 将SD卡放入读卡器插到电脑上根目录下打开config.txtctrl f 查找到camera_auto_detect1将其注释定位到文件末尾添加如下 gpu_mem128 start_x1将SD卡放回树莓派启动&#xff0c;键入…

VMware下安装银河麒麟V10操作系统

VMware下安装银河麒麟V10操作系统 文章目录 下载在VMware中应用编辑虚拟机设置 在麒麟系统内安装 下载 官网下载&#xff1a;https://www.kylinos.cn/ 银河麒麟、中标麒麟、开放麒麟、星光麒麟 在VMware中应用 1.新建虚拟机 2.稍后安装操作系统 3.新建虚拟机向导&#xff0…

【无标题】力扣报错:member access within null pointer of type ‘struct ListNode‘

项目场景&#xff1a; 做单链表反转题目&#xff0c;报错&#xff1a;member access within null pointer of type ‘struct ListNode’ 题目链接:LINK 问题描述 我明明在初始化指针时候&#xff0c;已经处理了n2->next情况却依然报错 这个报错提示含义是&#xff1a;大概就…

Photoshop 2023(Ps)下载安装及详细安装教程

Photoshop(Ps)的介绍 Adobe Photoshop&#xff0c;简称“PS”&#xff0c;是由AdobeSystems开发和发行的图像处理软件。Photoshop主要处理以像素所构成的数字图像。使用其众多的编修与绘图工具&#xff0c;可以有效地进行图片编辑和创造工作。PS有很多功能&#xff0c;在图像、…

拼夕夕 拼多多关键词恢复供应,欢迎骚扰

API接口&#xff08;Application Programming Interface&#xff09;是一种定义了软件组件之间交互的规范。它允许不同的软件系统之间进行通信和数据交换&#xff0c;使得开发者可以利用已有的功能和服务来构建自己的应用程序。 API接口可以分为不同的类型&#xff0c;包括Web …

【LeetCode: 590. N 叉树的后序遍历 + DFS】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

C#使用 AutoUpdater.NET 实现程序自动更新

写在前面 开发桌面应用程序的时候&#xff0c;经常会因为新增功能需求或修复已知问题&#xff0c;要求客户更新应用程序&#xff0c;为了更好的服务客户&#xff0c;通常会在程序启动时判断版本变更情况&#xff0c;如发现新版本则自动弹出更新对话框&#xff0c;提醒客户更新…

k8s学习(RKE+k8s+rancher2.x)成长系列之简配版环境搭建(四)之Helm及cert-manager安装

安装Helm(三台都安装) 下载helm安装包并加入执行目录 tar zxf helm-v3.2.4-linux-amd64.tar.gz cd linux-amd64 cp helm /usr/bin/ helm version添加rancher稳定版仓库(三台都安装) helm repo add rancher-stable http://rancher-mirror.oss-cn-beijing.aliyuncs.com/serve…

RichAF 中文版(下)

原文&#xff1a;Rich AF : The Winning Money Mindset That Will Change Your Life 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 五、我出生时不是富人&#xff0c;但我的孩子会是 投资部分 当涉及投资时&#xff0c;我有三个关于致富的真相要分享&#xff1a; …