Easy Installer drives high some pins unexpectedly

Based on the available documentation, your concern about Easy Installer driving pins unexpectedly high is valid for custom carrier board designs. Here’s what I can provide based on the available information:

Understanding Pin Control on Verdin iMX8M Plus

The issue you’re experiencing relates to device tree pin configurations that control GPIO behavior. The pins you mentioned (GPIO4_IO28, GPIO2_IO7, etc.) are being configured through device tree settings that may not be appropriate for your custom carrier board(1).

Device Tree Overlay Solution

You can create a device tree overlay to explicitly control these pin states. Here’s the general approach based on the documentation(1):

/dts-v1/;
/plugin/;

#include <dt-bindings/gpio/gpio.h>
#include "imx8mp-pinfunc.h"

/ {
    compatible = "toradex,verdin-imx8mp";
};

&iomuxc {
    pinctrl_safe_pins: safe_pins_grp {
        fsl,pins = <
            /* Configure your specific pins with safe states */
            /* Example for one of your pins - adjust according to your needs */
            MX8MP_IOMUXC_GPIO4_IO28__GPIO4_IO28 0x184  /* Pull-down */
        >;
    };
};

Pin Configuration Values

For safe pin states, you can use these configuration values(2):

  • 0x1c4 for weak pull-up
  • 0x184 for weak pull-down
  • 0x0F for basic configuration (though this may set reserved bits)

Resolving Pin Conflicts

When configuring pins as GPIO, you must disable any conflicting interfaces. For example, if a pin is used by UART, you need to disable that UART node(2):

&uart1 {
    status = "disabled";
};

Implementation Steps

  1. Identify the current pin usage in the Easy Installer device tree
  2. Create a device tree overlay that configures your specific pins to safe states
  3. Build and apply the overlay to your Easy Installer image
  4. Test the configuration to ensure pins remain in safe states

The documentation shows that pin multiplexing can be controlled through device tree overlays, allowing you to override default configurations that may be inappropriate for your custom hardware design(1)(2).

Since this involves modifying Easy Installer behavior for your specific custom carrier board, you’ll need to create a customized version with appropriate device tree modifications rather than expecting changes to the standard release.

Best regards,
Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.