arm64: dts: rockchip: Add the Video-Demo overlay for Lion Haikou

The video-demo adapter also works on the Lion SoM when running
on a Haikou baseboard, so add an overlay for it.

Tested-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de>
Link: https://patch.msgid.link/20260114230707.4175162-6-heiko@sntech.de
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
This commit is contained in:
Heiko Stuebner 2026-01-15 00:07:07 +01:00 committed by Heiko Stuebner
parent f03f3e0a77
commit 7f43ac104a
2 changed files with 175 additions and 0 deletions

View File

@ -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
@ -243,6 +244,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

View File

@ -0,0 +1,170 @@
// 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 Lion system-on-module.
*/
/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>;
};
};
};