Hi, I’m the Toradex AI Assistant. I’m in early beta, and I would appreciate your feedback.
The Toradex Support team will follow up with you shortly!
Did you like my answer?
Hello,
To address the issue of GPIO3_IO11 (SOM pin 196) not being configured as expected in your custom TorizonCore 6.7.0 build, you should follow a systematic approach to identify and correct the configuration. Given that the other pins are correctly configured, the focus should be on what differentiates the configuration of GPIO3_IO11 from the others.
-
Review Device Tree Overlays: Start by closely examining the device tree overlay (DTO) you’ve created for your custom configuration. Ensure that the pin definition for GPIO3_IO11 is correctly specified, matching the configuration of the other GPIOs that are working as intended. The pin should be defined within a pin control group (pinctrl) in your device tree source (DTS) file, with the correct settings for input with an interrupt on a low level.
-
Check for Conflicting Configurations: It’s possible that GPIO3_IO11 is being configured elsewhere in the device tree sources (DTS or DTSI files) or in another overlay that gets applied at boot time. Use grep or a similar tool to search through the device tree sources for any instance of GPIO3_IO11 or its corresponding pin name as defined in the SoC’s documentation to ensure there’s no conflicting configuration.
-
Verify Pin Muxing: Ensure that the pin muxing for GPIO3_IO11 is set correctly to function as a GPIO. The pin might be multiplexed for a different function by default, and you need to explicitly configure it as a GPIO in your device tree overlay.
-
Inspect U-Boot Configuration: Since the bootloader (U-Boot) can also configure pins, verify that U-Boot is not setting up GPIO3_IO11 in a way that conflicts with your desired configuration. Look into the U-Boot environment variables and the board-specific U-Boot configuration files for any pin setup related to GPIO3_IO11.
-
Runtime Configuration Check: After booting, check the pin configuration at runtime using the Linux sysfs interface or tools like
devmem2
to directly read the hardware registers related to pin configuration. This can help confirm if the pin is being set up as expected after boot and might help identify when the configuration changes if it does. -
Kernel Log Analysis: Review the kernel boot log (dmesg) for any messages related to GPIO or pin configuration that might indicate why GPIO3_IO11 is being configured differently. Look for any errors or warnings that might suggest
Please, also check if these links can help you solve your problem:
Pinmuxing i.MX 8M Mini/Plus Based Modules | Toradex Developer Center.