Verdin iMX8M Plus GPIO pull up configuration

Got it working. Final configuration:

tcbuild.yaml


# Documentation https://developer.toradex.com/torizon/os-customization/torizoncore-builder-workflow/#customizing-the-configuration-file
# Configuration file outline:
# ⚠️ Mouse hover to the properties to see documentation
# ⚠️ ctrl+space inside an object or property to get the autocompletion tips
input:
  easy-installer:
    toradex-feed:
      version: "6.7.0"
      release: quarterly
      machine: verdin-imx8mp
      distro: torizon
      variant: torizon-core-docker
      build-number: 18

customization:
  splash-screen: my_splash_screen.png
  device-tree:
    include-dirs:
      - linux/include
      - linux/arch/arm64/boot/dts/freescale/
    custom: linux/arch/arm64/boot/dts/freescale/imx8mp-verdin-wifi-mallow.dts
    overlays:
      add:
      - device-trees/overlays/verdin-imx8mp_hdmi_overlay.dts
      - overlays/gpio_pullup.dts

output:
  easy-installer:
    local: my-os
#    bundle: 
#      compose-file: docker-compose.yml
  ostree:
    branch: my-os
    commit-subject: my-os

And gpio_pullup.dts:


/*
GPIO control bits: PE  HYS  PUE  ODE  FSEL  X  DSE1  DSE0  X
-----------------
Pull Select Field       : PE_0_PULL_DISABLE / PE_1_PULL_ENABLE
Input Select Field      : HYS_0_CMOS / HYS_1_SCHMITT
Pull Up / Down Config.  : PUE_0_WEAK_PULL_DOWN / PUE_1_WEAK_PULL_UP
Open Drain Field        : ODE_0_OPEN_DRAIN_DISABLE / ODE_1_OPEN_DRAIN_ENABLE
Slew Rate Field         : FSEL_0_SLOW_SLEW_RATE / FSEL_1_FAST_SLEW_RATE
Drive Strength Field    : DSE_X1 / DSE_X2 / DSE_X4 /DSE_X6
-----------------

1C4 hexadecimal = 0b111000100 binary (PE_1_PULL_ENABLE | HYS+1+SCHMITT | PUE_1_WEAK_PULL_UP | ODE_0_OPEN_DRAIN_DISABLE | FSEL_0_SLOW_SLEW_RATE | DSE_X2 )
*/

/dts-v1/;
/plugin/;

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

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

&pinctrl_gpio1 {
	fsl,pins = <MX8MP_IOMUXC_GPIO1_IO00__GPIO1_IO00		0x1c4>;
};

&pinctrl_gpio2 {
	fsl,pins = <MX8MP_IOMUXC_GPIO1_IO01__GPIO1_IO01		0x1c4>;
};

&pinctrl_gpio3 {
	fsl,pins = <MX8MP_IOMUXC_GPIO1_IO05__GPIO1_IO05 	0x1c4>;
};

&pinctrl_gpio4 {
	fsl,pins = <MX8MP_IOMUXC_GPIO1_IO06__GPIO1_IO06	 	0x1c4>;
};

A final comment:

The parameter: clear: false on tcbuild.yaml device-tree session seens not to be working. So it clears all overlays from custom dts on any condition. I had to add HDMI overlay again in order to have my HDMI display working again. I suggest a check/fix on this to engineering.

Anyway thanks for supporting.