Hi there
I want to put a GPIO pin (SODIMM 222) high on boot with a device tree overlay. However, I’m struggling a bit getting it to work properly. When manually writing to GPIO 97 in the FS (echo 1 > …) i can see the output jump to high. On boot however, it remains stuck low.
I am using a i.MX8MP Verdin
This is in my Device tree overlay so far:
/dts-v1/;
/plugin/;
#include <dt-bindings/gpio/gpio.h>
#include "imx8mp-verdin.dtsi"
#include "imx8mp-pinfunc.h"
/ {
compatible = "toradex,verdin-imx8mp-wifi-dev";
};
&iomuxc {
pinctrl_gpio8_mod: gpio8grp_mod {
fsl,pins = <MX8MP_IOMUXC_SAI1_RXC__GPIO4_IO01 0x105>;
};
};
&gpio4 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio8_mod>;
sodimm222_hog: sodimm222_hog {
gpio-hog;
gpios = <1 GPIO_ACTIVE_HIGH>; /* GPIO4_IO01 = SODIMM 222 */
output-high;
line-name = "sodimm-222";
};
};
From the datasheet:
and reference manual:
cat /sys/kernel/debug/gpio
...
gpiochip3: GPIOs 96-127, parent: platform/30230000.gpio, 30230000.gpio:
gpio-96 (SODIMM_252 |Wake-Up ) in hi ACTIVE LOW
gpio-97 (SODIMM_222 )
gpio-98 (SODIMM_36 )
But somehow this does not translate to what i am seeing in /sys/kernel/debug/pinctrl/30330000.pinctrl/
:
pin 83 (MX8MP_IOMUXC_SAI1_RXC): 30330000.pinctrl (GPIO UNCLAIMED) (HOG) function pinctrl group gpio8grp
pin 97 (MX8MP_IOMUXC_SAI1_TXD3): 30be0000.ethernet (GPIO UNCLAIMED) function pinctrl group fecgrp
So what is going on here? How can I set SODIMM 222 high?
Best Regards
Tim