<?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: imx7 GPIO Behavior description in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/imx7-GPIO-Behavior-description/m-p/1290981#M175373</link>
    <description>&lt;P&gt;Hi Avinash&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;gt;Push Pull&lt;/P&gt;
&lt;P&gt;1. set IOMUXC_SW_MUX_CTL* register MUX_MODE to GPIO,&lt;/P&gt;
&lt;P&gt;sect.8.2.7.129 SW_MUX_CTL_PAD_SAI1_RX_BCLK SW MUX Control&lt;BR /&gt;Register (IOMUXC_SW_MUX_CTL_PAD_SAI1_RX_BCLK)&lt;/P&gt;
&lt;P&gt;&lt;A id="relatedDocsClick_1" href="https://www.nxp.com/webapp/Download?colCode=IMX7DRM" target="_blank" rel="noopener"&gt;&lt;STRONG&gt;i.MX 7Dual Applications Processor Reference Manual&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;2. set that GPIO registers GPIOx_GDIR as output, write data to GPIOx_DR,&lt;/P&gt;
&lt;P&gt;sect.8.3.5.2 GPIO direction register (GPIOx_GDIR),&lt;/P&gt;
&lt;P&gt;sect.8.3.5.1 GPIO data register (GPIOx_DR)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;gt;Drive Low, Pull-Up High&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;for "Drive Low" follow above description and write "0" to GPIO data register GPIOx_DR.&lt;/P&gt;
&lt;P&gt;for "Pull-Up High" set GPIO direction register GPIOx_GDIR as input,&lt;/P&gt;
&lt;P&gt;set SW_PAD_CTL_PAD* register with appropriate pull settings "PS", "PE" :&lt;/P&gt;
&lt;P&gt;sect.8.2.7.285 SW_PAD_CTL_PAD_SAI1_RX_BCLK SW PAD Control&lt;BR /&gt;Register (IOMUXC_SW_PAD_CTL_PAD_SAI1_RX_BCLK)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;/P&gt;</description>
    <pubDate>Fri, 11 Jun 2021 01:15:46 GMT</pubDate>
    <dc:creator>igorpadykov</dc:creator>
    <dc:date>2021-06-11T01:15:46Z</dc:date>
    <item>
      <title>imx7 GPIO Behavior description</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx7-GPIO-Behavior-description/m-p/1290952#M175367</link>
      <description>&lt;P&gt;I'm trying to understand from the imx7 Reference Manual and the Datasheet, how to go about configuring the GPIO for following operations:&lt;/P&gt;&lt;P&gt;- Push Pull&lt;/P&gt;&lt;P&gt;- Drive Low, Pull-Up High&lt;/P&gt;&lt;P&gt;- Drive High, Pull-Down Low&lt;/P&gt;&lt;P&gt;Using&amp;nbsp;IOMUXC_SW_PAD_CTL_PAD_SAI1_RX_BCLK and&amp;nbsp; as reference, please describe the appropriate register settings to get the above GPIO behavior?&amp;nbsp; The documentation is pretty sparse in describing the GPIO internal structure and how output stage can be configured.&amp;nbsp;&lt;/P&gt;&lt;P&gt;AN5078 does a good job of showing a simplified internal structure (fig 6) but that doc doesn't apply to imx7 SOC.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 10 Jun 2021 23:24:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx7-GPIO-Behavior-description/m-p/1290952#M175367</guid>
      <dc:creator>ahonkan</dc:creator>
      <dc:date>2021-06-10T23:24:18Z</dc:date>
    </item>
    <item>
      <title>Re: imx7 GPIO Behavior description</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx7-GPIO-Behavior-description/m-p/1290981#M175373</link>
      <description>&lt;P&gt;Hi Avinash&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;gt;Push Pull&lt;/P&gt;
&lt;P&gt;1. set IOMUXC_SW_MUX_CTL* register MUX_MODE to GPIO,&lt;/P&gt;
&lt;P&gt;sect.8.2.7.129 SW_MUX_CTL_PAD_SAI1_RX_BCLK SW MUX Control&lt;BR /&gt;Register (IOMUXC_SW_MUX_CTL_PAD_SAI1_RX_BCLK)&lt;/P&gt;
&lt;P&gt;&lt;A id="relatedDocsClick_1" href="https://www.nxp.com/webapp/Download?colCode=IMX7DRM" target="_blank" rel="noopener"&gt;&lt;STRONG&gt;i.MX 7Dual Applications Processor Reference Manual&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;2. set that GPIO registers GPIOx_GDIR as output, write data to GPIOx_DR,&lt;/P&gt;
&lt;P&gt;sect.8.3.5.2 GPIO direction register (GPIOx_GDIR),&lt;/P&gt;
&lt;P&gt;sect.8.3.5.1 GPIO data register (GPIOx_DR)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;gt;Drive Low, Pull-Up High&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;for "Drive Low" follow above description and write "0" to GPIO data register GPIOx_DR.&lt;/P&gt;
&lt;P&gt;for "Pull-Up High" set GPIO direction register GPIOx_GDIR as input,&lt;/P&gt;
&lt;P&gt;set SW_PAD_CTL_PAD* register with appropriate pull settings "PS", "PE" :&lt;/P&gt;
&lt;P&gt;sect.8.2.7.285 SW_PAD_CTL_PAD_SAI1_RX_BCLK SW PAD Control&lt;BR /&gt;Register (IOMUXC_SW_PAD_CTL_PAD_SAI1_RX_BCLK)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;/P&gt;</description>
      <pubDate>Fri, 11 Jun 2021 01:15:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx7-GPIO-Behavior-description/m-p/1290981#M175373</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2021-06-11T01:15:46Z</dc:date>
    </item>
    <item>
      <title>Re: imx7 GPIO Behavior description</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx7-GPIO-Behavior-description/m-p/1291066#M175381</link>
      <description>&lt;P&gt;Thanks&amp;nbsp; Igor.&amp;nbsp; So to confirm,&lt;/P&gt;&lt;P&gt;- if I set the GPIO GDIR as output, the PAD_* settings PS and PE are ignored, and the output is Push-Pull&lt;/P&gt;&lt;P&gt;- If I set GPIO_GDIR as input, the PAD_* settings PS and PE take effect&lt;/P&gt;&lt;P&gt;For the Drive Low, Pull-Up High, I don't understand how I'm able to Drive Low if I configure the DIR to be input.&amp;nbsp; Shouldn't the GPIO output block be disabled/tri-stated and only enable&amp;nbsp; the input?&amp;nbsp; It seems like there is a potential for contention if I set the DIR as input and set DR to be 0.&lt;/P&gt;&lt;P&gt;This behavior you've described is not documented, or maybe I'm not understanding the documentation correctly:&lt;/P&gt;&lt;P&gt;8.3.5.1 GPIO data register (GPIOx_DR) :&amp;nbsp; If GDIR[n] is cleared and IOMUXC input mode is GPIO, then reading DR[n] returns the corresponding input signal's value.&lt;/P&gt;&lt;P&gt;There is no mention of what happens on the Pad if you set&amp;nbsp; or clear the DR when GDIR[n] is cleared (input).&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 11 Jun 2021 04:21:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx7-GPIO-Behavior-description/m-p/1291066#M175381</guid>
      <dc:creator>ahonkan</dc:creator>
      <dc:date>2021-06-11T04:21:41Z</dc:date>
    </item>
    <item>
      <title>Re: imx7 GPIO Behavior description</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx7-GPIO-Behavior-description/m-p/1291069#M175383</link>
      <description>&lt;P&gt;Apologies, I think I misread your response.&lt;/P&gt;&lt;P&gt;- Push-Pull is enabled when the GDIR is 1, output.&amp;nbsp; Then writing to DR will change state on the output line.&lt;/P&gt;&lt;P&gt;- For driving 0, i set GDIR to 1 and DR to 0..&amp;nbsp; When I want to release the line, I set the PAD PS &amp;amp; PE and then set the GDIR to 0 for the line to be pulled high.&lt;/P&gt;&lt;P&gt;Let me know if this is the correct method.&amp;nbsp; Thanks again!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 11 Jun 2021 04:29:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx7-GPIO-Behavior-description/m-p/1291069#M175383</guid>
      <dc:creator>ahonkan</dc:creator>
      <dc:date>2021-06-11T04:29:56Z</dc:date>
    </item>
    <item>
      <title>Re: imx7 GPIO Behavior description</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx7-GPIO-Behavior-description/m-p/1291147#M175392</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Hi Avinash&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;gt;There is no mention of what happens on the Pad if you set or clear the&lt;/P&gt;
&lt;P&gt;&amp;gt;DR when GDIR[n] is cleared (input).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Pad settngs do not depend on GDIR[n].&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;gt; if I set the GPIO GDIR as output, the PAD_* settings PS and PE are ignored,&lt;/P&gt;
&lt;P&gt;&amp;gt;and the output is Push-Pull&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;they are not ignored. With setting PE=0 Pull Disabled, "output is Push-Pull".&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;gt;For the Drive Low, Pull-Up High, I don't understand how I'm able to&lt;/P&gt;
&lt;P&gt;&amp;gt;Drive Low if I configure the DIR to be input.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;what do you mean by "Drive Low if I configure the DIR to be input" ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 11 Jun 2021 06:59:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx7-GPIO-Behavior-description/m-p/1291147#M175392</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2021-06-11T06:59:48Z</dc:date>
    </item>
    <item>
      <title>Re: imx7 GPIO Behavior description</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/imx7-GPIO-Behavior-description/m-p/1291148#M175393</link>
      <description>&lt;P&gt;&amp;gt;When I want to release the line, I set the PAD PS &amp;amp; PE and then set the GDIR to 0&lt;/P&gt;
&lt;P&gt;for the line to be pulled high. Let me know if this is the correct method.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;yes this is correct.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;/P&gt;</description>
      <pubDate>Fri, 11 Jun 2021 07:02:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/imx7-GPIO-Behavior-description/m-p/1291148#M175393</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2021-06-11T07:02:04Z</dc:date>
    </item>
  </channel>
</rss>

