<?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: About imx6sololite CSI and eDMA synchronous problem in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/About-imx6sololite-CSI-and-eDMA-synchronous-problem/m-p/419609#M63246</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I find some code on the website of Freescale:&lt;/P&gt;&lt;P&gt;void csi_streamon(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* wait for EOF and clear RxFIFO */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HW_CSI_CSISR.B.EOF_INT = 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (HW_CSI_CSISR.B.EOF_INT == 0) ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HW_CSI_CSICR1.B.CLR_RXFIFO = 1;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* buffer address: word aligned */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HW_CSI_CSIDMASA_FB1_WR(DDR_PXP_PS_BASE1);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HW_CSI_CSIDMASA_FB2_WR(DDR_PXP_PS_BASE1);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HW_CSI_CSICR3.B.DMA_REFLASH_RFF = 1;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P style="background: white;"&gt;&lt;SPAN lang="EN-US" style="color: #2f5496;"&gt;It shows that very time starting the operation, it needs to synchronize the DMA and RxFIFO to VSYNC.Is there any way to automatically synchronize the DMA to VSYNC but not to do it on every start？&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 09 Oct 2015 06:27:38 GMT</pubDate>
    <dc:creator>fisherhe</dc:creator>
    <dc:date>2015-10-09T06:27:38Z</dc:date>
    <item>
      <title>About imx6sololite CSI and eDMA synchronous problem</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/About-imx6sololite-CSI-and-eDMA-synchronous-problem/m-p/419606#M63243</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; I meet a problem about CSI module on IMX6L2EVN10AB.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; There is a CMOS camera sensor connected to IMX6SL, using parallel CSI 12bit connection with Bayer format. Now I need to acquire the data using eDMA in 8 bit mode.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I find that it need to manually synchronize the three of DMA, RxFIFO,and VSYNC signal, otherwise the start position of the image is wrong. &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; Now I only find &lt;SPAN lang="EN-US" style="font-size: 10.5pt; font-family: 'Calibri','sans-serif';"&gt;CSI_CSICR3 (bit 12 DMA_REQ_EN_RFF) to disable the CSI module,actually this bit only disable the DMA request. When I clear bit 12 to stop, next time restart CSI again, there is data in RxFiFo,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="font-size: 10.5pt; font-family: 'Calibri','sans-serif';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and these data has to be ignored. &lt;/SPAN&gt;So there will be at lease a waste of&amp;nbsp; one frame of translation time. I really want to save this time. &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; Is there any way to automaticlly synchronize the start of eDMA to VSYNC?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; Below is the code now I use to synchronize:&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="color: #2f5496;"&gt; while(!HW_CSI_CSISR.B.EOF_INT);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="color: #2f5496;"&gt; HW_CSI_CSICR1.B.CLR_RXFIFO = 1;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-US" style="color: #2f5496;"&gt; HW_CSI_CSICR3.B.DMA_REFLASH_RFF = 1;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; But this way will bring the problem I described before.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Thanks a lot!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 29 Sep 2015 08:26:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/About-imx6sololite-CSI-and-eDMA-synchronous-problem/m-p/419606#M63243</guid>
      <dc:creator>fisherhe</dc:creator>
      <dc:date>2015-09-29T08:26:15Z</dc:date>
    </item>
    <item>
      <title>Re: About imx6sololite CSI and eDMA synchronous problem</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/About-imx6sololite-CSI-and-eDMA-synchronous-problem/m-p/419607#M63244</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Have you configured CSI to operate in Gated clock mode? Seems that you have to&lt;/P&gt;&lt;P&gt;do so. Then, you have to properly configure CSI, wait for first Start Of Frame&lt;/P&gt;&lt;P&gt;(SOF) interrupt, clear RXFIFO, reflash (restart) eDMA and then enable a DMA&lt;/P&gt;&lt;P&gt;request. Everything should work synchronously in that sequence.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Artur&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 05 Oct 2015 07:16:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/About-imx6sololite-CSI-and-eDMA-synchronous-problem/m-p/419607#M63244</guid>
      <dc:creator>art</dc:creator>
      <dc:date>2015-10-05T07:16:40Z</dc:date>
    </item>
    <item>
      <title>Re: About imx6sololite CSI and eDMA synchronous problem</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/About-imx6sololite-CSI-and-eDMA-synchronous-problem/m-p/419608#M63245</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you for your reply!! I was on vocation a few days ago....&lt;/P&gt;&lt;P&gt;Yes, I configured CSI in Gated clock mode.&lt;/P&gt;&lt;P&gt;The problem is that I need to acquire the camera data for a while and then set the camera in sleep mode.&lt;/P&gt;&lt;P&gt;The first frame is right, but the frames after that is all wrong. It seems that when DMA is working, there is still data input to the RxFIFO.&lt;/P&gt;&lt;P&gt;And I don't want to lose any one of frame. &lt;/P&gt;&lt;P&gt;Is your suggestion work on non-repeat mode? If I only want to acquire one frame, this works.But when I need to continuously acquire data, it seems&lt;/P&gt;&lt;P&gt;not OK.Can you give me some advice on how to receive camera data continuously? Or is there any document?&lt;/P&gt;&lt;P&gt;Thank you very much.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Oct 2015 05:53:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/About-imx6sololite-CSI-and-eDMA-synchronous-problem/m-p/419608#M63245</guid>
      <dc:creator>fisherhe</dc:creator>
      <dc:date>2015-10-08T05:53:52Z</dc:date>
    </item>
    <item>
      <title>Re: About imx6sololite CSI and eDMA synchronous problem</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/About-imx6sololite-CSI-and-eDMA-synchronous-problem/m-p/419609#M63246</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I find some code on the website of Freescale:&lt;/P&gt;&lt;P&gt;void csi_streamon(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* wait for EOF and clear RxFIFO */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HW_CSI_CSISR.B.EOF_INT = 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (HW_CSI_CSISR.B.EOF_INT == 0) ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HW_CSI_CSICR1.B.CLR_RXFIFO = 1;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* buffer address: word aligned */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HW_CSI_CSIDMASA_FB1_WR(DDR_PXP_PS_BASE1);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HW_CSI_CSIDMASA_FB2_WR(DDR_PXP_PS_BASE1);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HW_CSI_CSICR3.B.DMA_REFLASH_RFF = 1;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P style="background: white;"&gt;&lt;SPAN lang="EN-US" style="color: #2f5496;"&gt;It shows that very time starting the operation, it needs to synchronize the DMA and RxFIFO to VSYNC.Is there any way to automatically synchronize the DMA to VSYNC but not to do it on every start？&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 Oct 2015 06:27:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/About-imx6sololite-CSI-and-eDMA-synchronous-problem/m-p/419609#M63246</guid>
      <dc:creator>fisherhe</dc:creator>
      <dc:date>2015-10-09T06:27:38Z</dc:date>
    </item>
  </channel>
</rss>

