mbox series

[0/2] Initial support for Synopsys DW HDMI QP TX Controller

Message ID 20240801-dw-hdmi-qp-tx-v1-0-148f542de5fd@collabora.com (mailing list archive)
Headers show
Series Initial support for Synopsys DW HDMI QP TX Controller | expand

Message

Cristian Ciocaltea Aug. 1, 2024, 2:05 a.m. UTC
The Synopsys DesignWare HDMI 2.1 Quad-Pixel (QP) TX Controller IP can
found on the Rockchip RK3588 SoC family and supports the following
features, among others:

* Fixed Rate Link (FRL)
* Display Stream Compression (DSC)
* 4K@120Hz and 8K@60Hz video modes
* Variable Refresh Rate (VRR) including Quick Media Switching (QMS)
* Fast Vactive (FVA)
* Multi-stream audio
* Enhanced Audio Return Channel (EARC)

This patch series provides just the basic support, i.e. RGB output up to
4K@60Hz, without audio, CEC or any HDMI 2.1 related functionality.

Please note it is a reworked version of [1], which relied on a
commonized dw-hdmi approach.  Since the overall consensus was to handle
it as an entirely new IP, I dropped all references and dependencies to
the existing dw-hdmi driver code.

This has been submitted as a separate patchset, as suggested by Neil;
the Rockchip platform specific glue code enabling HDMI output for RK3588
will be send as v2 of the initial patch series [2].

Some additional changes worth mentioning:
* Making use of the new bridge HDMI helpers indicated by Dmitry
* Dropped connector creation to ensure driver does only support
  DRM_BRIDGE_ATTACH_NO_CONNECTOR
* Updated I2C segment handling to properly handle connected DVI displays
  (reported and fixed by Heiko)

[1]: https://lore.kernel.org/lkml/20240601-b4-rk3588-bridge-upstream-v1-13-f6203753232b@collabora.com/
[2]: https://lore.kernel.org/lkml/20240601-b4-rk3588-bridge-upstream-v1-0-f6203753232b@collabora.com/

Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
---
Cristian Ciocaltea (2):
      dt-bindings: display: bridge: Add schema for Synopsys DW HDMI QP TX IP
      drm/bridge: synopsys: Add DW HDMI QP TX Controller driver

 .../display/bridge/synopsys,dw-hdmi-qp.yaml        |  66 ++
 drivers/gpu/drm/bridge/synopsys/Kconfig            |   8 +
 drivers/gpu/drm/bridge/synopsys/Makefile           |   2 +
 drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c       | 748 ++++++++++++++++++
 drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.h       | 834 +++++++++++++++++++++
 include/drm/bridge/dw_hdmi_qp.h                    |  37 +
 6 files changed, 1695 insertions(+)
---
base-commit: 8400291e289ee6b2bf9779ff1c83a291501f017b
change-id: 20240801-dw-hdmi-qp-tx-943992731570