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 不想启动(所以我拒绝了这个解决方案,因为它不起作用)。
我将 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 不想启动(所以我拒绝了这个解决方案,因为它不起作用)。