<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Cristian,<div class=""><br class=""></div><div class="">I was awaiting over year for this work!</div><div class=""><br class=""></div><div class="">I’m devel. 2 distros where single mainline kernel serves 2835/2711/2712/h6/h313/h616/h618/rk3328/rk3399/rk3566/rk3568/rk3588/s905/s912/sm1/g12.</div><div class=""><br class=""></div><div class="">Before this work rk3588 was excluded because rk3588 hdmi was regressing hdmi on other socs.</div><div class="">With this code all other socs seems work ok now. Perfect.</div><div class=""><br class=""></div><div class="">As one of my project is multimedia appliance - good news is that now i can nicely play hdtv on rk3588 using mainline common 6.9.3 kernel and….started to hear from my users a lot of Qs like: „ah so nice! rk3588 now works nicely….but where is hdmi audio and cec?”</div><div class=""><br class=""></div><div class="">It will be fantastic to add (e.g. by backport Detlev <a href="https://gitlab.collabora.com/hardware-enablement/rockchip-3588/linux/-/tree/rk3588-hdmi-audio?ref_type=heads" class="">https://gitlab.collabora.com/hardware-enablement/rockchip-3588/linux/-/tree/rk3588-hdmi-audio?ref_type=heads</a> ) audio code to get basic support hdmi audio?</div><div class="">   </div><div class="">thx again for fantastic work!</div><div class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">Wiadomość napisana przez Cristian Ciocaltea <<a href="mailto:cristian.ciocaltea@collabora.com" class="">cristian.ciocaltea@collabora.com</a>> w dniu 01.06.2024, o godz. 15:12:</div><br class="Apple-interchange-newline"><div class=""><div class="">The RK3588 SoC family integrates a Quad-Pixel (QP) variant of the<br class="">Synopsys DesignWare HDMI TX controller used in the previous SoCs.<br class=""><br class="">It is HDMI 2.1 compliant and supports the following features, among<br class="">others:<br class=""><br class="">* Fixed Rate Link (FRL)<br class="">* 4K@120Hz and 8K@60Hz video modes<br class="">* Variable Refresh Rate (VRR) including Quick Media Switching (QMS)<br class="">* Fast Vactive (FVA)<br class="">* SCDC I2C DDC access<br class="">* TMDS Scrambler enabling 2160p@60Hz with RGB/YCbCr4:4:4<br class="">* YCbCr4:2:0 enabling 2160p@60Hz at lower HDMI link speeds<br class="">* Multi-stream audio<br class="">* Enhanced Audio Return Channel (EARC)<br class=""><br class="">This is the last required component that needs to be supported in order<br class="">to enable the HDMI output functionality on the RK3588 based SBCs, such<br class="">as the RADXA Rock 5B. The other components are the Video Output<br class="">Processor (VOP2) and the Samsung IP based HDMI/eDP TX Combo PHY, for<br class="">which basic support has been already made available via [1] and [2],<br class="">respectively.<br class=""><br class="">The patches are grouped as follows:<br class="">* PATCH 1..7: DW HDMI TX driver refactor to minimize code duplication in<br class="">  the new QP driver (no functional changes intended)<br class=""><br class="">* PATCH 8..11: Rockchip DW HDMI glue driver cleanup/improvements (no<br class="">  functional changes intended)<br class=""><br class="">* PATCH 12..13: The new DW HDMI QP TX driver reusing the previously<br class="">  exported functions and structs from existing DW HDMI TX driver<br class=""><br class="">* PATCH 14: Rockchip DW HDMI glue driver update to support RK3588 and<br class="">  make use of DW HDMI QP TX<br class=""><br class="">They provide just the basic HDMI support for now, i.e. RGB output up to<br class="">4K@60Hz, without audio, CEC or any of the HDMI 2.1 specific features.<br class="">Also note the vop2 driver is currently not able to properly handle all<br class="">display modes supported by the connected screens, e.g. it doesn't cope<br class="">with non-integer refresh rates.<br class=""><br class="">A possible workaround consists of enabling the display controller to<br class="">make use of the clock provided by the HDMI PHY PLL. This is still work<br class="">in progress and will be submitted later, as well as the required DTS<br class="">updates.<br class=""><br class="">To facilitate testing and experimentation, all HDMI output related<br class="">patches, including those part of this series, are available at [3].<br class="">So far I could only verify this on the RADXA Rock 3A and 5B boards.<br class=""><br class="">Thanks,<br class="">Cristian<br class=""><br class="">[1]: 5a028e8f062f ("drm/rockchip: vop2: Add support for rk3588")<br class="">[2]: 553be2830c5f ("phy: rockchip: Add Samsung HDMI/eDP Combo PHY driver")<br class="">[3]: <a href="https://gitlab.collabora.com/hardware-enablement/rockchip-3588/linux/-/commits/rk3588-hdmi-bridge-v6.10-rc1" class="">https://gitlab.collabora.com/hardware-enablement/rockchip-3588/linux/-/commits/rk3588-hdmi-bridge-v6.10-rc1</a><br class=""><br class="">Signed-off-by: Cristian Ciocaltea <<a href="mailto:cristian.ciocaltea@collabora.com" class="">cristian.ciocaltea@collabora.com</a>><br class="">---<br class="">Cristian Ciocaltea (14):<br class="">      drm/bridge: dw-hdmi: Simplify clock handling<br class="">      drm/bridge: dw-hdmi: Add dw-hdmi-common.h header<br class="">      drm/bridge: dw-hdmi: Commonize dw_hdmi_i2c_adapter()<br class="">      drm/bridge: dw-hdmi: Factor out AVI infoframe setup<br class="">      drm/bridge: dw-hdmi: Factor out vmode setup<br class="">      drm/bridge: dw-hdmi: Factor out hdmi_data_info setup<br class="">      drm/bridge: dw-hdmi: Commonize dw_hdmi_connector_create()<br class="">      drm/rockchip: dw_hdmi: Use modern drm_device based logging<br class="">      drm/rockchip: dw_hdmi: Simplify clock handling<br class="">      drm/rockchip: dw_hdmi: Use devm_regulator_get_enable()<br class="">      drm/rockchip: dw_hdmi: Drop superfluous assignments of mpll_cfg, cur_ctr and phy_config<br class="">      dt-bindings: display: rockchip,dw-hdmi: Add compatible for RK3588<br class="">      drm/bridge: synopsys: Add DW HDMI QP TX controller driver<br class="">      drm/rockchip: dw_hdmi: Add basic RK3588 support<br class=""><br class=""> .../display/rockchip/rockchip,dw-hdmi.yaml         | 127 +++-<br class=""> drivers/gpu/drm/bridge/synopsys/Makefile           |   2 +-<br class=""> drivers/gpu/drm/bridge/synopsys/dw-hdmi-common.h   | 179 +++++<br class=""> drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c       | 787 +++++++++++++++++++<br class=""> drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.h       | 831 +++++++++++++++++++++<br class=""> drivers/gpu/drm/bridge/synopsys/dw-hdmi.c          | 353 +++------<br class=""> drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c        | 351 +++++++--<br class=""> include/drm/bridge/dw_hdmi.h                       |   8 +<br class=""> 8 files changed, 2290 insertions(+), 348 deletions(-)<br class="">---<br class="">base-commit: 1613e604df0cd359cf2a7fbd9be7a0bcfacfabd0<br class="">change-id: 20240601-b4-rk3588-bridge-upstream-a27baff1b8fc<br class=""><br class=""><br class="">_______________________________________________<br class="">Linux-rockchip mailing list<br class=""><a href="mailto:Linux-rockchip@lists.infradead.org" class="">Linux-rockchip@lists.infradead.org</a><br class="">http://lists.infradead.org/mailman/listinfo/linux-rockchip<br class=""></div></div></blockquote></div><br class=""></div></body></html>