From: Quentin Schulz <quentin.schulz@cherry.de>
To: Heiko Stuebner <heiko@sntech.de>
Cc: robh@kernel.org, krzk+dt@kernel.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org,
damon.ding@rock-chips.com,
Heiko Stuebner <heiko.stuebner@cherry.de>
Subject: Re: [PATCH 2/2] arm64: dts: rockchip: add RK3588 DP carrier from Theobroma Systems
Date: Thu, 17 Jul 2025 14:21:22 +0200 [thread overview]
Message-ID: <470dc543-9619-419c-9ea3-6671f4d52326@cherry.de> (raw)
In-Reply-To: <20250716185027.2762175-3-heiko@sntech.de>
Hi Heiko,
On 7/16/25 8:50 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 | 118 ++++++++++++++++++
> 2 files changed, 119 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 7946bec10670..0c915679fde6 100644
> --- a/arch/arm64/boot/dts/rockchip/Makefile
> +++ b/arch/arm64/boot/dts/rockchip/Makefile
> @@ -178,6 +178,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5b-pcie-srns.dtbo
> dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5b-plus.dtb
> dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-tiger-haikou.dtb
> dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-tiger-haikou-video-demo.dtbo
> +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-tiger-displayport-carrier.dtb
Please sort this alphabetically.
> dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-toybrick-x0.dtb
> dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-turing-rk1.dtb
> dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-coolpi-4b.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..5bd79877194a
> --- /dev/null
> +++ b/arch/arm64/boot/dts/rockchip/rk3588-tiger-displayport-carrier.dts
> @@ -0,0 +1,118 @@
> +// 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";
> +
Please add ethernet0 to /aliases?
> + chosen {
> + stdout-path = "serial2:115200n8";
> + };
> +
> + dp-connector {
> + compatible = "dp-connector";
> + dp-pwr-supply = <&vcc3v3_baseboard>;
> + label = "dp0";
> + type = "full-size";
Please order alphabetically the two properties above.
> +
> + /* Q7_DP_HPD# but Q7_HDMI_HPD# could be used too */
> + hpd-gpios = <&gpio4 RK_PB5 GPIO_ACTIVE_LOW>;
> + pinctrl-0 = <&edp0_hpd_l>;
> + pinctrl-names = "default";
> +
> + 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 {
> + /*
> + * Note that this board doesn't respect Q7 standard as Q7 has
> + * lane 2 of HDMI on the same pin as lane 0 of DP and lane 0 of HDMI
> + * on lane 2 of DP but this board uses HDMI lane numbering instead of
> + * DP lane numbering for its DP lanes.
> + *
> + * It should be possible to match Q7 standard if required by requesting
> + * the eDPTX controller to swap lanes with:
> + *
> + * data-lanes = <2 1 0 3>;
I don't think that's true currently?
The driver only seems to be supporting swapping the lanes, c.f.
analogix_dp_lane_swap() which routes it to either 0 1 2 3 or 3 2 1 0 but
no mix like the one we would need. Also, this function is never called
with anything but "do not swap" argument. So we would need to fix the
driver to support that.
Also, this is the kind of information we should have in Tiger DTSI and
not some "random" baseboard DTS which will actually not make use of it.
We should have data-lanes = <2 1 0 3>; in Tiger DTSI actually but
considering 1) the driver doesn't support that, 2) we don't have HW to
validate it works; I guess we'll just leave it at that.
> + */
> +
Aren't we missing the data-lanes property here? I don't see a default
and I would assume we should be providing one?
Documentation/devicetree/bindings/media/video-interfaces.yaml specifies
it either starts at 0 or 1, depending if there's a clock lane or not. As
far as I could tell, DP has 4 data lanes and the AUX lane as well, but
nothing clock-specific so I assume starting at 0 would be correct?
On a side note, is the audio output on eDP TX controller already
supported like on HDMI? If so, we should add the edp0-sound node like in
our downstream fork. But looking at the driver, I don't think we
implement any dp_audio_* callbacks from drm_bridge_funcs which I assume
would be the way to implement that.
Cheers,
Quentin
next prev parent reply other threads:[~2025-07-17 13:29 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-16 18:50 [PATCH 0/2] Add RK3588 Tiger DisplayPort carrie Heiko Stuebner
2025-07-16 18:50 ` [PATCH 1/2] dt-bindings: arm: rockchip: add RK3588 DP carrier from Theobroma Systems Heiko Stuebner
2025-07-17 11:36 ` Quentin Schulz
2025-07-20 23:19 ` Rob Herring (Arm)
2025-07-16 18:50 ` [PATCH 2/2] arm64: dts: " Heiko Stuebner
2025-07-17 12:21 ` Quentin Schulz [this message]
2025-07-17 18:40 ` Heiko Stuebner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=470dc543-9619-419c-9ea3-6671f4d52326@cherry.de \
--to=quentin.schulz@cherry.de \
--cc=damon.ding@rock-chips.com \
--cc=devicetree@vger.kernel.org \
--cc=heiko.stuebner@cherry.de \
--cc=heiko@sntech.de \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=robh@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox