[PATCH v5 2/2] arm64: dts: rockchip: add RK3588 DP carrier from Theobroma Systems
Quentin Schulz
quentin.schulz at cherry.de
Wed Sep 30 11:05:54 PDT 2026
Hi Heiko,
On 9/30/26 6:25 PM, Heiko Stuebner wrote:
> From: Heiko Stuebner <heiko.stuebner at 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 at 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
More information about the Linux-rockchip
mailing list