<?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: IMX95 Aquila ISP usage</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/IMX95-Aquila-ISP-usage/m-p/2398211#M246107</link>
    <description>&lt;P&gt;My current suspicion is that one of the following is happening:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;STRONG&gt;OV5640 is running in YUV mode rather than RAW Bayer mode&lt;/STRONG&gt; (most likely).&lt;/LI&gt;
&lt;LI&gt;The &lt;STRONG&gt;camera DT overlay is not the ISP-enabled variant&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;The &lt;STRONG&gt;Neo IPA/calibration components are missing&lt;/STRONG&gt; from the root filesystem.&lt;/LI&gt;
&lt;LI&gt;The media topology seen by the Neo pipeline does not match the expected i.MX95 ISP graph.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;The media-ctl -p output will usually pinpoint which of these is the actual issue.&lt;/P&gt;</description>
    <pubDate>Thu, 23 Jul 2026 09:46:31 GMT</pubDate>
    <dc:creator>yipingwang</dc:creator>
    <dc:date>2026-07-23T09:46:31Z</dc:date>
    <item>
      <title>IMX95 Aquila ISP usage</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX95-Aquila-ISP-usage/m-p/2398147#M246106</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I bought an Aquila IMX95 Evaluation Kit 2 with two ov5640 sensors (&lt;A href="https://www.toradex.com/cart" target="_blank"&gt;https://www.toradex.com/cart&lt;/A&gt;).&lt;/P&gt;&lt;P&gt;I have the drivers for the sensors. The board is flashed correctly, with the isp module active :&lt;/P&gt;&lt;PRE&gt;root@imx95-1:~# lsmod | grep -i isp&lt;BR /&gt;neoisp 69632 0&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The cameras are showing in libcamera :&lt;/P&gt;&lt;PRE&gt;root@imx95-1:~# libcamera&lt;BR /&gt;-sh: libcamera: command not found&lt;BR /&gt;root@imx95-1:~# cam -l&lt;BR /&gt;[17:17:31.010001558] [2747] INFO Camera camera_manager.cpp:327 libcamera v0.4.0+dirty (2026-06-03T11:26:44UTC)&lt;BR /&gt;[17:17:31.044088474] [2748] WARN CameraSensor camera_sensor_legacy.cpp:354 'ov5640 4-003c': Recommended V4L2 control 0x009a0922 not supported&lt;BR /&gt;[17:17:31.044159391] [2748] WARN CameraSensor camera_sensor_legacy.cpp:426 'ov5640 4-003c': The sensor kernel driver needs to be fixed&lt;BR /&gt;[17:17:31.044178224] [2748] WARN CameraSensor camera_sensor_legacy.cpp:428 'ov5640 4-003c': See Documentation/sensor_driver_requirements.rst in the libcamera sources for more information&lt;BR /&gt;[17:17:31.044882558] [2748] WARN CameraSensor camera_sensor_legacy.cpp:594 'ov5640 4-003c': Failed to retrieve the camera location&lt;BR /&gt;[17:17:31.044918891] [2748] WARN CameraSensor camera_sensor_legacy.cpp:616 'ov5640 4-003c': Rotation control not available, default to 0 degrees&lt;BR /&gt;[17:17:31.045722599] [2748] WARN CameraSensor camera_sensor_legacy.cpp:354 'ov5640 3-003c': Recommended V4L2 control 0x009a0922 not supported&lt;BR /&gt;[17:17:31.045762974] [2748] WARN CameraSensor camera_sensor_legacy.cpp:426 'ov5640 3-003c': The sensor kernel driver needs to be fixed&lt;BR /&gt;[17:17:31.045783849] [2748] WARN CameraSensor camera_sensor_legacy.cpp:428 'ov5640 3-003c': See Documentation/sensor_driver_requirements.rst in the libcamera sources for more information&lt;BR /&gt;[17:17:31.046362016] [2748] WARN CameraSensor camera_sensor_legacy.cpp:594 'ov5640 3-003c': Failed to retrieve the camera location&lt;BR /&gt;[17:17:31.046388308] [2748] WARN CameraSensor camera_sensor_legacy.cpp:616 'ov5640 3-003c': Rotation control not available, default to 0 degrees&lt;BR /&gt;[17:17:31.048068724] [2748] WARN V4L2 v4l2_pixelformat.cpp:346 Unsupported V4L2 pixel format AR30&lt;BR /&gt;[17:17:31.048640224] [2748] WARN V4L2 v4l2_pixelformat.cpp:346 Unsupported V4L2 pixel format AR30&lt;BR /&gt;[17:17:31.048904099] [2748] WARN V4L2 v4l2_pixelformat.cpp:346 Unsupported V4L2 pixel format AR30&lt;BR /&gt;[17:17:31.049145974] [2748] WARN V4L2 v4l2_pixelformat.cpp:346 Unsupported V4L2 pixel format AR30&lt;BR /&gt;[17:17:31.049451724] [2748] WARN V4L2 v4l2_pixelformat.cpp:346 Unsupported V4L2 pixel format AR30&lt;BR /&gt;[17:17:31.049694683] [2748] WARN V4L2 v4l2_pixelformat.cpp:346 Unsupported V4L2 pixel format AR30&lt;BR /&gt;[17:17:31.049937141] [2748] WARN V4L2 v4l2_pixelformat.cpp:346 Unsupported V4L2 pixel format AR30&lt;BR /&gt;[17:17:31.050184266] [2748] WARN V4L2 v4l2_pixelformat.cpp:346 Unsupported V4L2 pixel format AR30&lt;BR /&gt;[17:17:31.050477516] [2748] WARN V4L2 v4l2_pixelformat.cpp:346 Unsupported V4L2 pixel format AR30&lt;BR /&gt;[17:17:31.050720433] [2748] WARN V4L2 v4l2_pixelformat.cpp:346 Unsupported V4L2 pixel format AR30&lt;BR /&gt;[17:17:31.050962433] [2748] WARN V4L2 v4l2_pixelformat.cpp:346 Unsupported V4L2 pixel format AR30&lt;BR /&gt;[17:17:31.051201724] [2748] WARN V4L2 v4l2_pixelformat.cpp:346 Unsupported V4L2 pixel format AR30&lt;BR /&gt;[17:17:31.051441724] [2748] WARN V4L2 v4l2_pixelformat.cpp:346 Unsupported V4L2 pixel format AR30&lt;BR /&gt;[17:17:31.051683308] [2748] WARN V4L2 v4l2_pixelformat.cpp:346 Unsupported V4L2 pixel format AR30&lt;BR /&gt;[17:17:31.051925308] [2748] WARN V4L2 v4l2_pixelformat.cpp:346 Unsupported V4L2 pixel format AR30&lt;BR /&gt;[17:17:31.052259141] [2748] WARN V4L2 v4l2_pixelformat.cpp:346 Unsupported V4L2 pixel format AR30&lt;BR /&gt;[17:17:31.052510099] [2748] WARN V4L2 v4l2_pixelformat.cpp:346 Unsupported V4L2 pixel format AR30&lt;BR /&gt;[17:17:31.061185308] [2748] WARN V4L2 v4l2_pixelformat.cpp:346 Unsupported V4L2 pixel format AR30&lt;BR /&gt;[17:17:31.061469974] [2748] WARN V4L2 v4l2_pixelformat.cpp:346 Unsupported V4L2 pixel format AR30&lt;BR /&gt;[17:17:31.061736058] [2748] WARN V4L2 v4l2_pixelformat.cpp:346 Unsupported V4L2 pixel format AR30&lt;BR /&gt;[17:17:31.061988683] [2748] WARN V4L2 v4l2_pixelformat.cpp:346 Unsupported V4L2 pixel format AR30&lt;BR /&gt;[17:17:31.062242933] [2748] WARN V4L2 v4l2_pixelformat.cpp:346 Unsupported V4L2 pixel format AR30&lt;BR /&gt;[17:17:31.062489474] [2748] WARN V4L2 v4l2_pixelformat.cpp:346 Unsupported V4L2 pixel format AR30&lt;BR /&gt;[17:17:31.062733266] [2748] WARN V4L2 v4l2_pixelformat.cpp:346 Unsupported V4L2 pixel format AR30&lt;BR /&gt;[17:17:31.062980349] [2748] WARN V4L2 v4l2_pixelformat.cpp:346 Unsupported V4L2 pixel format AR30&lt;BR /&gt;[17:17:31.063228266] [2748] WARN V4L2 v4l2_pixelformat.cpp:346 Unsupported V4L2 pixel format AR30&lt;BR /&gt;[17:17:31.063470391] [2748] WARN V4L2 v4l2_pixelformat.cpp:346 Unsupported V4L2 pixel format AR30&lt;BR /&gt;[17:17:31.063712849] [2748] WARN V4L2 v4l2_pixelformat.cpp:346 Unsupported V4L2 pixel format AR30&lt;BR /&gt;[17:17:31.063953933] [2748] WARN V4L2 v4l2_pixelformat.cpp:346 Unsupported V4L2 pixel format AR30&lt;BR /&gt;[17:17:31.064216891] [2748] WARN V4L2 v4l2_pixelformat.cpp:346 Unsupported V4L2 pixel format AR30&lt;BR /&gt;[17:17:31.064463349] [2748] WARN V4L2 v4l2_pixelformat.cpp:346 Unsupported V4L2 pixel format AR30&lt;BR /&gt;[17:17:31.064706683] [2748] WARN V4L2 v4l2_pixelformat.cpp:346 Unsupported V4L2 pixel format AR30&lt;BR /&gt;[17:17:31.064958766] [2748] WARN V4L2 v4l2_pixelformat.cpp:346 Unsupported V4L2 pixel format AR30&lt;BR /&gt;[17:17:31.065200974] [2748] WARN V4L2 v4l2_pixelformat.cpp:346 Unsupported V4L2 pixel format AR30&lt;BR /&gt;Available cameras:&lt;BR /&gt;1: 'ov5640' (/base/soc/bus@42000000/i2c@42540000/camera@3c)&lt;BR /&gt;2: 'ov5640' (/base/soc/bus@42000000/i2c@426e0000/camera@3c)&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Just to check if the mipis are fine, I started a gstreamer pipeline and managed to get a stable 30fps stream on both cameras. I also managed to take snapshots with v4l2-ctl.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Now, I'd like to test the Aquila's ISP with my cameras to see what it can do.&lt;/P&gt;&lt;P&gt;Following the&amp;nbsp;&lt;A href="https://www.nxp.com/docs/en/user-guide/UG10215.pdf" target="_blank"&gt;https://www.nxp.com/docs/en/user-guide/UG10215.pdf&lt;/A&gt;&amp;nbsp;I added the environment variable :&lt;/P&gt;&lt;PRE&gt;root@imx95-1:~# export LIBCAMERA_PIPELINES_MATCH_LIST='nxp/neo'&lt;/PRE&gt;&lt;P&gt;But, doing so, the camera is not detected anymore by libcamera and I don't know why :&lt;/P&gt;&lt;PRE&gt;root@imx95-1:~# cam -l&lt;BR /&gt;[17:36:38.947430563] [2788] INFO Camera camera_manager.cpp:327 libcamera v0.4.0+dirty (2026-06-03T11:26:44UTC)&lt;BR /&gt;Available cameras:&lt;BR /&gt;root@imx95-1:~# &lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you for your reply !&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Cordially,&lt;/P&gt;</description>
      <pubDate>Thu, 23 Jul 2026 09:18:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX95-Aquila-ISP-usage/m-p/2398147#M246106</guid>
      <dc:creator>sben</dc:creator>
      <dc:date>2026-07-23T09:18:24Z</dc:date>
    </item>
    <item>
      <title>Re: IMX95 Aquila ISP usage</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX95-Aquila-ISP-usage/m-p/2398211#M246107</link>
      <description>&lt;P&gt;My current suspicion is that one of the following is happening:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;STRONG&gt;OV5640 is running in YUV mode rather than RAW Bayer mode&lt;/STRONG&gt; (most likely).&lt;/LI&gt;
&lt;LI&gt;The &lt;STRONG&gt;camera DT overlay is not the ISP-enabled variant&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;The &lt;STRONG&gt;Neo IPA/calibration components are missing&lt;/STRONG&gt; from the root filesystem.&lt;/LI&gt;
&lt;LI&gt;The media topology seen by the Neo pipeline does not match the expected i.MX95 ISP graph.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;The media-ctl -p output will usually pinpoint which of these is the actual issue.&lt;/P&gt;</description>
      <pubDate>Thu, 23 Jul 2026 09:46:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX95-Aquila-ISP-usage/m-p/2398211#M246107</guid>
      <dc:creator>yipingwang</dc:creator>
      <dc:date>2026-07-23T09:46:31Z</dc:date>
    </item>
    <item>
      <title>Re: IMX95 Aquila ISP usage</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX95-Aquila-ISP-usage/m-p/2398346#M246111</link>
      <description>&lt;DIV&gt;&lt;P&gt;Thanks for the reply.&lt;/P&gt;&lt;P&gt;I did some additional checks:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;You were right and the OV5640 was initially running in &lt;STRONG&gt;UYVY mode&lt;/STRONG&gt;, but I manually switched one sensor to &lt;STRONG&gt;RAW Bayer (SRGGB8)&lt;/STRONG&gt;.&lt;/LI&gt;&lt;LI&gt;media-ctl -p now shows:&lt;/LI&gt;&lt;/UL&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;LI-CODE lang="markup"&gt;root@imx95-1:~# media-ctl -p
Media controller API version 6.12.55

Media device information
------------------------
driver          mxc-isi
model           FSL Capture Media Device
serial          
bus info        platform:4ad50000.isi
hw revision     0x0
driver version  6.12.55

Device topology
- entity 1: crossbar (13 pads, 11 links, 8 routes)
            type V4L2 subdev subtype Unknown flags 0
            device node name /dev/v4l-subdev0
	routes:
		2/0 -&amp;gt; 5/0 [ACTIVE]
		3/0 -&amp;gt; 6/0 [ACTIVE]
		2/0 -&amp;gt; 7/0 [ACTIVE]
		3/0 -&amp;gt; 8/0 [ACTIVE]
		2/0 -&amp;gt; 9/0 [ACTIVE]
		3/0 -&amp;gt; 10/0 [ACTIVE]
		2/0 -&amp;gt; 11/0 [ACTIVE]
		3/0 -&amp;gt; 12/0 [ACTIVE]
	pad0: SINK,MUST_CONNECT
	pad1: SINK,MUST_CONNECT
	pad2: SINK,MUST_CONNECT
		[stream:0 fmt:SRGGB8_1X8/1920x1080 field:none]
		&amp;lt;- "4ac10000.syscon:formatter@20":1 [ENABLED,IMMUTABLE]
	pad3: SINK,MUST_CONNECT
		[stream:0 fmt:UYVY8_1X16/1920x1080 field:none]
		&amp;lt;- "4ac10000.syscon:formatter@120":1 [ENABLED,IMMUTABLE]
	pad4: SINK,MUST_CONNECT
		&amp;lt;- "mxc_isi.output":0 [ENABLED,IMMUTABLE]
	pad5: SOURCE
		[stream:0 fmt:SRGGB8_1X8/1920x1080 field:none]
		-&amp;gt; "mxc_isi.0":0 [ENABLED,IMMUTABLE]
	pad6: SOURCE
		[stream:0 fmt:UYVY8_1X16/1920x1080 field:none]
		-&amp;gt; "mxc_isi.1":0 [ENABLED,IMMUTABLE]
	pad7: SOURCE
		[stream:0 fmt:SRGGB8_1X8/1920x1080 field:none]
		-&amp;gt; "mxc_isi.2":0 [ENABLED,IMMUTABLE]
	pad8: SOURCE
		[stream:0 fmt:UYVY8_1X16/1920x1080 field:none]
		-&amp;gt; "mxc_isi.3":0 [ENABLED,IMMUTABLE]
	pad9: SOURCE
		[stream:0 fmt:SRGGB8_1X8/1920x1080 field:none]
		-&amp;gt; "mxc_isi.4":0 [ENABLED,IMMUTABLE]
	pad10: SOURCE
		[stream:0 fmt:UYVY8_1X16/1920x1080 field:none]
		-&amp;gt; "mxc_isi.5":0 [ENABLED,IMMUTABLE]
	pad11: SOURCE
		[stream:0 fmt:SRGGB8_1X8/1920x1080 field:none]
		-&amp;gt; "mxc_isi.6":0 [ENABLED,IMMUTABLE]
	pad12: SOURCE
		[stream:0 fmt:UYVY8_1X16/1920x1080 field:none]
		-&amp;gt; "mxc_isi.7":0 [ENABLED,IMMUTABLE]

- entity 15: mxc_isi.0 (2 pads, 2 links, 0 routes)
             type V4L2 subdev subtype Unknown flags 0
             device node name /dev/v4l-subdev1
	pad0: SINK
		[stream:0 fmt:UYVY8_1X16/1920x1080 field:none
		 compose.bounds:(0,0)/1920x1080
		 compose:(0,0)/1920x1080]
		&amp;lt;- "crossbar":5 [ENABLED,IMMUTABLE]
	pad1: SOURCE
		[stream:0 fmt:YUV8_1X24/1920x1080 field:none
		 crop.bounds:(0,0)/1920x1080
		 crop:(0,0)/1920x1080]
		-&amp;gt; "mxc_isi.0.capture":0 [ENABLED,IMMUTABLE]

- entity 18: mxc_isi.0.capture (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video2
	pad0: SINK
		&amp;lt;- "mxc_isi.0":1 [ENABLED,IMMUTABLE]

- entity 26: mxc_isi.1 (2 pads, 2 links, 0 routes)
             type V4L2 subdev subtype Unknown flags 0
             device node name /dev/v4l-subdev2
	pad0: SINK
		[stream:0 fmt:UYVY8_1X16/1920x1080 field:none
		 compose.bounds:(0,0)/1920x1080
		 compose:(0,0)/1920x1080]
		&amp;lt;- "crossbar":6 [ENABLED,IMMUTABLE]
	pad1: SOURCE
		[stream:0 fmt:YUV8_1X24/1920x1080 field:none
		 crop.bounds:(0,0)/1920x1080
		 crop:(0,0)/1920x1080]
		-&amp;gt; "mxc_isi.1.capture":0 [ENABLED,IMMUTABLE]

- entity 29: mxc_isi.1.capture (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video3
	pad0: SINK
		&amp;lt;- "mxc_isi.1":1 [ENABLED,IMMUTABLE]

- entity 37: mxc_isi.2 (2 pads, 2 links, 0 routes)
             type V4L2 subdev subtype Unknown flags 0
             device node name /dev/v4l-subdev3
	pad0: SINK
		[stream:0 fmt:UYVY8_1X16/1920x1080 field:none colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range
		 compose.bounds:(0,0)/1920x1080
		 compose:(0,0)/1920x1080]
		&amp;lt;- "crossbar":7 [ENABLED,IMMUTABLE]
	pad1: SOURCE
		[stream:0 fmt:YUV8_1X24/1920x1080 field:none colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range
		 crop.bounds:(0,0)/1920x1080
		 crop:(0,0)/1920x1080]
		-&amp;gt; "mxc_isi.2.capture":0 [ENABLED,IMMUTABLE]

- entity 40: mxc_isi.2.capture (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video4
	pad0: SINK
		&amp;lt;- "mxc_isi.2":1 [ENABLED,IMMUTABLE]

- entity 48: mxc_isi.3 (2 pads, 2 links, 0 routes)
             type V4L2 subdev subtype Unknown flags 0
             device node name /dev/v4l-subdev4
	pad0: SINK
		[stream:0 fmt:UYVY8_1X16/1920x1080 field:none colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range
		 compose.bounds:(0,0)/1920x1080
		 compose:(0,0)/1920x1080]
		&amp;lt;- "crossbar":8 [ENABLED,IMMUTABLE]
	pad1: SOURCE
		[stream:0 fmt:YUV8_1X24/1920x1080 field:none colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range
		 crop.bounds:(0,0)/1920x1080
		 crop:(0,0)/1920x1080]
		-&amp;gt; "mxc_isi.3.capture":0 [ENABLED,IMMUTABLE]

- entity 51: mxc_isi.3.capture (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video5
	pad0: SINK
		&amp;lt;- "mxc_isi.3":1 [ENABLED,IMMUTABLE]

- entity 59: mxc_isi.4 (2 pads, 2 links, 0 routes)
             type V4L2 subdev subtype Unknown flags 0
             device node name /dev/v4l-subdev5
	pad0: SINK
		[stream:0 fmt:UYVY8_1X16/1920x1080 field:none colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range
		 compose.bounds:(0,0)/1920x1080
		 compose:(0,0)/1920x1080]
		&amp;lt;- "crossbar":9 [ENABLED,IMMUTABLE]
	pad1: SOURCE
		[stream:0 fmt:YUV8_1X24/1920x1080 field:none colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range
		 crop.bounds:(0,0)/1920x1080
		 crop:(0,0)/1920x1080]
		-&amp;gt; "mxc_isi.4.capture":0 [ENABLED,IMMUTABLE]

- entity 62: mxc_isi.4.capture (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video6
	pad0: SINK
		&amp;lt;- "mxc_isi.4":1 [ENABLED,IMMUTABLE]

- entity 70: mxc_isi.5 (2 pads, 2 links, 0 routes)
             type V4L2 subdev subtype Unknown flags 0
             device node name /dev/v4l-subdev6
	pad0: SINK
		[stream:0 fmt:UYVY8_1X16/1920x1080 field:none colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range
		 compose.bounds:(0,0)/1920x1080
		 compose:(0,0)/1920x1080]
		&amp;lt;- "crossbar":10 [ENABLED,IMMUTABLE]
	pad1: SOURCE
		[stream:0 fmt:YUV8_1X24/1920x1080 field:none colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range
		 crop.bounds:(0,0)/1920x1080
		 crop:(0,0)/1920x1080]
		-&amp;gt; "mxc_isi.5.capture":0 [ENABLED,IMMUTABLE]

- entity 73: mxc_isi.5.capture (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video7
	pad0: SINK
		&amp;lt;- "mxc_isi.5":1 [ENABLED,IMMUTABLE]

- entity 81: mxc_isi.6 (2 pads, 2 links, 0 routes)
             type V4L2 subdev subtype Unknown flags 0
             device node name /dev/v4l-subdev7
	pad0: SINK
		[stream:0 fmt:UYVY8_1X16/1920x1080 field:none colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range
		 compose.bounds:(0,0)/1920x1080
		 compose:(0,0)/1920x1080]
		&amp;lt;- "crossbar":11 [ENABLED,IMMUTABLE]
	pad1: SOURCE
		[stream:0 fmt:YUV8_1X24/1920x1080 field:none colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range
		 crop.bounds:(0,0)/1920x1080
		 crop:(0,0)/1920x1080]
		-&amp;gt; "mxc_isi.6.capture":0 [ENABLED,IMMUTABLE]

- entity 84: mxc_isi.6.capture (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video8
	pad0: SINK
		&amp;lt;- "mxc_isi.6":1 [ENABLED,IMMUTABLE]

- entity 92: mxc_isi.7 (2 pads, 2 links, 0 routes)
             type V4L2 subdev subtype Unknown flags 0
             device node name /dev/v4l-subdev8
	pad0: SINK
		[stream:0 fmt:UYVY8_1X16/1920x1080 field:none colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range
		 compose.bounds:(0,0)/1920x1080
		 compose:(0,0)/1920x1080]
		&amp;lt;- "crossbar":12 [ENABLED,IMMUTABLE]
	pad1: SOURCE
		[stream:0 fmt:YUV8_1X24/1920x1080 field:none colorspace:jpeg xfer:srgb ycbcr:601 quantization:full-range
		 crop.bounds:(0,0)/1920x1080
		 crop:(0,0)/1920x1080]
		-&amp;gt; "mxc_isi.7.capture":0 [ENABLED,IMMUTABLE]

- entity 95: mxc_isi.7.capture (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video9
	pad0: SINK
		&amp;lt;- "mxc_isi.7":1 [ENABLED,IMMUTABLE]

- entity 103: mxc_isi.output (1 pad, 1 link)
              type Node subtype V4L flags 0
	pad0: SOURCE
		-&amp;gt; "crossbar":4 [ENABLED,IMMUTABLE]

- entity 110: 4ac10000.syscon:formatter@120 (2 pads, 2 links, 1 route)
              type V4L2 subdev subtype Unknown flags 0
              device node name /dev/v4l-subdev9
	routes:
		0/0 -&amp;gt; 1/0 [ACTIVE]
	pad0: SINK
		[stream:0 fmt:UYVY8_1X16/1920x1080 field:none]
		&amp;lt;- "csidev-4ad40000.csi":1 [ENABLED,IMMUTABLE]
	pad1: SOURCE
		[stream:0 fmt:UYVY8_1X16/1920x1080 field:none]
		-&amp;gt; "crossbar":3 [ENABLED,IMMUTABLE]

- entity 115: 4ac10000.syscon:formatter@20 (2 pads, 2 links, 1 route)
              type V4L2 subdev subtype Unknown flags 0
              device node name /dev/v4l-subdev10
	routes:
		0/0 -&amp;gt; 1/0 [ACTIVE]
	pad0: SINK
		[stream:0 fmt:SRGGB8_1X8/1920x1080]
		&amp;lt;- "csidev-4ad30000.csi":1 [ENABLED,IMMUTABLE]
	pad1: SOURCE
		[stream:0 fmt:SRGGB8_1X8/1920x1080]
		-&amp;gt; "crossbar":2 [ENABLED,IMMUTABLE]

- entity 120: csidev-4ad30000.csi (2 pads, 2 links, 1 route)
              type V4L2 subdev subtype Unknown flags 0
              device node name /dev/v4l-subdev11
	routes:
		0/0 -&amp;gt; 1/0 [ACTIVE]
	pad0: SINK
		[stream:0 fmt:SRGGB8_1X8/1920x1080 colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range]
		&amp;lt;- "ov5640 4-003c":0 [ENABLED]
	pad1: SOURCE
		[stream:0 fmt:SRGGB8_1X8/1920x1080 colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range]
		-&amp;gt; "4ac10000.syscon:formatter@20":0 [ENABLED,IMMUTABLE]

- entity 125: csidev-4ad40000.csi (2 pads, 2 links, 1 route)
              type V4L2 subdev subtype Unknown flags 0
              device node name /dev/v4l-subdev12
	routes:
		0/0 -&amp;gt; 1/0 [ACTIVE]
	pad0: SINK
		[stream:0 fmt:UYVY8_1X16/1920x1080 field:none]
		&amp;lt;- "ov5640 3-003c":0 [ENABLED]
	pad1: SOURCE
		[stream:0 fmt:UYVY8_1X16/1920x1080 field:none]
		-&amp;gt; "4ac10000.syscon:formatter@120":0 [ENABLED,IMMUTABLE]

- entity 130: ov5640 4-003c (1 pad, 1 link, 0 routes)
              type V4L2 subdev subtype Sensor flags 0
              device node name /dev/v4l-subdev13
	pad0: SOURCE
		[stream:0 fmt:SRGGB8_1X8/1920x1080@1/30 colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range
		 crop.bounds:(0,0)/2624x1964
		 crop:(336,434)/1952x1088]
		-&amp;gt; "csidev-4ad30000.csi":0 [ENABLED]

- entity 134: ov5640 3-003c (1 pad, 1 link, 0 routes)
              type V4L2 subdev subtype Sensor flags 0
              device node name /dev/v4l-subdev14
	pad0: SOURCE
		[stream:0 fmt:UYVY8_1X16/1920x1080@1/30 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range
		 crop.bounds:(0,0)/2624x1964
		 crop:(336,434)/1952x1088]
		-&amp;gt; "csidev-4ad40000.csi":0 [ENABLED]&lt;/LI-CODE&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;(The second OV5640 remains in UYVY mode for comparison)&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;So :&lt;/DIV&gt;&lt;UL&gt;&lt;LI&gt;OV5640 -&amp;gt; SRGGB8&lt;/LI&gt;&lt;LI&gt;CSI -&amp;gt; SRGGB8&lt;/LI&gt;&lt;LI&gt;Formatter -&amp;gt; SRGGB8&lt;/LI&gt;&lt;LI&gt;Crossbar -&amp;gt; SRGGB8&lt;/LI&gt;&lt;/UL&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;=&amp;gt; RAW Bayer is successfully propagated through the sensor, CSI and formatter.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The neoisp kernel module is loaded:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;root@imx95-1:~# modprobe neoisp
root@imx95-1:~# lsmod | grep -i isp
neoisp                 69632  0&lt;/LI-CODE&gt;&lt;DIV&gt;&lt;P&gt;An ISP node is present in the running device tree:&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;LI-CODE lang="markup"&gt;/sys/firmware/devicetree/base/soc/isp@4ae00000&lt;/LI-CODE&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;P&gt;=&amp;gt; However, I only see a single media device (/dev/media0) exposing the CSI/Formatter/ISI pipeline. No neoisp entity appears in the media graph.&amp;nbsp;I do not see any neoisp entity in the media graph, and I do not know whether this is expected.&lt;/P&gt;&lt;P&gt;=&amp;gt; cam -l (libcamera) still returns no available cameras.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;At this point the RAW Bayer path appears functional, but I cannot identify where the Neo ISP becomes part of the active pipeline.&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;How can I verify that the stream is actually processed by the Neo ISP rather than simply following the CSI -&amp;gt; Formatter -&amp;gt; ISI path?&lt;/DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;Also, is&amp;nbsp;&lt;A href="https://www.nxp.com/docs/en/user-guide/UG10215.pdf" target="_blank" rel="noopener"&gt;https://www.nxp.com/docs/en/user-guide/UG10215.pdf&lt;/A&gt;&amp;nbsp;still the recommended guide for this setup, or is there a more specific reference for OV5640 + Neo ISP on i.MX95?&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Cordially,&lt;/DIV&gt;</description>
      <pubDate>Thu, 23 Jul 2026 13:37:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX95-Aquila-ISP-usage/m-p/2398346#M246111</guid>
      <dc:creator>sben</dc:creator>
      <dc:date>2026-07-23T13:37:17Z</dc:date>
    </item>
    <item>
      <title>Re: IMX95 Aquila ISP usage</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX95-Aquila-ISP-usage/m-p/2398573#M246131</link>
      <description>&lt;P&gt;After looking at your logs, I believe the issue is not related to the MIPI interfaces or the OV5640 driver itself.&lt;/P&gt;
&lt;P&gt;The fact that:&lt;/P&gt;
&lt;UL class="alternate" type="square"&gt;
&lt;LI&gt;both OV5640 cameras are detected by libcamera&lt;/LI&gt;
&lt;LI&gt;GStreamer can stream at 30 fps&lt;/LI&gt;
&lt;LI&gt;v4l2-ctl can capture images&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;indicates that the sensor drivers, I2C communication,&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A class="issue-link" title="update all signs in coridors" href="https://jira.sw.nxp.com/browse/CSI-2" data-issue-key="CSI-2" target="_blank"&gt;&lt;/A&gt;&lt;DEL&gt;&lt;A class="issue-link" title="update all signs in coridors" href="https://jira.sw.nxp.com/browse/CSI-2" data-issue-key="CSI-2" target="_blank"&gt;CSI-2&lt;/A&gt;&lt;/DEL&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;links and media topology are all working correctly.&lt;/P&gt;
&lt;P&gt;The key point is that the NXP Neo ISP pipeline expects a RAW Bayer sensor input.&lt;/P&gt;
&lt;P&gt;OV5640 is a SoC image sensor with its own internal image processing pipeline, and in the NXP BSP it is typically used in YUV output mode (for example YUV422) rather than as a RAW Bayer sensor. In such a configuration, the camera can be used through the standard V4L2/libcamera pipeline, but it does not match the requirements of the Neo ISP pipeline.&lt;/P&gt;
&lt;P&gt;This would explain why:&lt;/P&gt;
&lt;UL class="alternate" type="square"&gt;
&lt;LI&gt;`cam -l` shows both OV5640 cameras by default&lt;/LI&gt;
&lt;LI&gt;after setting&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;export LIBCAMERA_PIPELINES_MATCH_LIST='nxp/neo'&lt;/P&gt;
&lt;P&gt;no cameras are detected anymore&lt;/P&gt;
&lt;P&gt;The cameras are still present in the system, but the NEO pipeline handler cannot find a compatible camera topology and therefore exposes zero cameras to libcamera.&lt;/P&gt;
&lt;P&gt;To verify the actual sensor output format, could you please provide the outputs of:&lt;/P&gt;
&lt;P&gt;```bash&lt;BR /&gt;media-ctl -p&lt;BR /&gt;v4l2-ctl --list-formats-ext&lt;BR /&gt;We are particularly interested in whether the sensor exposes any RAW Bayer formats such as:&lt;BR /&gt;SBGGR8&lt;BR /&gt;SBGGR10&lt;BR /&gt;SRGGB10&lt;BR /&gt;RG10&lt;BR /&gt;BA10&lt;BR /&gt;If only YUV formats (for example YUYV/UYVY) are available, then the camera is not operating in RAW mode and cannot be processed by the Neo ISP pipeline.&lt;BR /&gt;Although the OV5640 hardware is capable of RAW Bayer output, RAW support is not commonly enabled in BSP camera drivers, and the NXP Neo ISP stack also relies on sensor-specific tuning data. Even if RAW output can be enabled, the absence of a dedicated OV5640 tuning profile may prevent proper ISP operation (AE/AWB/image quality tuning).&lt;BR /&gt;If your goal is to evaluate the Neo ISP framework itself, it may be easier to use a sensor that is known to work with the NXP ISP stack. Common candidates include:&lt;/P&gt;
&lt;P&gt;OS08A20&lt;BR /&gt;OX03C10&lt;BR /&gt;OX05B1S&lt;BR /&gt;AR0521&lt;BR /&gt;AR1335 (may require additional tuning work)&lt;/P&gt;
&lt;P&gt;Could you share the output of the commands above? That will allow us to confirm whether the current OV5640 configuration is exposing RAW Bayer formats to the system.&lt;BR /&gt;Best regards,&lt;/P&gt;</description>
      <pubDate>Fri, 24 Jul 2026 07:12:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX95-Aquila-ISP-usage/m-p/2398573#M246131</guid>
      <dc:creator>yipingwang</dc:creator>
      <dc:date>2026-07-24T07:12:31Z</dc:date>
    </item>
  </channel>
</rss>

