linux - i.mx6QUAD 中的平行相机

标签 linux camera imx6

我正在使用 i.m6QUAD 和 hummingboard2(hummingboard Gate)和 3.14.79 linux 内核来自这个站点 GitHub - SolidRun/linux-fslc:Linux 内核源代码树

我好久没玩ov5642并口相机了,我不能让它工作......

正如我在 hummingboard 示意图上看到的那样,我可以使用 IPU2_CSI1 来使用平行相机。

我这样设置设备树:

-在文件“imx6qdl-hummingboard2.dtsi”中(该文件包含 quad 和 dual-lite 的公共(public)部分)我设置 v4l2 以使用 IPU2/CSI1:

v4l2_cap_0 {
        compatible = "fsl,imx6q-v4l2-capture";
        ipu_id = <1>;   //default was <0>
        csi_id = <1>;   //default was <0>
        mclk_source = <0>;
        /*mipi_camera = <1>; */
        /*default_input = <0>; */
        status = "okay";
    };

-然后在文件“imx6q-hummingboard2.dts”中添加以下设置:

&iomuxc{
hummingboard2{
pinctrl_hummingboard2_parallel: hummingboard2_parallel{
fsl,pins= <                                                           //SHOULD BE fsl,pins or different ??
MX6QDL_PAD_EIM_A24__IPU2_CSI1_DATA19 0x0b0b1
MX6QDL_PAD_EIM_A23__IPU2_CSI1_DATA18 0x0b0b1
MX6QDL_PAD_EIM_A22__IPU2_CSI1_DATA17 0x0b0b1
MX6QDL_PAD_EIM_A21__IPU2_CSI1_DATA16 0x0b0b1
MX6QDL_PAD_EIM_A20__IPU2_CSI1_DATA15 0x0b0b1
MX6QDL_PAD_EIM_A19__IPU2_CSI1_DATA14 0x0b0b1
MX6QDL_PAD_EIM_A18__IPU2_CSI1_DATA13 0x0b0b1
MX6QDL_PAD_EIM_A17__IPU2_CSI1_DATA12 0x0b0b1
MX6QDL_PAD_EIM_DA11__IPU2_CSI1_HSYNC 0x0b0b1
MX6QDL_PAD_EIM_DA12__IPU2_CSI1_VSYNC 0x0b0b1
MX6QDL_PAD_EIM_A16__IPU2_CSI1_PIXCLK 0x0b0b1

MX6QDL_PAD_EIM_DA10__GPIO3_IO10 0x400130b1  //pwn
MX6QDL_PAD_EIM_DA15__GPIO3_IO15 0x400130b1 //rst
>;    
};
};
}; 

&i2c3{
ov5642: ov5642@3c{
compatible = "ovti,ov5642";
reg = <0x3c>;
clocks = <&clks IMX6QDL_CLK_CKO2>;
clock-names = "csi_mclk";

pwn-gpios = <&gpio3 10 GPIO_ACTIVE_LOW>;
rst-gpios = <&gpio3 15 GPIO_ACTIVE_LOW>;
ipu_id = <1>;  //the same as in v4l2
csi_id = <1>;  //the same as in v4l2
mclk = <24000000>;
mclk_source=<0>;   //the same as in v4l2

pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hummingboard2_parallel>;

};
}; 

当我重新启动系统并执行“sudo modprobe ov5642_camera”时,我进入了“dmesg”:

“20e0000.iomuxc 已请求引脚 MX6Q_PAD_EIM_A24;不能为 2-003c 申请。”

“pinctrl_hummingboard2_parallel”中定义的其他引脚也出现同样的错误

但是,当我将“fsl,pins”更改为“fsl,ipu”时,错误消失了,但 gstreamer 只显示黑屏并在一段时间后关闭。我使用的管道:

gst-launch-1.0 imxv4l2videosrc device=/dev/video0 imx-capture-mode=3 !解码箱!自动视频接收器

当我使用“fsl,pins”时,dmesg 消息显示在附加的图片“fls,pins-dmesg”中,当我使用“fsl,ipu”时,显示在图片“fsl,ipu-dmesg”中。

有人可以帮我运行这个相机吗?? fsl-ipu-dmesg fsl,pins-dmesg

最佳答案

好的。解决方案很麻烦——删除 imx6qdl-hummingboard2.dtsi 文件中使用的引脚声明。但是我不知道为什么在我第一次尝试删除引脚时我的 Linux 不想启动(所以我拒绝了这个解决方案,因为它不起作用)。

关于linux - i.mx6QUAD 中的平行相机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41896792/

相关文章:

xml - 使用 bash 脚本在 xml 中设置单个属性的属性值

linux - su 之后缺少文件操作数 cp

java - 在 Linux 环境中运行 java 应用程序时出现问题

linux - ftp 为发送的每个文件创建一个日志

android - 如何添加相机作为 Canvas 背景

ios - 自定义相机 View 不适用于 iOS 8/Xcode 6

opencl - 为什么全局内存分配成功,大小超过 GPU 限制?

linux - gstreamer 如何选择默认帧缓冲区?

android - 在 Android Api 上拍照时空指针异常 >=23

yocto - 如何为 Variscite iMX6 的 Yocto SD 卡镜像格式化分区