* [PATCH v5 0/2] Add RK3588 Tiger DisplayPort carrier
@ 2026-09-30 16:25 Heiko Stuebner
2026-09-30 16:25 ` [PATCH v5 1/2] dt-bindings: arm: rockchip: add RK3588 DP carrier from Theobroma Systems Heiko Stuebner
2026-09-30 16:25 ` [PATCH v5 2/2] arm64: dts: " Heiko Stuebner
0 siblings, 2 replies; 4+ messages in thread
From: Heiko Stuebner @ 2026-09-30 16:25 UTC (permalink / raw)
To: heiko
Cc: robh, krzk+dt, conor+dt, quentin.schulz, devicetree,
linux-arm-kernel, linux-rockchip, linux-kernel, damon.ding
A board that allows easy testing of the Analogix eDP controller on the
RK3588. Requires Damon's recent work on hotplugging the eDP controller
displays [0].
Concerning displays, my current setup is
DP-carrier -> DP-port -> DP-to-eDP converter from Aliexpress -> eDP panel
which produces a nice 1080p image.
changes in v5:
- didn't take a year since v4 ;-)
- drop wrong quotes around Rob's Rb
- drop wrong link-trailers that slipped into v4
- disable mmu600_pcie for the time being
- move hpd-gpio back to the dp-connector where it belongs
With v3 of the hpd series, this now works as expected
changes in v4:
- move hpd-gpio down the the analogix-dp node
As stated in commit cb640b2ca546 ("drm/bridge: display-connector: don't
set OP_DETECT for DisplayPorts") the dp-connector can't just read the
hpd-gpio and mark that as monitor detected, instead
changes in v3:
- rebase on top of 6.17-rc1
- still should wait on the analogix bridge support
changes in v2:
- collect Ack/Review for binding
- address Quentin's comments
- sorting in Makefile and dp-connector properties
- ethernet alias
- drop data-lanes comment
[0] https://lore.kernel.org/dri-devel/20260928081418.3605775-1-damon.ding@rock-chips.com
Heiko Stuebner (2):
dt-bindings: arm: rockchip: add RK3588 DP carrier from Theobroma
Systems
arm64: dts: rockchip: add RK3588 DP carrier from Theobroma Systems
.../devicetree/bindings/arm/rockchip.yaml | 6 +-
arch/arm64/boot/dts/rockchip/Makefile | 1 +
.../rk3588-tiger-displayport-carrier.dts | 113 ++++++++++++++++++
3 files changed, 118 insertions(+), 2 deletions(-)
create mode 100644 arch/arm64/boot/dts/rockchip/rk3588-tiger-displayport-carrier.dts
--
2.47.3
^ permalink raw reply [flat|nested] 4+ messages in thread* [PATCH v5 1/2] dt-bindings: arm: rockchip: add RK3588 DP carrier from Theobroma Systems 2026-09-30 16:25 [PATCH v5 0/2] Add RK3588 Tiger DisplayPort carrier Heiko Stuebner @ 2026-09-30 16:25 ` Heiko Stuebner 2026-09-30 16:25 ` [PATCH v5 2/2] arm64: dts: " Heiko Stuebner 1 sibling, 0 replies; 4+ messages in thread From: Heiko Stuebner @ 2026-09-30 16:25 UTC (permalink / raw) To: heiko Cc: robh, krzk+dt, conor+dt, quentin.schulz, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, damon.ding, Heiko Stuebner From: Heiko Stuebner <heiko.stuebner@cherry.de> The DisplayPort carrier is a very simple baseboard only providing serial, ethernet and a displayport output. But its main functionality is that it routes the Analogix eDP controller to this DisplayPort output, which allows to test that controller simply by hooking it up to a suitable monitor. Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Acked-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de> --- Documentation/devicetree/bindings/arm/rockchip.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/arm/rockchip.yaml b/Documentation/devicetree/bindings/arm/rockchip.yaml index a799bb843f74..3b270690afca 100644 --- a/Documentation/devicetree/bindings/arm/rockchip.yaml +++ b/Documentation/devicetree/bindings/arm/rockchip.yaml @@ -1336,9 +1336,11 @@ properties: - const: tsd,rk3588-jaguar - const: rockchip,rk3588 - - description: Theobroma Systems RK3588-Q7 with Haikou baseboard + - description: Theobroma Systems RK3588-Q7 with baseboards items: - - const: tsd,rk3588-tiger-haikou + - enum: + - tsd,rk3588-tiger-displayport-carrier + - tsd,rk3588-tiger-haikou - const: tsd,rk3588-tiger - const: rockchip,rk3588 -- 2.47.3 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH v5 2/2] arm64: dts: rockchip: add RK3588 DP carrier from Theobroma Systems 2026-09-30 16:25 [PATCH v5 0/2] Add RK3588 Tiger DisplayPort carrier Heiko Stuebner 2026-09-30 16:25 ` [PATCH v5 1/2] dt-bindings: arm: rockchip: add RK3588 DP carrier from Theobroma Systems Heiko Stuebner @ 2026-09-30 16:25 ` Heiko Stuebner 2026-09-30 18:05 ` Quentin Schulz 1 sibling, 1 reply; 4+ messages in thread From: Heiko Stuebner @ 2026-09-30 16:25 UTC (permalink / raw) To: heiko Cc: robh, krzk+dt, conor+dt, quentin.schulz, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, damon.ding, Heiko Stuebner From: Heiko Stuebner <heiko.stuebner@cherry.de> The DisplayPort carrier is a very simple baseboard only providing serial, ethernet and a displayport output. But its main functionality is that it routes the Analogix eDP controller to this DisplayPort output, which allows to test that controller simply by hooking it up to a suitable monitor. The Analogix-DP controller supports eDP 1.3 and DP 1.2, so can drive both eDP displays as well as full DP monitors. It does not support DP+ so passive DP-to-HDMI adapters won't work. Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de> --- arch/arm64/boot/dts/rockchip/Makefile | 1 + .../rk3588-tiger-displayport-carrier.dts | 113 ++++++++++++++++++ 2 files changed, 114 insertions(+) create mode 100644 arch/arm64/boot/dts/rockchip/rk3588-tiger-displayport-carrier.dts diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile index 2edc9c0aceb5..bf80afba2351 100644 --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile @@ -217,6 +217,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5b-plus.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5b-plus-radxa-cam4k-cam0.dtbo dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5b-plus-radxa-cam4k-cam1.dtbo dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5t.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-tiger-displayport-carrier.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-tiger-haikou.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-tiger-haikou-video-demo.dtbo dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-toybrick-x0.dtb diff --git a/arch/arm64/boot/dts/rockchip/rk3588-tiger-displayport-carrier.dts b/arch/arm64/boot/dts/rockchip/rk3588-tiger-displayport-carrier.dts new file mode 100644 index 000000000000..f6e95047fd5f --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/rk3588-tiger-displayport-carrier.dts @@ -0,0 +1,113 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (c) 2024 Cherry Embedded Solutions GmbH + */ + +/dts-v1/; +#include <dt-bindings/soc/rockchip,vop2.h> +#include "rk3588-tiger.dtsi" + +/ { + model = "Theobroma Systems RK3588-Q7 SoM on Tiger Displayport Carrier v1"; + compatible = "tsd,rk3588-tiger-displayport-carrier", "tsd,rk3588-tiger", "rockchip,rk3588"; + + aliases { + ethernet0 = &gmac0; + }; + + chosen { + stdout-path = "serial2:115200n8"; + }; + + dp-connector { + compatible = "dp-connector"; + dp-pwr-supply = <&vcc3v3_baseboard>; + /* Q7_DP_HPD# but Q7_HDMI_HPD# could be used too */ + hpd-gpios = <&gpio4 RK_PB5 GPIO_ACTIVE_LOW>; + label = "dp0"; + pinctrl-0 = <&edp0_hpd_l>; + pinctrl-names = "default"; + type = "full-size"; + + port { + dp_con_in: endpoint { + remote-endpoint = <&edp0_out_con>; + }; + }; + }; + + vcc3v3_baseboard: regulator-vcc3v3-baseboard { + compatible = "regulator-fixed"; + regulator-name = "vcc3v3_baseboard"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + vin-supply = <&vcc5v0_baseboard>; + }; + + vcc5v0_baseboard: regulator-vcc5v0-baseboard { + compatible = "regulator-fixed"; + regulator-name = "vcc5v0_baseboard"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + }; +}; + +&edp0 { + status = "okay"; +}; + +&edp0_in { + edp0_in_vp2: endpoint { + remote-endpoint = <&vp2_out_edp0>; + }; +}; + +&edp0_out { + edp0_out_con: endpoint { + remote-endpoint = <&dp_con_in>; + }; +}; + +&gmac0 { + status = "okay"; +}; + +&hdptxphy0 { + status = "okay"; +}; + +&mmu600_pcie { + status = "disabled"; +}; + +&pinctrl { + edp0 { + edp0_hpd_l: edp0-hpd-l-pin { + rockchip,pins = <4 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>; + }; + }; +}; + +&uart2 { + pinctrl-0 = <&uart2m2_xfer>; + status = "okay"; +}; + +&vop { + status = "okay"; +}; + +&vop_mmu { + status = "okay"; +}; + +&vp2 { + vp2_out_edp0: endpoint@ROCKCHIP_VOP2_EP_EDP0 { + reg = <ROCKCHIP_VOP2_EP_EDP0>; + remote-endpoint = <&edp0_in_vp2>; + }; +}; -- 2.47.3 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v5 2/2] arm64: dts: rockchip: add RK3588 DP carrier from Theobroma Systems 2026-09-30 16:25 ` [PATCH v5 2/2] arm64: dts: " Heiko Stuebner @ 2026-09-30 18:05 ` Quentin Schulz 0 siblings, 0 replies; 4+ messages in thread From: Quentin Schulz @ 2026-09-30 18:05 UTC (permalink / raw) To: Heiko Stuebner Cc: robh, krzk+dt, conor+dt, devicetree, linux-arm-kernel, linux-rockchip, linux-kernel, damon.ding, Heiko Stuebner Hi Heiko, On 9/30/26 6:25 PM, Heiko Stuebner wrote: > From: Heiko Stuebner <heiko.stuebner@cherry.de> > > The DisplayPort carrier is a very simple baseboard only providing serial, > ethernet and a displayport output. > > But its main functionality is that it routes the Analogix eDP controller > to this DisplayPort output, which allows to test that controller simply > by hooking it up to a suitable monitor. > > The Analogix-DP controller supports eDP 1.3 and DP 1.2, so can drive > both eDP displays as well as full DP monitors. It does not support DP+ > so passive DP-to-HDMI adapters won't work. > > Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de> > --- > arch/arm64/boot/dts/rockchip/Makefile | 1 + > .../rk3588-tiger-displayport-carrier.dts | 113 ++++++++++++++++++ > 2 files changed, 114 insertions(+) > create mode 100644 arch/arm64/boot/dts/rockchip/rk3588-tiger-displayport-carrier.dts > > diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile > index 2edc9c0aceb5..bf80afba2351 100644 > --- a/arch/arm64/boot/dts/rockchip/Makefile > +++ b/arch/arm64/boot/dts/rockchip/Makefile > @@ -217,6 +217,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5b-plus.dtb > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5b-plus-radxa-cam4k-cam0.dtbo > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5b-plus-radxa-cam4k-cam1.dtbo > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5t.dtb > +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-tiger-displayport-carrier.dtb > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-tiger-haikou.dtb > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-tiger-haikou-video-demo.dtbo > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-toybrick-x0.dtb > diff --git a/arch/arm64/boot/dts/rockchip/rk3588-tiger-displayport-carrier.dts b/arch/arm64/boot/dts/rockchip/rk3588-tiger-displayport-carrier.dts > new file mode 100644 > index 000000000000..f6e95047fd5f > --- /dev/null > +++ b/arch/arm64/boot/dts/rockchip/rk3588-tiger-displayport-carrier.dts > @@ -0,0 +1,113 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > +/* > + * Copyright (c) 2024 Cherry Embedded Solutions GmbH > + */ > + > +/dts-v1/; > +#include <dt-bindings/soc/rockchip,vop2.h> > +#include "rk3588-tiger.dtsi" > + > +/ { > + model = "Theobroma Systems RK3588-Q7 SoM on Tiger Displayport Carrier v1"; > + compatible = "tsd,rk3588-tiger-displayport-carrier", "tsd,rk3588-tiger", "rockchip,rk3588"; > + > + aliases { > + ethernet0 = &gmac0; > + }; > + > + chosen { > + stdout-path = "serial2:115200n8"; > + }; > + > + dp-connector { > + compatible = "dp-connector"; > + dp-pwr-supply = <&vcc3v3_baseboard>; > + /* Q7_DP_HPD# but Q7_HDMI_HPD# could be used too */ Yes, but I believe the signal would then be active high instead (Q7_HDMI_HPD# as seen on Q7 golden fingers is inverted before reaching the SoC pin while Q7_DP_HPD# is directly routed to the SoC pin). > + hpd-gpios = <&gpio4 RK_PB5 GPIO_ACTIVE_LOW>; > + label = "dp0"; Is this required? (Not according to my reading of the DT binding) Because I don't see DP0 (or dp0) written on the board (nor in the schematics where it's marked (on board and schematics) as P2). Not a biggie in any case. > + pinctrl-0 = <&edp0_hpd_l>; > + pinctrl-names = "default"; > + type = "full-size"; > + > + port { > + dp_con_in: endpoint { > + remote-endpoint = <&edp0_out_con>; > + }; > + }; > + }; > + > + vcc3v3_baseboard: regulator-vcc3v3-baseboard { > + compatible = "regulator-fixed"; > + regulator-name = "vcc3v3_baseboard"; > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + vin-supply = <&vcc5v0_baseboard>; > + }; > + > + vcc5v0_baseboard: regulator-vcc5v0-baseboard { > + compatible = "regulator-fixed"; > + regulator-name = "vcc5v0_baseboard"; > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <5000000>; > + regulator-max-microvolt = <5000000>; > + }; > +}; > + > +&edp0 { > + status = "okay"; > +}; > + > +&edp0_in { > + edp0_in_vp2: endpoint { > + remote-endpoint = <&vp2_out_edp0>; > + }; > +}; > + > +&edp0_out { > + edp0_out_con: endpoint { > + remote-endpoint = <&dp_con_in>; > + }; > +}; > + > +&gmac0 { > + status = "okay"; > +}; > + > +&hdptxphy0 { > + status = "okay"; > +}; > + > +&mmu600_pcie { > + status = "disabled"; > +}; > + > +&pinctrl { > + edp0 { > + edp0_hpd_l: edp0-hpd-l-pin { > + rockchip,pins = <4 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>; I believe we could also use pcfg_pull_none as we have an external pull-up on the carrierboard with R15 but it doesn't matter much I think :) > + }; > + }; > +}; > + > +&uart2 { > + pinctrl-0 = <&uart2m2_xfer>; This property is already in rk3588-tiger.dtsi so you can remove it here. Cheers, Quentin ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-09-30 18:06 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-09-30 16:25 [PATCH v5 0/2] Add RK3588 Tiger DisplayPort carrier Heiko Stuebner 2026-09-30 16:25 ` [PATCH v5 1/2] dt-bindings: arm: rockchip: add RK3588 DP carrier from Theobroma Systems Heiko Stuebner 2026-09-30 16:25 ` [PATCH v5 2/2] arm64: dts: " Heiko Stuebner 2026-09-30 18:05 ` Quentin Schulz
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox