<?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 IMX8MP I2C Linux Device tree pinctrl question in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/IMX8MP-I2C-Linux-Device-tree-pinctrl-question/m-p/1829375#M221335</link>
    <description>&lt;P&gt;I have a I2C pinctrl setting in the device tree that I am trying to understand...&lt;BR /&gt;&lt;BR /&gt;pinctrl_i2c4: i2c4grp {&lt;BR /&gt;fsl,pins = &amp;lt;&lt;BR /&gt;MX8MP_IOMUXC_I2C4_SCL__I2C4_SCL 0x400001c2&lt;BR /&gt;MX8MP_IOMUXC_I2C4_SDA__I2C4_SDA 0x400001c2&lt;BR /&gt;&amp;gt;;&lt;BR /&gt;};&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;What is the 0x4000 part in the 0x40001c2 pad setting? The SW_PAD_CTL register only supports 9 bits, so the 0x01c2 part makes sense...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I can't find where the extra 0x4000 is applied.&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 15 Mar 2024 11:36:55 GMT</pubDate>
    <dc:creator>flobro</dc:creator>
    <dc:date>2024-03-15T11:36:55Z</dc:date>
    <item>
      <title>IMX8MP I2C Linux Device tree pinctrl question</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX8MP-I2C-Linux-Device-tree-pinctrl-question/m-p/1829375#M221335</link>
      <description>&lt;P&gt;I have a I2C pinctrl setting in the device tree that I am trying to understand...&lt;BR /&gt;&lt;BR /&gt;pinctrl_i2c4: i2c4grp {&lt;BR /&gt;fsl,pins = &amp;lt;&lt;BR /&gt;MX8MP_IOMUXC_I2C4_SCL__I2C4_SCL 0x400001c2&lt;BR /&gt;MX8MP_IOMUXC_I2C4_SDA__I2C4_SDA 0x400001c2&lt;BR /&gt;&amp;gt;;&lt;BR /&gt;};&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;What is the 0x4000 part in the 0x40001c2 pad setting? The SW_PAD_CTL register only supports 9 bits, so the 0x01c2 part makes sense...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I can't find where the extra 0x4000 is applied.&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 15 Mar 2024 11:36:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX8MP-I2C-Linux-Device-tree-pinctrl-question/m-p/1829375#M221335</guid>
      <dc:creator>flobro</dc:creator>
      <dc:date>2024-03-15T11:36:55Z</dc:date>
    </item>
    <item>
      <title>Re: IMX8MP I2C Linux Device tree pinctrl question</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX8MP-I2C-Linux-Device-tree-pinctrl-question/m-p/1829586#M221355</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/198929"&gt;@flobro&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you are using Config tools to configure de IOMUX, you will see the 0x4000 belong to "Software Input On Field.&lt;/P&gt;
&lt;P&gt;If enabled:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Alejandro_Salas_0-1710528733778.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/268741i49B42C0ABF3951BB/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Alejandro_Salas_0-1710528733778.png" alt="Alejandro_Salas_0-1710528733778.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If disabled:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Alejandro_Salas_1-1710528753453.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/268742iC18E4ACFA6321419/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Alejandro_Salas_1-1710528753453.png" alt="Alejandro_Salas_1-1710528753453.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;I hope this can helps to you.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Salas.&lt;/P&gt;</description>
      <pubDate>Fri, 15 Mar 2024 18:53:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX8MP-I2C-Linux-Device-tree-pinctrl-question/m-p/1829586#M221355</guid>
      <dc:creator>Manuel_Salas</dc:creator>
      <dc:date>2024-03-15T18:53:05Z</dc:date>
    </item>
    <item>
      <title>Re: IMX8MP I2C Linux Device tree pinctrl question</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX8MP-I2C-Linux-Device-tree-pinctrl-question/m-p/1829597#M221357</link>
      <description>&lt;P&gt;"SION"&amp;nbsp; was the keyword that finally led to documentation. Im the IMX8MP App Ref Manual "8.2.2.3 SW Loopback through SION bit" and&amp;nbsp;&lt;/P&gt;&lt;P&gt;"17.1.3 External Signals" -- "Inputs of I2Cn_SCL and I2Cn_SDA also need to be manually enabled by setting the&lt;BR /&gt;SION bit in the IOMUX after the corresponding PADs are selected as I2C function."&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;(I am not familiar with "config tools", guess I am old school. But I will look it up.)&lt;BR /&gt;&lt;BR /&gt;Thanks for the clue.&lt;/P&gt;</description>
      <pubDate>Fri, 15 Mar 2024 19:21:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX8MP-I2C-Linux-Device-tree-pinctrl-question/m-p/1829597#M221357</guid>
      <dc:creator>flobro</dc:creator>
      <dc:date>2024-03-15T19:21:34Z</dc:date>
    </item>
    <item>
      <title>Re: IMX8MP I2C Linux Device tree pinctrl question</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX8MP-I2C-Linux-Device-tree-pinctrl-question/m-p/2027129#M232957</link>
      <description>&lt;P&gt;I think this is a poor answer to the question. OP is asking for the reasoning behind the "0x4000" being applied.&lt;/P&gt;&lt;P&gt;This answer is much better, but took me longer to find:&amp;nbsp; &lt;A href="https://community.nxp.com/t5/i-MX-Processors/Device-tree-pinctrl-32-bit-or-16-bit/m-p/848643/highlight/true#M129897" target="_blank"&gt;https://community.nxp.com/t5/i-MX-Processors/Device-tree-pinctrl-32-bit-or-16-bit/m-p/848643/highlight/true#M129897&lt;/A&gt;&lt;/P&gt;&lt;P&gt;In short, &lt;A href="https://github.com/nxp-imx/linux-imx/blob/lf-6.6.y/Documentation/devicetree/bindings/pinctrl/fsl%2Cimx-pinctrl.txt" target="_blank" rel="noopener"&gt;Documentation/devicetree/bindings/pinctrl/fsl,imx-pinctrl.txt&lt;/A&gt; from the linux-imx repo describes&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;STRONG&gt;Bits used for CONFIG:&lt;/STRONG&gt;&lt;BR /&gt;NO_PAD_CTL(1 &amp;lt;&amp;lt; 31): indicate this pin does not need config.&lt;/P&gt;&lt;P&gt;SION(1 &amp;lt;&amp;lt; 30): Software Input On Field.&lt;BR /&gt;Force the selected mux mode input path no matter of MUX_MODE functionality.&lt;BR /&gt;By default the input path is determined by functionality of the selected&lt;BR /&gt;mux mode (regular).&lt;/P&gt;&lt;P&gt;Other bits are used for PAD setting.&lt;BR /&gt;Please refer to each fsl,&amp;lt;soc&amp;gt;-pinctrl,txt binding doc for SoC specific part&lt;BR /&gt;of bits definitions.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;So the reason for the 0x4000 is because SION is set (1&amp;lt;&amp;lt;30). Bits 31 and 30 are used for NO_PAD_CTL and SION respectively, while the other bits are taken directly from the SW_PAD_CTL register that OP was familiar with.&lt;/P&gt;</description>
      <pubDate>Tue, 14 Jan 2025 01:51:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX8MP-I2C-Linux-Device-tree-pinctrl-question/m-p/2027129#M232957</guid>
      <dc:creator>asmyth</dc:creator>
      <dc:date>2025-01-14T01:51:32Z</dc:date>
    </item>
  </channel>
</rss>

