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>
Link: https://lore.kernel.org/r/20250723190904.37792-3-heiko@sntech.de
---
arch/arm64/boot/dts/rockchip/Makefile | 1 +
.../rk3588-tiger-displayport-carrier.dts | 119 ++++++++++++++++++
2 files changed, 120 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 ad684e3831bc..3a1739b8f167 100644
--- a/arch/arm64/boot/dts/rockchip/Makefile
+++ b/arch/arm64/boot/dts/rockchip/Makefile
@@ -188,6 +188,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5b-pcie-ep.dtbo
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5b-pcie-srns.dtbo
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5b-plus.dtb
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..c14718bc4fda
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/rk3588-tiger-displayport-carrier.dts
@@ -0,0 +1,119 @@
+// 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>;
+ label = "dp0";
+ 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 {
+ /*
+ * Q7_DP_HPD# but Q7_HDMI_HPD# could be used too
+ *
+ * HPD handling in the Analogix-DP not in dp-connector, because
+ * "Detecting the monitor for DisplayPort targets is more
+ * complicated than just reading the HPD pin level" so the
+ * "actual DP driver (should) perform detection".
+ * For reference see commit cb640b2ca546 ("drm/bridge:
+ * display-connector: don't set OP_DETECT for DisplayPorts")
+ * in the Linux-kernel.
+ */
+ hpd-gpios = <&gpio4 RK_PB5 GPIO_ACTIVE_LOW>;
+ pinctrl-0 = <&edp0_hpd_l>;
+ pinctrl-names = "default";
+ 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";
+};
+
+&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.2
Hi Heiko,
On 10/10/25 12:50 AM, 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>
> Link: https://lore.kernel.org/r/20250723190904.37792-3-heiko@sntech.de
Please remove the Link trailer for v5 (if there's one) :)
I only have one remark: the device is stuck when shutting down or
rebooting after this one line in the logs (can be shown by adding
initcall_debug to the kernel command line)
[ 21.973452] arm-smmu-v3 fc900000.iommu: shutdown
It only reboots by chance, after ~1m30s, because the watchdog is started
before rebooting and never triggered again.
If I add:
&mmu600_pcie {
status = "disabled";
};
then the device reboots just fine. So we either temporarily disable it
or we try to fix the origin of the issue.
As reported to Damon today on the v2 of this series, I tested with
https://lore.kernel.org/all/20250930090920.131094-1-damon.ding@rock-chips.com/
https://lore.kernel.org/all/20250930094251.131314-1-damon.ding@rock-chips.com/
(patches 14-18 of the previous thread)
https://lore.kernel.org/all/20251009193028.4952-1-heiko@sntech.de/
https://lore.kernel.org/linux-rockchip/20251008133135.3745785-1-heiko@sntech.de/
and DP works as expected (minus some (I deem to be) minor issues).
Cheers,
Quentin
© 2016 - 2025 Red Hat, Inc.