<?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: eCSPI DMA problem for iMX6S in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/eCSPI-DMA-problem-for-iMX6S/m-p/983140#M146034</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am implementing at the firmware level.&lt;BR /&gt;I'm referring to i.MX6_PLATFORM_SDK and Linux's imx-spi.c.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 16 Dec 2019 23:45:19 GMT</pubDate>
    <dc:creator>kdm84</dc:creator>
    <dc:date>2019-12-16T23:45:19Z</dc:date>
    <item>
      <title>eCSPI DMA problem for iMX6S</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/eCSPI-DMA-problem-for-iMX6S/m-p/983138#M146032</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;We are developping a device based on IMX6S.&amp;nbsp;The driver of eCSPI in the BSP does not support DMA transfer, so we have written a driver that support DMA.&amp;nbsp;We write a test program that transmit data to SPI, but we found that no value was sent from the DMA to the Tx FIFO of the SPI.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;We set the register as shown below.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;SPAN&gt; Initialize ECSPI2.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;SPAN&gt;- ECSPI2_CONREG (0x01F0E2F9)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;BURST_LENGTH = 31&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;CHANNEL_SELECT = 0 (CS0)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;DRCTL = 0&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;PRE_DIVIDER = 14&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;POST_DIVIDER = 2&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;CHANNEL_MODE = 15 (ALL CS Master)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;SMC = 1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;XCH = 0&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;HT = 0&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;EN = 1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;- ECSPI2_CONFIGREG (0x00000100)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;HT_LENGTH =0&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;SCLK_CTL = 0&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;DATA_CTL = 0&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;SS_POL = 0&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;SS_CTL = 1 (SS_CTL_CS0)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;SCLK_POL = 0&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;SCLK_PHA = 0&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;- ECSPI2_INTREG (0x0)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;: not setting&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;- ECSPI2_DMAREG (0xA09F0080)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;RXTDEN = 1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;RX_DMA_LENGTH = 32&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;RXDEN = 1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;RX_THRESHOLD = 31&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;TEDEN = 1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;TX_THRESHOLD = 0&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;- ECSPI2_STATREG (0x3)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;: not setting&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;TDR = 1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;TE =1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;- ECSPI2_TESTREG (0x80000000)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;LBC = 1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;-------------------------------------------------&lt;/SPAN&gt;&lt;/P&gt;&lt;OL start="2"&gt;&lt;LI&gt;&lt;SPAN&gt; prepare DMA.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;SPAN&gt;- 32 byte tx/rx buffer&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;- Script addr&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;tx : mcu2app, rx : app2mcu&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Buffer Descriptor Mode&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Interrupt + Warp + Done&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;- 4byte buswidth&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;- burstsize = 32&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;- set callback function&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;- event number&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;tx : 6, rx : 5&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;TX DMA : chan=0x2, mode=0xb0020, peripAddr=0x200c004&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;RX DMA : chan=0x3, mode=0xb0020, peripAddr=0x200c000&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;-------------------------------------------------&lt;/SPAN&gt;&lt;/P&gt;&lt;OL start="3"&gt;&lt;LI&gt;&lt;SPAN&gt; set CS0&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;SPAN&gt;gpio set to high.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;-------------------------------------------------&lt;/SPAN&gt;&lt;/P&gt;&lt;OL start="4"&gt;&lt;LI&gt;&lt;SPAN&gt; start DMA.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;SPAN&gt;write (1 &amp;lt;&amp;lt; tx_channel) to SDMA_HSTART(0x0C) &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;write (1 &amp;lt;&amp;lt; rx_channel) to SDMA_HSTART(0x0C) &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;-------------------------------------------------&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I tried to check sdma function in loopback mode.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Just write to 32bit data to ECSPI2_TXDATA(Transmit Data Register). then tx dma callback function indicated.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #51626f; "&gt;Do you have any idea where is the problem?&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Dec 2019 08:04:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/eCSPI-DMA-problem-for-iMX6S/m-p/983138#M146032</guid>
      <dc:creator>kdm84</dc:creator>
      <dc:date>2019-12-16T08:04:38Z</dc:date>
    </item>
    <item>
      <title>Re: eCSPI DMA problem for iMX6S</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/eCSPI-DMA-problem-for-iMX6S/m-p/983139#M146033</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Dong-Min&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;one can look at eCSPI5 example with sdma&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://source.codeaurora.org/external/imx/linux-imx/tree/arch/arm/boot/dts/imx6q.dtsi?h=imx_4.14.78_1.0.0_ga" title="https://source.codeaurora.org/external/imx/linux-imx/tree/arch/arm/boot/dts/imx6q.dtsi?h=imx_4.14.78_1.0.0_ga"&gt;imx6q.dtsi\dts\boot\arm\arch - linux-imx - i.MX Linux kernel&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;and documentation&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://source.codeaurora.org/external/imx/linux-imx/tree/Documentation/devicetree/bindings/spi/fsl-imx-cspi.txt?h=imx_4.14.78_1.0.0_ga" title="https://source.codeaurora.org/external/imx/linux-imx/tree/Documentation/devicetree/bindings/spi/fsl-imx-cspi.txt?h=imx_4.14.78_1.0.0_ga"&gt;fsl-imx-cspi.txt\spi\bindings\devicetree\Documentation - linux-imx - i.MX Linux kernel&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;BR /&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, 16 Dec 2019 23:28:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/eCSPI-DMA-problem-for-iMX6S/m-p/983139#M146033</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2019-12-16T23:28:20Z</dc:date>
    </item>
    <item>
      <title>Re: eCSPI DMA problem for iMX6S</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/eCSPI-DMA-problem-for-iMX6S/m-p/983140#M146034</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am implementing at the firmware level.&lt;BR /&gt;I'm referring to i.MX6_PLATFORM_SDK and Linux's imx-spi.c.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 16 Dec 2019 23:45:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/eCSPI-DMA-problem-for-iMX6S/m-p/983140#M146034</guid>
      <dc:creator>kdm84</dc:creator>
      <dc:date>2019-12-16T23:45:19Z</dc:date>
    </item>
    <item>
      <title>Re: eCSPI DMA problem for iMX6S</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/eCSPI-DMA-problem-for-iMX6S/m-p/983141#M146035</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;such kind of development can be supported only through&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://www.nxp.com/design/engineering-services:SW-SUPPORT" title="https://www.nxp.com/design/engineering-services:SW-SUPPORT"&gt;Commercial Support and Engineering Services | NXP&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Dec 2019 00:44:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/eCSPI-DMA-problem-for-iMX6S/m-p/983141#M146035</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2019-12-17T00:44:19Z</dc:date>
    </item>
  </channel>
</rss>

