<?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のトピックi.MX8M Plus dual MIPI camera: CSI-2.1 not leaving ULPS state</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/i-MX8M-Plus-dual-MIPI-camera-CSI-2-1-not-leaving-ULPS-state/m-p/1566842#M198520</link>
    <description>&lt;P&gt;Hello everybody,&lt;/P&gt;&lt;P&gt;I am trying to run two IMX258 cameras on the two MIPI ports of the i.MX8MP.&lt;/P&gt;&lt;P&gt;After the required modifications to the camera driver and the device-tree, I am able to stream frames from both cameras.&lt;/P&gt;&lt;P&gt;However, for the second camera (connected to mipi_csi_2.1) the &lt;STRONG&gt;streaming works only one time&lt;/STRONG&gt; after a reboot. When stopping the stream and starting it again, no frames are received anymore. After a reboot of the device, it works again for a single time.&lt;/P&gt;&lt;P&gt;Both cameras are the same models and use the same driver, but the problem only exists for the one connected to the second MIPI port.&lt;/P&gt;&lt;P&gt;I checked the CSI status registers and it turned out that the only difference between the first (successful) and the second (failing) streaming is the&amp;nbsp;&lt;STRONG&gt;ULPSCLK&lt;/STRONG&gt; bit in the&amp;nbsp;&lt;STRONG&gt;CSIS_DPHYSTATUS&lt;/STRONG&gt; register:&lt;/P&gt;&lt;P&gt;These are the CSI registers for the successful stream:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;mxc-mipi-csi2.1: --- mipi_csis_s_stream --- 
mxc-mipi-csi2.1: CSIS_VERSION[0]: 0x03060301 
mxc-mipi-csi2.1: CSIS_CMN_CTRL[4]: 0x00004905 
mxc-mipi-csi2.1: CSIS_CLK_CTRL[8]: 0x000f0000 
mxc-mipi-csi2.1: CSIS_INTMSK[10]: 0x0fffff1f 
mxc-mipi-csi2.1: CSIS_INTSRC[14]: 0x00000000 
mxc-mipi-csi2.1: CSIS_DPHYSTATUS[20]: 0x000000f0 
mxc-mipi-csi2.1: CSIS_DPHYCTRL[24]: 0x1c800007 
mxc-mipi-csi2.1: CSIS_DPHYBCTRL_L[30]: 0x000001f4 
mxc-mipi-csi2.1: CSIS_DPHYBCTRL_H[34]: 0x00000000 
mxc-mipi-csi2.1: CSIS_DPHYSCTRL_L[38]: 0x00000000 
mxc-mipi-csi2.1: CSIS_DPHYSCTRL_H[3c]: 0x00000000 
mxc-mipi-csi2.1: CSIS_ISPCONFIG_CH0[40]: 0x000000ac 
mxc-mipi-csi2.1: CSIS_ISPCONFIG_CH1[50]: 0x000008fd 
mxc-mipi-csi2.1: CSIS_ISPCONFIG_CH2[60]: 0x000008fe 
mxc-mipi-csi2.1: CSIS_ISPCONFIG_CH3[70]: 0x000008ff 
mxc-mipi-csi2.1: CSIS_ISPRESOL_CH0[44]: 0x0c001000 
mxc-mipi-csi2.1: CSIS_ISPRESOL_CH1[54]: 0x80008000 
mxc-mipi-csi2.1: CSIS_ISPRESOL_CH2[64]: 0x80008000 
mxc-mipi-csi2.1: CSIS_ISPRESOL_CH3[74]: 0x80008000 
mxc-mipi-csi2.1: CSIS_ISPSYNC_CH0[48]: 0x00000000 
mxc-mipi-csi2.1: CSIS_ISPSYNC_CH1[58]: 0x00000000 
mxc-mipi-csi2.1: CSIS_ISPSYNC_CH2[68]: 0x00000000 
mxc-mipi-csi2.1: CSIS_ISPSYNC_CH3[78]: 0x00000000 
mxc-mipi-csi2.1: --- mipi_csis_s_stream --- 
mxc-mipi-csi2.1: GPR_GASKET_0_CTRL[60]: 0xffff8000 
mxc-mipi-csi2.1: GPR_GASKET_0_HSIZE[64]: 0xffff8000 
mxc-mipi-csi2.1: GPR_GASKET_0_VSIZE[68]: 0xffff8000​&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And for the failing stream:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;mxc-mipi-csi2.1: --- mipi_csis_s_stream ---
mxc-mipi-csi2.1: CSIS_VERSION[0]: 0x03060301
mxc-mipi-csi2.1: CSIS_CMN_CTRL[4]: 0x00004905
mxc-mipi-csi2.1: CSIS_CLK_CTRL[8]: 0x000f0000
mxc-mipi-csi2.1: CSIS_INTMSK[10]: 0x0fffff1f
mxc-mipi-csi2.1: CSIS_INTSRC[14]: 0x00000000
mxc-mipi-csi2.1: CSIS_DPHYSTATUS[20]: 0x000000f2
mxc-mipi-csi2.1: CSIS_DPHYCTRL[24]: 0x1c800007
mxc-mipi-csi2.1: CSIS_DPHYBCTRL_L[30]: 0x000001f4
mxc-mipi-csi2.1: CSIS_DPHYBCTRL_H[34]: 0x00000000
mxc-mipi-csi2.1: CSIS_DPHYSCTRL_L[38]: 0x00000000
mxc-mipi-csi2.1: CSIS_DPHYSCTRL_H[3c]: 0x00000000
mxc-mipi-csi2.1: CSIS_ISPCONFIG_CH0[40]: 0x000000ac
mxc-mipi-csi2.1: CSIS_ISPCONFIG_CH1[50]: 0x000008fd
mxc-mipi-csi2.1: CSIS_ISPCONFIG_CH2[60]: 0x000008fe
mxc-mipi-csi2.1: CSIS_ISPCONFIG_CH3[70]: 0x000008ff
mxc-mipi-csi2.1: CSIS_ISPRESOL_CH0[44]: 0x0c001000
mxc-mipi-csi2.1: CSIS_ISPRESOL_CH1[54]: 0x80008000
mxc-mipi-csi2.1: CSIS_ISPRESOL_CH2[64]: 0x80008000
mxc-mipi-csi2.1: CSIS_ISPRESOL_CH3[74]: 0x80008000
mxc-mipi-csi2.1: CSIS_ISPSYNC_CH0[48]: 0x00000000
mxc-mipi-csi2.1: CSIS_ISPSYNC_CH1[58]: 0x00000000
mxc-mipi-csi2.1: CSIS_ISPSYNC_CH2[68]: 0x00000000
mxc-mipi-csi2.1: CSIS_ISPSYNC_CH3[78]: 0x00000000
mxc-mipi-csi2.1: --- mipi_csis_s_stream ---
mxc-mipi-csi2.1: GPR_GASKET_0_CTRL[60]: 0xffff8000
mxc-mipi-csi2.1: GPR_GASKET_0_HSIZE[64]: 0xffff8000
mxc-mipi-csi2.1: GPR_GASKET_0_VSIZE[68]: 0xffff8000&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;When pinging the registers, I can also see that in both cases, the&amp;nbsp;STOPSTATEDAT bit of the two used data lanes in the CSIS_DPHYSTATUS register alters between 0 and 1, so I conclude that MIPI data is received on them.&lt;/P&gt;&lt;P&gt;I do not understand yet, why the CSI is not leaving the ULPS state at the second stream and why this only occurs on one of the two MIPI port.&lt;/P&gt;&lt;P&gt;Things I already tried include:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Testing with different hardware (cameras and SoMs)&lt;/LI&gt;&lt;LI&gt;Varying the HS_SETTLE and CLK_SETTLE parameters of the CSI ports&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The hardware is a&amp;nbsp;VAR-SOM-MX8MP Symphony Evaluation board and I'm running Linux Kernel 5.15.60 compiled in Yocto. Find attached the relevant parts of the device tree sources.&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Mathis&lt;/P&gt;</description>
    <pubDate>Thu, 08 Dec 2022 11:55:27 GMT</pubDate>
    <dc:creator>mfoerst</dc:creator>
    <dc:date>2022-12-08T11:55:27Z</dc:date>
    <item>
      <title>i.MX8M Plus dual MIPI camera: CSI-2.1 not leaving ULPS state</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX8M-Plus-dual-MIPI-camera-CSI-2-1-not-leaving-ULPS-state/m-p/1566842#M198520</link>
      <description>&lt;P&gt;Hello everybody,&lt;/P&gt;&lt;P&gt;I am trying to run two IMX258 cameras on the two MIPI ports of the i.MX8MP.&lt;/P&gt;&lt;P&gt;After the required modifications to the camera driver and the device-tree, I am able to stream frames from both cameras.&lt;/P&gt;&lt;P&gt;However, for the second camera (connected to mipi_csi_2.1) the &lt;STRONG&gt;streaming works only one time&lt;/STRONG&gt; after a reboot. When stopping the stream and starting it again, no frames are received anymore. After a reboot of the device, it works again for a single time.&lt;/P&gt;&lt;P&gt;Both cameras are the same models and use the same driver, but the problem only exists for the one connected to the second MIPI port.&lt;/P&gt;&lt;P&gt;I checked the CSI status registers and it turned out that the only difference between the first (successful) and the second (failing) streaming is the&amp;nbsp;&lt;STRONG&gt;ULPSCLK&lt;/STRONG&gt; bit in the&amp;nbsp;&lt;STRONG&gt;CSIS_DPHYSTATUS&lt;/STRONG&gt; register:&lt;/P&gt;&lt;P&gt;These are the CSI registers for the successful stream:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;mxc-mipi-csi2.1: --- mipi_csis_s_stream --- 
mxc-mipi-csi2.1: CSIS_VERSION[0]: 0x03060301 
mxc-mipi-csi2.1: CSIS_CMN_CTRL[4]: 0x00004905 
mxc-mipi-csi2.1: CSIS_CLK_CTRL[8]: 0x000f0000 
mxc-mipi-csi2.1: CSIS_INTMSK[10]: 0x0fffff1f 
mxc-mipi-csi2.1: CSIS_INTSRC[14]: 0x00000000 
mxc-mipi-csi2.1: CSIS_DPHYSTATUS[20]: 0x000000f0 
mxc-mipi-csi2.1: CSIS_DPHYCTRL[24]: 0x1c800007 
mxc-mipi-csi2.1: CSIS_DPHYBCTRL_L[30]: 0x000001f4 
mxc-mipi-csi2.1: CSIS_DPHYBCTRL_H[34]: 0x00000000 
mxc-mipi-csi2.1: CSIS_DPHYSCTRL_L[38]: 0x00000000 
mxc-mipi-csi2.1: CSIS_DPHYSCTRL_H[3c]: 0x00000000 
mxc-mipi-csi2.1: CSIS_ISPCONFIG_CH0[40]: 0x000000ac 
mxc-mipi-csi2.1: CSIS_ISPCONFIG_CH1[50]: 0x000008fd 
mxc-mipi-csi2.1: CSIS_ISPCONFIG_CH2[60]: 0x000008fe 
mxc-mipi-csi2.1: CSIS_ISPCONFIG_CH3[70]: 0x000008ff 
mxc-mipi-csi2.1: CSIS_ISPRESOL_CH0[44]: 0x0c001000 
mxc-mipi-csi2.1: CSIS_ISPRESOL_CH1[54]: 0x80008000 
mxc-mipi-csi2.1: CSIS_ISPRESOL_CH2[64]: 0x80008000 
mxc-mipi-csi2.1: CSIS_ISPRESOL_CH3[74]: 0x80008000 
mxc-mipi-csi2.1: CSIS_ISPSYNC_CH0[48]: 0x00000000 
mxc-mipi-csi2.1: CSIS_ISPSYNC_CH1[58]: 0x00000000 
mxc-mipi-csi2.1: CSIS_ISPSYNC_CH2[68]: 0x00000000 
mxc-mipi-csi2.1: CSIS_ISPSYNC_CH3[78]: 0x00000000 
mxc-mipi-csi2.1: --- mipi_csis_s_stream --- 
mxc-mipi-csi2.1: GPR_GASKET_0_CTRL[60]: 0xffff8000 
mxc-mipi-csi2.1: GPR_GASKET_0_HSIZE[64]: 0xffff8000 
mxc-mipi-csi2.1: GPR_GASKET_0_VSIZE[68]: 0xffff8000​&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And for the failing stream:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;mxc-mipi-csi2.1: --- mipi_csis_s_stream ---
mxc-mipi-csi2.1: CSIS_VERSION[0]: 0x03060301
mxc-mipi-csi2.1: CSIS_CMN_CTRL[4]: 0x00004905
mxc-mipi-csi2.1: CSIS_CLK_CTRL[8]: 0x000f0000
mxc-mipi-csi2.1: CSIS_INTMSK[10]: 0x0fffff1f
mxc-mipi-csi2.1: CSIS_INTSRC[14]: 0x00000000
mxc-mipi-csi2.1: CSIS_DPHYSTATUS[20]: 0x000000f2
mxc-mipi-csi2.1: CSIS_DPHYCTRL[24]: 0x1c800007
mxc-mipi-csi2.1: CSIS_DPHYBCTRL_L[30]: 0x000001f4
mxc-mipi-csi2.1: CSIS_DPHYBCTRL_H[34]: 0x00000000
mxc-mipi-csi2.1: CSIS_DPHYSCTRL_L[38]: 0x00000000
mxc-mipi-csi2.1: CSIS_DPHYSCTRL_H[3c]: 0x00000000
mxc-mipi-csi2.1: CSIS_ISPCONFIG_CH0[40]: 0x000000ac
mxc-mipi-csi2.1: CSIS_ISPCONFIG_CH1[50]: 0x000008fd
mxc-mipi-csi2.1: CSIS_ISPCONFIG_CH2[60]: 0x000008fe
mxc-mipi-csi2.1: CSIS_ISPCONFIG_CH3[70]: 0x000008ff
mxc-mipi-csi2.1: CSIS_ISPRESOL_CH0[44]: 0x0c001000
mxc-mipi-csi2.1: CSIS_ISPRESOL_CH1[54]: 0x80008000
mxc-mipi-csi2.1: CSIS_ISPRESOL_CH2[64]: 0x80008000
mxc-mipi-csi2.1: CSIS_ISPRESOL_CH3[74]: 0x80008000
mxc-mipi-csi2.1: CSIS_ISPSYNC_CH0[48]: 0x00000000
mxc-mipi-csi2.1: CSIS_ISPSYNC_CH1[58]: 0x00000000
mxc-mipi-csi2.1: CSIS_ISPSYNC_CH2[68]: 0x00000000
mxc-mipi-csi2.1: CSIS_ISPSYNC_CH3[78]: 0x00000000
mxc-mipi-csi2.1: --- mipi_csis_s_stream ---
mxc-mipi-csi2.1: GPR_GASKET_0_CTRL[60]: 0xffff8000
mxc-mipi-csi2.1: GPR_GASKET_0_HSIZE[64]: 0xffff8000
mxc-mipi-csi2.1: GPR_GASKET_0_VSIZE[68]: 0xffff8000&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;When pinging the registers, I can also see that in both cases, the&amp;nbsp;STOPSTATEDAT bit of the two used data lanes in the CSIS_DPHYSTATUS register alters between 0 and 1, so I conclude that MIPI data is received on them.&lt;/P&gt;&lt;P&gt;I do not understand yet, why the CSI is not leaving the ULPS state at the second stream and why this only occurs on one of the two MIPI port.&lt;/P&gt;&lt;P&gt;Things I already tried include:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Testing with different hardware (cameras and SoMs)&lt;/LI&gt;&lt;LI&gt;Varying the HS_SETTLE and CLK_SETTLE parameters of the CSI ports&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The hardware is a&amp;nbsp;VAR-SOM-MX8MP Symphony Evaluation board and I'm running Linux Kernel 5.15.60 compiled in Yocto. Find attached the relevant parts of the device tree sources.&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Mathis&lt;/P&gt;</description>
      <pubDate>Thu, 08 Dec 2022 11:55:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX8M-Plus-dual-MIPI-camera-CSI-2-1-not-leaving-ULPS-state/m-p/1566842#M198520</guid>
      <dc:creator>mfoerst</dc:creator>
      <dc:date>2022-12-08T11:55:27Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX8M Plus dual MIPI camera: CSI-2.1 not leaving ULPS state</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX8M-Plus-dual-MIPI-camera-CSI-2-1-not-leaving-ULPS-state/m-p/1573950#M199157</link>
      <description>&lt;P&gt;Is the IMX258 working in non-continuous clock mode? &lt;/P&gt;</description>
      <pubDate>Fri, 23 Dec 2022 01:43:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX8M-Plus-dual-MIPI-camera-CSI-2-1-not-leaving-ULPS-state/m-p/1573950#M199157</guid>
      <dc:creator>jimmychan</dc:creator>
      <dc:date>2022-12-23T01:43:55Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX8M Plus dual MIPI camera: CSI-2.1 not leaving ULPS state</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX8M-Plus-dual-MIPI-camera-CSI-2-1-not-leaving-ULPS-state/m-p/1574134#M199170</link>
      <description>&lt;P&gt;Thanks a lot for the reply. The IMX258 was configured in continuous clock mode.&lt;/P&gt;&lt;P&gt;I switched to&amp;nbsp;&lt;SPAN&gt;&lt;STRONG&gt;non-continuous clock&lt;/STRONG&gt; mode and it &lt;STRONG&gt;solved the problem.&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Is there a reason why a continuous clock is a problem for the second CSI interface only?&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 23 Dec 2022 09:10:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX8M-Plus-dual-MIPI-camera-CSI-2-1-not-leaving-ULPS-state/m-p/1574134#M199170</guid>
      <dc:creator>mfoerst</dc:creator>
      <dc:date>2022-12-23T09:10:31Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX8M Plus dual MIPI camera: CSI-2.1 not leaving ULPS state</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX8M-Plus-dual-MIPI-camera-CSI-2-1-not-leaving-ULPS-state/m-p/1574728#M199226</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Reply from the expert&lt;/P&gt;
&lt;P&gt;=================&lt;/P&gt;
&lt;P&gt;In non-continuous clock mode, the clock lane will have a LP to HS transition for every frame.&lt;/P&gt;
&lt;P&gt;But in continuous clock mode, there may only be one LP state at the very beginning, and clock lane will always work in HS mode later.&lt;/P&gt;
&lt;P&gt;But it's better to make sensor work in LP state before enable 8MP DPHY, otherwise, DPHY may not detect the HS mode, then it can't receive data from sensor.&lt;/P&gt;
&lt;P&gt;=================&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards,&lt;/P&gt;
&lt;P&gt;Jimmy&lt;/P&gt;</description>
      <pubDate>Tue, 27 Dec 2022 01:44:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX8M-Plus-dual-MIPI-camera-CSI-2-1-not-leaving-ULPS-state/m-p/1574728#M199226</guid>
      <dc:creator>jimmychan</dc:creator>
      <dc:date>2022-12-27T01:44:05Z</dc:date>
    </item>
  </channel>
</rss>

