Apalis IMX8 I2C2 SDA pin (205) held down in uBoot

Hello,
I am trying to test the the Apalis IMX8 as a replacement for Apalis T30 in an application where we use I2C2 as a multi-master bus. In the future we plan to change our PCBs to not use it (as it is dedicated to HDMI) but during the evaluation phase it would be nice to preven this interface from interfering with our application.
We use a stripped-down 5.4 kernel (provided by Toradex) and imx8qm-apalis-v1.1-eval.dts device tree with a small overlay on top of it releasing some GPIO mappings, but not touching the HDMI interface.

The problem which we see now is, that while in the Linux (quite immediatelly after the kernel is loaded) the bus is released and I2C messages are generated by the external master, but while in the uBoot, the SDA pin is held down by the Apalis.

Cross-checking with the IMX8QM Reference Manual I see the HDMI_TX0_DDC_SDA really has no alternate function to be switched to. I have not found a IMX8QP one, so I assume it is the same there.

So my question is, if you know, what can I do to release the bus in uBoot the same way it is in Linux.

Thank you,
Jan

Hi @JanS !

Sorry for the delay here.

Yes, this is right. On page 777 of i.MX8QM Reference Manual we can see that the pin HDMI_TX0_DDC_SDA has only I2C functionality:

I tried to find why this would happen during U-Boot, but I didn’t find out what could be the culprit. I am still looking for it. I could not find much documentation or initialization details about HDMI_TX0_DCC_SDA and HDMI_TX0_DCC_SCL.

The thing here is that this I2C interface that you are targeting has this dedicated DDC pins (HDMI_TX0_DCC_SDA and HDMI_TX0_DCC_SCL) that can’t be used as common I2C (as stated in section 5.9 I²C of Apalis iMX8QM Datasheet - https://docs.toradex.com/105526-apalis-imx8-datasheet.pdf). Maybe the best attempt here would be to completely disable this I2C (together with HDMI). We are trying to find out what could be done to keep it low during U-Boot.

In the mean time, you can also try to search/ask on NXP Community about this.

Best regards,

Thank you for the response, I was searching also on the NXP pages, but I may give it a second try and use the exact pin names (originally I searched just HDMI I2C). I’ll let you know if something pops up.