I’m working with a Verdin iMX8M Plus on a Mallow carrier board running Torizon OS 7.1.0. I’m trying to use the Mallow Primary Extension Header X10 pins related to I2C_4_CSI as GPIO inputs.
Hardware/wiring has already been checked and re-checked - other GPIOs are running fine.
From the Mallow schematic:
X10 pin 16 → I2C_4_CSI_SDA → SODIMM_93 → GPIO5_IO19 → gpiochip4 line 19
X10 pin 17 → I2C_4_CSI_SCL → SODIMM_95 → GPIO5_IO18 → gpiochip4 line 18
I need to read the signal on X10 pin 17, so I’m testing:
gpioget gpiochip4 18
gpioget gpiochip4 19
gpiomon gpiochip4 18 19
I created a device tree overlay that disables i2c3 and muxes the pins as GPIO:
&i2c3 {
status = "disabled";
};
&pinctrl_i2c3 {
fsl,pins =
<MX8MP_IOMUXC_I2C3_SCL__GPIO5_IO18 0x400001c6>,
<MX8MP_IOMUXC_I2C3_SDA__GPIO5_IO19 0x400001c6>;
};
&iomuxc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c3>;
};
After boot, the pinmux seems to be applied:
pin 132 (MX8MP_IOMUXC_I2C3_SCL): 30330000.pinctrl 30240000.gpio:146 (HOG)
function pinctrl group i2c3grp
pin 133 (MX8MP_IOMUXC_I2C3_SDA): 30330000.pinctrl 30240000.gpio:147 (HOG)
function pinctrl group i2c3grp
Also, gpioinfo shows the lines are no longer claimed by I2C.
I get no state changes and no events at all:
gpioget gpiochip4 18 or 19
# always returns 1
gpiomon gpiochip4 18 19
# no events
Even when forcing the signal low externally, the GPIO value does not change.
Is it correct way to repurpose I2C_4_CSI_SCL/SDA as GPIO inputs on Verdin iMX8MP + Mallow under Torizon OS?
1. Is applying pinctrl_i2c3 through &iomuxc correct here?
2. Is 0x400001c6 a valid pad configuration for GPIO input with pull-up on these pads?
3. Is there any additional input select / daisy / SION configuration required for GPIO5_IO18 and GPIO5_IO19?
4. Is there any known Mallow-specific issue with using X10 pin 16/17 as GPIO inputs?
5. What else can be causing this behaviour? What path to follow?
Thanks for any kind of help.

