linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/9] Add support for RK3588 DisplayPort Controller
@ 2025-04-03  3:37 Andy Yan
  2025-04-03  3:37 ` [PATCH v3 1/9] dt-bindings: display: rockchip: Add schema for RK3588 DPTX Controller Andy Yan
                   ` (8 more replies)
  0 siblings, 9 replies; 21+ messages in thread
From: Andy Yan @ 2025-04-03  3:37 UTC (permalink / raw)
  To: dmitry.baryshkov, heiko
  Cc: hjc, mripard, naoki, stephen, cristian.ciocaltea, neil.armstrong,
	Laurent.pinchart, yubing.zhang, krzk+dt, devicetree, dri-devel,
	linux-arm-kernel, linux-kernel, linux-rockchip, robh,
	sebastian.reichel, Andy Yan

From: Andy Yan <andy.yan@rock-chips.com>


There are two DW DPTX based DisplayPort Controller on rk3588 which
are compliant with the DisplayPort Specification Version 1.4 with
the following features:

* DisplayPort 1.4a
* Main Link: 1/2/4 lanes
* Main Link Support 1.62Gbps, 2.7Gbps, 5.4Gbps and 8.1Gbps
* AUX channel 1Mbps
* Single Stream Transport(SST)
* Multistream Transport (MST)
* Type-C support (alternate mode)
* HDCP 2.2, HDCP 1.3
* Supports up to 8/10 bits per color component
* Supports RBG, YCbCr4:4:4, YCbCr4:2:2, YCbCr4:2:0
* Pixel clock up to 594MHz
* I2S, SPDIF audio interface

The current version of this patch series only supports basic display outputs.
I tested with DP0 in 1080p and 4K@60 YCbCr4:2:0 modes; the ALT/Type-C mode was
tested on Rock 5B, DP1 was tested on Rock 5 ITX by Stephen and Piotr.
HDCP and audio features remain unimplemented.
For RK3588, it's only support SST, while in the upcoming RK3576, it can support
MST output.

This version still has one unresolved issues highlighted by Dmitry during
the last code review(I add TODO for it).
Let's make the driver itself to a usable and good shape first.

Currently, there are three dependencies PATCH[0][1][2], take care if there are someone
want to here a try with this series:

[0]https://lore.kernel.org/linux-rockchip/20250302115257.188774-1-andyshrk@163.com/
[1]https://lore.kernel.org/linux-rockchip/20250312064218.524143-1-andyshrk@163.com/T/#u
[2]https://lore.kernel.org/linux-rockchip/20250312080041.524546-1-andyshrk@163.com/T/#u


Changes in v3:
- Rebase on drm-misc-next
- Switch to common helpers to power up/down dp link
- Only pass parameters to phy that should be set
- Add RA620 into bridge chain.
- Link to v2: https://lore.kernel.org/linux-rockchip/20250312104214.525242-1-andyshrk@163.com/

Changes in v2:
- Fix a character encoding issue
- Fix compile error when build as module
- Add phy init
- Only use one dw_dp_link_train_set
- inline dw_dp_phy_update_vs_emph
- Use dp_sdp
- Check return value of drm_modeset_lock
- Merge code in atomic_pre_enable/mode_fixup to atomic_check
- Return NULL if can't find a supported output format
- Fix max_link_rate from plat_data
- no include uapi path
- switch to drmm_encoder_init
- Sort in alphabetical order
- Link to V1: https://lore.kernel.org/linux-rockchip/20250223113036.74252-1-andyshrk@163.com/

Andy Yan (9):
  dt-bindings: display: rockchip: Add schema for RK3588 DPTX Controller
  drm/bridge: synopsys: Add DW DPTX Controller support library
  drm/rockchip: Add RK3588 DPTX output support
  dt-bindings: display: simple-bridge: Add ra620 compatible
  drm/birdge: simple-bridge: Add support for radxa ra620
  arm64: dts: rockchip: Add DP0 for rk3588
  arm64: dts: rockchip: Add DP1 for rk3588
  arm64: dts: rockchip: Enable DisplayPort for rk3588s Cool Pi 4B
  arm64: dts: rockchip: Enable DP2HDMI for ROCK 5 ITX

 .../display/bridge/simple-bridge.yaml         |    1 +
 .../display/rockchip/rockchip,dw-dp.yaml      |  150 ++
 arch/arm64/boot/dts/rockchip/rk3588-base.dtsi |   30 +
 .../arm64/boot/dts/rockchip/rk3588-extra.dtsi |   30 +
 .../boot/dts/rockchip/rk3588-rock-5-itx.dts   |   59 +
 .../boot/dts/rockchip/rk3588s-coolpi-4b.dts   |   37 +
 drivers/gpu/drm/bridge/simple-bridge.c        |    5 +
 drivers/gpu/drm/bridge/synopsys/Kconfig       |    7 +
 drivers/gpu/drm/bridge/synopsys/Makefile      |    1 +
 drivers/gpu/drm/bridge/synopsys/dw-dp.c       | 2053 +++++++++++++++++
 drivers/gpu/drm/rockchip/Kconfig              |    9 +
 drivers/gpu/drm/rockchip/Makefile             |    1 +
 drivers/gpu/drm/rockchip/dw_dp-rockchip.c     |  154 ++
 drivers/gpu/drm/rockchip/rockchip_drm_drv.c   |    1 +
 drivers/gpu/drm/rockchip/rockchip_drm_drv.h   |    1 +
 include/drm/bridge/dw_dp.h                    |   20 +
 16 files changed, 2559 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/rockchip/rockchip,dw-dp.yaml
 create mode 100644 drivers/gpu/drm/bridge/synopsys/dw-dp.c
 create mode 100644 drivers/gpu/drm/rockchip/dw_dp-rockchip.c
 create mode 100644 include/drm/bridge/dw_dp.h

-- 
2.43.0



^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2025-05-29 12:53 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-03  3:37 [PATCH v3 0/9] Add support for RK3588 DisplayPort Controller Andy Yan
2025-04-03  3:37 ` [PATCH v3 1/9] dt-bindings: display: rockchip: Add schema for RK3588 DPTX Controller Andy Yan
2025-04-04 19:36   ` Diederik de Haas
2025-04-03  3:37 ` [PATCH v3 2/9] drm/bridge: synopsys: Add DW DPTX Controller support library Andy Yan
2025-05-14 12:15   ` Andy Yan
2025-05-24  7:46     ` [PATCH " Dmitry Baryshkov
2025-05-24  7:59       ` Andy Yan
2025-05-24  8:11         ` Dmitry Baryshkov
2025-04-03  3:37 ` [PATCH v3 3/9] drm/rockchip: Add RK3588 DPTX output support Andy Yan
2025-04-04  9:06   ` kernel test robot
2025-04-04 12:11   ` kernel test robot
2025-05-27 16:12   ` Nicolas Frattaroli
2025-05-29 12:15     ` Andy Yan
2025-04-03  3:37 ` [PATCH v3 4/9] dt-bindings: display: simple-bridge: Add ra620 compatible Andy Yan
2025-04-03  6:42   ` Krzysztof Kozlowski
2025-04-03  3:37 ` [PATCH v3 5/9] drm/birdge: simple-bridge: Add support for radxa ra620 Andy Yan
2025-04-03 12:14   ` Dmitry Baryshkov
2025-04-03  3:37 ` [PATCH v3 6/9] arm64: dts: rockchip: Add DP0 for rk3588 Andy Yan
2025-04-03  3:37 ` [PATCH v3 7/9] arm64: dts: rockchip: Add DP1 " Andy Yan
2025-04-03  3:37 ` [PATCH v3 8/9] arm64: dts: rockchip: Enable DisplayPort for rk3588s Cool Pi 4B Andy Yan
2025-04-03  3:37 ` [PATCH v3 9/9] arm64: dts: rockchip: Enable DP2HDMI for ROCK 5 ITX Andy Yan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).