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.../#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/Qu...210427.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
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
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.../#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/Qu...210427.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