<?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 Accessing the CRC Calculation Unit from Linux in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Accessing-the-CRC-Calculation-Unit-from-Linux/m-p/287565#M34160</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;Hello Everyone,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;I'm using a i.MX35 with Linux 3.5.3 and I'm wondering why there is no hardware unit usage for CRC calculation in the Kernel (see Reference Manual CRC Calculation Unit).&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;How do I access this Unit from Linux?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;Thanks in advance,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;Ernesto&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 06 Jan 2014 14:12:24 GMT</pubDate>
    <dc:creator>ErnestoBraun</dc:creator>
    <dc:date>2014-01-06T14:12:24Z</dc:date>
    <item>
      <title>Accessing the CRC Calculation Unit from Linux</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Accessing-the-CRC-Calculation-Unit-from-Linux/m-p/287565#M34160</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;Hello Everyone,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;I'm using a i.MX35 with Linux 3.5.3 and I'm wondering why there is no hardware unit usage for CRC calculation in the Kernel (see Reference Manual CRC Calculation Unit).&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;How do I access this Unit from Linux?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;Thanks in advance,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;Ernesto&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 Jan 2014 14:12:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Accessing-the-CRC-Calculation-Unit-from-Linux/m-p/287565#M34160</guid>
      <dc:creator>ErnestoBraun</dc:creator>
      <dc:date>2014-01-06T14:12:24Z</dc:date>
    </item>
    <item>
      <title>Re: Accessing the CRC Calculation Unit from Linux</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Accessing-the-CRC-Calculation-Unit-from-Linux/m-p/287566#M34161</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Looks like you are referring to the CRC engine that is&amp;nbsp; part of the SDMA/eMMC/Ethernet, right?&amp;nbsp; It is not general purpose.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Fabio Estevam&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 Jan 2014 20:20:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Accessing-the-CRC-Calculation-Unit-from-Linux/m-p/287566#M34161</guid>
      <dc:creator>fabio_estevam</dc:creator>
      <dc:date>2014-01-06T20:20:35Z</dc:date>
    </item>
    <item>
      <title>Re: Accessing the CRC Calculation Unit from Linux</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Accessing-the-CRC-Calculation-Unit-from-Linux/m-p/287567#M34162</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Fabio,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;yes, I'm refering to the CRC engine that is part of the CRC engine from the smart direct memory access (SDMA) controller. And as far as I understand, this is general purpose (you can choose polynom etc...). I'm thinking of better performance when using the hw unit instead of sw CRC implementation. But I can't find any register definition in the Kernel sources. Is there somewhere an application note how to access this unit?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Ernesto&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Jan 2014 06:45:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Accessing-the-CRC-Calculation-Unit-from-Linux/m-p/287567#M34162</guid>
      <dc:creator>ErnestoBraun</dc:creator>
      <dc:date>2014-01-07T06:45:31Z</dc:date>
    </item>
    <item>
      <title>Re: Accessing the CRC Calculation Unit from Linux</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Accessing-the-CRC-Calculation-Unit-from-Linux/m-p/287568#M34163</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Verdana','sans-serif';"&gt; The i.MX35 processor has two cores: ARM core and DSP core presented in SDMA module. &lt;BR /&gt; SDMA ROM has some number of typical scripts. Scripts written in SDMA assembler language (DSP RISC), &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Verdana','sans-serif';"&gt;have been developed to cover most frequently used data transfers. This scripts library supports data transfer &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Verdana','sans-serif';"&gt;from ARM core memory space to shared domain memory space (DSP- SDMA core),&amp;nbsp; from ARM core memory space &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Verdana','sans-serif';"&gt;to processor peripherals and other. But there are no (in SDMA ROM) special scripts to load data from ARM memory &lt;BR /&gt; for CRC calculation and further providing results to ARM memory. Basically users can try to implement such functionality&lt;BR /&gt; themselves in order to load their specific scripts to SDMA RAM and run it.&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Verdana','sans-serif';"&gt;The following may be useful :&lt;BR /&gt; &lt;BR /&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Verdana','sans-serif';"&gt;“Documentation for the i.MX51 SDMA”&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Verdana','sans-serif';"&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;A _jive_internal="true" data-containerid="2004" data-containertype="14" data-objectid="258933" data-objecttype="2" href="https://community.nxp.com/message/258933#258933"&gt;https://community.freescale.com/message/258933#258933&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Jan 2014 05:08:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Accessing-the-CRC-Calculation-Unit-from-Linux/m-p/287568#M34163</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2014-01-09T05:08:05Z</dc:date>
    </item>
    <item>
      <title>Re: Accessing the CRC Calculation Unit from Linux</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Accessing-the-CRC-Calculation-Unit-from-Linux/m-p/287569#M34164</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you, Yuri. Especially the Freescale i.MX51 SDMA tutorial from Eli Billauer (&lt;A href="http://billauer.co.il/blog/2011/10/imx-sdma-howto-memory-map/"&gt;http://billauer.co.il/blog/2011/10/imx-sdma-howto-memory-map/&lt;/A&gt;) is very interesting. I'm not sure if I'm able to write user specific SDMA scripts (nearly no assembler experience), but I think this is the way to do it. I will keep the tutorial and examples in mind if hardware crc calculation will be really necessary for me. Thank you.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Jan 2014 08:56:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Accessing-the-CRC-Calculation-Unit-from-Linux/m-p/287569#M34164</guid>
      <dc:creator>ErnestoBraun</dc:creator>
      <dc:date>2014-01-09T08:56:21Z</dc:date>
    </item>
    <item>
      <title>Re: Accessing the CRC Calculation Unit from Linux</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Accessing-the-CRC-Calculation-Unit-from-Linux/m-p/287570#M34165</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ernesto,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Were you ever able to use the general purpose CRC block in the SDMA core in the i.MX35 or i.MX51?&amp;nbsp; If you were, did you glue it to a standard Linux API?&amp;nbsp; This is something I too am interested in as the single biggest consumer of cycles in my application are computing CRC.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Jul 2015 01:07:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Accessing-the-CRC-Calculation-Unit-from-Linux/m-p/287570#M34165</guid>
      <dc:creator>chrishealy</dc:creator>
      <dc:date>2015-07-03T01:07:11Z</dc:date>
    </item>
    <item>
      <title>Re: Accessing the CRC Calculation Unit from Linux</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Accessing-the-CRC-Calculation-Unit-from-Linux/m-p/287571#M34166</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;No.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 Jul 2015 04:49:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Accessing-the-CRC-Calculation-Unit-from-Linux/m-p/287571#M34166</guid>
      <dc:creator>ErnestoBraun</dc:creator>
      <dc:date>2015-07-06T04:49:07Z</dc:date>
    </item>
  </channel>
</rss>

