<?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 imx477 sensor driver  for i.MX8M-Plus in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/imx477-sensor-driver-for-i-MX8M-Plus/m-p/1271067#M173489</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I am writing imx477 sensor driver for i.mx8m-plus based on some preexisting driver in kernel_source_code/drivers/media/i2c/imx319.c (which is part of official linux kernel)&lt;/P&gt;&lt;P&gt;Unfortunatelly I get some kernel error:&amp;nbsp;&lt;SPAN&gt;"mxc-md: probe of 32c00000.bus:camera failed with error -515"&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;As can be seen in dmesg shippet below.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I have the feeling that some system callback functions aremissing.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Any insight? Thank you&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;dmesg output:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.229148] bus: 'i2c': driver_probe_device: matched device 2-001a with driver imx477&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.229153] bus: 'i2c': really_probe: probing driver imx477 with device 2-001a&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.229181] imx477 2-001a: no pinctrl handle&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.229209] imx477 2-001a: ########## Probing IMX477 Driver ##########&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.236113] link-frequencies 0 value 450000000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.240597] imx477 2-001a: 2-001a supply VANA not found, using dummy regulator&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.247872] devices_kset: Moving 2-001a to end of list&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.247876] PM: Moving i2c:2-001a to end of list&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.247883] imx477 2-001a: Linked as a consumer to regulator.0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.247897] imx477 2-001a: 2-001a supply VDIG not found, using dummy regulator&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.255179] imx477 2-001a: 2-001a supply VDDL not found, using dummy regulator&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.273479] imx477 2-001a: $$$ Read I2C: IMX477 CHIP ID = 477 $$$&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.279644] imx477 2-001a: ########## End Probing IMX477##########&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.285839] driver: 'imx477': driver_bound: bound to device '2-001a'&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.285844] devices_kset: Moving 2-001a to end of list&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.285851] PM: Moving i2c:2-001a to end of list&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.285877] bus: 'i2c': really_probe: bound device 2-001a to driver imx477&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.660712] platform 32c00000.bus:camera: Retrying from deferred list&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.661350] bus: 'platform': driver_probe_device: matched device 32c00000.bus:camera with driver mxc-md&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.661358] bus: 'platform': really_probe: probing driver mxc-md with device 32c00000.bus:camera&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.661376] mxc-md 32c00000.bus:camera: no pinctrl handle&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.661518] device: 'video0': device_add&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.661570] PM: Adding info for No Bus:video0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.661672] mx8-img-md: Registered mxc_isi.0.capture as /dev/video0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.668100] mx8-img-md: Registered sensor subdevice: imx477 2-001a (1)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.674700] mx8-img-md: created link [mxc_isi.0] =&amp;gt; [mxc_isi.0.capture]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.681355] mx8-img-md: created link [mxc-mipi-csi2.0] =&amp;gt; [mxc_isi.0]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.687817] mx8-img-md: subdev_notifier_complete error exit&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.693453] mxc-md 32c00000.bus:camera: Sensor register failed&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.699324] mxc-md: probe of 32c00000.bus:camera failed with error -515&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Sat, 01 May 2021 11:35:36 GMT</pubDate>
    <dc:creator>malik_cisse</dc:creator>
    <dc:date>2021-05-01T11:35:36Z</dc:date>
    <item>
      <title>imx477 sensor driver  for i.MX8M-Plus</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx477-sensor-driver-for-i-MX8M-Plus/m-p/1271067#M173489</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I am writing imx477 sensor driver for i.mx8m-plus based on some preexisting driver in kernel_source_code/drivers/media/i2c/imx319.c (which is part of official linux kernel)&lt;/P&gt;&lt;P&gt;Unfortunatelly I get some kernel error:&amp;nbsp;&lt;SPAN&gt;"mxc-md: probe of 32c00000.bus:camera failed with error -515"&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;As can be seen in dmesg shippet below.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I have the feeling that some system callback functions aremissing.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Any insight? Thank you&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;dmesg output:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.229148] bus: 'i2c': driver_probe_device: matched device 2-001a with driver imx477&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.229153] bus: 'i2c': really_probe: probing driver imx477 with device 2-001a&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.229181] imx477 2-001a: no pinctrl handle&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.229209] imx477 2-001a: ########## Probing IMX477 Driver ##########&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.236113] link-frequencies 0 value 450000000&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.240597] imx477 2-001a: 2-001a supply VANA not found, using dummy regulator&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.247872] devices_kset: Moving 2-001a to end of list&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.247876] PM: Moving i2c:2-001a to end of list&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.247883] imx477 2-001a: Linked as a consumer to regulator.0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.247897] imx477 2-001a: 2-001a supply VDIG not found, using dummy regulator&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.255179] imx477 2-001a: 2-001a supply VDDL not found, using dummy regulator&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.273479] imx477 2-001a: $$$ Read I2C: IMX477 CHIP ID = 477 $$$&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.279644] imx477 2-001a: ########## End Probing IMX477##########&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.285839] driver: 'imx477': driver_bound: bound to device '2-001a'&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.285844] devices_kset: Moving 2-001a to end of list&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.285851] PM: Moving i2c:2-001a to end of list&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.285877] bus: 'i2c': really_probe: bound device 2-001a to driver imx477&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.660712] platform 32c00000.bus:camera: Retrying from deferred list&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.661350] bus: 'platform': driver_probe_device: matched device 32c00000.bus:camera with driver mxc-md&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.661358] bus: 'platform': really_probe: probing driver mxc-md with device 32c00000.bus:camera&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.661376] mxc-md 32c00000.bus:camera: no pinctrl handle&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.661518] device: 'video0': device_add&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.661570] PM: Adding info for No Bus:video0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.661672] mx8-img-md: Registered mxc_isi.0.capture as /dev/video0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.668100] mx8-img-md: Registered sensor subdevice: imx477 2-001a (1)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.674700] mx8-img-md: created link [mxc_isi.0] =&amp;gt; [mxc_isi.0.capture]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.681355] mx8-img-md: created link [mxc-mipi-csi2.0] =&amp;gt; [mxc_isi.0]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.687817] mx8-img-md: subdev_notifier_complete error exit&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.693453] mxc-md 32c00000.bus:camera: Sensor register failed&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[ 3.699324] mxc-md: probe of 32c00000.bus:camera failed with error -515&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 01 May 2021 11:35:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx477-sensor-driver-for-i-MX8M-Plus/m-p/1271067#M173489</guid>
      <dc:creator>malik_cisse</dc:creator>
      <dc:date>2021-05-01T11:35:36Z</dc:date>
    </item>
    <item>
      <title>Re: imx477 sensor driver  for i.MX8M-Plus</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx477-sensor-driver-for-i-MX8M-Plus/m-p/1271121#M173498</link>
      <description>&lt;P&gt;Hi Malik&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;one can try to use ov2775 as example and &lt;BR /&gt;&lt;A id="relatedDocsClick_3" href="https://www.nxp.com/webapp/Download?colCode=IMX8MPCSPUG" target="_blank" rel="noopener"&gt;&lt;STRONG&gt;i.MX 8M Plus Camera Sensor Porting User Guide&lt;/STRONG&gt;&lt;/A&gt;&lt;BR /&gt;&lt;A href="https://source.codeaurora.org/external/imx/linux-imx/tree/arch/arm64/boot/dts/freescale/imx8mp-evk-dual-ov2775.dts?h=lf-5.10.y" target="_blank"&gt;https://source.codeaurora.org/external/imx/linux-imx/tree/arch/arm64/boot/dts/freescale/imx8mp-evk-dual-ov2775.dts?h=lf-5.10.y&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.nxp.com/products/processors-and-microcontrollers/arm-processors/i-mx-applications-processors/i-mx-8-processors/i-mx-8m-plus-arm-cortex-a53-machine-learning-vision-multimedia-and-industrial-iot:IMX8MPLUS?tab=Documentation_Tab" target="_blank"&gt;https://www.nxp.com/products/processors-and-microcontrollers/arm-processors/i-mx-applications-processors/i-mx-8-processors/i-mx-8m-plus-arm-cortex-a53-machine-learning-vision-multimedia-and-industrial-iot:IMX8MPLUS?tab=Documentation_Tab&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Camera Enablement Package&lt;BR /&gt;&lt;A href="https://www.baslerweb.com/en/sales-support/downloads/software-downloads/basler-camera-enablement-package-fuer-nxps-i-mx-8m-plus-prozessor-ga/" target="_blank"&gt;https://www.baslerweb.com/en/sales-support/downloads/software-downloads/basler-camera-enablement-package-fuer-nxps-i-mx-8m-plus-prozessor-ga/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;prozessor-ga/&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;/P&gt;</description>
      <pubDate>Sun, 02 May 2021 23:01:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx477-sensor-driver-for-i-MX8M-Plus/m-p/1271121#M173498</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2021-05-02T23:01:33Z</dc:date>
    </item>
    <item>
      <title>Re: imx477 sensor driver  for i.MX8M-Plus</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx477-sensor-driver-for-i-MX8M-Plus/m-p/1271167#M173508</link>
      <description>&lt;P&gt;I will look at those examples.&lt;/P&gt;&lt;P&gt;Thank you Igor&lt;/P&gt;&lt;P&gt;Malik&lt;/P&gt;</description>
      <pubDate>Mon, 03 May 2021 06:58:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx477-sensor-driver-for-i-MX8M-Plus/m-p/1271167#M173508</guid>
      <dc:creator>malik_cisse</dc:creator>
      <dc:date>2021-05-03T06:58:42Z</dc:date>
    </item>
    <item>
      <title>Re: imx477 sensor driver  for i.MX8M-Plus</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx477-sensor-driver-for-i-MX8M-Plus/m-p/1273718#M173744</link>
      <description>&lt;P&gt;Hi, i'm having the same problem with a imx334 sensor, if i find anything useful i will keep you updated&lt;/P&gt;</description>
      <pubDate>Fri, 07 May 2021 13:18:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx477-sensor-driver-for-i-MX8M-Plus/m-p/1273718#M173744</guid>
      <dc:creator>gghy</dc:creator>
      <dc:date>2021-05-07T13:18:08Z</dc:date>
    </item>
    <item>
      <title>Re: imx477 sensor driver  for i.MX8M-Plus</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx477-sensor-driver-for-i-MX8M-Plus/m-p/1274314#M173799</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I finally solved the missing callback function issue.&lt;/P&gt;&lt;P&gt;One needs to implement dummy ".link_setup" callback function returning 0. The system is expecting this callback. This is a bug in the Kernel driver.&lt;/P&gt;&lt;P&gt;static const struct media_entity_operations ar0144_entity_ops = {&lt;BR /&gt;.link_setup = ar0144_link_setup,&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;static int ar0144_link_setup(struct media_entity *entity,&lt;BR /&gt;struct media_pad const *local,&lt;BR /&gt;struct media_pad const *remote,&lt;BR /&gt;u32 flags)&lt;BR /&gt;{&lt;BR /&gt;&lt;BR /&gt;return 0;&lt;BR /&gt;}&lt;/P&gt;</description>
      <pubDate>Mon, 10 May 2021 08:00:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx477-sensor-driver-for-i-MX8M-Plus/m-p/1274314#M173799</guid>
      <dc:creator>malik_cisse</dc:creator>
      <dc:date>2021-05-10T08:00:54Z</dc:date>
    </item>
    <item>
      <title>Re: imx477 sensor driver  for i.MX8M-Plus</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx477-sensor-driver-for-i-MX8M-Plus/m-p/1274367#M173803</link>
      <description>&lt;P&gt;Thank you Igor.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Yes, Basler Cam is definitelly a good source of knowledge to get started.&lt;/P&gt;&lt;P&gt;Do you know if one can buy the NXP devkit + Basler cam?&lt;/P&gt;&lt;P&gt;Thx, Malik&lt;/P&gt;</description>
      <pubDate>Mon, 10 May 2021 09:02:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx477-sensor-driver-for-i-MX8M-Plus/m-p/1274367#M173803</guid>
      <dc:creator>malik_cisse</dc:creator>
      <dc:date>2021-05-10T09:02:59Z</dc:date>
    </item>
    <item>
      <title>Re: imx477 sensor driver  for i.MX8M-Plus</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx477-sensor-driver-for-i-MX8M-Plus/m-p/1274511#M173817</link>
      <description>&lt;P&gt;one can look at&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/evaluation-kit-for-the-i-mx-8m-plus-applications-processor:8MPLUSLPD4-EVK#buy" target="_blank"&gt;https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/evaluation-kit-for-the-i-mx-8m-plus-applications-processor:8MPLUSLPD4-EVK#buy&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.baslerweb.com/en/embedded-vision/embedded-vision-portfolio/embedded-vision-kits/daa3840-30mc-imx8mp-evk/" target="_blank"&gt;https://www.baslerweb.com/en/embedded-vision/embedded-vision-portfolio/embedded-vision-kits/daa3840-30mc-imx8mp-evk/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;/P&gt;</description>
      <pubDate>Mon, 10 May 2021 13:15:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx477-sensor-driver-for-i-MX8M-Plus/m-p/1274511#M173817</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2021-05-10T13:15:47Z</dc:date>
    </item>
    <item>
      <title>Re: imx477 sensor driver  for i.MX8M-Plus</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx477-sensor-driver-for-i-MX8M-Plus/m-p/1480938#M191965</link>
      <description>&lt;P&gt;Hi Malik,&lt;/P&gt;&lt;P&gt;We've got the same subdev_notifier_complete error exit with adv7280 chip. No NXP employees have supported us so far as expected, so if you can help us about our issue as well, it would be very appreciated. Thanks for your help. You can find the link of our issue below.&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/t5/i-MX-Processors/iMX8MP-MIPI-CSI2-Problem-with-ADV7280-and-Camera/m-p/1477496#M191752" target="_blank"&gt;https://community.nxp.com/t5/i-MX-Processors/iMX8MP-MIPI-CSI2-Problem-with-ADV7280-and-Camera/m-p/1477496#M191752&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 28 Jun 2022 05:49:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx477-sensor-driver-for-i-MX8M-Plus/m-p/1480938#M191965</guid>
      <dc:creator>Goko_gr</dc:creator>
      <dc:date>2022-06-28T05:49:13Z</dc:date>
    </item>
    <item>
      <title>Re: imx477 sensor driver  for i.MX8M-Plus</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx477-sensor-driver-for-i-MX8M-Plus/m-p/1480998#M191967</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;This is long time ago.&lt;/P&gt;&lt;P&gt;Not sure how I solved this particular issue.&lt;/P&gt;&lt;P&gt;One of the key factors was that I needed to implement callback functions that are needed in the imx8mp BSP which are not present in other drivers.&lt;/P&gt;&lt;P&gt;For example&amp;nbsp;&lt;SPAN&gt;&lt;STRONG&gt;.link_setup&lt;/STRONG&gt; callback was missing but no error indicated that as you can see further in this thread.&lt;BR /&gt;One idea is to take a known functioning driver (e.g Basler) and check if all callbacks there are implemented in your own driver.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 28 Jun 2022 07:24:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx477-sensor-driver-for-i-MX8M-Plus/m-p/1480998#M191967</guid>
      <dc:creator>malik_cisse</dc:creator>
      <dc:date>2022-06-28T07:24:49Z</dc:date>
    </item>
    <item>
      <title>Re: imx477 sensor driver  for i.MX8M-Plus</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx477-sensor-driver-for-i-MX8M-Plus/m-p/1481237#M191981</link>
      <description>&lt;P&gt;Hi Malik,&lt;/P&gt;&lt;P&gt;Thanks a lot for your answer. We are also using iMX8MP and i wonder which driver file name have you modified and made the link operation ? In our case, we found a similar code part as yours, but it already returns zero.&lt;/P&gt;&lt;P&gt;static const struct media_entity_operations csi_entity_ops = {&lt;BR /&gt;.link_setup = csi_link_setup,&lt;BR /&gt;.link_validate = v4l2_subdev_link_validate,&lt;BR /&gt;.get_fwnode_pad = csi_get_fwnode_pad,&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;static int csi_link_setup(struct media_entity *entity,&lt;BR /&gt;const struct media_pad *local,&lt;BR /&gt;const struct media_pad *remote, u32 flags)&lt;BR /&gt;{&lt;/P&gt;&lt;P&gt;struct v4l2_subdev *sd = media_entity_to_v4l2_subdev(entity);&lt;BR /&gt;struct csi_priv *priv = v4l2_get_subdevdata(sd);&lt;BR /&gt;struct v4l2_subdev *remote_sd;&lt;BR /&gt;int ret = 0;&lt;/P&gt;&lt;P&gt;dev_dbg(priv-&amp;gt;dev, "link setup %s -&amp;gt; %s\n", remote-&amp;gt;entity-&amp;gt;name,&lt;BR /&gt;local-&amp;gt;entity-&amp;gt;name);&lt;/P&gt;&lt;P&gt;mutex_lock(&amp;amp;priv-&amp;gt;lock);&lt;/P&gt;&lt;P&gt;if (local-&amp;gt;flags &amp;amp; MEDIA_PAD_FL_SINK) {&lt;BR /&gt;if (!is_media_entity_v4l2_subdev(remote-&amp;gt;entity)) {&lt;BR /&gt;ret = -EINVAL;&lt;BR /&gt;goto out;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;remote_sd = media_entity_to_v4l2_subdev(remote-&amp;gt;entity);&lt;/P&gt;&lt;P&gt;if (flags &amp;amp; MEDIA_LNK_FL_ENABLED) {&lt;BR /&gt;if (priv-&amp;gt;src_sd) {&lt;BR /&gt;ret = -EBUSY;&lt;BR /&gt;goto out;&lt;BR /&gt;}&lt;BR /&gt;priv-&amp;gt;src_sd = remote_sd;&lt;BR /&gt;} else {&lt;BR /&gt;priv-&amp;gt;src_sd = NULL;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;goto out;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;/* this is a source pad */&lt;/P&gt;&lt;P&gt;if (flags &amp;amp; MEDIA_LNK_FL_ENABLED) {&lt;BR /&gt;if (priv-&amp;gt;sink) {&lt;BR /&gt;ret = -EBUSY;&lt;BR /&gt;goto out;&lt;BR /&gt;}&lt;BR /&gt;} else {&lt;BR /&gt;v4l2_ctrl_handler_free(&amp;amp;priv-&amp;gt;ctrl_hdlr);&lt;BR /&gt;v4l2_ctrl_handler_init(&amp;amp;priv-&amp;gt;ctrl_hdlr, 0);&lt;BR /&gt;priv-&amp;gt;sink = NULL;&lt;BR /&gt;/* do not apply IC burst alignment in csi_try_crop */&lt;BR /&gt;priv-&amp;gt;active_output_pad = CSI_SRC_PAD_IDMAC;&lt;BR /&gt;goto out;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;/* record which output pad is now active */&lt;BR /&gt;priv-&amp;gt;active_output_pad = local-&amp;gt;index;&lt;/P&gt;&lt;P&gt;/* set CSI destination */&lt;BR /&gt;if (local-&amp;gt;index == CSI_SRC_PAD_IDMAC) {&lt;BR /&gt;if (!is_media_entity_v4l2_video_device(remote-&amp;gt;entity)) {&lt;BR /&gt;ret = -EINVAL;&lt;BR /&gt;goto out;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;if (priv-&amp;gt;fim) {&lt;BR /&gt;ret = imx_media_fim_add_controls(priv-&amp;gt;fim);&lt;BR /&gt;if (ret)&lt;BR /&gt;goto out;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;priv-&amp;gt;dest = IPU_CSI_DEST_IDMAC;&lt;BR /&gt;} else {&lt;BR /&gt;if (!is_media_entity_v4l2_subdev(remote-&amp;gt;entity)) {&lt;BR /&gt;ret = -EINVAL;&lt;BR /&gt;goto out;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;remote_sd = media_entity_to_v4l2_subdev(remote-&amp;gt;entity);&lt;BR /&gt;switch (remote_sd-&amp;gt;grp_id) {&lt;BR /&gt;case IMX_MEDIA_GRP_ID_IPU_VDIC:&lt;BR /&gt;priv-&amp;gt;dest = IPU_CSI_DEST_VDIC;&lt;BR /&gt;break;&lt;BR /&gt;case IMX_MEDIA_GRP_ID_IPU_IC_PRP:&lt;BR /&gt;priv-&amp;gt;dest = IPU_CSI_DEST_IC;&lt;BR /&gt;break;&lt;BR /&gt;default:&lt;BR /&gt;ret = -EINVAL;&lt;BR /&gt;goto out;&lt;BR /&gt;}&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;priv-&amp;gt;sink = remote-&amp;gt;entity;&lt;BR /&gt;out:&lt;BR /&gt;//return 0;&amp;nbsp;&amp;nbsp;&amp;nbsp; //The part that we have added.&lt;BR /&gt;mutex_unlock(&amp;amp;priv-&amp;gt;lock);&lt;BR /&gt;return ret;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In this structure, we have modified the csi_link_setup just as you did, but there is no change. So, it would be very helpful if you share your driver file, ofc if you still have it or do you have any recommendation to solve this issue by changing exactly which part of the driver file.&lt;/P&gt;&lt;P&gt;Thanks again, have a nice day.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 28 Jun 2022 13:21:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx477-sensor-driver-for-i-MX8M-Plus/m-p/1481237#M191981</guid>
      <dc:creator>Goko_gr</dc:creator>
      <dc:date>2022-06-28T13:21:06Z</dc:date>
    </item>
    <item>
      <title>Re: imx477 sensor driver  for i.MX8M-Plus</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx477-sensor-driver-for-i-MX8M-Plus/m-p/1481633#M192007</link>
      <description>&lt;P&gt;Hi,&lt;BR /&gt;Unfortunately I cannot share the code because I am under NDA.&lt;/P&gt;&lt;P&gt;I do understand your frustration though since the debug logs often doe not indicate actual root cause.&lt;/P&gt;</description>
      <pubDate>Wed, 29 Jun 2022 07:21:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx477-sensor-driver-for-i-MX8M-Plus/m-p/1481633#M192007</guid>
      <dc:creator>malik_cisse</dc:creator>
      <dc:date>2022-06-29T07:21:35Z</dc:date>
    </item>
  </channel>
</rss>

