I added a device overlay to the coral development board to reconfigure certain gpio-pins as Open Drain Pins. Therefore, I added the following line to the device tree overlay: "0x118 0x380 0x000 0x5 0x0 0x25" (The first 5 bytes describing the pin function: MX8MQ_IOMUXC_NAND_DATA03_GPIO3_IO9 and the last byte 0x25 as CONFIG bit with the meaning: ODE DSE_65 SRE_SLOW bits are high and all others are low. More details in chapter 188.8.131.52 of the iMX8MQ Reference Manual).
It did work as that the active high is not driven anymore and can be pulled up to any voltage through an external pull-up resistor. What I don't understand though, is that the low level produces a voltage of 480 mV instead of being shorted to ground (see attached image measured with an oscilloscope. Min voltage indication on the bottom right in yellow text.).
Why is that the case?
Is there any documentation which explains and illustrates how the pin is connected internally to produce such a result?
How can I configure a pin to be truly Open Drain, meaning when setting it low it will be shorted to GND and setting it high will leave it floating?