全志D1-H (MQ-Pro)驱动 OV5640 摄像头

在这里插入图片描述

内核配置

运行 m kernel_menuconfig 勾选下列驱动

Device Drivers  ---><*> Multimedia support  --->[*]   V4L platform devices  ---><*>   Video Multiplexer[*]   SUNXI platform devices  ---><*>   sunxi video input (camera csi/mipi isp vipp)driver<M>     v4l2 new driver for SUNXI<*>     use cci functionselect cci or cci to twi (chenge cci to twi)  --->[*]     use IOMMU for memery alloc[*]     ISP WDR module[*]     sensor same i2c addrsensor driver select  ---><M> use ov5640 driver[*]   Memory-to-memory multimedia devices  ---><*>   Deinterlace support<*>   SuperH VEU mem2mem video processing driver

设备树配置

路径:lichee/linux-5.4/arch/riscv/boot/dts/sunxi/sun20iw1p1.dtsi

		vind0: vind@5800800 {compatible = "allwinner,sunxi-vin-media", "simple-bus";#address-cells = <2>;#size-cells = <2>;ranges;device_id = <0>;csi_top = <336000000>;csi_isp = <327000000>;reg = <0x0 0x05800800 0x0 0x200>,<0x0 0x05800000 0x0 0x800>;clocks = <&ccu CLK_CSI_TOP>, <&ccu CLK_PLL_VIDEO1_2X>,<&ccu CLK_CSI0_MCLK>, <&dcxo24M>, <&ccu CLK_PLL_VIDEO1>,<&ccu CLK_BUS_CSI>, <&ccu CLK_MBUS_CSI>;clock-names = "csi_top", "csi_top_src","csi_mclk0", "csi_mclk0_24m", "csi_mclk0_pll","csi_bus", "csi_mbus";resets = <&ccu RST_BUS_CSI>;reset-names = "csi_ret";pinctrl-names = "mclk0-default", "mclk0-sleep";pinctrl-0 = <&csi_mclk0_pins_a>;pinctrl-1 = <&csi_mclk0_pins_b>;status = "okay";csi0: csi@5801000{compatible = "allwinner,sunxi-csi";reg = <0x0 0x05801000 0x0 0x1000>;interrupts-extended = <&plic0 116 IRQ_TYPE_LEVEL_HIGH>;pinctrl-names = "default","sleep";pinctrl-0 = <&csi0_pins_a>;pinctrl-1 = <&csi0_pins_b>;device_id = <0>;iommus = <&mmu_aw 1 1>;status = "okay";};isp0: isp@5809410 {compatible = "allwinner,sunxi-isp";reg = <0x0 0x05809410 0x0 0x10>;device_id = <0xfe>;status = "okay";};isp1: isp@5809420 {compatible = "allwinner,sunxi-isp";reg = <0x0 0x05809420 0x0 0x10>;device_id = <0xff>;status = "okay";};scaler0: scaler@5809430 {compatible = "allwinner,sunxi-scaler";reg = <0x0 0x05809430 0x0 0x10>;device_id = <0xfe>;status = "okay";};scaler1: scaler@5809440 {compatible = "allwinner,sunxi-scaler";reg = <0x0 0x05809440 0x0 0x10>;device_id = <0xff>;status = "okay";};actuator0: actuator@5809450 {compatible = "allwinner,sunxi-actuator";device_type = "actuator0";reg = <0x0 0x05809450 0x0 0x10>;actuator0_name = "ad5820_act";actuator0_slave = <0x18>;actuator0_af_pwdn = <>;actuator0_afvdd = "afvcc-csi";actuator0_afvdd_vol = <2800000>;status = "okay";};flash0: flash@5809460 {device_type = "flash0";compatible = "allwinner,sunxi-flash";reg = <0x0 0x05809460 0x0 0x10>;flash0_type = <2>;flash0_en = <>;flash0_mode = <>;flash0_flvdd = "";flash0_flvdd_vol = <>;device_id = <0>;status = "okay";};sensor0: sensor@5809470 {reg = <0x0 0x05809470 0x0 0x10>;device_type = "sensor0";compatible = "allwinner,sunxi-sensor";sensor0_mname = "ov5640";sensor0_twi_cci_id = <2>;sensor0_twi_addr = <0x78>;sensor0_mclk_id = <0>;sensor0_pos = "rear";sensor0_isp_used = <0>;sensor0_fmt = <0>;sensor0_stby_mode = <0>;sensor0_vflip = <0>;sensor0_hflip = <0>;sensor0_iovdd-supply = <>;sensor0_iovdd_vol = <>;sensor0_avdd-supply = <>;sensor0_avdd_vol = <>;sensor0_dvdd-supply = <>;sensor0_dvdd_vol = <>;sensor0_power_en = <>;sensor0_reset = <&pio PE 14 GPIO_ACTIVE_LOW>;sensor0_pwdn = <&pio PE 15 GPIO_ACTIVE_LOW>;sensor0_sm_vs = <>;flash_handle = <&flash0>;act_handle = <&actuator0>;device_id = <0>;status	= "okay";};sensor1: sensor@5809480 {reg = <0x0 0x05809480 0x0 0x10>;device_type = "sensor1";compatible = "allwinner,sunxi-sensor";sensor1_mname = "ov5647";sensor1_twi_cci_id = <3>;sensor1_twi_addr = <0x6c>;sensor1_mclk_id = <1>;sensor1_pos = "front";sensor1_isp_used = <0>;sensor1_fmt = <0>;sensor1_stby_mode = <0>;sensor1_vflip = <0>;sensor1_hflip = <0>;sensor1_iovdd-supply = <>;sensor1_iovdd_vol = <>;sensor1_avdd-supply = <>;sensor1_avdd_vol = <>;sensor1_dvdd-supply = <>;sensor1_dvdd_vol = <>;sensor1_power_en = <>;sensor1_reset = <&pio PE 7 GPIO_ACTIVE_LOW>;sensor1_pwdn = <&pio PE 6 GPIO_ACTIVE_LOW>;sensor1_sm_vs = <>;flash_handle = <>;act_handle = <>;device_id = <1>;status	= "disabled";};vinc0: vinc@5809000 {compatible = "allwinner,sunxi-vin-core";device_type = "vinc0";reg = <0x0 0x05809000 0x0 0x200>;interrupts-extended = <&plic0 111 IRQ_TYPE_LEVEL_HIGH>;vinc0_csi_sel = <0>;vinc0_mipi_sel = <0xff>;vinc0_isp_sel = <0>;vinc0_tdm_rx_sel = <0xff>;vinc0_rear_sensor_sel = <0>;vinc0_front_sensor_sel = <0>;vinc0_sensor_list = <0>;device_id = <0>;iommus = <&mmu_aw 1 1>;status = "okay";};vinc1: vinc@5809200 {device_type = "vinc1";compatible = "allwinner,sunxi-vin-core";reg = <0x0 0x05809200 0x0 0x200>;interrupts-extended = <&plic0 112 IRQ_TYPE_LEVEL_HIGH>;vinc1_csi_sel = <0>;vinc1_mipi_sel = <0xff>;vinc1_isp_sel = <1>;vinc1_tdm_rx_sel = <0xff>;vinc1_rear_sensor_sel = <0>;vinc1_front_sensor_sel = <0>;vinc1_sensor_list = <0>;device_id = <1>;iommus = <&mmu_aw 1 1>;status = "disabled";};};

在这里插入图片描述

ROOTFS 配置

运行 m menuconfig,勾选 <*> kmod-sunxi-vin......................................... sunxi-vin support

在这里插入图片描述

常见错误

[VIN_ERR]media_entity_find_link null

驱动版本不匹配所致,目前SDK分支过多驱动版本过多,用下列驱动替换即可:
sunxi-vin.tar.gz

解压,覆盖到 tina-d1-h/lichee/linux-5.4/drivers/media/platform/sunxi-vin 文件夹

测试固件

tina_d1-h-mq_pro_uart0.zip

在这里插入图片描述

原贴链接:https://bbs.aw-ol.com/topic/4017/
资源获取、问题讨论可以到全志在线开发者社区进行:https://www.aw-ol.com
全志及开发者最新动态可以关注全志在线微信公众号

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

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

相关文章

<dependency> idea中为什么这个变黄色

在IDE中&#xff0c;当你的代码出现黄色高亮时&#xff0c;通常表示存在警告或建议的提示。对于Maven的<dependency>标签来说&#xff0c;黄色高亮可能有以下几种原因&#xff1a; 依赖项未找到&#xff1a;黄色高亮可能表示IDE无法找到指定的依赖项。这可能是由于配置错…

第 357 场力扣周赛题解

A 故障键盘 简单模拟 class Solution { public:string finalString(string s) {string res;for (auto c: s)if (c ! i)res.push_back(c);elsereverse(res.begin(), res.end());return res;} };B 判断是否能拆分数组 区间dp&#xff1a;定义 p i , j p_{i,j} pi,j​表示子数组 n…

uniapp echarts 点击失效

这个问题网上搜了一堆&#xff0c;有的让你降版本&#xff0c;有的让你改源码。。。都不太符合预期&#xff0c;目前我的方法可以用最新的echarts。 这个方法就是由npm安装转为CDN&#xff0c;当然你可能会质疑用CDN这样会不稳定&#xff0c;那如果CDN的地址是本地呢&#xff1…

Linux下共享windows 一键搞定

编写脚本 [rootlocalhost ~]# vim dd.sh#!/bin/bash yum -y install samba mkdir -p /home/shar sss dddecho " [share]comment Shared Folderpath /homebrowseable yeswritable yesguest ok yes " > /etc/samba/smb.confchmod x /home/* useradd qqqq s…

2023 电赛 E 题 激光笔识别有误--使用K210/Openmv/树莓派/Jetson nano实现激光笔在黑色区域的目标检测

1. 引言 1.1 激光笔在黑色区域目标检测的背景介绍 在许多应用领域&#xff0c;如机器人导航、智能家居和自动驾驶等&#xff0c;目标检测技术的需求日益增加。本博客将聚焦于使用K210芯片实现激光笔在黑色区域的目标检测。 激光笔在黑色区域目标检测是一个有趣且具有挑战性的…

AssetBundleBrowser导入报错解决方案

第一次导入AssetBundleBrowser遇到报错有 Assets\Scenes\AssetBundles-Browser-master\AssetBundles-Browser-master\Tests\Editor\ABModelTests.cs(13,7): error CS0246: The type or namespace name Boo could not be found (are you missing a using directive or an assem…

web系统测试思路

一、输入框 1、字符型输入框&#xff1a; &#xff08;1&#xff09;字符型输入框&#xff1a;英文全角、英文半角、数字、空或者空格、特殊字符“~&#xff01;#&#xffe5;%……&*&#xff1f;[]{}”特别要注意单引号和&符号。禁止直接输入特殊字符时&#xff0c;…

【项目多人协作的困扰】git-cli 解决 git merge 合并时 lock 文件变化,忘记重新安装依赖的问题

项目多人协作的困扰 相信大家多多少少都遇到过&#xff0c;当主线分支的代码&#xff0c;合入到自己的分支的时候&#xff0c;如果这时候&#xff0c;主线中有一些依赖的更新或者添加或者删除&#xff0c;如果合入之后&#xff0c;没有及时的install的话&#xff0c;项目启动的…

Stable Diffusion - Candy Land (糖果世界) LoRA 提示词配置与效果展示

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/132145248 糖果世界 (Candy Land) 是一个充满甜蜜和奇幻的地方&#xff0c;由各种各样的糖果和巧克力构成。在糖果世界&#xff0c;可以看到&…

如何搭建个人的GPT网页服务

写在前面 在创建个人的 GPT网页之前&#xff0c;我登录了 Git 并尝试了一些开源项目&#xff0c;但是没有找到满足我个性化需求的设计。虽然许多收费的 GPT网页提供了一些免费额度&#xff0c;足够我使用&#xff0c;但是公司的安全策略会屏蔽这些网页。因此&#xff0c;我决定…

2.4G芯片XL2408开发板,SOP16封装,芯片集成1T 8051内核单片机

XL2408开发板可用于2.4G芯片XL2408开发板的开发调试。XL2408烧录仿真需要使用WS_LINK。XL2408开发板烧录仿真需要接4根线&#xff1a;PA13:DIO&#xff0c;PA14:CLK&#xff0c;VCC&#xff0c;GND。 XL2408芯片集成射频收发机、频率收生器、晶体振荡器、调制解调器等功能模块,…

链表——LinkedList类的概述和实现

LinkedList类 1.1LinkedList类概述 LinkedList类底层是基于双向链表结构实现的&#xff0c;不同于ArrayList类和Vector类是基于数组实现的&#xff1b;LinkedList类是非线程安全的&#xff1b;LinkedList类元素允许为null&#xff0c;允许重复元素&#xff1b;LinkedList类插…

2023下半年软考初级网络管理员报名入口-报名流程-备考方法

软考初级网络管理员2023下半年考试时间&#xff1a; 2023年下半年软考初级网络管理员的考试时间为11月4日、5日。考试时间在全国各地一致&#xff0c;建议考生提前备考。共分两科&#xff0c;第一科基础知识考试具体时间为9:00到11:30&#xff1b;第二科应用技术考试具体时间为…

AWS 中文入门开发教学 49- S3 - 区域间复制

知识点 S3 存储桶内容在全球区域间进行复制官网 https://docs.aws.amazon.com/zh_cn/AmazonS3/latest/userguide/replication.html 实战演习 在东京区建立存储桶 Name: woyaofuzhi启用版本控制(完成区域间复制必须开启版本控制) 在新加坡区建立存储桶 Name: woyaofuzhibac…

Vue2源码分析-环境搭建

安装rollup 项目初始化 npm init -y安装pnpm npm i -g pnpm安装rollup以及相关插件 pnpm i rollup rollup/plugin-babel babel/core babel/preset-env --save-dev在根目录创建rollup.config.js文件&#xff0c;并且配置如下 import babel from "rollup/plugin-babel…

配置固定二级子域名远程访问内网群晖NAS 7.X版 【内网穿透】——“cpolar内网穿透”

配置固定二级子域名远程访问内网群晖NAS 7.X版 【内网穿透】 文章目录 配置固定二级子域名远程访问内网群晖NAS 7.X版 【内网穿透】前言1. 创建一条固定数据隧道2. 找到“保留二级子域名”栏位3. 重新编辑之前建立的临时数据隧道4. 进入“在线隧道列表”页面5. 在其他浏览器访问…

基于 Emscripten + WebAssembly 实现浏览器操作 Excel

一、为什么要造这个轮子 【C】使用WebAssembly在浏览器端操作Excel_wasm文件用什么打开_你的薄荷醇的博客-CSDN博客使用WebAssembly在浏览器端操作Excel_wasm文件用什么打开https://blog.csdn.net/weixin_44305576/article/details/125545900?ops_request_misc%257B%2522requ…

【Redis】——AOF持久化

什么是AOF日志 AOF日志是redis为数据的持久化提供了的一个技术,日志里面记录着执行redis写命令。每当redis执行一条写命令的时候&#xff0c;就会将该命令记录 到AOF日志当中。当redis启动的时候&#xff0c;可以加载AOF日志中的所有指令&#xff0c;并执行这些指令恢复所有的…

FFmpeg将编码后数据保存成mp4

以下测试代码实现的功能是&#xff1a;持续从内存块中获取原始数据&#xff0c;然后依次进行解码、编码、最后保存成mp4视频文件。 可保存成单个视频文件&#xff0c;也可指定每个视频文件的总帧数&#xff0c;保存多个视频文件。 为了便于查看和修改&#xff0c;这里将可独立的…

webpack基础知识十:与webpack类似的工具还有哪些?区别?

一、模块化工具 模块化是一种处理复杂系统分解为更好的可管理模块的方式 可以用来分割&#xff0c;组织和打包应用。每个模块完成一个特定的子功能&#xff0c;所有的模块按某种方法组装起来&#xff0c;成为一个整体(bundle) 在前端领域中&#xff0c;并非只有webpack这一款…