Issue updating gpio setting using device tree overlays in a custom image

Hi, I am having trouble attempting to set a gpio pin as open-drain/pull-up with device tree overlays.

I am on apalis imx8 v1.1 with ixora carrier board v1.2. I am running windows as my host os. I am running a custom image based on the toradex 5.7.0+build.17

I am developing in python using the gpiod library

I can confirm the overlay is built during the building process of the custom image so it is included.

This is my current device tree overlay:

Here is my python code to set-up the gpio:

Since I have setup the gpio pin as open-drain with a pull-up resistor I expect the pin to be at ~0v when I set the pin to high and ~3.3v when I set the pin low. However, it shows 3.3v at high logic level and 0v at low logic levels which would be more expected of a push/pull setup.

Any advice would be appreciated. Thanks, Mike

GPIO settings on iMX8/iMX8X SOC is done through System Controller on initial stage of Linux boot and Device Tree overlay may not work as expected. I’d recommend to modify and re-build the whole Device Tree with required modification.