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,

2.16 Digital interfaces
2.16.1 Switches / LEDs
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.
2.16.1.1.1 Switches Connector (X23)
Connector type: 1x2 Pin Header Female, 2.54 mm pitch, Samtec SSW-102-01-G-S
Pin Signal Name I/O Type Voltage Pull-up/Pull-down
1 SW_4 O +1.8V 100k to GND
2 SW_8 O +1.8V 10k to GND
2.16.1.1.2 Switches Connector (X24)
Connector type: 1x2 Pin Header Female, 2.54 mm pitch, Samtec SSW-102-01-G-S
Pin Signal Name I/O Type Voltage Pull-up/Pull-down
1 SW_5 O +1.8V 100k to GND
2 SW_9 O +1.8V 10k to GND
2.16.1.1.3 Switches Connector (X26)
Connector type: 1x2 Pin Header Female, 2.54 mm pitch, Samtec SSW-102-01-G-S
Pin Signal Name I/O Type Voltage Pull-up/Pull-down
1 SW_6 O +1.8V 100k to GND
2 SW_10 O +1.8V 10k to +V1.8_SW
2.16.1.1.4 Switches Connector (X27)
Connector type: 1x2 Pin Header Female, 2.54 mm pitch, Samtec SSW-102-01-G-S
Pin Signal Name I/O Type Voltage Pull-up/Pull-down
1 SW_7 O +1.8V 100k to GND
2 SW_11 O +1.8V 10k to +V1.8_SW

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

Hi, I’m the Toradex AI Assistant.

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


The switches on the Verdin Development Board (SW_4, SW_5, SW_6, SW_7, SW_8, SW_9, SW_10, SW_11) are connected to specific connectors but are not directly mapped to SODIMM pins. These switches are carrier board-specific features that connect to the module through GPIO breakout connectors.

Understanding the Switch Configuration

The switches you mentioned are connected to header connectors on the Verdin Development Board, not directly to SODIMM pins. This is why you don’t see them listed in your gpioinfo output with SODIMM numbers.

Solution: Device Tree Configuration

To use these switches in your code, you need to create a device tree overlay that maps these switches to available GPIO pins. Based on the community discussion, here’s the approach (1):

1. Create a Device Tree Overlay

You’ll need to create a device tree overlay that configures the pinmux and GPIO settings. Here’s the general structure (1):

/dts-v1/;
/plugin/;

#include "imx8mp-pinfunc.h"

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

&iomuxc {
    pinctrl_gpio_switches: gpio_switches_grp {
        fsl,pins = <
            /* Configure your chosen GPIO pins for switches */
            MX8MP_IOMUXC_GPIO1_IO00__GPIO1_IO00 0x140
            /* Add more pins as needed */
        >;
    };
};

&gpio1 {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_gpio_switches>;
    
    switch_hog: switches {
        gpio-hog;
        gpios = <0 GPIO_ACTIVE_HIGH>;
        input;
        line-name = "switch_input";
    };
};

2. Device Tree Compilation Process

To compile and deploy your device tree overlay (2):

$ make DTC_FLAGS="-@" freescale/<your-custom-overlay>.dtb

3. Key Points for Implementation

  1. Pin Selection: Choose available GPIO pins from your gpioinfo output that show as “unnamed” and “input” (1)
  2. Pinmux Configuration: Configure the pinmux in the &iomuxc node (3)
  3. GPIO Configuration: Set up the GPIO behavior in the appropriate GPIO bank node (3)

Recommended Approach

Since the switches are carrier board-specific and not directly connected to SODIMM pins, you should:

  1. Identify available GPIO pins from your gpioinfo output
  2. Physically connect your switches to these GPIO pins via the GPIO breakout connectors
  3. Create a device tree overlay to configure these pins appropriately
  4. Access them in your application code using the configured GPIO numbers

To get more specific guidance for your exact hardware configuration, could you let me know which version of the OS you are running and confirm you’re using the Verdin iMX8M Plus with the Verdin Development Board?

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.