mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 01:49:46 +00:00
arm64: dts: rockchip: add overlay for PX30 Ringneck Haikou Video Demo adapter
This adds support for the video-demo-adapter DEVKIT ADDON CAM-TS-A01 (https://embedded.cherry.de/product/development-kit/) for the Haikou devkit with PX30 Ringneck SoM. The Video Demo adapter is an adapter connected to the fake PCIe slot labeled "Video Connector" on the Haikou devkit. Itss main feature is a Leadtek DSI-display with touchscreen and a camera (that is not supported yet because the expected clock rate by the driver cannot be exactly reached by the clock driver). To drive these components a number of additional regulators are grouped on the adapter as well as a PCA9670 gpio-expander to provide the needed additional gpio-lines. Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> Link: https://lore.kernel.org/r/20250221-ringneck-dtbos-v2-4-310c0b9a3909@cherry.de Signed-off-by: Heiko Stuebner <heiko@sntech.de>
This commit is contained in:
committed by
Heiko Stuebner
parent
1444eb8fed
commit
9f889cf178
@@ -6,6 +6,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-engicam-px30-core-edimm2.2.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-firefly-jd4-core-mb.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-ringneck-haikou.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-ringneck-haikou-lvds-9904379.dtbo
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-ringneck-haikou-video-demo.dtbo
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-bpi-p2-pro.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-evb.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-roc-cc.dtb
|
||||
@@ -196,6 +197,10 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-ringneck-haikou-haikou-lvds-9904379.dtb
|
||||
px30-ringneck-haikou-haikou-lvds-9904379-dtbs := px30-ringneck-haikou.dtb \
|
||||
px30-ringneck-haikou-lvds-9904379.dtbo
|
||||
|
||||
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) += rk3568-wolfvision-pf5-vz-2-uhd.dtb
|
||||
rk3568-wolfvision-pf5-vz-2-uhd-dtbs := rk3568-wolfvision-pf5.dtb \
|
||||
rk3568-wolfvision-pf5-display-vz.dtbo \
|
||||
|
||||
@@ -0,0 +1,190 @@
|
||||
// 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 Ringneck system-on-module.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
#include <dt-bindings/clock/px30-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 = <&pwm0 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";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&display_subsystem {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&dsi_dphy {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dsi_out {
|
||||
mipi_out_panel: endpoint {
|
||||
remote-endpoint = <&mipi_in_panel>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
#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 = <&gpio0>;
|
||||
interrupts = <RK_PA0 IRQ_TYPE_LEVEL_LOW>;
|
||||
irq-gpios = <&gpio0 RK_PA0 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 = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
pca9670 {
|
||||
pca9670_resetn: pca9670-resetn {
|
||||
rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
|
||||
touch {
|
||||
touch_int: touch-int {
|
||||
rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&vopb {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&vopb_mmu {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&vopl {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&vopl_mmu {
|
||||
status = "okay";
|
||||
};
|
||||
Reference in New Issue
Block a user