IMX8QM: Is it possible to control I2C expander through HDMI TX0 DDC channel?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IMX8QM: Is it possible to control I2C expander through HDMI TX0 DDC channel?

471 Views
vik
Contributor II

Hi all,

We are working on a custom board based on IMX8QM and we would need to use HDMI TX0 DDC channel to control an I2C expander PCA9537. So we wonder if this is possible?

After some investigation we noticed that optional property in device tree for hdmi should provide this functionality:
    ddc-i2c-bus = <&i2c0>;

This feature is not supported in imx8qm hdmi driver in linux kernel 5.15.x, so if anyone have some tips or reference how we can add support to connect hdmi ddc bus to system I2c master it would be very helpful?

Thank you.

Tags (4)
0 Kudos
1 Reply

391 Views
darko31
Contributor II

So vik and I are colleagues from work and we've found a way to use the DDC channel.

The cdns_hdmi_scdc_write function can be copied and modified to send a custom packet over DDC.

https://github.com/nxp-imx/linux-imx/blob/lf-5.15.y/drivers/gpu/drm/bridge/cadence/cdns-mhdp-hdmi.c#...

It can be called from driver initialization or custom sysfs interface can be made.

Just make sure to have the 0 and 1 in the message in the same way as in the cdns_hdmi_scdc_write function otherwise the packet isn't sent properly. I believe it's some kind of message protocol to the mailbox register of the HDMI IP but I'm not entirely sure.

Darko

0 Kudos