PINE64
DDC Support / DesignWare HDMI Controller - Printable Version

+- PINE64 (https://forum.pine64.org)
+-- Forum: Quartz64 (https://forum.pine64.org/forumdisplay.php?fid=166)
+--- Forum: General Discussion on Quartz64 (https://forum.pine64.org/forumdisplay.php?fid=167)
+--- Thread: DDC Support / DesignWare HDMI Controller (/showthread.php?tid=19462)



DDC Support / DesignWare HDMI Controller - rotdrop - 10-14-2024

Hi there,

it seems that by default only the internal I2C-controller of the DesignWare HDMI controller is enabled. However, it is known that this is sufficient to retrieve the EDID, but the internal I2C controller of the HDMI module is not suitable for full DDC support, see the discussion here:

https://patchwork.kernel.org/project/dri-devel/patch/20190722181945.244395-1-mka@chromium.org/#22771979

However, the driver supports using an external I2C-controller, and reading through the schematics for the Quartz64 model A

https://files.pine64.org/doc/quartz64/Quartz64_model-A_schematic_v2.0_20210427.pdf

it shows that the I2C-5 pins are even connected to the HDMI plug (search for HDMITX). So things are correctly setup in hardware, what is missing are the proper settings in the device tree. This can be cured by the attached device-tree overlay. The overlay
  • enables the controller for i2c-5 with the m1 pin configuration (see schematics for the board)
  • removes the respective pins from the pin-control entry of the HDMI controller to resolve conflicts
  • adds "ddc-i2c-bus = <&i2c5>;" to the hdmi controller section

Afterwards DDC just works, on Linux "ddcutil detect" will succeed and, e.g., "ddcui" can be used to control the settings with a GUI.

Best

Claus