Hi @VijayRichard,
For SODIMM 62, you can write an overlay as:
// Enable Verdin iMX8M Plus SODIMM 62 GPIO.
/dts-v1/;
/plugin/;
/ {
compatible = "toradex,verdin-imx8mp";
};
#include "imx8mp-pinfunc.h"
/* Verdin QSPI_1 */
&flexspi {
status = "disabled";
};
/* Additional GPIO */
&iomuxc {
pinctrl-0 = <&pinctrl_gpio1>, <&pinctrl_gpio2>,
<&pinctrl_gpio3>, <&pinctrl_gpio4>,
<&pinctrl_gpio7>, <&pinctrl_gpio8>,
<&pinctrl_gpio_hog1>, <&pinctrl_gpio_hog2>, <&pinctrl_gpio_hog3>,
<&pinctrl_hdmi_hog>, <&pinctrl_add_gpio>;
pinctrl_add_gpio: add_gpio_grp {
fsl,pins = <
MX8MP_IOMUXC_NAND_DATA03__GPIO3_IO09 0x82 /* SODIMM 62 */
>;
};
};
I’ve searched this pin inside the linux-toradex and I’ve found it inside the flexspi node. So I disabled it to remove conflicts and then create a new group for the additional GPIO that you need to enable. Finally, I’ve added it to the iomuxc node.
I’ve also assumed your verdin imx8mp doesn’t have Wifi and Bluetooth, otherwise the pinctrl-0 inside iomuxc needs to be changed.
You can change the name and also the 0x82 to fit your needs.
Please, follow this article to compile your device tree overlay: Build From Source Code Documentation Overview | Toradex Developer Center
Have you check if you have the correct device tree enabled? Our modules come with the device tree for the Evaluation board by default.
You can check this by running
# printenv fdtfile
# printenv fdt_board
inside the u-boot terminal. If it’s incorrect, you can change it by running
# setenv fdt_board dahlia
# saveenv
# reset
This will fix your problem.
The only way to change the pins’ functions is by changing the device tree.
Please let me know if you need anything else.
Best regards,
Hiago.