<?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: Device Tree Overlay &amp;amp; Pinctrl on NXP Kernel lf-6.12.20-2.0.0 in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/iMX8MP-Device-Tree-Overlay-amp-Pinctrl-on-NXP-Kernel-lf-6-12-20/m-p/2160636#M240406</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I'm trying to apply a device tree overlay on the NXP kernel version lf-6.12.20-2.0.0 for the i.MX8MP.&lt;/P&gt;&lt;P&gt;To apply the overlay, I’m using a simple kernel module: &lt;A href="https://github.com/ikwzm/dtbocfg" target="_blank"&gt;https://github.com/ikwzm/dtbocfg&lt;/A&gt;&lt;/P&gt;&lt;P&gt;The device tree is loaded after Linux kernel is started.&lt;/P&gt;&lt;P&gt;When I try to activate this overlay:&lt;/P&gt;&lt;PRE&gt;/dts-v1/;&lt;BR /&gt;/plugin/;&lt;BR /&gt;&lt;BR /&gt;#include &amp;lt;dt-bindings/gpio/gpio.h&amp;gt;&lt;BR /&gt;#include &amp;lt;dt-bindings/interrupt-controller/irq.h&amp;gt;&lt;BR /&gt;&lt;BR /&gt;#include "../freescale/imx8mp-pinfunc.h"&lt;BR /&gt;&lt;BR /&gt;/ {&lt;BR /&gt;&lt;BR /&gt;compatible = "fsl,imx8mp";&lt;BR /&gt;&lt;BR /&gt;// IOMUX&lt;BR /&gt;fragment@iomuxc {&lt;BR /&gt;target = &amp;lt;&amp;amp;iomuxc&amp;gt;;&lt;BR /&gt;__overlay__ {&lt;BR /&gt;&lt;BR /&gt;pinctrl_i2c2: pinctrl_i2c2 {&lt;BR /&gt;fsl,pins = &amp;lt;&lt;BR /&gt;MX8MP_IOMUXC_SD1_DATA6__I2C2_SCL 0x400001c3 // KPAD_BAT_I2C2_SCL: J2.J78&lt;BR /&gt;MX8MP_IOMUXC_SD1_DATA7__I2C2_SDA 0x400001c3 // KPAD_BAT_I2C2_SDA: J2.J80&lt;BR /&gt;&amp;gt;;&lt;BR /&gt;};&lt;BR /&gt;&lt;BR /&gt;};&lt;BR /&gt;&lt;BR /&gt;};&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;fragment@i2c2 {&lt;BR /&gt;target = &amp;lt;&amp;amp;i2c2&amp;gt;;&lt;BR /&gt;__overlay__ {&lt;BR /&gt;&lt;BR /&gt;clock-frequency = &amp;lt;100000&amp;gt;;&lt;BR /&gt;pinctrl-names = "default";&lt;BR /&gt;pinctrl-0 = &amp;lt;&amp;amp;pinctrl_i2c2&amp;gt;;&lt;BR /&gt;status = "okay";&lt;BR /&gt;&lt;BR /&gt;eeprom_keypad: eeprom@50 {&lt;BR /&gt;compatible = "microchip,24c02";&lt;BR /&gt;reg = &amp;lt;0x50&amp;gt;;&lt;BR /&gt;pagesize = &amp;lt;16&amp;gt;;&lt;BR /&gt;vcc-supply = &amp;lt;&amp;amp;reg_vref_3v3&amp;gt;;&lt;BR /&gt;};&lt;BR /&gt;&lt;BR /&gt;};&lt;BR /&gt;};&lt;BR /&gt;&lt;BR /&gt;};&lt;/PRE&gt;&lt;P&gt;The following error message is shown:&lt;/P&gt;&lt;PRE&gt;imx8mp-pinctrl 30330000.pinctrl: invalid group "pinctrl_i2c2" for function "pinctrl"&lt;/PRE&gt;&lt;P&gt;I checked the phandle references in the base device tree (imx8mp.dtsi) and everything looks correct.&lt;BR /&gt;This issue occurs only with pinctrl references; other phandle references work fine.&lt;/P&gt;&lt;P&gt;The device overlay is compiled with the -@ option for dtc.&lt;/P&gt;&lt;P&gt;A similar message occurs on the mainline kernel 6.12.36:&lt;/P&gt;&lt;PRE&gt;imx8mp-pinctrl 30330000.pinctrl: unable to find group for node pinctrl_i2c2&lt;/PRE&gt;&lt;P&gt;So it seems that pinmuxing is not possible when provided via a device tree overlay.&lt;/P&gt;&lt;P&gt;Is there a solution for this?&lt;/P&gt;&lt;P&gt;Thanks for your help,&lt;BR /&gt;Sven&lt;/P&gt;</description>
    <pubDate>Fri, 29 Aug 2025 10:32:48 GMT</pubDate>
    <dc:creator>Svenifax</dc:creator>
    <dc:date>2025-08-29T10:32:48Z</dc:date>
    <item>
      <title>iMX8MP: Device Tree Overlay &amp; Pinctrl on NXP Kernel lf-6.12.20-2.0.0</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX8MP-Device-Tree-Overlay-amp-Pinctrl-on-NXP-Kernel-lf-6-12-20/m-p/2160636#M240406</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I'm trying to apply a device tree overlay on the NXP kernel version lf-6.12.20-2.0.0 for the i.MX8MP.&lt;/P&gt;&lt;P&gt;To apply the overlay, I’m using a simple kernel module: &lt;A href="https://github.com/ikwzm/dtbocfg" target="_blank"&gt;https://github.com/ikwzm/dtbocfg&lt;/A&gt;&lt;/P&gt;&lt;P&gt;The device tree is loaded after Linux kernel is started.&lt;/P&gt;&lt;P&gt;When I try to activate this overlay:&lt;/P&gt;&lt;PRE&gt;/dts-v1/;&lt;BR /&gt;/plugin/;&lt;BR /&gt;&lt;BR /&gt;#include &amp;lt;dt-bindings/gpio/gpio.h&amp;gt;&lt;BR /&gt;#include &amp;lt;dt-bindings/interrupt-controller/irq.h&amp;gt;&lt;BR /&gt;&lt;BR /&gt;#include "../freescale/imx8mp-pinfunc.h"&lt;BR /&gt;&lt;BR /&gt;/ {&lt;BR /&gt;&lt;BR /&gt;compatible = "fsl,imx8mp";&lt;BR /&gt;&lt;BR /&gt;// IOMUX&lt;BR /&gt;fragment@iomuxc {&lt;BR /&gt;target = &amp;lt;&amp;amp;iomuxc&amp;gt;;&lt;BR /&gt;__overlay__ {&lt;BR /&gt;&lt;BR /&gt;pinctrl_i2c2: pinctrl_i2c2 {&lt;BR /&gt;fsl,pins = &amp;lt;&lt;BR /&gt;MX8MP_IOMUXC_SD1_DATA6__I2C2_SCL 0x400001c3 // KPAD_BAT_I2C2_SCL: J2.J78&lt;BR /&gt;MX8MP_IOMUXC_SD1_DATA7__I2C2_SDA 0x400001c3 // KPAD_BAT_I2C2_SDA: J2.J80&lt;BR /&gt;&amp;gt;;&lt;BR /&gt;};&lt;BR /&gt;&lt;BR /&gt;};&lt;BR /&gt;&lt;BR /&gt;};&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;fragment@i2c2 {&lt;BR /&gt;target = &amp;lt;&amp;amp;i2c2&amp;gt;;&lt;BR /&gt;__overlay__ {&lt;BR /&gt;&lt;BR /&gt;clock-frequency = &amp;lt;100000&amp;gt;;&lt;BR /&gt;pinctrl-names = "default";&lt;BR /&gt;pinctrl-0 = &amp;lt;&amp;amp;pinctrl_i2c2&amp;gt;;&lt;BR /&gt;status = "okay";&lt;BR /&gt;&lt;BR /&gt;eeprom_keypad: eeprom@50 {&lt;BR /&gt;compatible = "microchip,24c02";&lt;BR /&gt;reg = &amp;lt;0x50&amp;gt;;&lt;BR /&gt;pagesize = &amp;lt;16&amp;gt;;&lt;BR /&gt;vcc-supply = &amp;lt;&amp;amp;reg_vref_3v3&amp;gt;;&lt;BR /&gt;};&lt;BR /&gt;&lt;BR /&gt;};&lt;BR /&gt;};&lt;BR /&gt;&lt;BR /&gt;};&lt;/PRE&gt;&lt;P&gt;The following error message is shown:&lt;/P&gt;&lt;PRE&gt;imx8mp-pinctrl 30330000.pinctrl: invalid group "pinctrl_i2c2" for function "pinctrl"&lt;/PRE&gt;&lt;P&gt;I checked the phandle references in the base device tree (imx8mp.dtsi) and everything looks correct.&lt;BR /&gt;This issue occurs only with pinctrl references; other phandle references work fine.&lt;/P&gt;&lt;P&gt;The device overlay is compiled with the -@ option for dtc.&lt;/P&gt;&lt;P&gt;A similar message occurs on the mainline kernel 6.12.36:&lt;/P&gt;&lt;PRE&gt;imx8mp-pinctrl 30330000.pinctrl: unable to find group for node pinctrl_i2c2&lt;/PRE&gt;&lt;P&gt;So it seems that pinmuxing is not possible when provided via a device tree overlay.&lt;/P&gt;&lt;P&gt;Is there a solution for this?&lt;/P&gt;&lt;P&gt;Thanks for your help,&lt;BR /&gt;Sven&lt;/P&gt;</description>
      <pubDate>Fri, 29 Aug 2025 10:32:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX8MP-Device-Tree-Overlay-amp-Pinctrl-on-NXP-Kernel-lf-6-12-20/m-p/2160636#M240406</guid>
      <dc:creator>Svenifax</dc:creator>
      <dc:date>2025-08-29T10:32:48Z</dc:date>
    </item>
    <item>
      <title>Re: iMX8MP: Device Tree Overlay &amp; Pinctrl on NXP Kernel lf-6.12.20-2.0.0</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/iMX8MP-Device-Tree-Overlay-amp-Pinctrl-on-NXP-Kernel-lf-6-12-20/m-p/2162147#M240464</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The error:&amp;nbsp;&lt;CODE&gt;imx8mp-pinctrl 30330000.pinctrl: invalid group "pinctrl_i2c2" for function "pinctrl"&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;indicates that the overlay is trying to define a new pinctl group "pinctrl_i2c2" that the pinctl driver doesn't recognize.&lt;/P&gt;
&lt;P&gt;Maybe you can try to predefine the pinctrl group in the base device tree.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;!--ScriptorStartFragment--&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;DIV class="scriptor-paragraph"&gt;&lt;SPAN&gt;pinctrl_i2c2&lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt; &lt;SPAN&gt;pinctrl_i2c2&lt;/SPAN&gt; &lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV class="scriptor-paragraph"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;fsl&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;SPAN&gt;pins&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV class="scriptor-paragraph"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;MX8MP_IOMUXC_SD1_DATA6__I2C2_SCL&lt;/SPAN&gt;&lt;SPAN&gt; 0x400001c3&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV class="scriptor-paragraph"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;MX8MP_IOMUXC_SD1_DATA7__I2C2_SDA&lt;/SPAN&gt;&lt;SPAN&gt; 0x400001c3&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV class="scriptor-paragraph"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV class="scriptor-paragraph"&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;!--ScriptorEndFragment--&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;LI-WRAPPER&gt;&lt;/LI-WRAPPER&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In your overlay, just reference it:&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;!--ScriptorStartFragment--&gt;pinctrl-0 = &amp;lt;&amp;amp;pinctrl_i2c2&amp;gt;;&lt;!--ScriptorEndFragment--&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Regards&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Daniel&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 02 Sep 2025 12:06:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/iMX8MP-Device-Tree-Overlay-amp-Pinctrl-on-NXP-Kernel-lf-6-12-20/m-p/2162147#M240464</guid>
      <dc:creator>danielchen</dc:creator>
      <dc:date>2025-09-02T12:06:37Z</dc:date>
    </item>
  </channel>
</rss>

