From: Quentin Schulz <quentin.schulz@cherry.de>
To: Heiko Stuebner <heiko@sntech.de>
Cc: maarten.lankhorst@linux.intel.com, mripard@kernel.org,
tzimmermann@suse.de, robh@kernel.org, krzk+dt@kernel.org,
conor+dt@kernel.org, andy.yan@rock-chips.com,
dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org,
cn.liweihao@gmail.com, Heiko Stuebner <heiko.stuebner@cherry.de>
Subject: Re: [PATCH v2 9/9] arm64: dts: rockchip: Add the Video-Demo overlay for Lion Haikou
Date: Tue, 2 Dec 2025 14:37:48 +0100 [thread overview]
Message-ID: <ae0d2de5-4fc8-492c-8d46-8d90118c5e64@cherry.de> (raw)
In-Reply-To: <20251021074254.87065-10-heiko@sntech.de>
Hi Heiko,
On 10/21/25 9:42 AM, Heiko Stuebner wrote:
> From: Heiko Stuebner <heiko.stuebner@cherry.de>
>
> The video-demo adapter also works on the Lion SoM when running
> on a Haikou baseboard, so add an overlay for it.
>
> Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de>
> ---
> arch/arm64/boot/dts/rockchip/Makefile | 5 +
> .../rk3368-lion-haikou-video-demo.dtso | 174 ++++++++++++++++++
> 2 files changed, 179 insertions(+)
> create mode 100644 arch/arm64/boot/dts/rockchip/rk3368-lion-haikou-video-demo.dtso
>
> diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
> index ad684e3831bc..494fdd685a5c 100644
> --- a/arch/arm64/boot/dts/rockchip/Makefile
> +++ b/arch/arm64/boot/dts/rockchip/Makefile
> @@ -42,6 +42,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-evb-act8846.dtb
> dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-geekbox.dtb
> dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-lba3368.dtb
> dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-lion-haikou.dtb
> +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-lion-haikou-video-demo.dtbo
> dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-orion-r68-meta.dtb
> dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-px5-evb.dtb
> dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-r88.dtb
> @@ -231,6 +232,10 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-ringneck-haikou-haikou-video-demo.dtb
> px30-ringneck-haikou-haikou-video-demo-dtbs := px30-ringneck-haikou.dtb \
> px30-ringneck-haikou-video-demo.dtbo
>
> +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-lion-haikou-haikou-video-demo.dtb
> +rk3368-lion-haikou-haikou-video-demo-dtbs := rk3368-lion-haikou.dtb \
> + rk3368-lion-haikou-video-demo.dtbo
> +
> dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-puma-haikou-haikou-video-demo.dtb
> rk3399-puma-haikou-haikou-video-demo-dtbs := rk3399-puma-haikou.dtb \
> rk3399-puma-haikou-video-demo.dtbo
> diff --git a/arch/arm64/boot/dts/rockchip/rk3368-lion-haikou-video-demo.dtso b/arch/arm64/boot/dts/rockchip/rk3368-lion-haikou-video-demo.dtso
> new file mode 100644
> index 000000000000..e7767c008144
> --- /dev/null
> +++ b/arch/arm64/boot/dts/rockchip/rk3368-lion-haikou-video-demo.dtso
> @@ -0,0 +1,174 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright (c) 2025 Cherry Embedded Solutions GmbH
> + *
> + * DEVKIT ADDON CAM-TS-A01
> + * https://embedded.cherry.de/product/development-kit/
> + *
> + * DT-overlay for the camera / DSI demo appliance for Haikou boards.
> + * In the flavour for use with a Puma system-on-module.
s/Puma/Lion/
> + */
> +
> +/dts-v1/;
> +/plugin/;
> +
> +#include <dt-bindings/clock/rk3368-cru.h>
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/interrupt-controller/irq.h>
> +#include <dt-bindings/leds/common.h>
> +#include <dt-bindings/pinctrl/rockchip.h>
> +
> +&{/} {
> + backlight: backlight {
> + compatible = "pwm-backlight";
> + power-supply = <&dc_12v>;
> + pwms = <&pwm1 0 25000 0>;
> + };
> +
> + cam_afvdd_2v8: regulator-cam-afvdd-2v8 {
> + compatible = "regulator-fixed";
> + gpio = <&pca9670 2 GPIO_ACTIVE_LOW>;
> + regulator-max-microvolt = <2800000>;
> + regulator-min-microvolt = <2800000>;
> + regulator-name = "cam-afvdd-2v8";
> + vin-supply = <&vcc2v8_video>;
> + };
> +
> + cam_avdd_2v8: regulator-cam-avdd-2v8 {
> + compatible = "regulator-fixed";
> + gpio = <&pca9670 4 GPIO_ACTIVE_LOW>;
> + regulator-max-microvolt = <2800000>;
> + regulator-min-microvolt = <2800000>;
> + regulator-name = "cam-avdd-2v8";
> + vin-supply = <&vcc2v8_video>;
> + };
> +
> + cam_dovdd_1v8: regulator-cam-dovdd-1v8 {
> + compatible = "regulator-fixed";
> + gpio = <&pca9670 3 GPIO_ACTIVE_LOW>;
> + regulator-max-microvolt = <1800000>;
> + regulator-min-microvolt = <1800000>;
> + regulator-name = "cam-dovdd-1v8";
> + vin-supply = <&vcc1v8_video>;
> + };
> +
> + cam_dvdd_1v2: regulator-cam-dvdd-1v2 {
> + compatible = "regulator-fixed";
> + enable-active-high;
> + gpio = <&pca9670 5 GPIO_ACTIVE_HIGH>;
> + regulator-max-microvolt = <1200000>;
> + regulator-min-microvolt = <1200000>;
> + regulator-name = "cam-dvdd-1v2";
> + vin-supply = <&vcc3v3_baseboard>;
> + };
> +
> + vcc1v8_video: regulator-vcc1v8-video {
> + compatible = "regulator-fixed";
> + regulator-always-on;
> + regulator-boot-on;
> + regulator-max-microvolt = <1800000>;
> + regulator-min-microvolt = <1800000>;
> + regulator-name = "vcc1v8-video";
> + vin-supply = <&vcc3v3_baseboard>;
> + };
> +
> + vcc2v8_video: regulator-vcc2v8-video {
> + compatible = "regulator-fixed";
> + regulator-always-on;
> + regulator-boot-on;
> + regulator-max-microvolt = <2800000>;
> + regulator-min-microvolt = <2800000>;
> + regulator-name = "vcc2v8-video";
> + vin-supply = <&vcc3v3_baseboard>;
> + };
> +
> + video-adapter-leds {
> + compatible = "gpio-leds";
> +
> + video-adapter-led {
> + color = <LED_COLOR_ID_BLUE>;
> + gpios = <&pca9670 7 GPIO_ACTIVE_HIGH>;
> + label = "video-adapter-led";
> + linux,default-trigger = "none";
> + };
> + };
> +};
> +
> +&dphy {
> + status = "okay";
> +};
> +
> +&i2c_gp2 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + /* OV5675, GT911, DW9714 are limited to 400KHz */
> + clock-frequency = <400000>;
> +
> + touchscreen@14 {
> + compatible = "goodix,gt911";
> + reg = <0x14>;
> + interrupt-parent = <&gpio1>;
> + interrupts = <RK_PB5 IRQ_TYPE_LEVEL_LOW>;
> + irq-gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>;
> + pinctrl-0 = <&touch_int>;
> + pinctrl-names = "default";
> + reset-gpios = <&pca9670 1 GPIO_ACTIVE_HIGH>;
> + AVDD28-supply = <&vcc2v8_video>;
> + VDDIO-supply = <&vcc3v3_baseboard>;
> + };
> +
> + pca9670: gpio@27 {
> + compatible = "nxp,pca9670";
> + reg = <0x27>;
> + gpio-controller;
> + #gpio-cells = <2>;
> + pinctrl-0 = <&pca9670_resetn>;
> + pinctrl-names = "default";
> + reset-gpios = <&gpio1 RK_PA5 GPIO_ACTIVE_LOW>;
> + };
> +};
> +
> +&mipi_dsi {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + status = "okay";
> +
> + panel@0 {
> + compatible = "leadtek,ltk050h3148w";
> + reg = <0>;
> + backlight = <&backlight>;
> + iovcc-supply = <&vcc1v8_video>;
> + reset-gpios = <&pca9670 0 GPIO_ACTIVE_LOW>;
> + vci-supply = <&vcc2v8_video>;
> +
> + port {
> + mipi_in_panel: endpoint {
> + remote-endpoint = <&mipi_out_panel>;
> + };
> + };
> + };
> +};
> +
> +&mipi_out {
> + mipi_out_panel: endpoint {
> + remote-endpoint = <&mipi_in_panel>;
> + };
> +};
> +
> +&pinctrl {
> + pca9670 {
> + pca9670_resetn: pca9670-resetn {
> + rockchip,pins = <1 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
> + };
> + };
> +
> + touch {
> + touch_int: touch-int {
> + rockchip,pins = <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
> + };
> + };
> +};
> +
> +&pwm1 {
> + status = "okay";
> +};
Both Puma and Ringneck enable the PWM controller in Haikou as it is
exposed as BLT_CTRL signal on the MISC I/O pin header. The Qseven
standard specifies this signal is only for PWM (either for a panel
backlight or generic PWM), so I believe it's proper to enable it in the
motherboard DTS to also align with the DTSO for the other modules.
I've tested the touchscreen, backlight and LED, they all work as expected.
I have not yet managed to make the DSI display work. It is detected but
modetest test pattern doesn't show, only blank.
Since there's only one VOP, I'm also wondering if we need to disable
HDMI here? Or is Linux capable of handling multiple connected displays
but only use one? I've tried to make DSI work with the HDMI controller
disabled, it didn't change anything.
Cheers,
Quentin
next prev parent reply other threads:[~2025-12-02 13:39 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-21 7:42 [PATCH v2 0/9] General RK3368 HDMI support and 2 outputs for RK3368-Lion Heiko Stuebner
2025-10-21 7:42 ` [PATCH v2 1/9] dt-bindings: display: rockchip: dw-hdmi: Add compatible for RK3368 HDMI Heiko Stuebner
2025-10-21 7:42 ` [PATCH v2 2/9] drm/rockchip: hdmi: add RK3368 controller variant Heiko Stuebner
2025-10-26 8:38 ` Andy Yan
2025-10-21 7:42 ` [PATCH v2 3/9] soc: rockchip: grf: Add select correct PWM implementation on RK3368 Heiko Stuebner
2025-10-21 7:42 ` [PATCH v2 4/9] arm64: dts: rockchip: Add power-domain to RK3368 DSI controller Heiko Stuebner
2025-12-01 15:23 ` Quentin Schulz
2025-10-21 7:42 ` [PATCH v2 5/9] arm64: dts: rockchip: Add power-domain to RK3368 VOP controller Heiko Stuebner
2025-12-01 15:38 ` Quentin Schulz
2025-10-21 7:42 ` [PATCH v2 6/9] arm64: dts: rockchip: Use phandle for i2c_lvds_blc on rk3368-lion haikou Heiko Stuebner
2025-12-01 15:41 ` Quentin Schulz
2025-10-21 7:42 ` [PATCH v2 7/9] arm64: dts: rockchip: Add HDMI node to RK3368 Heiko Stuebner
2025-10-21 7:42 ` [PATCH v2 8/9] arm64: dts: rockchip: Enable HDMI output on RK3368-Lion-Haikou Heiko Stuebner
2025-12-01 16:31 ` Quentin Schulz
2025-12-02 10:41 ` Quentin Schulz
2025-10-21 7:42 ` [PATCH v2 9/9] arm64: dts: rockchip: Add the Video-Demo overlay for Lion Haikou Heiko Stuebner
2025-12-02 13:37 ` Quentin Schulz [this message]
2025-12-03 10:36 ` Quentin Schulz
2025-11-17 21:59 ` (subset) [PATCH v2 0/9] General RK3368 HDMI support and 2 outputs for RK3368-Lion Heiko Stuebner
2025-11-20 22:23 ` Heiko Stuebner
2025-12-15 13:57 ` 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=ae0d2de5-4fc8-492c-8d46-8d90118c5e64@cherry.de \
--to=quentin.schulz@cherry.de \
--cc=andy.yan@rock-chips.com \
--cc=cn.liweihao@gmail.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.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=maarten.lankhorst@linux.intel.com \
--cc=mripard@kernel.org \
--cc=robh@kernel.org \
--cc=tzimmermann@suse.de \
/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
all inboxes | Powered by JetHome®