<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>i.MX ProcessorsのトピックRe: Creating a MIPI CSI Camera driver on i.MX 8MP EVK</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1383527#M184148</link>
    <description>&lt;P&gt;Hi &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/194419"&gt;@chrispeterson&lt;/a&gt; ,&lt;/P&gt;&lt;P&gt;Firstly, the imx378.drv is important and it is used by the isp_media_server (or communicate with this later). Missing it is critical since there's no way for the isp_media_server to propagate the IOCTL calls to VVCAM kernel driver.&lt;/P&gt;&lt;P&gt;The &lt;STRONG&gt;IMX378.c&lt;/STRONG&gt; that you created in isp-imx will serve to generate the &lt;STRONG&gt;imx378.drv&lt;/STRONG&gt;. However, it might not be taken into account yet and you will need to add it via some relevant &lt;EM&gt;CMakelists.txt&lt;/EM&gt; files.&lt;/P&gt;&lt;P&gt;Together with &lt;STRONG&gt;IMX378.c&lt;/STRONG&gt;, you will ned an &lt;STRONG&gt;IMX378.xml&lt;/STRONG&gt; for the calibration parameters,&lt;/P&gt;&lt;P&gt;Aside from the&lt;STRONG&gt; imx378.drv&lt;/STRONG&gt;, there's will be &lt;STRONG&gt;libimx378.so&lt;/STRONG&gt;, &lt;STRONG&gt;libimx378.so.1&lt;/STRONG&gt;,&amp;nbsp;&lt;STRONG&gt;libimx378.so.1.0.0&lt;/STRONG&gt; generated. Let's suppose that you build your isp-imx with &lt;EM&gt;./build-all-isp.sh&lt;/EM&gt; command, then the generated files would be found in &lt;STRONG&gt;build_output_release_partial/opt/imx8-isp/&lt;/STRONG&gt; and &lt;STRONG&gt;build_output_release_partial/usr/lib/&lt;/STRONG&gt;.&amp;nbsp; You will need to copy them to to the target board :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;scp -r build_output_release_partial/opt/imx8-isp target@target-ip:/opt/

scp -r build_output_release_partial/usr/lib/* target@target-ip:/usr/lib/&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Also, you will need to adapt the &lt;STRONG&gt;start_isp.sh&lt;/STRONG&gt; script and &lt;STRONG&gt;run.sh&lt;/STRONG&gt; script to take into account of loading of your newly generated &lt;STRONG&gt;imx378.drv&lt;/STRONG&gt; and &lt;STRONG&gt;IMX378.xml&lt;/STRONG&gt; as well as the vvcam kernel driver (&lt;STRONG&gt;imx378.ko&lt;/STRONG&gt;) described below :&lt;/P&gt;&lt;P&gt;For lower level vvcam kernel module (imx378.ko generated from imx378_mipi.c), you will need to compile it and copy to target board under /lib/module/&amp;lt;kernel-version&amp;gt;/extra/sensor/imx378/ (you might need to create this folder if it does not exist).&amp;nbsp;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;On another note, I found a different porting guide to what I was using (IMX8MPCSPUG.pdf) and section 6.2.6 mentions that I need to add some defines to the cmake command, however I am using the Yocto build system and I do not see a way to do this.&lt;/P&gt;&lt;P&gt;Further, section 6.2.4 mentions needing a "&amp;lt;sensor&amp;gt;.drv" file and I see n way of creating one.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;-- &amp;gt; You can modify the isp-imx recipe to add patch for your custom stuff of IMX378 described above. Or you can build it separately then scp-ing to the target board.&lt;/P&gt;&lt;P&gt;You can inspire the example of ov2775 which is a good example.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;K.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 08 Dec 2021 17:24:02 GMT</pubDate>
    <dc:creator>khang_letruong</dc:creator>
    <dc:date>2021-12-08T17:24:02Z</dc:date>
    <item>
      <title>Creating a MIPI CSI Camera driver on i.MX 8MP EVK</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1382194#M184035</link>
      <description>&lt;P&gt;Hello all,&lt;/P&gt;&lt;P&gt;I am working on porting an IMX378 camera driver to the i.MX 8MP EVK board.&amp;nbsp; I am following the i.MX 8M Plus Camera and Display Guid, section 2 Camera Sensor Porting Guide.&lt;/P&gt;&lt;P&gt;I have followed section 2.7 Camera Sensor Driver in V4L2 mode and I get the following dmesg output:&lt;/P&gt;&lt;PRE&gt;6.440486] imx378: loading out-of-tree module taints kernel.&lt;BR /&gt;[ 6.449105] enter imx378_probe&lt;BR /&gt;[ 6.458998] enter imx378_retrieve_capture_properties&lt;BR /&gt;[ 6.466931] imx378 1-001a: supply DOVDD not found, using dummy regulator&lt;BR /&gt;[ 6.474198] imx378 1-001a: supply DVDD not found, using dummy regulator&lt;BR /&gt;[ 6.481092] imx378 1-001a: supply AVDD not found, using dummy regulator&lt;BR /&gt;[ 6.489336] enter imx378_regulator_enable&lt;BR /&gt;[ 6.493550] enter imx378_set_clk_rate&lt;BR /&gt;[ 6.497365] enter imx378_power_on&lt;BR /&gt;[ 6.500962] enter imx378_reset&lt;BR /&gt;[ 6.539481] imx8_media_dev: module is from the staging directory, the quality is unknown, you have been warned.&lt;BR /&gt;[ 6.558768] enter imx378_read_reg&lt;BR /&gt;[ 6.562991] enter imx378_read_reg&lt;BR /&gt;[ 6.590179] imx378_probe camera mipi imx378, is found&lt;BR /&gt;[ 6.648388] mx8-img-md: Registered sensor subdevice: imx378 1-001a (1)&lt;BR /&gt;[ 6.740810] enter imx378_link_setup&lt;BR /&gt;[ 6.744958] mx8-img-md: created link [imx378 1-001a] =&amp;gt; [mxc-mipi-csi2.0]&lt;BR /&gt;[ 6.751831] mxc-md 32c00000.bus:camera: mxc_md_create_links&lt;BR /&gt;[ 6.768425] enter viv_dwe_init_module&lt;BR /&gt;[ 6.772649] enter dwe_hw_probe&lt;BR /&gt;[ 6.778619] enter viv_isp_init_module&lt;BR /&gt;[ 6.783472] vvcam dewa74] vvcam isp driver registered&lt;BR /&gt;[ 7.206408] enter imx378_priv_ioctl (cmd = -2140645888)&lt;BR /&gt;[ 7.211671] enter imx378_query_capability&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;My media-ctl output is as follows:&lt;/P&gt;&lt;PRE&gt;root@imx8mpevk:~# media-ctl -p&lt;BR /&gt;[ 2002.167891] enter imx378_get_fmt&lt;BR /&gt;Media controller API version 5.10.52&lt;BR /&gt;&lt;BR /&gt;Media device information&lt;BR /&gt;------------------------&lt;BR /&gt;driver mxc-md&lt;BR /&gt;model FSL Capture Media Device&lt;BR /&gt;serial &lt;BR /&gt;bus info &lt;BR /&gt;hw revision 0x0&lt;BR /&gt;driver version 5.10.52&lt;BR /&gt;&lt;BR /&gt;Device topology&lt;BR /&gt;- entity 1: mxc-mipi-csi2.0 (8 pads, 1 link)&lt;BR /&gt;type Node subtype V4L flags 0&lt;BR /&gt;device node name /dev/v4l-subdev0&lt;BR /&gt;pad0: Sink&lt;BR /&gt;&amp;lt;- "imx378 1-001a":0 [ENABLED,IMMUTABLE]&lt;BR /&gt;pad1: Sink&lt;BR /&gt;pad2: Sink&lt;BR /&gt;pad3: Sink&lt;BR /&gt;pad4: Source&lt;BR /&gt;pad5: Source&lt;BR /&gt;pad6: Source&lt;BR /&gt;pad7: Source&lt;BR /&gt;&lt;BR /&gt;- entity 10: imx378 1-001a (1 pad, 1 link)&lt;BR /&gt;type V4L2 subdev subtype Sensor flags 0&lt;BR /&gt;device node name /dev/v4l-subdev1&lt;BR /&gt;pad0: Source&lt;BR /&gt;[fmt:SGBRG10_1X10/4056x3040 field:none]&lt;BR /&gt;-&amp;gt; "mxc-mipi-csi2.0":0 [ENABLED,IMMUTABLE]&lt;BR /&gt;&lt;BR /&gt;root@imx8mpevk:~#&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;At this point I can see that the I2C communication is working, however I cannot for the life of me figure out how to tell V4L2 to start the stream so I can view it.&amp;nbsp;&amp;nbsp; When I list V4L2 devices I do not see a video source:&lt;/P&gt;&lt;PRE&gt;root@imx8mpevk:~# v4l2-ctl --list-devices&lt;BR /&gt;[ 2130.712823] enter imx378_priv_ioctl (cmd = -2140645888)&lt;BR /&gt;[ 2130.718106] enter imx378_query_capability&lt;BR /&gt;():&lt;BR /&gt;/dev/v4l-subdev0&lt;BR /&gt;&lt;BR /&gt;(csi0):&lt;BR /&gt;/dev/v4l-subdev1&lt;BR /&gt;&lt;BR /&gt;FSL Capture Media Device (platform:mxc-md):&lt;BR /&gt;/dev/media0&lt;BR /&gt;&lt;BR /&gt;vsi_v4l2dec (platform:vsi_v4l2dec):&lt;BR /&gt;/dev/video1&lt;BR /&gt;&lt;BR /&gt;vsi_v4l2enc (platform:vsi_v4l2enc):&lt;BR /&gt;/dev/video0&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;What am I missing?&lt;/P&gt;&lt;P&gt;My DTS file is as below:&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright 2020 NXP
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

/dts-v1/;

#include "imx8mp-evk.dts"

&amp;amp;i2c2 {
	/delete-node/ov5640_mipi@3c;

	imx378_0: imx378_mipi@1a {
		compatible = "sony,imx378";
		reg = &amp;lt;0x1a&amp;gt;;
		pinctrl-names = "default";
		pinctrl-0 = &amp;lt;&amp;amp;pinctrl_csi0_pwn&amp;gt;, &amp;lt;&amp;amp;pinctrl_csi0_rst&amp;gt;, &amp;lt;&amp;amp;pinctrl_csi_mclk&amp;gt;;
		clocks = &amp;lt;&amp;amp;clk IMX8MP_CLK_IPP_DO_CLKO2&amp;gt;;
		clock-names = "csi_mclk";
		assigned-clocks = &amp;lt;&amp;amp;clk IMX8MP_CLK_IPP_DO_CLKO2&amp;gt;;
		assigned-clock-parents = &amp;lt;&amp;amp;clk IMX8MP_CLK_24M&amp;gt;;
		assigned-clock-rates = &amp;lt;24000000&amp;gt;;
		csi_id = &amp;lt;0&amp;gt;;
		pwn-gpios = &amp;lt;&amp;amp;gpio2 11 GPIO_ACTIVE_HIGH&amp;gt;;
		rst-gpios = &amp;lt;&amp;amp;gpio1 6 GPIO_ACTIVE_LOW&amp;gt;;
		mclk = &amp;lt;24000000&amp;gt;;
		mclk_source = &amp;lt;0&amp;gt;;
		status = "okay";

		port {
			imx378_mipi_0_ep: endpoint {
				data-lanes = &amp;lt;1 2 3 4&amp;gt;;
				clock-lanes = &amp;lt;0&amp;gt;;
				max-pixel-frequency = /bits/ 64 &amp;lt;500000000&amp;gt;;
				remote-endpoint = &amp;lt;&amp;amp;mipi_csi0_ep&amp;gt;;
			};
		};

	};
};

&amp;amp;i2c3 {
	clock-frequency = &amp;lt;100000&amp;gt;;
	pinctrl-names = "default";
	pinctrl-0 = &amp;lt;&amp;amp;pinctrl_i2c3&amp;gt;;
	status = "okay";

	ov5640_1: ov5640_mipi@3c {
		status = "disabled";
	};
};

&amp;amp;cameradev {
	status = "okay";
};

&amp;amp;isi_0 {
	status = "disabled";
};

&amp;amp;isi_1 {
	status = "disabled";
};

&amp;amp;isp_0 {
	status = "okay";
};

&amp;amp;dewarp {
	status = "okay";
};

&amp;amp;mipi_csi_0 {
	status = "okay";
	clock-frequency = &amp;lt;500000000&amp;gt;;
	assigned-clock-rates = &amp;lt;500000000&amp;gt;;

	port@0 {
		endpoint {
			remote-endpoint = &amp;lt;&amp;amp;imx378_mipi_0_ep&amp;gt;;
			data-lanes = &amp;lt;4&amp;gt;;
			csis-hs-settle = &amp;lt;16&amp;gt;;			
		};
	};
};

&amp;amp;mipi_csi_1 {
	status = "disabled";
};&lt;/LI-CODE&gt;&lt;P&gt;ISI driver, and VVCAM driver Attached&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P&gt;Chris&lt;/P&gt;</description>
      <pubDate>Mon, 06 Dec 2021 22:32:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1382194#M184035</guid>
      <dc:creator>chrispeterson</dc:creator>
      <dc:date>2021-12-06T22:32:51Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a MIPI CSI Camera driver on i.MX 8MP EVK</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1382985#M184100</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/194419"&gt;@chrispeterson&lt;/a&gt;,&lt;/P&gt;&lt;P&gt;I suppose that you are porting the camera driver for being used with the on-chip ISP since I saw that you disabled the ISI interfaces. For visualizing the output on the display, it would be better to run one of the gstreamer commands as&amp;nbsp; below (as indicated in the end of &lt;EM&gt;/opt/imx8-isp/bin/run.sh&lt;/EM&gt;) :&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;# gst-launch-1.0 -v v4l2src device=/dev/video0 ! "video/x-raw,format=YUY2,width=1920,height=1080" ! queue ! imxvideoconvert_g2d ! waylandsink
# gst-launch-1.0 -v v4l2src device=/dev/video0 ! "video/x-raw,format=YUY2,width=3840,height=2160" ! queue ! imxvideoconvert_g2d ! waylandsink
# gst-launch-1.0 -v v4l2src device=/dev/video0 ! waylandsink&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You can also stream the video out of the board via an Ethernet connection by following the instruction of following knowledge sharing :&lt;A href="https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/i-MX-8-GStreamer-User-Guide/ta-p/1098942" target="_blank"&gt;https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/i-MX-8-GStreamer-User-Guide/ta-p/1098942&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Or, you can also use the provided utility &lt;EM&gt;/opt/imx8-isp/bin/video_test&lt;/EM&gt; to dump either RAW or processed (YUV) images/frames out.&lt;/P&gt;&lt;P&gt;Hope that helps,&lt;/P&gt;&lt;P&gt;Khang&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 08 Dec 2021 02:05:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1382985#M184100</guid>
      <dc:creator>khang_letruong</dc:creator>
      <dc:date>2021-12-08T02:05:34Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a MIPI CSI Camera driver on i.MX 8MP EVK</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1383468#M184145</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/147542"&gt;@khang_letruong&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you for the response. I found that I can get a /dev/video2 device when I run&lt;/P&gt;&lt;PRE&gt;modprobe vvcam_video&lt;/PRE&gt;&lt;P&gt;I also get a couple more /dev/v4l-subdev* devices and another /dev/media1. The output of media-ctl is below&lt;/P&gt;&lt;PRE&gt;root@imx8mpevk:/opt/imx8-isp/bin# media-ctl -d 1 -p&lt;BR /&gt;Media controller API version 5.10.52&lt;BR /&gt;&lt;BR /&gt;Media device information&lt;BR /&gt;------------------------&lt;BR /&gt;driver vvcam-video&lt;BR /&gt;model viv_media&lt;BR /&gt;serial &lt;BR /&gt;bus info &lt;BR /&gt;hw revision 0x0&lt;BR /&gt;driver version 5.10.52&lt;BR /&gt;&lt;BR /&gt;Device topology&lt;BR /&gt;- entity 1: viv_v4l20 (1 pad, 1 link)&lt;BR /&gt;type Node subtype V4L flags 0&lt;BR /&gt;device node name /dev/video2&lt;BR /&gt;pad0: Sink&lt;BR /&gt;&amp;lt;- "vvcam-isp.0":0 [ENABLED]&lt;BR /&gt;&lt;BR /&gt;- entity 5: vvcam-dwe.0 (2 pads, 0 link)&lt;BR /&gt;type Node subtype V4L flags 0&lt;BR /&gt;device node name /dev/v4l-subdev2&lt;BR /&gt;pad0: Source&lt;BR /&gt;pad1: Sink&lt;BR /&gt;&lt;BR /&gt;- entity 8: vvcam-isp.0 (1 pad, 1 link)&lt;BR /&gt;type Node subtype V4L flags 0&lt;BR /&gt;device node name /dev/v4l-subdev3&lt;BR /&gt;pad0: Source&lt;BR /&gt;-&amp;gt; "viv_v4l20":0 [ENABLED]&lt;/PRE&gt;&lt;P&gt;So, at this point it looks like I have the camera connected to the CSI in media 0 and the ISP output connected to dev/video0.&amp;nbsp;&amp;nbsp; I don't see a way to connect the CSI to the ISP.&lt;/P&gt;&lt;P&gt;I attempted to run those commands you suggested and I get the following result:&lt;/P&gt;&lt;PRE&gt;root@imx8mpevk:/opt/imx8-isp/bin# ./isp_media_server CAMERA0 &amp;amp;&lt;BR /&gt;[1] 1223&lt;BR /&gt;root@imx8mpevk:/opt/imx8-isp/bin# gst-launch-1.0 -v v4l2src device=/dev/video2 ! waylandsink&lt;BR /&gt;[ 171.538913] viv_post_event: unsubscribed event id =2 type=0x08002000&lt;BR /&gt;[ 217.940400] enter imx378_priv_ioctl (cmd = -2140645888)&lt;BR /&gt;[ 217.951996] enter imx378_query_capability&lt;BR /&gt;[ 217.967758] enter isp_mi_stop&lt;BR /&gt;Setting pipeline to PAUSED ...&lt;BR /&gt;Pipeline is live and does not need PREROLL ...&lt;BR /&gt;Pipeline is PREROLLED ...&lt;BR /&gt;Setting pipeline to PLAYING ...&lt;BR /&gt;New clock: GstSystemClock&lt;BR /&gt;ERROR : [MediaPipeline] NativeSensor open error!&lt;BR /&gt;ERROR : [V4l2Event] initialize MediaPipeline error!&lt;BR /&gt;&lt;BR /&gt;[ 223.359212] viv_post_event: unsubscribed event id =14 type=0x08002000&lt;BR /&gt;[ 223.518907] viv_post_event: unsubscribed event id =14 type=0x08002000&lt;BR /&gt;e=0x08002000&lt;BR /&gt;/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, format=(string)YUY2, width=(int)3840, height=(int)2160, framerate=(fraction)120/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)2:6:11:1&lt;BR /&gt;/GstPipeline:pipeline0/GstWaylandSink:waylandsink0.GstPad:sink: caps = video/x-raw, format=(string)YUY2, width=(int)3840, height=(int)2160, framerate=(fraction)120/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)2:6:11:1&lt;BR /&gt;[ 223.846933] viv_post_event: unsubscribed event id =14 type=0x08002000&lt;BR /&gt;[ 224.014916] viv_post_event: unsubscribed event id =7 type=0x08002000&lt;BR /&gt;[ 224.178915] viv_post_event: unsubscribed event id =6 type=0x08002000&lt;BR /&gt;[ 224.342910] viv_post_event: unsubscribed event id =10 type=0x08002000&lt;BR /&gt;ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Failed to allocate required memory.&lt;BR /&gt;Additional debug info:&lt;BR /&gt;../git/sys/v4l2/gstv4l2src.c(659): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:&lt;BR /&gt;Buffer pool activation failed&lt;BR /&gt;ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.&lt;BR /&gt;Additional debug info:&lt;BR /&gt;../git/libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:&lt;BR /&gt;streaming stopped, reason not-negotiated (-4)&lt;BR /&gt;Execution ended after 0:00:06.506453500&lt;BR /&gt;Setting pipeline to NULL ...&lt;BR /&gt;[ 224.538919] viv_post_event: unsubscribed event id =1 type=0x08002000&lt;BR /&gt;Freeing pipeline ...&lt;/PRE&gt;&lt;P&gt;I seems that isp_media_server is expecting a native driver, however the one I have is v4l2 based (which I defaulted to since I didn't see any of the vvcam/native folders that the porting guide mentions).&lt;/P&gt;&lt;P&gt;On another note, I found a different porting guide to what I was using (IMX8MPCSPUG.pdf) and section 6.2.6 mentions that I need to add some defines to the cmake command, however I am using the Yocto build system and I do not see a way to do this.&lt;/P&gt;&lt;P&gt;Further, section 6.2.4 mentions needing a "&amp;lt;sensor&amp;gt;.drv" file and I see n way of creating one.&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P&gt;Chris&lt;/P&gt;</description>
      <pubDate>Wed, 08 Dec 2021 14:53:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1383468#M184145</guid>
      <dc:creator>chrispeterson</dc:creator>
      <dc:date>2021-12-08T14:53:19Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a MIPI CSI Camera driver on i.MX 8MP EVK</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1383527#M184148</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/194419"&gt;@chrispeterson&lt;/a&gt; ,&lt;/P&gt;&lt;P&gt;Firstly, the imx378.drv is important and it is used by the isp_media_server (or communicate with this later). Missing it is critical since there's no way for the isp_media_server to propagate the IOCTL calls to VVCAM kernel driver.&lt;/P&gt;&lt;P&gt;The &lt;STRONG&gt;IMX378.c&lt;/STRONG&gt; that you created in isp-imx will serve to generate the &lt;STRONG&gt;imx378.drv&lt;/STRONG&gt;. However, it might not be taken into account yet and you will need to add it via some relevant &lt;EM&gt;CMakelists.txt&lt;/EM&gt; files.&lt;/P&gt;&lt;P&gt;Together with &lt;STRONG&gt;IMX378.c&lt;/STRONG&gt;, you will ned an &lt;STRONG&gt;IMX378.xml&lt;/STRONG&gt; for the calibration parameters,&lt;/P&gt;&lt;P&gt;Aside from the&lt;STRONG&gt; imx378.drv&lt;/STRONG&gt;, there's will be &lt;STRONG&gt;libimx378.so&lt;/STRONG&gt;, &lt;STRONG&gt;libimx378.so.1&lt;/STRONG&gt;,&amp;nbsp;&lt;STRONG&gt;libimx378.so.1.0.0&lt;/STRONG&gt; generated. Let's suppose that you build your isp-imx with &lt;EM&gt;./build-all-isp.sh&lt;/EM&gt; command, then the generated files would be found in &lt;STRONG&gt;build_output_release_partial/opt/imx8-isp/&lt;/STRONG&gt; and &lt;STRONG&gt;build_output_release_partial/usr/lib/&lt;/STRONG&gt;.&amp;nbsp; You will need to copy them to to the target board :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;scp -r build_output_release_partial/opt/imx8-isp target@target-ip:/opt/

scp -r build_output_release_partial/usr/lib/* target@target-ip:/usr/lib/&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Also, you will need to adapt the &lt;STRONG&gt;start_isp.sh&lt;/STRONG&gt; script and &lt;STRONG&gt;run.sh&lt;/STRONG&gt; script to take into account of loading of your newly generated &lt;STRONG&gt;imx378.drv&lt;/STRONG&gt; and &lt;STRONG&gt;IMX378.xml&lt;/STRONG&gt; as well as the vvcam kernel driver (&lt;STRONG&gt;imx378.ko&lt;/STRONG&gt;) described below :&lt;/P&gt;&lt;P&gt;For lower level vvcam kernel module (imx378.ko generated from imx378_mipi.c), you will need to compile it and copy to target board under /lib/module/&amp;lt;kernel-version&amp;gt;/extra/sensor/imx378/ (you might need to create this folder if it does not exist).&amp;nbsp;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;On another note, I found a different porting guide to what I was using (IMX8MPCSPUG.pdf) and section 6.2.6 mentions that I need to add some defines to the cmake command, however I am using the Yocto build system and I do not see a way to do this.&lt;/P&gt;&lt;P&gt;Further, section 6.2.4 mentions needing a "&amp;lt;sensor&amp;gt;.drv" file and I see n way of creating one.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;-- &amp;gt; You can modify the isp-imx recipe to add patch for your custom stuff of IMX378 described above. Or you can build it separately then scp-ing to the target board.&lt;/P&gt;&lt;P&gt;You can inspire the example of ov2775 which is a good example.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;K.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 08 Dec 2021 17:24:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1383527#M184148</guid>
      <dc:creator>khang_letruong</dc:creator>
      <dc:date>2021-12-08T17:24:02Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a MIPI CSI Camera driver on i.MX 8MP EVK</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1384110#M184197</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/147542"&gt;@khang_letruong&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you very much for the help.&amp;nbsp; I was generating the imx378.drv file and had the IMX378.xml file already, they were just not being copied over.&amp;nbsp;&amp;nbsp; I did have to modify run.sh to add my sensor.&lt;/P&gt;&lt;P&gt;As a side note I looked through the porting guide and none of this information is in there.&lt;/P&gt;&lt;P&gt;So, I am now getting further.&amp;nbsp;&amp;nbsp; I can start the isp_media_server with the properly and it appears to run.&amp;nbsp; I get a /dev/video2 output device that I can run gst-laucher-1.0 or video_test on, however both of those fail no matter what settings I use.&amp;nbsp;&amp;nbsp; This appears to be a result of an error being returned by the start function of the ISP driver:&lt;/P&gt;&lt;PRE&gt;root@imx8mpevk:/opt/imx8-isp/bin#&lt;BR /&gt;root@imx8mpevk:/opt/imx8-isp/bin# ./run.sh -c imx378&lt;BR /&gt;RUN_SCRIPT=/opt/imx8-isp/bin/run.sh&lt;BR /&gt;RUN_SCRIPT_PATH=/opt/imx8-isp/bin&lt;BR /&gt;Trying configuration "imx378"...&lt;BR /&gt;Starting isp_media_server with configuration file CAMERA0&lt;BR /&gt;[ 1575.105955] enter imx378_priv_ioctl (cmd = -2140645888)&lt;BR /&gt;[ 1575.111223] enter imx378_query_capability&lt;BR /&gt;[ 1575.163435] enter imx378_priv_ioctl (cmd = -2140645888)&lt;BR /&gt;[ 1575.168688] enter imx378_query_capability&lt;BR /&gt;loading [imx378.drv]...&lt;BR /&gt;[ 1575.190939] enter imx378_priv_ioctl (cmd = 261)&lt;BR /&gt;[ 1575.197381] enter imx378_query_supports&lt;BR /&gt;WARN : [DEWARP_HW] dw[ 1575.201767] enter imx378_priv_ioctl (cmd = -2140645888)&lt;BR /&gt;e type /dev/v4l-subdev0 0&lt;BR /&gt;[ 1575.209895] enter imx378_query_capability&lt;BR /&gt;WARN : [DEWARP_HW] dwe type /dev/v4l-subdev1 1&lt;BR /&gt;WARN : [DEWARP_HW] dwe type /dev/v4l-subdev2 2&lt;BR /&gt;loading [imx378.drv]...&lt;BR /&gt;[ 1575.241807] enter imx378_priv_ioctl (cmd = 261)&lt;BR /&gt;[ 1575.248236] enter imx378_query_supports&lt;BR /&gt;loading [imx378.drv]...&lt;BR /&gt;[ 1575.252899] enter imx378_priv_ioctl (cmd = 261)&lt;BR /&gt;[ 1575.259324] enter imx378_query_supports&lt;BR /&gt;loading [imx378.drv]...&lt;BR /&gt;[ 1575.264312] enter imx378_priv_ioctl (cmd = 261)&lt;BR /&gt;[ 1575.270708] enter imx378_query_supports&lt;BR /&gt;[ 1575.285873] enter imx378_priv_ioctl (cmd = 261)&lt;BR /&gt;[ 1575.290449] enter imx378_query_supports&lt;BR /&gt;[ 1575.294366] enter imx378_priv_ioctl (cmd = 257)&lt;BR /&gt;[ 1575.298938] enter imx378_priv_ioctl (cmd = 260)&lt;BR /&gt;[ 1575.303495] enter imx378_get_clk&lt;BR /&gt;[ 1575.306798] enter imx378_priv_ioctl (cmd = 259)&lt;BR /&gt;[ 1575.311367] enter imx378_priv_ioctl (cmd = 256)&lt;BR /&gt;[ 1575.315970] enter imx378_priv_ioctl (cmd = 262)&lt;BR /&gt;[ 1575.320519] enter imx378_set_sensor_mode&lt;BR /&gt;[ 1575.324479] enter imx378_priv_ioctl (cmd = 263)&lt;BR /&gt;[ 1575.329027] enter imx378_get_sensor_mode&lt;BR /&gt;[ 1575.332983] enter imx378_priv_ioctl (cmd = 261)&lt;BR /&gt;[ 1575.337522] enter imx378_query_supports&lt;BR /&gt;isp input: 4056x3040 RAW10&lt;BR /&gt;isp output: 3840x2160 YUV422I&lt;BR /&gt;dewarp input: 3840x2160 YUV422I&lt;BR /&gt;dewarp output: 3840x2160 YUV422I&lt;BR /&gt;[ 1575.431535] enter isp_mi_stop&lt;BR /&gt;[ 1575.436987] enter imx378_set_fmt&lt;BR /&gt;[ 1575.440238] enter imx378_write_reg_arry&lt;BR /&gt;[ 1575.748238] enter imx378_get_format_code&lt;BR /&gt;[ 1575.752190] enter imx378_priv_ioctl (cmd = 285)&lt;BR /&gt;[ 1575.756739] enter imx378_set_test_pattern&lt;BR /&gt;[ 1575.760817] enter imx378_write_reg&lt;BR /&gt;[ 1575.764872] enter imx378_write_reg&lt;BR /&gt;[ 1575.768871] enter imx378_write_reg&lt;BR /&gt;[ 1575.772940] enter imx378_write_reg&lt;BR /&gt;[ 1575.776975] enter imx378_priv_ioctl (cmd = 279)&lt;BR /&gt;[ 1575.781529] enter imx378_set_fps&lt;BR /&gt;[ 1575.784774] enter imx378_write_reg&lt;BR /&gt;[ 1575.788775] enter imx378_write_reg&lt;BR /&gt;[ 1575.792785] enter imx378_write_reg&lt;BR /&gt;[ 1575.796770] enter imx378_write_reg&lt;BR /&gt;[ 1575.800766] enter imx378_priv_ioctl (cmd = 263)&lt;BR /&gt;[ 1575.805320] enter imx378_get_sensor_mode&lt;BR /&gt;[ 1575.809508] enter imx378_priv_ioctl (cmd = 274)&lt;BR /&gt;[ 1575.814056] enter imx378_set_exp&lt;BR /&gt;[ 1575.817397] enter imx378_write_reg&lt;BR /&gt;[ 1575.821409] enter imx378_write_reg&lt;BR /&gt;[ 1575.825409] enter imx378_write_reg&lt;BR /&gt;[ 1575.829436] enter imx378_write_reg&lt;BR /&gt;[ 1575.833441] enter imx378_priv_ioctl (cmd = 277)&lt;BR /&gt;[ 1575.837986] enter imx378_set_gain&lt;BR /&gt;[ 1575.841330] enter imx378_write_reg&lt;BR /&gt;[ 1575.845322] enter imx378_write_reg&lt;BR /&gt;[ 1575.849325] enter imx378_write_reg&lt;BR /&gt;[ 1575.853327] enter imx378_write_reg&lt;BR /&gt;[ERR] /home/nxa14866/data/verisilicon_sw_isp/units/cam_device/source/camera/cam_engine_interface.cpp:2156: start() = 13(ret)&lt;BR /&gt;[ERR] /home/nxa14866/data/verisilicon_sw_isp/units/cam_device/source/camera/cam_operations.cpp:427: inputConnect() = 13(ret)&lt;BR /&gt;[ERR] /home/nxa14866/data/verisilicon_sw_isp/units/cam_device/source/camera/cam_operations.cpp:1359: cameraConnect() = 13(ret)&lt;BR /&gt;[ERR] /home/nxa14866/data/verisilicon_sw_isp/units/cam_device/source/camera/cam_engine_interface.cpp:2187: streamingStart() = 12(ret)&lt;BR /&gt;[ERR] /home/nxa14866/data/verisilicon_sw_isp/units/cam_device/source/camera/cam_operations.cpp:1084: streamingStart() = 12(ret)&lt;BR /&gt;[ERR] /home/nxa14866/data/verisilicon_sw_isp/units/cam_device/source/camera/cam_operations.cpp:1639: previewStart() = 12(ret)&lt;BR /&gt;[ERR] /home/nxa14866/data/verisilicon_sw_isp/units/cam_device/source/camera/cam_engine_interface.cpp:2198: streamingStop() = 12(RET_WRONG_STATE)&lt;BR /&gt;[ERR] /home/nxa14866/data/verisilicon_sw_isp/units/cam_device/source/camera/cam_operations.cpp:1104: streamingStop() = 12(ret)&lt;BR /&gt;[ERR] /home/nxa14866/data/verisilicon_sw_isp/units/cam_device/source/[ 1581.094935] enter imx378_priv_ioctl (cmd = 272)&lt;BR /&gt;[ 1581.099651] enter imx378_s_stream&lt;BR /&gt;[ 1581.103013] enter imx378_write_reg&lt;BR /&gt;camera/cam_operations.cpp:1652: p[ 1581.107345] enter imx378_priv_ioctl (cmd = 260)&lt;BR /&gt;reviewStop() = 12(ret)&lt;BR /&gt;[ERR] /h[ 1581.114106] enter imx378_get_clk&lt;BR /&gt;ome/nxa14866/data/verisilicon_sw_[ 1581.120208] enter imx378_priv_ioctl (cmd = 259)&lt;BR /&gt;isp/units/cam_device/source/camer[ 1581.127589] enter imx378_priv_ioctl (cmd = 257)&lt;BR /&gt;a/cam_engine_interface.cpp:757: cprocEnableSet() = 12(ret)&lt;BR /&gt;[ERR] /home/nxa14866/data/verisilicon_sw_isp/units/cam_device/source/camera/cam_operations.cpp:820: inputDisconnect() = 12(ret)&lt;BR /&gt;[ERR] /home/nxa14866/data/verisilicon_sw_isp/units/cam_device/source/camera/cam_operations.cpp:1372: cameraDisconnect() = 12(ret)&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;As shown above, all the proper configuration is being written to the camera and it is just about to start the stream when the ISP start function fails with a return code of 13.&lt;/P&gt;&lt;P&gt;Looking through the code, return code of 13 is&lt;/P&gt;&lt;PRE&gt;#define RET_INVALID_PARM 13 //!&amp;lt; invalid parameter&lt;/PRE&gt;&lt;P&gt;However I cannot find any information on what parameter is wrong.&lt;/P&gt;&lt;P&gt;Any thoughts?&lt;/P&gt;&lt;P&gt;-Chris&lt;/P&gt;</description>
      <pubDate>Thu, 09 Dec 2021 15:18:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1384110#M184197</guid>
      <dc:creator>chrispeterson</dc:creator>
      <dc:date>2021-12-09T15:18:21Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a MIPI CSI Camera driver on i.MX 8MP EVK</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1384378#M184209</link>
      <description>&lt;P&gt;Hello&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/147542"&gt;@khang_letruong&lt;/a&gt; ,&lt;/P&gt;&lt;P&gt;Thank you very much for the help.&amp;nbsp; I was able to get further now that I have copied over the .drv and .xml files and updated the run.sh.&lt;/P&gt;&lt;P&gt;However I am not getting a parameter error from within the start function in cam_engine_interface.cpp as shown below.&lt;/P&gt;&lt;PRE&gt;root@imx8mpevk:/opt/imx8-isp/bin# ./run.sh -c imx378&lt;BR /&gt;RUN_SCRIPT=/opt/imx8-isp/bin/run.sh&lt;BR /&gt;RUN_SCRIPT_PATH=/opt/imx8-isp/bin&lt;BR /&gt;Trying configuration "imx378"...&lt;BR /&gt;Killing preexisting instances of video_test and isp_media_server:&lt;BR /&gt;PID TTY STAT TIME COMMAND 1033 pts/0 S+ 0:00 ./video_test -w 4048 -h 3040 -f RAW10 -t file -m 0 -d 2&lt;BR /&gt;[ 296.878947] viv_post_event: unsubscribed event id =4 type=0x08002000&lt;BR /&gt;Starting isp_media_server with configuration file CAMERA0&lt;BR /&gt;[ 297.038965] viv_post_event: unsubscribed event id =2 type=0x08002000&lt;BR /&gt;[ 304.427751] enter imx378_priv_ioctl (cmd = -2140645888)&lt;BR /&gt;[ 304.439580] enter imx378_query_capability&lt;BR /&gt;[ 304.483156] enter imx378_priv_ioctl (cmd = -2140645888)&lt;BR /&gt;[ 304.488406] enter imx378_query_capability&lt;BR /&gt;loading [imx378.drv]...&lt;BR /&gt;[ 304.510213] enter imx378_priv_ioctl (cmd = 261)&lt;BR /&gt;[ 304.516684] enter imx378_query_supports&lt;BR /&gt;WARN : [DEWARP_HW] dw[ 304.521098] enter imx378_priv_ioctl (cmd = -2140645888)&lt;BR /&gt;e type /dev/v4l-subdev0 0&lt;BR /&gt;[ 304.529218] enter imx378_query_capability&lt;BR /&gt;WARN : [DEWARP_HW] dwe type /dev/v4l-subdev1 1&lt;BR /&gt;WARN : [DEWARP_HW] dwe type /dev/v4l-subdev2 2&lt;BR /&gt;loading [imx378.drv]...[ 304.561912] enter imx378_priv_ioctl (cmd = 261)&lt;BR /&gt;&lt;BR /&gt;[ 304.568089] enter imx378_query_supports&lt;BR /&gt;loading [imx378.drv]...[ 304.572873] enter imx378_priv_ioctl (cmd = 261)&lt;BR /&gt;&lt;BR /&gt;[ 304.579125] enter imx378_query_supports&lt;BR /&gt;loading [imx378.drv]...[ 304.584259] enter imx378_priv_ioctl (cmd = 261)&lt;BR /&gt;&lt;BR /&gt;[ 304.590577] enter imx378_query_supports&lt;BR /&gt;[ 304.606186] enter imx378_priv_ioctl (cmd = 261)&lt;BR /&gt;[ 304.610754] enter imx378_query_supports&lt;BR /&gt;[ 304.614608] enter imx378_priv_ioctl (cmd = 257)&lt;BR /&gt;[ 304.619173] enter imx378_priv_ioctl (cmd = 260)&lt;BR /&gt;[ 304.623720] enter imx378_get_clk&lt;BR /&gt;[ 304.626963] enter imx378_priv_ioctl (cmd = 259)&lt;BR /&gt;[ 304.631530] enter imx378_priv_ioctl (cmd = 256)&lt;BR /&gt;[ 304.636073] enter imx378_priv_ioctl (cmd = 262)&lt;BR /&gt;[ 304.640612] enter imx378_set_sensor_mode&lt;BR /&gt;[ 304.644553] enter imx378_priv_ioctl (cmd = 263)&lt;BR /&gt;[ 304.649109] enter imx378_get_sensor_mode&lt;BR /&gt;[ 304.653054] enter imx378_priv_ioctl (cmd = 261)&lt;BR /&gt;[ 304.657593] enter imx378_query_supports&lt;BR /&gt;isp input: 4048x3040 RAW10&lt;BR /&gt;isp output: 3840x2160 YUV422I&lt;BR /&gt;dewarp input: 3840x2160 YUV422I&lt;BR /&gt;dewarp output: 3840x2160 YUV422I&lt;BR /&gt;[ 304.751846] enter isp_mi_stop&lt;BR /&gt;[ 304.757250] enter imx378_set_fmt&lt;BR /&gt;[ 304.760529] enter imx378_write_reg_arry&lt;BR /&gt;[ 304.905955] enter imx378_get_format_code&lt;BR /&gt;[ 304.909943] enter imx378_priv_ioctl (cmd = 285)&lt;BR /&gt;[ 304.914513] enter imx378_set_test_pattern&lt;BR /&gt;[ 304.918557] enter imx378_write_reg&lt;BR /&gt;[ 304.922576] enter imx378_write_reg&lt;BR /&gt;[ 304.926560] enter imx378_write_reg&lt;BR /&gt;[ 304.930558] enter imx378_write_reg&lt;BR /&gt;[ 304.934583] enter imx378_priv_ioctl (cmd = 279)&lt;BR /&gt;[ 304.939124] enter imx378_set_fps&lt;BR /&gt;[ 304.942349] enter imx378_write_reg&lt;BR /&gt;[ 304.946360] enter imx378_write_reg&lt;BR /&gt;[ 304.950353] enter imx378_write_reg&lt;BR /&gt;[ 304.954342] enter imx378_write_reg&lt;BR /&gt;[ 304.958352] enter imx378_priv_ioctl (cmd = 263)&lt;BR /&gt;[ 304.962900] enter imx378_get_sensor_mode&lt;BR /&gt;camEngineConfig.type = 1[ 304.967415] enter imx378_priv_ioctl (cmd = 274)&lt;BR /&gt;&lt;BR /&gt;camEngineConfig.pathConfig[0].w[ 304.973526] enter imx378_set_exp&lt;BR /&gt;idth = 3840&lt;BR /&gt;camEngineConfig.path[ 304.979670] enter imx378_write_reg&lt;BR /&gt;Config[0].height = 2160&lt;BR /&gt;camEngin[ 304.986491] enter imx378_write_reg&lt;BR /&gt;eConfig.pathConfig[0].mode = 4&lt;BR /&gt;c[ 304.992758] enter imx378_write_reg&lt;BR /&gt;amEngineConfig.pathConfig[0].layo[ 304.999031] enter imx378_write_reg&lt;BR /&gt;ut = 3&lt;BR /&gt;camEngineConfig.pathConfi[ 305.005318] enter imx378_priv_ioctl (cmd = 277)&lt;BR /&gt;g[0].alignMode = 0&lt;BR /&gt;camEngineConf[ 305.012126] enter imx378_set_gain&lt;BR /&gt;ig.pathConfig[1].width = 0&lt;BR /&gt;camEn[ 305.018323] enter imx378_write_reg&lt;BR /&gt;gineConfig.pathConfig[1].height =[ 305.025170] enter imx378_write_reg&lt;BR /&gt;0&lt;BR /&gt;camEngineConfig.pathConfig[1][ 305.031449] enter imx378_write_reg&lt;BR /&gt;.mode = 1&lt;BR /&gt;camEngineConfig.pathCo[ 305.037712] enter imx378_write_reg&lt;BR /&gt;nfig[1].layout = 3&lt;BR /&gt;camEngineConfig.pathConfig[1].alignMode = 0&lt;BR /&gt;camEngineConfig.pathConfig[2].width = 0&lt;BR /&gt;camEngineConfig.pathConfig[2].height = 0&lt;BR /&gt;camEngineConfig.pathConfig[2].mode = 1&lt;BR /&gt;camEngineConfig.pathConfig[2].layout = 3&lt;BR /&gt;camEngineConfig.pathConfig[2].alignMode = 0&lt;BR /&gt;camEngineConfig.pathConfig[3].width = 0&lt;BR /&gt;camEngineConfig.pathConfig[3].height = 0&lt;BR /&gt;camEngineConfig.pathConfig[3].mode = 1&lt;BR /&gt;camEngineConfig.pathConfig[3].layout = 3&lt;BR /&gt;camEngineConfig.pathConfig[3].alignMode = 65535&lt;BR /&gt;camEngineConfig.pathConfig[4].width = 0&lt;BR /&gt;camEngineConfig.pathConfig[4].height = 0&lt;BR /&gt;camEngineConfig.pathConfig[4].mode = 1&lt;BR /&gt;camEngineConfig.pathConfig[4].layout = 3&lt;BR /&gt;camEngineConfig.pathConfig[4].alignMode = 65535&lt;BR /&gt;camEngineConfig.data.sensor.hSensor = 281473366536816&lt;BR /&gt;camEngineConfig.data.sensor.hSubSensor = 0&lt;BR /&gt;camEngineConfig.data.sensor.hCamCalibDb = 281473366260096&lt;BR /&gt;camEngineConfig.data.sensor.ifSelect = 1&lt;BR /&gt;camEngineConfig.data.sensor.sampleEdge = 2&lt;BR /&gt;camEngineConfig.data.sensor.hSyncPol = 1&lt;BR /&gt;camEngineConfig.data.sensor.vSyncPol = 2&lt;BR /&gt;camEngineConfig.data.sensor.bayerPattern = 3&lt;BR /&gt;camEngineConfig.data.sensor.subSampling = 3&lt;BR /&gt;camEngineConfig.data.sensor.seqCCIR = 1&lt;BR /&gt;camEngineConfig.data.sensor.fieldSelection = 1&lt;BR /&gt;camEngineConfig.data.sensor.inputSelection = 2&lt;BR /&gt;camEngineConfig.data.sensor.dvpPinMapping = 0&lt;BR /&gt;camEngineConfig.data.sensor.mode = 4&lt;BR /&gt;camEngineConfig.data.sensor.acqWindow.hOffset = 0&lt;BR /&gt;camEngineConfig.data.sensor.acqWindow.vOffset = 0&lt;BR /&gt;camEngineConfig.data.sensor.acqWindow.width = 4048&lt;BR /&gt;camEngineConfig.data.sensor.acqWindow.height = 3040&lt;BR /&gt;camEngineConfig.data.sensor.outWindow.hOffset = 0&lt;BR /&gt;camEngineConfig.data.sensor.outWindow.vOffset = 0&lt;BR /&gt;camEngineConfig.data.sensor.outWindow.width = 4048&lt;BR /&gt;camEngineConfig.data.sensor.outWindow.height = 3040&lt;BR /&gt;camEngineConfig.data.sensor.isWindow.hOffset = 0&lt;BR /&gt;camEngineConfig.data.sensor.isWindow.vOffset = 0&lt;BR /&gt;camEngineConfig.data.sensor.isWindow.width = 4048&lt;BR /&gt;camEngineConfig.data.sensor.isWindow.height = 3040&lt;BR /&gt;camEngineConfig.data.sensor.mipiMode = 43&lt;BR /&gt;camEngineConfig.data.sensor.enable3D = 0&lt;BR /&gt;camEngineConfig.data.sensor.enableTestpattern = 0&lt;BR /&gt;camEngineConfig.data.sensor.flickerPeriod = 1&lt;BR /&gt;camEngineConfig.data.sensor.enableAfps = 0&lt;BR /&gt;camEngineConfig.data.sensor.szSensorName[256] =&lt;BR /&gt;camEngineConfig.data.sensor.szCsiName[256] =&lt;BR /&gt;camEngineConfig.data.sensor.csiFormat = 808534599&lt;BR /&gt;camEngineConfig.data.sensor.csiPad = 0&lt;BR /&gt;camEngineConfig.data.sensor.stitchingMode = 0&lt;BR /&gt;camEngineConfig.data.sensor.compress_curve.enable = 0&lt;BR /&gt;camEngineConfig.data.sensor.compress_curve.in_bit = 0&lt;BR /&gt;camEngineConfig.data.sensor.compress_curve.out_bit = 0&lt;BR /&gt;camEngineConfig.data.sensor.expand_curve.enable = 0&lt;BR /&gt;camEngineConfig.data.sensor.expand_curve.in_bit = 0&lt;BR /&gt;camEngineConfig.data.sensor.expand_curve.out_bit = 0&lt;BR /&gt;camEngineConfig.data.sensor.colorspace = 0&lt;BR /&gt;camEngineConfig.data.sensor.colorrange = 0&lt;BR /&gt;[ERR] /usr/src/debug/isp-imx/4.2.2.15.0-r0/isp-imx-4.2.2.15.0/units/cam_device/source/camera/cam_engine_interface.cpp:2340: start() = 13(ret)&lt;BR /&gt;[ERR] /usr/src/debug/isp-imx/4.2.2.15.0-r0/isp-imx-4.2.2.15.0/units/cam_device/source/camera/cam_operations.cpp:427: inputConnect() = 13(ret)&lt;BR /&gt;[ERR] /usr/src/debug/isp-imx/4.2.2.15.0-r0/isp-imx-4.2.2.15.0/units/cam_device/source/camera/cam_operations.cpp:1359: cameraConnect() = 13(ret)&lt;BR /&gt;[ERR] /usr/src/debug/isp-imx/4.2.2.15.0-r0/isp-imx-4.2.2.15.0/units/cam_device/source/camera/cam_engine_interface.cpp:2371: streamingStart() = 12(ret)&lt;BR /&gt;[ERR] /usr/src/debug/isp-imx/4.2.2.15.0-r0/isp-imx-4.2.2.15.0/units/cam_device/source/camera/cam_operations.cpp:1084: streamingStart() = 12(ret)&lt;BR /&gt;[ERR] /usr/src/debug/isp-imx/4.2.2.15.0-r0/isp-imx-4.2.2.15.0/units/cam_device/source/camera/cam_operations.cpp:1639: previewStart() = 12(ret)&lt;BR /&gt;[ERR] /usr/src/debug/isp-imx/4.2.2.15.0-r0/isp-imx-4.2.2.15.0/units/cam_device/source/camera/cam_engine_interface.cpp:2382: streamingStop() = 12(RET_WRONG_STATE)&lt;BR /&gt;[ERR] /usr/src/debug/isp-imx/4.2.2.15.0-r0/isp-imx-4.2.2.15.0/units/cam_device/source/camera/cam_operations.cpp:1104: streamingStop() = 12(ret)&lt;BR /&gt;[ERR] /usr/src/debug/isp-imx/4.2.2.15.0-r0/isp-imx-4.2.2.15.0/un[ 308.127902] enter imx378_priv_ioctl (cmd = 272)&lt;BR /&gt;its/cam_device/source/camera/cam_[ 308.133165] enter imx378_s_stream&lt;BR /&gt;operations.cpp:1652: previewStop([ 308.139233] enter imx378_write_reg&lt;BR /&gt;) = 12(ret)&lt;BR /&gt;[ERR] /usr/src/debu[ 308.146157] enter imx378_priv_ioctl (cmd = 260)&lt;BR /&gt;g/isp-imx/4.2.2.15.0-r0/isp-imx-4[ 308.152908] enter imx378_get_clk&lt;BR /&gt;.2.2.15.0/units/cam_device/source[ 308.158977] enter imx378_priv_ioctl (cmd = 259)&lt;BR /&gt;/camera/cam_engine_interface.cpp:[ 308.166368] enter imx378_priv_ioctl (cmd = 257)&lt;BR /&gt;757: cprocEnableSet() = 12(ret)&lt;BR /&gt;[ERR] /usr/src/debug/isp-imx/4.2.2.15.0-r0/isp-imx-4.2.2.15.0/units/cam_device/source/camera/cam_operations.cpp:820: inputDisconnect() = 12(ret)&lt;BR /&gt;[ERR] /usr/src/debug/isp-imx/4.2.2.15.0-r0/isp-imx-4.2.2.15.0/units/cam_device/source/camera/cam_operations.cpp:1372: cameraDisconnect() = 12(ret)&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;As can be seen above, I am gettin an invalid parameter error (return of 13).&amp;nbsp; So I modified the source to output the configuration and everything looks ok to me.&amp;nbsp; I have no idea why it is failing at this step.&lt;/P&gt;&lt;P&gt;Do you have any idea what would cause the CamEngineStart (I cannot find source for this function) to return a parameter error?&lt;/P&gt;&lt;P&gt;Thank you again for the help,&lt;/P&gt;&lt;P&gt;-Chris&lt;/P&gt;</description>
      <pubDate>Thu, 09 Dec 2021 22:37:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1384378#M184209</guid>
      <dc:creator>chrispeterson</dc:creator>
      <dc:date>2021-12-09T22:37:38Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a MIPI CSI Camera driver on i.MX 8MP EVK</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1384390#M184210</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/147542"&gt;@khang_letruong&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you very much for the suggestion, I got a lot further.&amp;nbsp; I can see the camera get configured and looks like it should work, however during starting the&amp;nbsp; ISP driver returns a parameter error as shown below.&lt;/P&gt;&lt;PRE&gt;root@imx8mpevk:/opt/imx8-isp/bin# ./run.sh -c imx378&lt;BR /&gt;RUN_SCRIPT=/opt/imx8-isp/bin/run.sh&lt;BR /&gt;RUN_SCRIPT_PATH=/opt/imx8-isp/bin&lt;BR /&gt;Trying configuration "imx378"...&lt;BR /&gt;Killing preexisting instances of video_test and isp_media_server:&lt;BR /&gt;PID TTY STAT TIME COMMAND 1033 pts/0 S+ 0:00 ./video_test -w 4048 -h 3040 -f RAW10 -t file -m 0 -d 2&lt;BR /&gt;[ 296.878947] viv_post_event: unsubscribed event id =4 type=0x08002000&lt;BR /&gt;Starting isp_media_server with configuration file CAMERA0&lt;BR /&gt;[ 297.038965] viv_post_event: unsubscribed event id =2 type=0x08002000&lt;BR /&gt;[ 304.427751] enter imx378_priv_ioctl (cmd = -2140645888)&lt;BR /&gt;[ 304.439580] enter imx378_query_capability&lt;BR /&gt;[ 304.483156] enter imx378_priv_ioctl (cmd = -2140645888)&lt;BR /&gt;[ 304.488406] enter imx378_query_capability&lt;BR /&gt;loading [imx378.drv]...&lt;BR /&gt;[ 304.510213] enter imx378_priv_ioctl (cmd = 261)&lt;BR /&gt;[ 304.516684] enter imx378_query_supports&lt;BR /&gt;WARN : [DEWARP_HW] dw[ 304.521098] enter imx378_priv_ioctl (cmd = -2140645888)&lt;BR /&gt;e type /dev/v4l-subdev0 0&lt;BR /&gt;[ 304.529218] enter imx378_query_capability&lt;BR /&gt;WARN : [DEWARP_HW] dwe type /dev/v4l-subdev1 1&lt;BR /&gt;WARN : [DEWARP_HW] dwe type /dev/v4l-subdev2 2&lt;BR /&gt;loading [imx378.drv]...[ 304.561912] enter imx378_priv_ioctl (cmd = 261)&lt;BR /&gt;&lt;BR /&gt;[ 304.568089] enter imx378_query_supports&lt;BR /&gt;loading [imx378.drv]...[ 304.572873] enter imx378_priv_ioctl (cmd = 261)&lt;BR /&gt;&lt;BR /&gt;[ 304.579125] enter imx378_query_supports&lt;BR /&gt;loading [imx378.drv]...[ 304.584259] enter imx378_priv_ioctl (cmd = 261)&lt;BR /&gt;&lt;BR /&gt;[ 304.590577] enter imx378_query_supports&lt;BR /&gt;[ 304.606186] enter imx378_priv_ioctl (cmd = 261)&lt;BR /&gt;[ 304.610754] enter imx378_query_supports&lt;BR /&gt;[ 304.614608] enter imx378_priv_ioctl (cmd = 257)&lt;BR /&gt;[ 304.619173] enter imx378_priv_ioctl (cmd = 260)&lt;BR /&gt;[ 304.623720] enter imx378_get_clk&lt;BR /&gt;[ 304.626963] enter imx378_priv_ioctl (cmd = 259)&lt;BR /&gt;[ 304.631530] enter imx378_priv_ioctl (cmd = 256)&lt;BR /&gt;[ 304.636073] enter imx378_priv_ioctl (cmd = 262)&lt;BR /&gt;[ 304.640612] enter imx378_set_sensor_mode&lt;BR /&gt;[ 304.644553] enter imx378_priv_ioctl (cmd = 263)&lt;BR /&gt;[ 304.649109] enter imx378_get_sensor_mode&lt;BR /&gt;[ 304.653054] enter imx378_priv_ioctl (cmd = 261)&lt;BR /&gt;[ 304.657593] enter imx378_query_supports&lt;BR /&gt;isp input: 4048x3040 RAW10&lt;BR /&gt;isp output: 3840x2160 YUV422I&lt;BR /&gt;dewarp input: 3840x2160 YUV422I&lt;BR /&gt;dewarp output: 3840x2160 YUV422I&lt;BR /&gt;[ 304.751846] enter isp_mi_stop&lt;BR /&gt;[ 304.757250] enter imx378_set_fmt&lt;BR /&gt;[ 304.760529] enter imx378_write_reg_arry&lt;BR /&gt;[ 304.905955] enter imx378_get_format_code&lt;BR /&gt;[ 304.909943] enter imx378_priv_ioctl (cmd = 285)&lt;BR /&gt;[ 304.914513] enter imx378_set_test_pattern&lt;BR /&gt;[ 304.918557] enter imx378_write_reg&lt;BR /&gt;[ 304.922576] enter imx378_write_reg&lt;BR /&gt;[ 304.926560] enter imx378_write_reg&lt;BR /&gt;[ 304.930558] enter imx378_write_reg&lt;BR /&gt;[ 304.934583] enter imx378_priv_ioctl (cmd = 279)&lt;BR /&gt;[ 304.939124] enter imx378_set_fps&lt;BR /&gt;[ 304.942349] enter imx378_write_reg&lt;BR /&gt;[ 304.946360] enter imx378_write_reg&lt;BR /&gt;[ 304.950353] enter imx378_write_reg&lt;BR /&gt;[ 304.954342] enter imx378_write_reg&lt;BR /&gt;[ 304.958352] enter imx378_priv_ioctl (cmd = 263)&lt;BR /&gt;[ 304.962900] enter imx378_get_sensor_mode&lt;BR /&gt;camEngineConfig.type = 1[ 304.967415] enter imx378_priv_ioctl (cmd = 274)&lt;BR /&gt;&lt;BR /&gt;camEngineConfig.pathConfig[0].w[ 304.973526] enter imx378_set_exp&lt;BR /&gt;idth = 3840&lt;BR /&gt;camEngineConfig.path[ 304.979670] enter imx378_write_reg&lt;BR /&gt;Config[0].height = 2160&lt;BR /&gt;camEngin[ 304.986491] enter imx378_write_reg&lt;BR /&gt;eConfig.pathConfig[0].mode = 4&lt;BR /&gt;c[ 304.992758] enter imx378_write_reg&lt;BR /&gt;amEngineConfig.pathConfig[0].layo[ 304.999031] enter imx378_write_reg&lt;BR /&gt;ut = 3&lt;BR /&gt;camEngineConfig.pathConfi[ 305.005318] enter imx378_priv_ioctl (cmd = 277)&lt;BR /&gt;g[0].alignMode = 0&lt;BR /&gt;camEngineConf[ 305.012126] enter imx378_set_gain&lt;BR /&gt;ig.pathConfig[1].width = 0&lt;BR /&gt;camEn[ 305.018323] enter imx378_write_reg&lt;BR /&gt;gineConfig.pathConfig[1].height =[ 305.025170] enter imx378_write_reg&lt;BR /&gt;0&lt;BR /&gt;camEngineConfig.pathConfig[1][ 305.031449] enter imx378_write_reg&lt;BR /&gt;.mode = 1&lt;BR /&gt;camEngineConfig.pathCo[ 305.037712] enter imx378_write_reg&lt;BR /&gt;nfig[1].layout = 3&lt;BR /&gt;camEngineConfig.pathConfig[1].alignMode = 0&lt;BR /&gt;camEngineConfig.pathConfig[2].width = 0&lt;BR /&gt;camEngineConfig.pathConfig[2].height = 0&lt;BR /&gt;camEngineConfig.pathConfig[2].mode = 1&lt;BR /&gt;camEngineConfig.pathConfig[2].layout = 3&lt;BR /&gt;camEngineConfig.pathConfig[2].alignMode = 0&lt;BR /&gt;camEngineConfig.pathConfig[3].width = 0&lt;BR /&gt;camEngineConfig.pathConfig[3].height = 0&lt;BR /&gt;camEngineConfig.pathConfig[3].mode = 1&lt;BR /&gt;camEngineConfig.pathConfig[3].layout = 3&lt;BR /&gt;camEngineConfig.pathConfig[3].alignMode = 65535&lt;BR /&gt;camEngineConfig.pathConfig[4].width = 0&lt;BR /&gt;camEngineConfig.pathConfig[4].height = 0&lt;BR /&gt;camEngineConfig.pathConfig[4].mode = 1&lt;BR /&gt;camEngineConfig.pathConfig[4].layout = 3&lt;BR /&gt;camEngineConfig.pathConfig[4].alignMode = 65535&lt;BR /&gt;camEngineConfig.data.sensor.hSensor = 281473366536816&lt;BR /&gt;camEngineConfig.data.sensor.hSubSensor = 0&lt;BR /&gt;camEngineConfig.data.sensor.hCamCalibDb = 281473366260096&lt;BR /&gt;camEngineConfig.data.sensor.ifSelect = 1&lt;BR /&gt;camEngineConfig.data.sensor.sampleEdge = 2&lt;BR /&gt;camEngineConfig.data.sensor.hSyncPol = 1&lt;BR /&gt;camEngineConfig.data.sensor.vSyncPol = 2&lt;BR /&gt;camEngineConfig.data.sensor.bayerPattern = 3&lt;BR /&gt;camEngineConfig.data.sensor.subSampling = 3&lt;BR /&gt;camEngineConfig.data.sensor.seqCCIR = 1&lt;BR /&gt;camEngineConfig.data.sensor.fieldSelection = 1&lt;BR /&gt;camEngineConfig.data.sensor.inputSelection = 2&lt;BR /&gt;camEngineConfig.data.sensor.dvpPinMapping = 0&lt;BR /&gt;camEngineConfig.data.sensor.mode = 4&lt;BR /&gt;camEngineConfig.data.sensor.acqWindow.hOffset = 0&lt;BR /&gt;camEngineConfig.data.sensor.acqWindow.vOffset = 0&lt;BR /&gt;camEngineConfig.data.sensor.acqWindow.width = 4048&lt;BR /&gt;camEngineConfig.data.sensor.acqWindow.height = 3040&lt;BR /&gt;camEngineConfig.data.sensor.outWindow.hOffset = 0&lt;BR /&gt;camEngineConfig.data.sensor.outWindow.vOffset = 0&lt;BR /&gt;camEngineConfig.data.sensor.outWindow.width = 4048&lt;BR /&gt;camEngineConfig.data.sensor.outWindow.height = 3040&lt;BR /&gt;camEngineConfig.data.sensor.isWindow.hOffset = 0&lt;BR /&gt;camEngineConfig.data.sensor.isWindow.vOffset = 0&lt;BR /&gt;camEngineConfig.data.sensor.isWindow.width = 4048&lt;BR /&gt;camEngineConfig.data.sensor.isWindow.height = 3040&lt;BR /&gt;camEngineConfig.data.sensor.mipiMode = 43&lt;BR /&gt;camEngineConfig.data.sensor.enable3D = 0&lt;BR /&gt;camEngineConfig.data.sensor.enableTestpattern = 0&lt;BR /&gt;camEngineConfig.data.sensor.flickerPeriod = 1&lt;BR /&gt;camEngineConfig.data.sensor.enableAfps = 0&lt;BR /&gt;camEngineConfig.data.sensor.szSensorName[256] =&lt;BR /&gt;camEngineConfig.data.sensor.szCsiName[256] =&lt;BR /&gt;camEngineConfig.data.sensor.csiFormat = 808534599&lt;BR /&gt;camEngineConfig.data.sensor.csiPad = 0&lt;BR /&gt;camEngineConfig.data.sensor.stitchingMode = 0&lt;BR /&gt;camEngineConfig.data.sensor.compress_curve.enable = 0&lt;BR /&gt;camEngineConfig.data.sensor.compress_curve.in_bit = 0&lt;BR /&gt;camEngineConfig.data.sensor.compress_curve.out_bit = 0&lt;BR /&gt;camEngineConfig.data.sensor.expand_curve.enable = 0&lt;BR /&gt;camEngineConfig.data.sensor.expand_curve.in_bit = 0&lt;BR /&gt;camEngineConfig.data.sensor.expand_curve.out_bit = 0&lt;BR /&gt;camEngineConfig.data.sensor.colorspace = 0&lt;BR /&gt;camEngineConfig.data.sensor.colorrange = 0&lt;BR /&gt;[ERR] /usr/src/debug/isp-imx/4.2.2.15.0-r0/isp-imx-4.2.2.15.0/units/cam_device/source/camera/cam_engine_interface.cpp:2340: start() = 13(ret)&lt;BR /&gt;[ERR] /usr/src/debug/isp-imx/4.2.2.15.0-r0/isp-imx-4.2.2.15.0/units/cam_device/source/camera/cam_operations.cpp:427: inputConnect() = 13(ret)&lt;BR /&gt;[ERR] /usr/src/debug/isp-imx/4.2.2.15.0-r0/isp-imx-4.2.2.15.0/units/cam_device/source/camera/cam_operations.cpp:1359: cameraConnect() = 13(ret)&lt;BR /&gt;[ERR] /usr/src/debug/isp-imx/4.2.2.15.0-r0/isp-imx-4.2.2.15.0/units/cam_device/source/camera/cam_engine_interface.cpp:2371: streamingStart() = 12(ret)&lt;BR /&gt;[ERR] /usr/src/debug/isp-imx/4.2.2.15.0-r0/isp-imx-4.2.2.15.0/units/cam_device/source/camera/cam_operations.cpp:1084: streamingStart() = 12(ret)&lt;BR /&gt;[ERR] /usr/src/debug/isp-imx/4.2.2.15.0-r0/isp-imx-4.2.2.15.0/units/cam_device/source/camera/cam_operations.cpp:1639: previewStart() = 12(ret)&lt;BR /&gt;[ERR] /usr/src/debug/isp-imx/4.2.2.15.0-r0/isp-imx-4.2.2.15.0/units/cam_device/source/camera/cam_engine_interface.cpp:2382: streamingStop() = 12(RET_WRONG_STATE)&lt;BR /&gt;[ERR] /usr/src/debug/isp-imx/4.2.2.15.0-r0/isp-imx-4.2.2.15.0/units/cam_device/source/camera/cam_operations.cpp:1104: streamingStop() = 12(ret)&lt;BR /&gt;[ERR] /usr/src/debug/isp-imx/4.2.2.15.0-r0/isp-imx-4.2.2.15.0/un[ 308.127902] enter imx378_priv_ioctl (cmd = 272)&lt;BR /&gt;its/cam_device/source/camera/cam_[ 308.133165] enter imx378_s_stream&lt;BR /&gt;operations.cpp:1652: previewStop([ 308.139233] enter imx378_write_reg&lt;BR /&gt;) = 12(ret)&lt;BR /&gt;[ERR] /usr/src/debu[ 308.146157] enter imx378_priv_ioctl (cmd = 260)&lt;BR /&gt;g/isp-imx/4.2.2.15.0-r0/isp-imx-4[ 308.152908] enter imx378_get_clk&lt;BR /&gt;.2.2.15.0/units/cam_device/source[ 308.158977] enter imx378_priv_ioctl (cmd = 259)&lt;BR /&gt;/camera/cam_engine_interface.cpp:[ 308.166368] enter imx378_priv_ioctl (cmd = 257)&lt;BR /&gt;757: cprocEnableSet() = 12(ret)&lt;BR /&gt;[ERR] /usr/src/debug/isp-imx/4.2.2.15.0-r0/isp-imx-4.2.2.15.0/units/cam_device/source/camera/cam_operations.cpp:820: inputDisconnect() = 12(ret)&lt;BR /&gt;[ERR] /usr/src/debug/isp-imx/4.2.2.15.0-r0/isp-imx-4.2.2.15.0/units/cam_device/source/camera/cam_operations.cpp:1372: cameraDisconnect() = 12(ret)&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;I modified the wrapper function to dump the config structure and I do not see anything that stands out that would cause a parameter error.&lt;/P&gt;&lt;P&gt;Any ideas?&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P&gt;Chris&lt;/P&gt;</description>
      <pubDate>Thu, 09 Dec 2021 23:05:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1384390#M184210</guid>
      <dc:creator>chrispeterson</dc:creator>
      <dc:date>2021-12-09T23:05:13Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a MIPI CSI Camera driver on i.MX 8MP EVK</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1385050#M184279</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/147542"&gt;@khang_letruong&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you very much for the help and suggestions.&lt;/P&gt;&lt;P&gt;I just needed to modify the run.sh for the imx378 and add the step to copy the files over in the recipie.&lt;/P&gt;&lt;P&gt;I did run into an issue where the CamEngineStart() call was returning RET_INVALID_PARM.&amp;nbsp; As it turns out there was something wrong with the IMX378.xml isp configuration - I copied the basler config and everything appears to work now.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If NXP people see this, it would be very helpful to have a step in the porting guide to modify the run.sh and add a copy of the .drv and .xml files.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Again, Thank you,&lt;/P&gt;&lt;P&gt;-Chris&lt;/P&gt;</description>
      <pubDate>Fri, 10 Dec 2021 20:23:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1385050#M184279</guid>
      <dc:creator>chrispeterson</dc:creator>
      <dc:date>2021-12-10T20:23:09Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a MIPI CSI Camera driver on i.MX 8MP EVK</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1385111#M184288</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/194419"&gt;@chrispeterson&lt;/a&gt; ,&lt;/P&gt;&lt;P&gt;Might it be an issue of HW (or wrong/incidental register's setting) during the streaming?&lt;/P&gt;&lt;P&gt;BR,&lt;BR /&gt;K.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 11 Dec 2021 02:42:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1385111#M184288</guid>
      <dc:creator>khang_letruong</dc:creator>
      <dc:date>2021-12-11T02:42:50Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a MIPI CSI Camera driver on i.MX 8MP EVK</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1385771#M184366</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/147542"&gt;@khang_letruong&lt;/a&gt;,&lt;/P&gt;&lt;P&gt;Something weird is going on.&amp;nbsp; The latest message from me was actually sent a day before the solution acceptance.&amp;nbsp; When I posted the message it just disappeared.&amp;nbsp; In the mean time I figured out the issue was my IMX378.xml file.&amp;nbsp;&amp;nbsp; (I changed to use the DAA3840_30MC_4K.xml file and then everything started working).&lt;/P&gt;&lt;P&gt;Thank you very much for the help.&lt;/P&gt;&lt;P&gt;-Chris&lt;/P&gt;</description>
      <pubDate>Mon, 13 Dec 2021 16:12:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1385771#M184366</guid>
      <dc:creator>chrispeterson</dc:creator>
      <dc:date>2021-12-13T16:12:33Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a MIPI CSI Camera driver on i.MX 8MP EVK</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1434144#M188632</link>
      <description>&lt;P&gt;Hi&amp;nbsp;@all,&lt;/P&gt;&lt;P&gt;I'm sorry for digging out this old thread, but I'm facing similar issues as&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/194419"&gt;@chrispeterson&lt;/a&gt;&amp;nbsp;did and hopefully somebody of you can help me.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Currently I'm trying to connect a Sony IMX327 image sensor via MIPI-CSI2 to the imx8mp. Since the sensor has no ISP capabilities I want to use the internal ISP of the imx8mp. It seems like there is a problem with the data exchange between the MIPI-CSI2 core and the ISP.&lt;BR /&gt;What I did so far:&lt;/P&gt;&lt;P&gt;- Implemented a vvcam kernel driver for the IMX327 based on the nxp example for OV2775. In principle the same that&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/194419"&gt;@chrispeterson&lt;/a&gt;&amp;nbsp;did.&lt;/P&gt;&lt;P&gt;- Changed the device-tree as follows:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="c"&gt;imx327_0: imx327@1a {
	compatible = "sony,imx327";
	reg = &amp;lt;0x1A&amp;gt;;
	csi_id = &amp;lt;0x00&amp;gt;;
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = &amp;lt;&amp;amp;pinctrl_powergood &amp;amp;pinctrl_imager_io&amp;gt;;
	pg-3v3-gpio = &amp;lt;&amp;amp;gpio3 19 GPIO_ACTIVE_HIGH&amp;gt;;
	pg-1v2-gpio = &amp;lt;&amp;amp;gpio3 21 GPIO_ACTIVE_HIGH&amp;gt;;
	pg-1v8-gpio = &amp;lt;&amp;amp;gpio3 23 GPIO_ACTIVE_HIGH&amp;gt;;
	pg-2v8-gpio = &amp;lt;&amp;amp;gpio3 25 GPIO_ACTIVE_HIGH&amp;gt;;		
	en-1v2-gpio = &amp;lt;&amp;amp;gpio3 20 GPIO_ACTIVE_HIGH&amp;gt;;
	en-1v8-gpio = &amp;lt;&amp;amp;gpio3 22 GPIO_ACTIVE_HIGH&amp;gt;;
	en-2v8-gpio = &amp;lt;&amp;amp;gpio3 24 GPIO_ACTIVE_HIGH&amp;gt;;
	sen-clk-en-gpio = &amp;lt;&amp;amp;gpio4 22 GPIO_ACTIVE_HIGH&amp;gt;;
	sen-rst-n-gpio  = &amp;lt;&amp;amp;gpio4 25 GPIO_ACTIVE_HIGH&amp;gt;;
	port {
		imx327_ep_0: endpoint {
			data-lanes = &amp;lt;1 2 3 4&amp;gt;;
	 		clock-lanes = &amp;lt;0&amp;gt;;
			max-pixel-frequency = /bits/ 64 &amp;lt;266000000&amp;gt;;
	 		remote-endpoint = &amp;lt;&amp;amp;mipi_csi0_ep&amp;gt;;
		};
	};
};

&amp;amp;mipi_csi_0 {
	status = "okay";

	port@0 {
		reg = &amp;lt;0&amp;gt;;
		mipi_csi0_ep: endpoint {
			remote-endpoint = &amp;lt;&amp;amp;imx327_ep_0&amp;gt;;
			data-lanes = &amp;lt;4&amp;gt;;
			csis-hs-settle = &amp;lt;2&amp;gt;;  // 4
			csis-clk-settle = &amp;lt;0&amp;gt;;
			csis-wclk;
		};
	};
};

&amp;amp;cameradev {
	status = "okay";
};

&amp;amp;isi_0 {
	status = "disabled";
};

&amp;amp;isp_0 {
	status = "okay";
};

&amp;amp;dewarp {
	status = "okay";
};&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- Added imx327.drv based on OV2775 and imx327.xml based on&amp;nbsp;DAA3840_30MC_4K.xml and changed resolution to 1920x1080. (Also the same as in the examples above)&lt;/P&gt;&lt;P&gt;- Changed run.sh script to support my drivers&lt;/P&gt;&lt;P&gt;After all these changes I can start the isp_media_server with start_isp.sh I see that my driver is loaded and the v4l-devices are generated properly. But I'm confused why there is no linking between the mipi and the isp. Can anybody confirm that this is correct?&lt;/P&gt;&lt;LI-CODE lang="c"&gt;RUN_SCRIPT=/opt/imx8-isp/bin/run.sh
RUN_SCRIPT_PATH=/opt/imx8-isp/bin
Trying configuration "imx327_1080p30"...
Removing vvcam-isp...
Removing vvcam-dwe...
Removing vvcam-video...
[  806.113804] enter viv_video_exit_module
Removing imx8-media-dev...
[  806.300133] : Unregistered all entities
Removing ov2775...
Removing os08a20...
Removing basler-camera-driver-vvcam...
Loading module imx327 ...
imx327
imx327                 20480  0
imx327 already loaded.
Loading module imx8-media-dev ...
imx8_media_dev
[  806.722106] imx8_media_dev: module is from the staging directory, the quality is unknown, you have been warned.
[  806.738391] mxc_md_probe
[  806.741860] mx8-img-md: Registered sensor subdevice: imx327 1-001a (1)
[  806.748716] mx8-img-md: created link [imx327 1-001a] =&amp;gt; [mxc-mipi-csi2.0]
[  806.755721] mxc-md 32c00000.bus:camera: mxc_md_create_links
Loaded /lib/modules/5.10.52+g0fe40616142b/kernel/drivers/staging/media/imx/imx8-media-dev.ko 
Loading module vvcam-video ...
[  806.799057] enter imx327_priv_ioctl (cmd = -2140645888)
[  806.805286] enter imx327_query_capability
vvcam_video
[  806.987356] enter viv_video_init_module
Loaded /lib/modules/5.10.52+g0fe40616142b/extra/video/vvcam-video.ko 
Loading module vvcam-dwe ...
[  807.085842] enter isp_mi_stop
vvcam_dwe
vvcam_dwe              28672  1
vvcam-dwe already loaded.
Loading module vvcam-isp ...
vvcam_isp
vvcam_isp              65536  1
vvcam-isp already loaded.
Starting isp_media_server with configuration file CAMERA0&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Then I tried to start the video with gstreamer and the provided program video_test, but I can't get any video data. (See the log below)&lt;/P&gt;&lt;LI-CODE lang="c"&gt;./video_test -w 1920 -h 1080 -f RAW12 -t 2 -m0 -d0
loading [imx327.drv]...
Info - IMX327_IsiHalQuerySensorIss (enter) 
Info - IMX327_IsiHalQuerySensorIss (exit)
WARN   : [DEWARP_HW] dwe type /dev/v4l-subdev0 0 
WARN   : [DEWARP_HW] dwe type /dev/v4l-subdev1 1 
WARN   : [DEWARP_HW] dwe type /dev/v4l-subdev2 2 
loading [imx327.drv]...
Info - IMX327_IsiHalQuerySensorIss (enter) 
Info - IMX327_IsiHalQuerySensorIss (exit)
Video Test:caps supports:{
	count = 1
	{
	index    = 0
	width    = 1920
	height   = 1080
	fps      = 30
	hdr_mode = 0
	}
}
loading [imx327.drv]...
Info - IMX327_IsiHalQuerySensorIss (enter) 
Info - IMX327_IsiHalQuerySensorIss (exit)
loading [imx327.drv]...
Info - IMX327_IsiHalQuerySensorIss (enter) 
Info - IMX327_IsiHalQuerySensorIss (exit)
Info - IMX327_IsiGetSensorIss (enter)
Info - IMX327_IsiGetSensorIss (exit)
Info - IMX327_IsiHalQuerySensorIss (enter) 
Info - IMX327_IsiHalQuerySensorIss (exit)
Info - IMX327_IsiCreateSensorIss (enter)
Info - IMX327_IsiSensorSetPowerIss: (enter)
Info - IMX327_IsiSensorSetPowerIss: set power 1
Info - IMX327_IsiSensorSetPowerIss: (exit)
Info - IMX327_IsiSensorGetClkIss: (enter)
Info - IMX327_IsiSensorGetClkIss: status:276111060 sensor_mclk:37125000 csi_max_pixel_clk:266000000
Info - IMX327_IsiSensorGetClkIss: (exit)
Info - IMX327_IsiSensorSetClkIss: (enter)
Info - IMX327_IsiSensorSetClkIss: status:1 sensor_mclk:37125000 csi_max_pixel_clk:266000000
Info - IMX327_IsiSensorSetClkIss: (exit)
Info - IMX327_IsiResetSensorIss: (enter)
Info - IMX327_IsiResetSensorIss: (exit)
Info - IMX327_IsiSetSensorModeIss (enter)
Info - IMX327_IsiSetSensorModeIss (exit) 
Info - IMX327_IsiCreateSensorIss (exit)
Info - IMX327_IsiGetSensorModeIss (enter)
Info - IMX327_IsiGetSensorModeIss (exit) 
Info - IMX327_IsiGetCapsIss (enter) 
Info - IMX327_IsiQuerySensorIss (enter) 
Info - IMX327_IsiHalQuerySensorIss (enter) 
Info - IMX327_IsiHalQuerySensorIss (exit)
Info - IMX327_IsiQuerySensorIss (exit)
Info - IMX327_IsiGetCapsIss (exit)
isp  input: 1920x1080 RAW12
isp output: 1920x1080 YUV422I
dewarp   input: 1920x1080 YUV422I
dewarp  output: 1920x1080 YUV422I
Info - IMX327_IsiSetupSensorIss (enter)
Info - IMX327_IsiSetupSensorIss (exit)
Info - IMX327_IsiSetTestPatternIss (enter)
Info - IMX327_IsiSetTestPatternIss: test pattern enable[0] mode[0]
Info - IMX327_IsiSetTestPatternIss: (exit)
Info - IMX327_IsiSetSensorFpsIss: (enter)
Info - IMX327_IsiSetSensorFpsIss: (exit)
Info - IMX327_IsiGetSensorModeIss (enter)
Info - IMX327_IsiGetSensorModeIss (exit) 
Info - IMX327_IsiGetSensorModeIss (enter)
Info - IMX327_IsiGetSensorModeIss (exit) 
Info - IMX327_IsiGetAeInfoIss (enter)
Info - IMX327_IsiGetAeInfoIss (exit)
Info - IMX327_IsiGetSensorFpsIss: (enter)
Info - IMX327_IsiGetSensorFpsIss: (exit)
Info - IMX327_IsiGetAeStartExposureIs (enter)
Info - IMX327_IsiGetAeStartExposureIs:get start exposure 36403200
Info - IMX327_IsiGetAeStartExposureIs: (exit)
Info - IMX327_IsiGetSensorModeIss (enter)
Info - IMX327_IsiGetSensorModeIss (exit) 
Info - IMX327_IsiGetAeInfoIss (enter)
Info - IMX327_IsiGetAeInfoIss (exit)
Info - IMX327_IsiSetIntegrationTimeIss (enter)
Info - IMX327_IsiSetIntegrationTimeIss set linear exp 400 
Info - IMX327_IsiSetIntegrationTimeIss (exit)
Info - IMX327_IsiSetGainIss (enter)
Info - IMX327_IsiSetGainIss set linear gain 3072
Info - IMX327_IsiSetGainIss (exit)
Info - IMX327_IsiGetIntegrationTimeIss (enter)
Info - IMX327_IsiGetIntegrationTimeIss (exit)
Info - IMX327_IsiGetGainIss (enter)
Info - IMX327_IsiGetGainIss (exit)
#### CsiSetFormat 1920 1080 842090322
Info - IMX327_IsiGetSensorIspStatusIss: (enter)
Info - IMX327_IsiGetSensorIspStatusIss: (exit)
Info - IMX327_IsiGetSensorIspStatusIss: (enter)
Info - IMX327_IsiGetSensorIspStatusIss: (exit)
Info - IMX327_IsiGetSensorIspStatusIss: (enter)
Info - IMX327_IsiGetSensorIspStatusIss: (exit)
Info - IMX327_IsiGetSensorModeIss (enter)
Info - IMX327_IsiGetSensorModeIss (exit) 
Info - IMX327_IsiGetSensorModeIss (enter)
Info - IMX327_IsiGetSensorModeIss (exit) 
Info - IMX327_IsiGetSensorIspStatusIss: (enter)
Info - IMX327_IsiGetSensorIspStatusIss: (exit)
CamEngineEnableCproc: set val  1 1 1 1.10 -15 1.00 0.00
Info - IMX327_IsiSensorSetStreamingIss (enter)
Info - IMX327_IsiSensorSetStreamingIss: set streaming 1
Info - IMX327_IsiSensorSetStreamingIss (exit) &lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I checked that the sensor is configured properly by measuring the traffic on all MIPI data/clock lanes. I read out the interrupt source register of the MIPI core and can see that the data is coming in until a FIFO overflow occures.&amp;nbsp;&lt;/P&gt;&lt;P&gt;For testing purposes I then activated the ISI. With this configuration there are no FIFO overflows and I can see the MIPI Frame Counter running up.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Due to that I assume that there must be a problem with the MIPI-CSI &amp;lt;-&amp;gt; ISP data exchange.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Has anybody an idea what's going wrong here? Maybe somebody can post the logs of a successful try.&lt;BR /&gt;Any help is appreciated.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Thanks in advance!&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 25 Mar 2022 12:36:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1434144#M188632</guid>
      <dc:creator>dh84</dc:creator>
      <dc:date>2022-03-25T12:36:37Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a MIPI CSI Camera driver on i.MX 8MP EVK</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1434793#M188675</link>
      <description>&lt;P&gt;In the meantime I had a look in the video_test application and added some debug prints. It seems like the "pipeline.warm.up" statement is failing.&lt;/P&gt;&lt;LI-CODE lang="c"&gt;INFO   : [VIDEOTEST] VIDIOC_S_EXT_CTRLS: ID: 0x98f901 Size: 65536 {&amp;lt;id&amp;gt;:&amp;lt;pipeline.warm.up&amp;gt;}
INFO   : [V4l2Event] get json request: {"id":"pipeline.warm.up"}
INFO   : [VIDEOTEST] VIDIOC_S_EXT_CTRLS: {
	"result" : -1
}
INFO   : [VIDEOTEST] VIDIOC_G_EXT_CTRLS: {
	"result" : -1
}&lt;/LI-CODE&gt;&lt;P&gt;Does somebody know why this can happen?&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;</description>
      <pubDate>Mon, 28 Mar 2022 11:16:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1434793#M188675</guid>
      <dc:creator>dh84</dc:creator>
      <dc:date>2022-03-28T11:16:31Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a MIPI CSI Camera driver on i.MX 8MP EVK</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1434861#M188683</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/74393"&gt;@dh84&lt;/a&gt; ,&lt;/P&gt;&lt;P&gt;You might try other values for following properties in dts, for example :&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;		csis-hs-settle = &amp;lt;13&amp;gt;;  // 4
		csis-clk-settle = &amp;lt;2&amp;gt;;&lt;/LI-CODE&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;K.&lt;/P&gt;</description>
      <pubDate>Mon, 28 Mar 2022 14:30:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1434861#M188683</guid>
      <dc:creator>khang_letruong</dc:creator>
      <dc:date>2022-03-28T14:30:48Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a MIPI CSI Camera driver on i.MX 8MP EVK</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1434873#M188686</link>
      <description>&lt;P&gt;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/74393"&gt;@dh84&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Have you tried enabling the isi?&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;&amp;amp;isi_0 {
	status = "okay";
};&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;-Chris&lt;/P&gt;</description>
      <pubDate>Mon, 28 Mar 2022 14:44:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1434873#M188686</guid>
      <dc:creator>chrispeterson</dc:creator>
      <dc:date>2022-03-28T14:44:56Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a MIPI CSI Camera driver on i.MX 8MP EVK</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1435209#M188708</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/194419"&gt;@chrispeterson&lt;/a&gt;,&lt;/P&gt;&lt;P&gt;thanks for your reply. Yes I've tried to activate the ISI.&lt;BR /&gt;If I try that and capture the image via the ISI, I can the see MIPI Frame counter is running up. So the data is taken from is mipi-csi and no overflows occure.&amp;nbsp;&lt;BR /&gt;That's the reason I assume, that something is wrong with the connection of MIPI-CSI to the ISP.&lt;/P&gt;&lt;P&gt;Did you have to add a linking between the cores manually through media-ctl?&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;</description>
      <pubDate>Tue, 29 Mar 2022 05:25:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1435209#M188708</guid>
      <dc:creator>dh84</dc:creator>
      <dc:date>2022-03-29T05:25:20Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a MIPI CSI Camera driver on i.MX 8MP EVK</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1435210#M188709</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/147542"&gt;@khang_letruong&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;&lt;P&gt;If I change the values, "MIPI Frame Start Errors" occure. So I think my values are ok. My Mipi Clock is 112 MHz with a datarate of 224 MBit/s per lane.&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;</description>
      <pubDate>Tue, 29 Mar 2022 05:27:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1435210#M188709</guid>
      <dc:creator>dh84</dc:creator>
      <dc:date>2022-03-29T05:27:59Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a MIPI CSI Camera driver on i.MX 8MP EVK</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1437087#M188826</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/194419"&gt;@chrispeterson&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/147542"&gt;@khang_letruong&lt;/a&gt;.,&lt;/P&gt;&lt;P&gt;I've made small progress. If I enable the parallel mode in the mipi csi driver (imx8-mipi-csi2-sam.c) as follows, there are no MIPI Overflows anymore.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="c"&gt;	}, {
		.code = MEDIA_BUS_FMT_SRGGB12_1X12,
		.fmt_reg = MIPI_CSIS_ISPCFG_FMT_RAW12,
//		.data_alignment = 16,
		.data_alignment = 32,		
	},
};&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I can see some image data behind the ISP with ~1 Frame / per minute and strange content.&amp;nbsp;&lt;BR /&gt;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/194419"&gt;@chrispeterson&lt;/a&gt;&amp;nbsp;I think you've also used RAW12 pixelformat. Did you have to change anything in the csi driver?&lt;/P&gt;&lt;P&gt;Many thanks,&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;</description>
      <pubDate>Thu, 31 Mar 2022 13:45:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1437087#M188826</guid>
      <dc:creator>dh84</dc:creator>
      <dc:date>2022-03-31T13:45:37Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a MIPI CSI Camera driver on i.MX 8MP EVK</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1437372#M188859</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/74393"&gt;@dh84&lt;/a&gt; ,&lt;/P&gt;&lt;P&gt;ISP examples such as ov2775 and basler cameras are also 12-bit RAW but do not require the modification as you did in imx8-mipi-csi2-sam.c.&lt;/P&gt;&lt;P&gt;Regards,&lt;BR /&gt;K&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 01 Apr 2022 03:56:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1437372#M188859</guid>
      <dc:creator>khang_letruong</dc:creator>
      <dc:date>2022-04-01T03:56:37Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a MIPI CSI Camera driver on i.MX 8MP EVK</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1437377#M188860</link>
      <description>&lt;P&gt;Btw, IMX327 supports both RAW10 and RAW12 outputs. So make sure that you have configured it to output RAW12.&lt;/P&gt;&lt;P&gt;RG,&lt;/P&gt;</description>
      <pubDate>Fri, 01 Apr 2022 04:09:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1437377#M188860</guid>
      <dc:creator>khang_letruong</dc:creator>
      <dc:date>2022-04-01T04:09:20Z</dc:date>
    </item>
    <item>
      <title>Re: Creating a MIPI CSI Camera driver on i.MX 8MP EVK</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1438989#M188974</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/12881"&gt;@all&lt;/a&gt;,&lt;/P&gt;&lt;P&gt;just for your information. I the meantime I got my sensor running. Indeed it was an issue of the image sensor configuration. It was outputting a few more pixels than expected. That reached to hang up the csi receiver.&lt;/P&gt;&lt;P&gt;Thanks again for your help.&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;</description>
      <pubDate>Tue, 05 Apr 2022 15:37:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1438989#M188974</guid>
      <dc:creator>dh84</dc:creator>
      <dc:date>2022-04-05T15:37:29Z</dc:date>
    </item>
  </channel>
</rss>

