<?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>topic Re: Creating a MIPI CSI Camera driver on i.MX 8MP EVK in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Creating-a-MIPI-CSI-Camera-driver-on-i-MX-8MP-EVK/m-p/1532480#M195983</link>
    <description>&lt;P&gt;Hi &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/194419"&gt;@chrispeterson&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm trying to integrate the IMX219 on the i.MX8MP. Now I'm able to get the stream and the issue with stream is FPS that I'm getting is 15 for 480p. When tried with the 144p, it increases to 20FPS. But setting 30FPS on the driver code.&lt;/P&gt;&lt;P&gt;Also there is a fish eye issue on the stream. Is it due to the xml file configuration?&lt;/P&gt;&lt;P&gt;VVCAM driver is attached for the reference. can you please guide on this.&lt;/P&gt;&lt;P&gt;Any help is appreciated.&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Charles&lt;/P&gt;</description>
    <pubDate>Wed, 05 Oct 2022 07:36:51 GMT</pubDate>
    <dc:creator>Amal_Antony3331</dc:creator>
    <dc:date>2022-10-05T07:36:51Z</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>

