I might make mistakes. Our support team will step in if needed. If I answered your question, please tick the “Solution” checkbox. For follow-up questions to me, please use @ToradexAI in your post.
Did you like my answer?
Hello,
Thank you for sharing your device tree overlay. Let’s break down and troubleshoot your configuration for controlling GPIO1 pin 206 on the Verdin iMX8M Plus.
Key points and suggestions:
SODIMM 206 Mapping
On Verdin iMX8M Plus, SODIMM 206 is typically GPIO1_IO00. Your pin mapping:
The pinctrl_gpio1 node is likely not defined in the base device tree. Overlays should create uniquely-named pinctrl nodes (like pinctrl_myled) to prevent conflicts.
Do not assign pinctrl-0 or pinctrl-names directly under iomuxc — these belong under the device using the pin configuration (in your case, the “leds” node).
The way you reference pinctrl_gpio1 in both the iomuxc and the “leds” node may cause issues if the node is not defined in the base DT.
Correct Overlay Example
Here’s a tailored and recommended approach based on official guidance:
If you have further issues, please specify the exact error message, boot log, or the observed symptom (e.g., LED not toggling, GPIO not exported, etc.), and I’ll be happy to assist you!
I applied this and then manually connected SODIMM 206 to an LED. I can toggle the value of the pin in software and I can see the LED appropriately react to the changes.
I took a look at your original overlay as it was written. If I apply this overlay as you provided I see this in my boot log:
imx8mp-pinctrl 30330000.pinctrl: pin MX8MP_IOMUXC_GPIO1_IO00 already requested by 30330000.pinctrl; cannot claim for leds
This is because you’ve assigned pinctrl_gpio1 to both iomuxc and leds. This causes a conflict and the pin does not get configured properly. If I remove pinctrl_gpio1 from the pinctrl-0 in iomuxc then the conflict goes away and the pin is default high, as indicated by the LED I have attached being lit on boot.