<?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: using SDMA for UART Transfer in IMX6Solox in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/using-SDMA-for-UART-Transfer-in-IMX6Solox/m-p/693150#M107466</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;that doesn't give any information of sharing sdma between cores, also in IMX6SoloX case it is A9 linux and M4 FreeRtos&lt;/P&gt;&lt;P&gt;i need the details related to where in Linux have to make code changes to support M4 using SDMA.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 04 Aug 2017 10:40:55 GMT</pubDate>
    <dc:creator>niranjanbc</dc:creator>
    <dc:date>2017-08-04T10:40:55Z</dc:date>
    <item>
      <title>using SDMA for UART Transfer in IMX6Solox</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/using-SDMA-for-UART-Transfer-in-IMX6Solox/m-p/693148#M107464</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi I am trying to use SDMA for Uart Transfer on M4 side.&lt;/P&gt;&lt;P&gt;can any one please share the details on what are the changes required on A9 linux and M4 FreeRtos to support the Uart transfer using SDMA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am using FreeRTos SDK "FreeRTOS_BSP_1.0.1_iMX6SX" . since it doesn't have any example code for sdma.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I tried to take the sample code from "SDK_2.2_MCIM6UL", below was the code i took from SDK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#define UART_RX_DMA_REQUEST (33)&lt;BR /&gt;#define UART_TX_DMA_REQUEST (34)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*******************************************************************************&lt;BR /&gt; * Variables&lt;BR /&gt; ******************************************************************************/&lt;BR /&gt;AT_NONCACHEABLE_SECTION_ALIGN(uart_sdma_handle_t g_uartSdmaHandle, 4) = {0};&lt;BR /&gt;AT_NONCACHEABLE_SECTION_ALIGN(sdma_handle_t g_uartTxSdmaHandle, 4) = {0};&lt;BR /&gt;AT_NONCACHEABLE_SECTION_ALIGN(sdma_handle_t g_uartRxSdmaHandle, 4) = {0};&lt;/P&gt;&lt;P&gt;AT_NONCACHEABLE_SECTION_ALIGN(sdma_context_data_t context_Tx, 4) = {0};&lt;BR /&gt;AT_NONCACHEABLE_SECTION_ALIGN(sdma_context_data_t context_Rx, 4) = {0};&lt;/P&gt;&lt;P&gt;AT_NONCACHEABLE_SECTION_ALIGN(uart_transfer_t sendXfer, 4) = {0};&lt;BR /&gt;AT_NONCACHEABLE_SECTION_ALIGN(uart_transfer_t receiveXfer, 4) = {0};&lt;/P&gt;&lt;P&gt;AT_NONCACHEABLE_SECTION_ALIGN(uint8_t g_tipString[], 4) =&lt;BR /&gt; "Uart sdma transfer example\r\nBoard receives 8 characters then sends them out\r\nNow please input:\r\n";&lt;/P&gt;&lt;P&gt;AT_NONCACHEABLE_SECTION_ALIGN(uint8_t g_txBuffer[ECHO_BUFFER_LENGTH], 4) = {0};&lt;BR /&gt;AT_NONCACHEABLE_SECTION_ALIGN(uint8_t g_rxBuffer[ECHO_BUFFER_LENGTH], 4) = {0};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;UART_GetDefaultConfig(&amp;amp;config);&lt;BR /&gt; config.baudRate_Bps = BOARD_DEBUG_UART_BAUDRATE;&lt;BR /&gt; config.rxFifoWatermark = 1;&lt;BR /&gt; config.enableTx = true;&lt;BR /&gt; config.enableRx = true;&lt;/P&gt;&lt;P&gt;UART_Init(UART5, &amp;amp;config, DEMO_UART_CLK_FREQ);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* Init the SDMA module */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RDC_SetPdapAccess(RDC, rdcPdapSdma, 3 &amp;lt;&amp;lt; (BOARD_DOMAIN_ID * 2), false, false);&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; &lt;SPAN style="text-decoration: line-through;"&gt;SDMA_GetDefaultConfig(&amp;amp;sdmaConfig);&lt;/SPAN&gt; --&amp;gt; &lt;SPAN style="color: #ff0000;"&gt;I commented out this part because thinking this would be done in A9&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN style="text-decoration: line-through;"&gt; SDMA_Init(EXAMPLE_UART_DMA_BASEADDR, &amp;amp;sdmaConfig);&lt;/SPAN&gt;&lt;SPAN style="color: #ff0000;"&gt;I commented out this part because thinking this would be done in A9&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; SDMA_CreateHandle(&amp;amp;g_uartTxSdmaHandle, SDMAARM, UART_TX_DMA_CHANNEL, &amp;amp;context_Tx);&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; SDMA_CreateHandle(&amp;amp;g_uartRxSdmaHandle, SDMAARM, UART_RX_DMA_CHANNEL, &amp;amp;context_Rx);&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; SDMA_SetChannelPriority(SDMAARM, 1, 3U);&lt;BR /&gt; SDMA_SetChannelPriority(SDMAARM, 2, 4U);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* Create UART DMA handle. */&lt;BR /&gt; UART_TransferCreateHandleSDMA(UART5, &amp;amp;g_uartSdmaHandle, UART_UserCallback, NULL, &amp;amp;g_uartTxSdmaHandle,&lt;BR /&gt; &amp;amp;g_uartRxSdmaHandle, UART_TX_DMA_REQUEST, UART_RX_DMA_REQUEST);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can you please let me know what changes need to done in Linux A9 side and What i am missing in M4 side.&lt;/P&gt;&lt;P&gt;How do i choose available Channel for M4, if A9 is using some already.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Niranjan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Aug 2017 12:10:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/using-SDMA-for-UART-Transfer-in-IMX6Solox/m-p/693148#M107464</guid>
      <dc:creator>niranjanbc</dc:creator>
      <dc:date>2017-08-03T12:10:11Z</dc:date>
    </item>
    <item>
      <title>Re: using SDMA for UART Transfer in IMX6Solox</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/using-SDMA-for-UART-Transfer-in-IMX6Solox/m-p/693149#M107465</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Niranjan&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;please check similar check example in MX6UL FreeRTOS SDK2.2 ../devices/MCIMXG3/drivers/fsl_uart_sdma.c&lt;/P&gt;&lt;P&gt;Board Support Packages (7) &lt;BR /&gt;SDK2.2_iMX6UL_WIN(REV SDK2.2)&lt;BR /&gt;&lt;A href="http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/i.mx-processors/i.mx-6-processors/i.mx-6ultralite-processor-low-power-secure-arm-cortex-a7-core:i.MX6UL?tab=Design_Tools_Tab"&gt;http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/i.mx-processors/i.mx-6-processors/i.mx-6ultralite-processor-low-power-secure-arm-cortex-a7-core:i.MX6UL?tab=Design_Tools_Tab&lt;/A&gt;&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>Thu, 03 Aug 2017 23:19:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/using-SDMA-for-UART-Transfer-in-IMX6Solox/m-p/693149#M107465</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2017-08-03T23:19:06Z</dc:date>
    </item>
    <item>
      <title>Re: using SDMA for UART Transfer in IMX6Solox</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/using-SDMA-for-UART-Transfer-in-IMX6Solox/m-p/693150#M107466</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;that doesn't give any information of sharing sdma between cores, also in IMX6SoloX case it is A9 linux and M4 FreeRtos&lt;/P&gt;&lt;P&gt;i need the details related to where in Linux have to make code changes to support M4 using SDMA.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Aug 2017 10:40:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/using-SDMA-for-UART-Transfer-in-IMX6Solox/m-p/693150#M107466</guid>
      <dc:creator>niranjanbc</dc:creator>
      <dc:date>2017-08-04T10:40:55Z</dc:date>
    </item>
    <item>
      <title>Re: using SDMA for UART Transfer in IMX6Solox</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/using-SDMA-for-UART-Transfer-in-IMX6Solox/m-p/693151#M107467</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;these examples for M4 using SDMA.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Aug 2017 10:45:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/using-SDMA-for-UART-Transfer-in-IMX6Solox/m-p/693151#M107467</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2017-08-04T10:45:30Z</dc:date>
    </item>
    <item>
      <title>Re: using SDMA for UART Transfer in IMX6Solox</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/using-SDMA-for-UART-Transfer-in-IMX6Solox/m-p/693152#M107468</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;i tried the example mentioned in the above, &amp;nbsp;my first post, it is not working.&lt;/P&gt;&lt;P&gt;so i suspect , do i need to make any changes on A9 linux side.&lt;/P&gt;&lt;P&gt;even i tried adding below line in u-boot (mx6sxsabresd.c)that sets RDC for SDMA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;static rdc_peri_cfg_t const shared_resources[] = {&lt;BR /&gt;(RDC_PER_SDMA | RDC_DOMAIN(0) | RDC_DOMAIN(1)),&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;can you look into my above code and comments i have in there.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Aug 2017 13:39:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/using-SDMA-for-UART-Transfer-in-IMX6Solox/m-p/693152#M107468</guid>
      <dc:creator>niranjanbc</dc:creator>
      <dc:date>2017-08-04T13:39:19Z</dc:date>
    </item>
  </channel>
</rss>

