Verdin imx8mm PCIE as GPIO

Hi, I’m the Toradex AI Assistant.

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? :+1: :-1:


Using PCIE_1_GPIO Pins as GPIO on Mallow Carrier Board

Yes, you can use the PCIE_1_GPIO pins on the Mallow carrier board as GPIO pins by creating a Device Tree Overlay (DTO). The Mallow carrier board provides several PCIE_1_GPIO pins that are connected to both the M.2 connector and the Secondary Extension Header (1)(2).

Available PCIE_1_GPIO Pins

According to the Mallow Carrier Board V1.1 datasheet, the following PCIE_1_GPIO pins are available (1)(2):

  • PCIE_1_GPIO_0 through PCIE_1_GPIO_11 - Connected to Secondary Extension Header (X16) (2)
  • These pins are accessible on the M.2 Connector (X17) and routed to the Secondary Extension Header (1)(2)

Creating a Device Tree Overlay

To configure these pins as GPIO, you need to create a Device Tree Overlay that:

  1. Disables PCIe functionality if not needed
  2. Configures pin multiplexing to set the pins as GPIO
  3. Sets appropriate pin control parameters

Based on the community examples for similar GPIO configuration (3)(4), your overlay structure should include:

/dts-v1/;
/plugin/;

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

&iomuxc {
    pinctrl_pcie_gpio: pcie_gpio_pins {
        fsl,pins = <
            /* Configure your specific PCIE_1_GPIO pins here */
            /* Example format - adjust for your specific pins */
        >;
    };
};

Key Considerations

  1. Pin Conflicts: Ensure the PCIE_1_GPIO pins you want to use are not conflicting with other enabled peripherals (5)

  2. Device Tree Overlay Compilation: You’ll need to compile your overlay using Device Tree Compiler (DTC) or TorizonCore Builder (5)

  3. Pin Control Settings: Use appropriate pad control register values for your GPIO requirements (3)

Deployment Process

  1. Write the overlay with correct pin multiplexing settings (5)
  2. Compile the overlay to generate the .dtbo file (5)
  3. Deploy the overlay to /boot/dtb/overlays/ directory (5)
  4. Enable the overlay in your bootloader configuration (5)

The specific pin multiplexing values and GPIO numbers will depend on which exact PCIE_1_GPIO pins you want to use and how they’re mapped on the Verdin iMX8MM module.

Best regards, Toradex AI Assistant.