i.mx6QUAD 中的平行相机

parallel camera in i.mx6QUAD

我将 i.m6QUAD 与 hummingboard2(hummingboard Gate)和 3.14.79 linux 内核一起使用,来自此站点 GitHub - SolidRun/linux-fslc:Linux 内核源代码树

好久没玩ov5642并口相机了,上不了...

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

我这样设置设备树:

-in 文件 "imx6qdl-hummingboard2.dtsi"(此文件包含 quad 和 dual-lite 的公共部分)我设置 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":

"pin MX6Q_PAD_EIM_A24 already requested by 20e0000.iomuxc; cannot claim for 2-003c. "

在"pinctrl_hummingboard2_parallel"

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

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

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

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

有人可以帮我 运行 这个相机吗??

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