[PATCH] arm64: dts: rockchip: enable camera on tiger-haikou video-demo adapter
Heiko Stuebner
heiko at sntech.de
Mon Oct 26 03:20:27 PDT 2026
From: Heiko Stuebner <heiko.stuebner at cherry.de>
The video-demo adapter also contains a camera, hooked to the CSI input
of the RK3588. Add the necessary infrastructure and devices to enable it.
Signed-off-by: Heiko Stuebner <heiko.stuebner at cherry.de>
---
.../rk3588-tiger-haikou-video-demo.dtso | 95 +++++++++++++++++++
1 file changed, 95 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-tiger-haikou-video-demo.dtso b/arch/arm64/boot/dts/rockchip/rk3588-tiger-haikou-video-demo.dtso
index b8636fcb4f39..c403054c3c16 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-tiger-haikou-video-demo.dtso
+++ b/arch/arm64/boot/dts/rockchip/rk3588-tiger-haikou-video-demo.dtso
@@ -12,9 +12,11 @@
/dts-v1/;
/plugin/;
+#include <dt-bindings/clock/rockchip,rk3588-cru.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/leds/common.h>
+#include <dt-bindings/media/video-interfaces.h>
#include <dt-bindings/pinctrl/rockchip.h>
#include <dt-bindings/soc/rockchip,vop2.h>
@@ -25,6 +27,43 @@ backlight: backlight {
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-name = "vcc1v8-video";
@@ -57,6 +96,23 @@ video-adapter-led {
};
};
+&csi4 {
+ status = "okay";
+};
+
+&csi4_in {
+ csi4_input: endpoint {
+ bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>;
+ data-lanes = <1 2>;
+ link-frequencies = /bits/ 64 <450000000>;
+ remote-endpoint = <&cam_output>;
+ };
+};
+
+&csi_dphy1 {
+ status = "okay";
+};
+
&dsi0 {
#address-cells = <1>;
#size-cells = <0>;
@@ -96,6 +152,12 @@ &i2c6 {
#address-cells = <1>;
#size-cells = <0>;
+ focus: focus at c {
+ compatible = "dongwoon,dw9714";
+ reg = <0xc>;
+ vcc-supply = <&cam_afvdd_2v8>;
+ };
+
touchscreen at 14 {
compatible = "goodix,gt911";
reg = <0x14>;
@@ -118,6 +180,31 @@ pca9670: gpio at 27 {
pinctrl-0 = <&pca9670_resetn>;
reset-gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_LOW>;
};
+
+ camera at 36 {
+ compatible = "ovti,ov5675";
+ reg = <0x36>;
+ assigned-clocks = <&cru CLK_MIPI_CAMARAOUT_M3>;
+ assigned-clock-rates = <24000000>;
+ clocks = <&cru CLK_MIPI_CAMARAOUT_M3>;
+ avdd-supply = <&cam_avdd_2v8>;
+ dvdd-supply = <&cam_dvdd_1v2>;
+ dovdd-supply = <&cam_dovdd_1v8>;
+ lens-focus = <&focus>;
+ orientation = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&mipim1_camera3_clk>;
+ reset-gpios = <&pca9670 6 GPIO_ACTIVE_LOW>;
+ rotation = <180>;
+
+ port {
+ cam_output: endpoint {
+ data-lanes = <1 2>;
+ link-frequencies = /bits/ 64 <450000000>;
+ remote-endpoint = <&csi4_input>;
+ };
+ };
+ };
};
&mipidcphy0 {
@@ -142,6 +229,14 @@ &pwm0 {
status = "okay";
};
+&vicap {
+ status = "okay";
+};
+
+&vicap_mmu {
+ status = "okay";
+};
+
&vp3 {
#address-cells = <1>;
#size-cells = <0>;
--
2.47.3
More information about the linux-arm-kernel
mailing list