Verdin Development Board v1.1f carrier board with verdin iMX8MP SOM Integration Pin Configuration

Hi,

I need to configure the switches in my process code for the verdin development board with the verdin imx8mp som. so I need to configure the line number of the switches to configure in my code, but I have checked the docs of verdin development board datasheet and also checked with some gpioinfo in the userspace but I cant find out the switches sodimm number in physical board and datasheet and gpioinfo also nothing defined then how I need to integrate the switches with code,

The Verdin Development Board features four general-purpose green LEDs, four general-purpose
switches, and four general-purpose buttons.
Pins of these devices are available on connectors X23, X24, X26, X27, and X38 (See Figure 8 and
9). They can be directly connected to the GPIO breakout connectors or specific custom hardware.
Please note that the buttons and switches are not de-bounced.

In the device tree also I cant able to findout the sodimm pin number for the line to monitor it.

root@verdin-imx8mp-15722244:~# gpioinfo
gpiochip0 - 32 lines:
        line   0:       "SODIMM_206"            input
        line   1:       "SODIMM_208"            input
        line   2:       unnamed                 input
        line   3:       unnamed                 input
        line   4:       unnamed                 input
        line   5:       "SODIMM_210"            input
        line   6:       "SODIMM_212"            input
        line   7:       "SODIMM_216"            input
        line   8:       "SODIMM_218"            input
        line   9:       unnamed                 output
        line  10:       unnamed                 input
        line  11:       "SODIMM_16"             input
        line  12:       "SODIMM_155"            output consumer="regulator-usb1-vbus"
        line  13:       "SODIMM_157"            input
        line  14:       "SODIMM_185"            output consumer="regulator-usb2-vbus"
        line  15:       "SODIMM_91"             input
        line  16:       unnamed                 input
        line  17:       unnamed                 input
        line  18:       unnamed                 input
        line  19:       unnamed                 input
        line  20:       unnamed                 input
        line  21:       unnamed                 input
        line  22:       unnamed                 input
        line  23:       unnamed                 input
        line  24:       unnamed                 input
        line  25:       unnamed                 input
        line  26:       unnamed                 input
        line  27:       unnamed                 input
        line  28:       unnamed                 input
        line  29:       unnamed                 input
        line  30:       unnamed                 input
        line  31:       unnamed                 input
gpiochip1 - 32 lines:
        line   0:       unnamed                 input
        line   1:       unnamed                 input
        line   2:       unnamed                 input
        line   3:       unnamed                 input
        line   4:       unnamed                 input
        line   5:       unnamed                 input
        line   6:       "SODIMM_143"            input
        line   7:       "SODIMM_141"            input
        line   8:       unnamed                 input
        line   9:       unnamed                 input
        line  10:       "SODIMM_161"            input consumer="id"
        line  11:       unnamed                 output consumer=regulator-wifi-en
        line  12:       "SODIMM_84"             input active-low consumer="cd"
        line  13:       "SODIMM_78"             input
        line  14:       "SODIMM_74"             input
        line  15:       "SODIMM_80"             input
        line  16:       "SODIMM_82"             input
        line  17:       "SODIMM_70"             input
        line  18:       "SODIMM_72"             input
        line  19:       unnamed                 input
        line  20:       unnamed                 output consumer=regulator-module-eth1phy
        line  21:       unnamed                 input
        line  22:       unnamed                 input
        line  23:       unnamed                 input
        line  24:       unnamed                 input
        line  25:       unnamed                 input
        line  26:       unnamed                 input
        line  27:       unnamed                 input
        line  28:       unnamed                 input
        line  29:       unnamed                 input
        line  30:       unnamed                 input
        line  31:       unnamed                 input
gpiochip2 - 32 lines:
        line   0:       "SODIMM_52"             input
        line   1:       "SODIMM_54"             input
        line   2:       unnamed                 input
        line   3:       unnamed                 input
        line   4:       unnamed                 input
        line   5:       unnamed                 input
        line   6:       "SODIMM_56"             input
        line   7:       "SODIMM_58"             input
        line   8:       "SODIMM_60"             output consumer="relay-control"
        line   9:       "SODIMM_62"             output consumer="indicator-control"
        line  10:       unnamed                 input
        line  11:       unnamed                 input
        line  12:       unnamed                 input
        line  13:       unnamed                 input
        line  14:       "SODIMM_66"             output
        line  15:       unnamed                 input
        line  16:       "SODIMM_64"             output
        line  17:       unnamed                 input
        line  18:       unnamed                 input
        line  19:       "SODIMM_34"             input
        line  20:       "SODIMM_19"             input consumer="hpd"
        line  21:       unnamed                 input
        line  22:       "SODIMM_32"             input
        line  23:       unnamed                 input
        line  24:       unnamed                 input
        line  25:       "SODIMM_30"             input
        line  26:       "SODIMM_59"             input
        line  27:       "SODIMM_57"             input
        line  28:       "SODIMM_63"             input
        line  29:       "SODIMM_61"             input
        line  30:       unnamed                 input
        line  31:       unnamed                 input
gpiochip3 - 32 lines:
        line   0:       "SODIMM_252"            input active-low consumer="Wake-Up"
        line   1:       "SODIMM_222"            input
        line   2:       "SODIMM_36"             input
        line   3:       "SODIMM_220"            input
        line   4:       "SODIMM_193"            input
        line   5:       "SODIMM_191"            input
        line   6:       "SODIMM_201"            input
        line   7:       "SODIMM_203"            input
        line   8:       "SODIMM_205"            input
        line   9:       "SODIMM_207"            input
        line  10:       "SODIMM_199"            input
        line  11:       "SODIMM_197"            input
        line  12:       "SODIMM_221"            input
        line  13:       "SODIMM_219"            input
        line  14:       "SODIMM_217"            input
        line  15:       "SODIMM_215"            input
        line  16:       "SODIMM_211"            input
        line  17:       "SODIMM_213"            input
        line  18:       "SODIMM_189"            input
        line  19:       "SODIMM_244"            output active-low consumer="PCIe reset"
        line  20:       "SODIMM_38"             input
        line  21:       unnamed                 input
        line  22:       "SODIMM_76"             output consumer="regulator-usdhc2"
        line  23:       "SODIMM_135"            input
        line  24:       "SODIMM_133"            input
        line  25:       "SODIMM_17"             input
        line  26:       "SODIMM_24"             input
        line  27:       "SODIMM_26"             input
        line  28:       "SODIMM_21"             output active-low consumer="reset"
        line  29:       "SODIMM_256"            output consumer="regulator-dsi-hdmi"
        line  30:       "SODIMM_48"             input
        line  31:       "SODIMM_44"             input
gpiochip4 - 32 lines:
        line   0:       "SODIMM_42"             input
        line   1:       "SODIMM_46"             input
        line   2:       "SODIMM_187"            input
        line   3:       "SODIMM_20"             input
        line   4:       "SODIMM_22"             input
        line   5:       "SODIMM_15"             input
        line   6:       "SODIMM_196"            input
        line   7:       "SODIMM_200"            input
        line   8:       "SODIMM_198"            input
        line   9:       "SODIMM_202"            output active-low consumer="spi1 CS0"
        line  10:       unnamed                 input
        line  11:       unnamed                 input
        line  12:       unnamed                 input
        line  13:       unnamed                 input
        line  14:       unnamed                 output drive=open-drain consumer=scl
        line  15:       unnamed                 input drive=open-drain consumer=sda
        line  16:       "SODIMM_55"             output drive=open-drain consumer="scl"
        line  17:       "SODIMM_53"             input drive=open-drain consumer="sda"
        line  18:       "SODIMM_95"             output drive=open-drain consumer="scl"
        line  19:       "SODIMM_93"             input drive=open-drain consumer="sda"
        line  20:       "SODIMM_14"             output drive=open-drain consumer="scl"
        line  21:       "SODIMM_12"             input drive=open-drain consumer="sda"
        line  22:       "SODIMM_129"            input
        line  23:       "SODIMM_131"            input
        line  24:       "SODIMM_137"            input
        line  25:       "SODIMM_139"            input
        line  26:       "SODIMM_147"            input
        line  27:       "SODIMM_149"            input
        line  28:       "SODIMM_151"            input
        line  29:       "SODIMM_153"            input
        line  30:       unnamed                 input
        line  31:       unnamed                 input
gpiochip5 - 16 lines:
        line   0:       unnamed                 input
        line   1:       unnamed                 input
        line   2:       unnamed                 input
        line   3:       unnamed                 input
        line   4:       unnamed                 output consumer=regulator-eth2phy
        line   5:       unnamed                 input
        line   6:       unnamed                 input
        line   7:       unnamed                 input
        line   8:       unnamed                 input
        line   9:       unnamed                 input
        line  10:       unnamed                 input
        line  11:       unnamed                 input
        line  12:       unnamed                 input
        line  13:       unnamed                 input
        line  14:       unnamed                 input
        line  15:       unnamed                 input
root@verdin-imx8mp-15722244:~#

Hi, I’m the Toradex AI Assistant.

I might make mistakes or occasionally get you wrong. Our support team will step in if needed.


To help you configure the switches on your Verdin Development Board with the Verdin iMX8MP SoM, I need to clarify a few details about your setup first.

Platform Information Needed

Could you please provide the following information to give you the most accurate guidance:

  1. OS and Version: Which operating system and version are you running? (e.g., Torizon OS 6.8.0, Yocto BSP 7.2.0)
  2. Carrier Board: Are you using the Verdin Development Board specifically?

You can get this information by running the tdx-info command on your device. For more details on this tool, see: Getting Device Information with Tdx-Info | Toradex Developer Center

Understanding the Issue

Based on your description, you’re looking for the SODIMM pin numbers for the switches on the Verdin Development Board. The switches you mentioned are carrier board-specific components, not SoM pins, which is why they don’t appear in your gpioinfo output as SODIMM pins.

Pin Assignment Reference

According to the Verdin iMX8M Plus datasheet (1), you can find the complete pin assignment table in section 3.1. This table shows the mapping between:

  • X1 Pin numbers
  • Verdin Signal Names
  • i.MX 8MP Ball Names
  • Physical connections

Next Steps

Once you provide the OS version information, I can guide you through:

  1. Device Tree Configuration: How to properly configure the switches in your device tree overlay (2)
  2. GPIO Access Methods: The correct way to access these GPIOs in your application code
  3. Pin Multiplexing: How to ensure the pins are configured correctly for GPIO function (3)

The switches on the development board may require specific device tree overlay configuration to be accessible as standard GPIO lines in your application.

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.

Hi @ToradexAI,

Hardware and OS version info:

root@verdin-imx8mp-15722244:~# tdx-info

Software summary
------------------------------------------------------------
Bootloader:               U-Boot
Kernel version:           6.6.101-7.5.0-devel #1 SMP PREEMPT Mon Oct 27 12:24:20 UTC 2025
Kernel command line:      root=PARTUUID=6def13b7-376d-4a25-bc7e-1e9fbc114c90 ro rootwait console=tty1 console=ttymxc2,115200 console=null quiet loglevel=0 vt.global_cursor_default=0 vt.default_redraw=0 consoleblank=0
Distro name:              NAME="TDX Wayland with XWayland"
Distro version:           VERSION_ID=7.5.0-devel-20260122114211-build.0
Distro variant:           -
Hostname:                 verdin-imx8mp-15722244
------------------------------------------------------------

Hardware info
------------------------------------------------------------
HW model:                 Toradex Verdin iMX8M Plus WB on Verdin Development Board
Toradex version:          0070 V1.1A
Serial number:            15722244
Processor arch:           aarch64
------------------------------------------------------------

Thank you for providing the system information! Now I can help you configure the switches on your Verdin Development Board with the Verdin iMX8M Plus SoM running Torizon OS 7.5.0.

Understanding the Issue

The switches on the Verdin Development Board are carrier board-specific components that need to be configured through device tree overlays to be accessible as GPIO lines in your application(1). Since they don’t appear in your gpioinfo output with SODIMM names, they likely need proper device tree configuration.

Device Tree Overlay Configuration

To configure the switches as GPIO inputs, you’ll need to create a device tree overlay(1). Here’s the general approach:

1. Create a Device Tree Overlay

You’ll need to write an overlay that configures the pins for GPIO function(1). The overlay structure should include:

/dts-v1/; // Declares the syntax version of the DTS file.  
/plugin/; // Indicates that this is a Device Tree Overlay.  
  
// Header file with GPIO macros  
#include <dt-bindings/gpio/gpio.h>  
  
// Header file with SoC-specific pinmux macros  
#include "k3-pinctrl.h"  
  
/ {  
    compatible = "toradex,verdin-am62"; // Set hardware compatibility  
};  

(1)

2. Define Pin Control Groups

Create a function multiplexing group for your switches(1):

&main_pmx0 {  
    pinctrl_sodimm_202_gpio: sodimm_202_gpio_grp {  
        pinctrl-single,pins = <  
            AM62X_IOPAD(0x001c, PIN_INPUT, 7) /* (J23) OSPI0_D4.GPIO0_7 */ /* SODIMM 202 */  
        >;  
    };  
};  

(1)

3. Activate the GPIO Controller

Add your pin group to the GPIO controller(1):

&main_gpio0 {  
	pinctrl-0 = <&pinctrl_ctrl_sleep_moci>,  
		    <&pinctrl_gpio_5>,  
		    <&pinctrl_gpio_6>,  
		    <&pinctrl_gpio_7>,  
		    <&pinctrl_gpio_8>,  
            <&pinctrl_sodimm_202_gpio>;  
};  

(1)

Build and Deploy Process

For Torizon OS, you can use TorizonCore Builder to apply device tree overlays(1). The process involves:

  1. Creating a YAML configuration file
  2. Specifying the overlay in the configuration
  3. Building a custom Torizon OS image with your overlay(1)

Additional Considerations

Based on community discussions, when working with GPIO configuration through device tree overlays(2):

  • You may need to disable conflicting interfaces that use the same pins
  • Ensure proper pin control settings are applied
  • Include necessary header files for compilation(2)

Next Steps

To provide more specific guidance, I would need to know:

  1. Which specific switches you want to configure (SW1, SW2, SW3, or SW4)
  2. The exact pin connections from the Verdin Development Board schematic

The switches should be documented in the Verdin Development Board datasheet with their specific GPIO connections, which will determine the exact pin control configuration needed.

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.

Hi @ToradexAI,

I need the exact pin of switch,

Switches Connector (X23)
SW_4 O +1.8V 100k to GND
X23 User button and switch header

To find the exact pin information for the switches on your Verdin Development Board, you need to check the complete pin assignment table in the Verdin Development Board datasheet(1).

Finding Switch Pin Information

Based on the Verdin Development Board documentation(1), the switches are connected to specific connectors. However, I don’t have the complete pin assignment table for the X23 connector (Switches Connector) in the available sources to provide you with the exact SODIMM pin number for SW_4.

Recommended Approach

To get the exact pin information you need:

  1. Check the Complete Datasheet: Review the full Verdin Development Board datasheet, specifically looking for:

    • Section 3.17 “Low-speed IO pins configuration”(1)
    • The complete pin assignment tables for connector X23
    • Interface description sections that detail switch connections
  2. Use the Pinout Designer Tool: You can use the Pinout Designer Tool to learn which pins can be used as GPIO and their exact mappings(2).

Device Tree Overlay Configuration

Once you have the exact SODIMM pin number, you can create a device tree overlay(3). The basic structure would be:

/dts-v1/;
/plugin/;

#include "imx8mp-pinfunc.h"

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

&iomuxc {
    pinctrl_switch_gpio: switch_gpio_grp {
        fsl,pins = <
            /* Replace with actual pin configuration once identified */
            MX8MP_IOMUXC_[PIN_NAME]__GPIO[X]_IO[Y] 0x1c4
        >;
    };
};

&gpio[X] {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_switch_gpio>;
};

(3), (4)

Next Steps

To provide the exact pin configuration, I would need access to the complete pin assignment table from the Verdin Development Board datasheet that shows the mapping between X23 connector pins and SODIMM numbers.

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.