<?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: imx6 - How to make GPIO toggle faster in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/imx6-How-to-make-GPIO-toggle-faster/m-p/309320#M40081</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Anson,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I will look for the code tomorrow in the office and share. On any case it was not very complicated, just write to the RAM location where the gpio value register (GPIOx_DR)&amp;nbsp; is mapped.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Manuel.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 21 Dec 2014 11:14:31 GMT</pubDate>
    <dc:creator>EgleTeam</dc:creator>
    <dc:date>2014-12-21T11:14:31Z</dc:date>
    <item>
      <title>imx6 - How to make GPIO toggle faster</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx6-How-to-make-GPIO-toggle-faster/m-p/309313#M40074</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;I'm using iMX6Q without any OS. Toggling GPIO was intended for testing purpose.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;From the testing, the output frequency is &lt;SPAN style="text-decoration: underline;"&gt;&lt;STRONG&gt;only 700kHz&lt;/STRONG&gt;&lt;/SPAN&gt;. It's far less then expectation.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;Do I miss anything?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;---------&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;DETAILS&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;---------&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;- All settings remain default, one GPIO pin in GPIO_18 group was used.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;- 4 Assembly lines was written for this routine.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - read GPIO register&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - toggle GPIO pin (using XOR logic)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - write to GPIO register&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - jump to 1st line&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;- Clock setting is shown as below:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - PLL1 - System&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 792 MHz&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - PLL2 - System Bus&amp;nbsp;&amp;nbsp; : 528 MHz&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - IPG clock&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :&amp;nbsp; 66 MHz&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - AHB clock&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 132 MHz&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - AXI clock&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 264 MHz&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - DDR clock&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 528 MHz&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 03 May 2014 05:25:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx6-How-to-make-GPIO-toggle-faster/m-p/309313#M40074</guid>
      <dc:creator>anson</dc:creator>
      <dc:date>2014-05-03T05:25:46Z</dc:date>
    </item>
    <item>
      <title>Re: imx6 - How to make GPIO toggle faster</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx6-How-to-make-GPIO-toggle-faster/m-p/309314#M40075</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Anson,&lt;/P&gt;&lt;P&gt;seems one can only enable caches (if they are not&lt;/P&gt;&lt;P&gt;yet enabled). Also one can try to write on assembler or&lt;/P&gt;&lt;P&gt;try another attached example (based on SDK).&lt;/P&gt;&lt;P&gt;Actually there are no other ways to make GPIO to toggle faster.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;"MX6_PLATFORM_SDK "&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive-link-external-small" href="http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX6Q&amp;amp;nodeId=018rH3ZrDRB24A&amp;amp;fpsp=1&amp;amp;tab=Design_Tools_Tab"&gt;http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX6Q&amp;amp;nodeId=018rH3ZrDRB24A&amp;amp;fpsp=1&amp;amp;tab=Design_Tools_Tab&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 04 May 2014 13:53:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx6-How-to-make-GPIO-toggle-faster/m-p/309314#M40075</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2014-05-04T13:53:30Z</dc:date>
    </item>
    <item>
      <title>Re: imx6 - How to make GPIO toggle faster</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx6-How-to-make-GPIO-toggle-faster/m-p/309315#M40076</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've tested 5.5Mhz in kernel space (3.0.5) using memory mapped + pointers (writel/readl is 100% slower): would be possible to improve this frequency using inline assembler?. Is there any example of inline assembler handling GPIOs?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Manuel.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 25 May 2014 11:21:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx6-How-to-make-GPIO-toggle-faster/m-p/309315#M40076</guid>
      <dc:creator>EgleTeam</dc:creator>
      <dc:date>2014-05-25T11:21:08Z</dc:date>
    </item>
    <item>
      <title>Re: imx6 - How to make GPIO toggle faster</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx6-How-to-make-GPIO-toggle-faster/m-p/309316#M40077</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi EgleTeam&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think there is no ready assembler example, however you &lt;/P&gt;&lt;P&gt;can easy make assembler program using examples in SDK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;chip&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 25 May 2014 13:15:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx6-How-to-make-GPIO-toggle-faster/m-p/309316#M40077</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2014-05-25T13:15:57Z</dc:date>
    </item>
    <item>
      <title>Re: imx6 - How to make GPIO toggle faster</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx6-How-to-make-GPIO-toggle-faster/m-p/309317#M40078</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi EgleTeam,&lt;/P&gt;&lt;P&gt;You got a stable 5.5Mhz? or 5.5Mhz once in a while?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rgds,&lt;/P&gt;&lt;P&gt;Anson&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 19 Dec 2014 15:33:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx6-How-to-make-GPIO-toggle-faster/m-p/309317#M40078</guid>
      <dc:creator>anson</dc:creator>
      <dc:date>2014-12-19T15:33:51Z</dc:date>
    </item>
    <item>
      <title>Re: imx6 - How to make GPIO toggle faster</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx6-How-to-make-GPIO-toggle-faster/m-p/309318#M40079</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Anson,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What do you mean with "stable"? All the time?. If do: that's not possible. With a "regular" linux&amp;nbsp; 100% not possible. Using a RTOS (i.e.: Xenomai) you can get a "relatively" stable throughput but of course not 5.5mbps/gpio. What I meant is we got toggle a GPIO at 5.5Mhz measured with an oscilloscope.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope to be helpful.&lt;/P&gt;&lt;P&gt;Manuel.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 19 Dec 2014 23:41:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx6-How-to-make-GPIO-toggle-faster/m-p/309318#M40079</guid>
      <dc:creator>EgleTeam</dc:creator>
      <dc:date>2014-12-19T23:41:51Z</dc:date>
    </item>
    <item>
      <title>Re: imx6 - How to make GPIO toggle faster</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx6-How-to-make-GPIO-toggle-faster/m-p/309319#M40080</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi EgleTeam,&lt;/P&gt;&lt;P&gt;I understand your point. I'm wondering how you could get 5.5Mhz waveform. Mind to share your toggling code and setting?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm using RTOS (QNX), it toggle at 1.6Mhz (Full waveform, from rising edge to next rising edge).&lt;/P&gt;&lt;P&gt;I tried assembler without OS, it toggle at 1.0Mhz (very stable, error of 0.003Mhz max).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CODE:&lt;/P&gt;&lt;P&gt;while(1){&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GPIO = 0x1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GPIO = 0x0&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Setting:&lt;/P&gt;&lt;P&gt;CPU = 982 MHz&lt;/P&gt;&lt;P&gt;AHB = 132 Mhz&lt;/P&gt;&lt;P&gt;IPG&amp;nbsp; = 66Mhz&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rgds,&lt;/P&gt;&lt;P&gt;Anson&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 21 Dec 2014 07:44:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx6-How-to-make-GPIO-toggle-faster/m-p/309319#M40080</guid>
      <dc:creator>anson</dc:creator>
      <dc:date>2014-12-21T07:44:35Z</dc:date>
    </item>
    <item>
      <title>Re: imx6 - How to make GPIO toggle faster</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx6-How-to-make-GPIO-toggle-faster/m-p/309320#M40081</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Anson,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I will look for the code tomorrow in the office and share. On any case it was not very complicated, just write to the RAM location where the gpio value register (GPIOx_DR)&amp;nbsp; is mapped.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Manuel.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 21 Dec 2014 11:14:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx6-How-to-make-GPIO-toggle-faster/m-p/309320#M40081</guid>
      <dc:creator>EgleTeam</dc:creator>
      <dc:date>2014-12-21T11:14:31Z</dc:date>
    </item>
    <item>
      <title>Re: imx6 - How to make GPIO toggle faster</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx6-How-to-make-GPIO-toggle-faster/m-p/309321#M40082</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Anson,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--------------------&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;#define GPIO_VAL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;#define GPIO_DIR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x4&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;static void *GPIO4_BADDR;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;..............................&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&lt;EM&gt;GPIO4_BADDR = ioremap(0x20A8000, 28);&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;writel(0x00800000,GPIO4_BADDR+GPIO_DIR);&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="line-height: 1.5em; font-size: 10pt;"&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="line-height: 1.5em; font-size: 10pt;"&gt;for(i=0;i&amp;lt;100;i++){&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; writel(0x00800000,GPIO4_BADDR+GPIO_VAL);&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; writel(0,GPIO4_BADDR+GPIO_VAL);&amp;nbsp; &lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;}&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Toggle pin 24 - bank 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope to be helpful.&lt;/P&gt;&lt;P&gt;Manuel.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 22 Dec 2014 12:08:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx6-How-to-make-GPIO-toggle-faster/m-p/309321#M40082</guid>
      <dc:creator>EgleTeam</dc:creator>
      <dc:date>2014-12-22T12:08:39Z</dc:date>
    </item>
    <item>
      <title>Re: imx6 - How to make GPIO toggle faster</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx6-How-to-make-GPIO-toggle-faster/m-p/309322#M40083</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Nice programming and record, I was only able to toggle it at 3.6 MHz ! You can otpmize a few cycles @ 1 GHz but at one point there is a limit due to the fact we have to go through caches, a couple of crossbars and a peripheral bridge @ 66 MHz. The trick to reproduce it with platform SDK (and QNX, they should be aware of this) was to enable caches, MMU and configure mmu entry for those as a standard entry and not as strongly ordered as it is by default, it allows the accesses to be buffered :&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;+ mmu_enable();&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;+ // Enable L2 Cache&lt;BR /&gt;+ _l2c310_cache_setup();&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;+ _l2c310_cache_invalidate();&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;+ _l2c310_cache_enable();&lt;SPAN style="font-weight: inherit; font-style: inherit; font-family: Arial;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P align="left" style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;- mmu_map_l1_range(0x00a00000, 0x00a00000, 0x0f600000, &lt;SPAN style="font-weight: inherit; font-style: inherit; font-family: Arial;"&gt;&lt;SPAN style="font-weight: inherit; font-style: inherit;"&gt;&lt;STRONG style="font-style: inherit; font-family: inherit;"&gt;kStronglyOrdered&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-weight: inherit; font-style: inherit;"&gt;,&lt;/SPAN&gt;&lt;/SPAN&gt;kShareable, kRWAccess); // More peripherals&lt;/P&gt;&lt;P style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;+ mmu_map_l1_range(0x00a00000, 0x00a00000, 0x0f600000, &lt;SPAN style="font-weight: inherit; font-style: inherit; font-family: Arial;"&gt;&lt;SPAN style="font-weight: inherit; font-style: inherit;"&gt;&lt;STRONG style="font-style: inherit; font-family: inherit;"&gt;kDevice&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-weight: inherit; font-style: inherit;"&gt;, kShareable, &lt;/SPAN&gt;&lt;/SPAN&gt;kRWAccess); // More peripherals&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 23 Dec 2014 17:36:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx6-How-to-make-GPIO-toggle-faster/m-p/309322#M40083</guid>
      <dc:creator>ZeeFrench</dc:creator>
      <dc:date>2014-12-23T17:36:03Z</dc:date>
    </item>
    <item>
      <title>Re: imx6 - How to make GPIO toggle faster</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx6-How-to-make-GPIO-toggle-faster/m-p/309323#M40084</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I forgot, there's another way from userspace, perhaps "more comfortably" than implement a kernel driver/module as we did: mapping on "/dev/mem". Here an example for i.MX233:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://github.com/OLIMEX/OLINUXINO/blob/master/SOFTWARE/iMX233/gpio-mmap.h" title="https://github.com/OLIMEX/OLINUXINO/blob/master/SOFTWARE/iMX233/gpio-mmap.h"&gt;OLINUXINO/gpio-mmap.h at master · OLIMEX/OLINUXINO · GitHub&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now we are testing this code for i.MX28 but shouldn't be hard to port it for i.MX6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Manuel.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 23 Dec 2014 19:26:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx6-How-to-make-GPIO-toggle-faster/m-p/309323#M40084</guid>
      <dc:creator>EgleTeam</dc:creator>
      <dc:date>2014-12-23T19:26:51Z</dc:date>
    </item>
    <item>
      <title>Re: imx6 - How to make GPIO toggle faster</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx6-How-to-make-GPIO-toggle-faster/m-p/309324#M40085</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Manuel,&lt;/P&gt;&lt;P&gt;I still get 1.6Mhz with your code.&lt;/P&gt;&lt;P&gt;BTE, I have few question:&lt;/P&gt;&lt;P&gt;1. Which OS are you using?&lt;/P&gt;&lt;P&gt;2. Which Processor are you using?&lt;/P&gt;&lt;P&gt;3. What is your CPU, AHB, IPG Clock?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rgds,&lt;/P&gt;&lt;P&gt;Anson&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 24 Dec 2014 07:09:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx6-How-to-make-GPIO-toggle-faster/m-p/309324#M40085</guid>
      <dc:creator>anson</dc:creator>
      <dc:date>2014-12-24T07:09:52Z</dc:date>
    </item>
    <item>
      <title>Re: imx6 - How to make GPIO toggle faster</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx6-How-to-make-GPIO-toggle-faster/m-p/309325#M40086</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Anson,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;so sorry: I copied/pasted some of our code too fast.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please use&amp;nbsp; a pointer instead of "writel":&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;volatile u32 *gpio4_val = (u32 *)GPIO4_BADDR;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for(i=0;i&amp;lt;100;i++){&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *gpio4_val = &lt;SPAN style="font-size: 12.7272720336914px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #3d3d3d;"&gt;&lt;EM&gt;0x00800000&lt;/EM&gt;&lt;/SPAN&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *gpio4_val = 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;&lt;span class="lia-inline-image-display-wrapper" image-alt="freescale.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/48768i5C6E769D06968CB5/image-size/large?v=v2&amp;amp;px=999" role="button" title="freescale.png" alt="freescale.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Merry Christmas to all the community!&lt;/P&gt;&lt;P&gt;Manuel.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 24 Dec 2014 08:57:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx6-How-to-make-GPIO-toggle-faster/m-p/309325#M40086</guid>
      <dc:creator>EgleTeam</dc:creator>
      <dc:date>2014-12-24T08:57:29Z</dc:date>
    </item>
    <item>
      <title>Re: imx6 - How to make GPIO toggle faster</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx6-How-to-make-GPIO-toggle-faster/m-p/309326#M40087</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;1. Kernel 3.10.17&lt;/P&gt;&lt;P&gt;2. Solo at 1 Ghz (512MB DDR3).&lt;/P&gt;&lt;P&gt;3. No idea what peripheral freq. is used. If you tell me where to, I'll check it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Manuel.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 05 Jan 2015 20:43:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx6-How-to-make-GPIO-toggle-faster/m-p/309326#M40087</guid>
      <dc:creator>EgleTeam</dc:creator>
      <dc:date>2015-01-05T20:43:38Z</dc:date>
    </item>
  </channel>
</rss>

