]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
arm64: dts: rockchip: add radxa camera 4k on rock 5b+ cam1
authorMichael Riesch <michael.riesch@collabora.com>
Fri, 22 May 2026 21:23:13 +0000 (23:23 +0200)
committerHeiko Stuebner <heiko@sntech.de>
Fri, 29 May 2026 11:42:02 +0000 (13:42 +0200)
Add device tree overlay for the Radxa Camera 4K (featuring the Sony IMX415
image sensor) to applied on the Radxa ROCK 5B+ CAM1 port.

Signed-off-by: Michael Riesch <michael.riesch@collabora.com>
Link: https://patch.msgid.link/20260522-rk3588-vicap-v5-7-d1d1f5265c56@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
arch/arm64/boot/dts/rockchip/Makefile
arch/arm64/boot/dts/rockchip/rk3588-rock-5b-plus-radxa-cam4k-cam1.dtso [new file with mode: 0644]

index d4ff476fb9814b18c74c6d59d73cf5d8e6ee9ca7..761d82b4f4f2ac7f0f4ba5e1f94f495b2160a059 100644 (file)
@@ -207,6 +207,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5b-pcie-ep.dtbo
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5b-pcie-srns.dtbo
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5b-plus.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5b-plus-radxa-cam4k-cam0.dtbo
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5b-plus-radxa-cam4k-cam1.dtbo
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5t.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-tiger-haikou.dtb
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-tiger-haikou-video-demo.dtbo
@@ -324,7 +325,8 @@ rk3588-rock-5b-pcie-srns-dtbs := rk3588-rock-5b.dtb \
 
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5b-plus-radxa-4k-cam.dtb
 rk3588-rock-5b-plus-radxa-4k-cam-dtbs := rk3588-rock-5b-plus.dtb \
-       rk3588-rock-5b-plus-radxa-cam4k-cam0.dtbo
+       rk3588-rock-5b-plus-radxa-cam4k-cam0.dtbo \
+       rk3588-rock-5b-plus-radxa-cam4k-cam1.dtbo
 
 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-tiger-haikou-haikou-video-demo.dtb
 rk3588-tiger-haikou-haikou-video-demo-dtbs := rk3588-tiger-haikou.dtb \
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b-plus-radxa-cam4k-cam1.dtso b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b-plus-radxa-cam4k-cam1.dtso
new file mode 100644 (file)
index 0000000..8a4cf3f
--- /dev/null
@@ -0,0 +1,99 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Device tree overlay for the Radxa Camera 4K attached to the CAM1 port of
+ * the Radxa ROCK 5B+.
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/clock/rockchip,rk3588-cru.h>
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/pinctrl/rockchip.h>
+
+&{/} {
+       savdd_cam1: regulator-savdd-cam1 {
+               compatible = "regulator-fixed";
+               regulator-min-microvolt = <2900000>;
+               regulator-max-microvolt = <2900000>;
+               regulator-name = "savdd_cam1";
+               vin-supply = <&vcc_3v3_s3>;
+       };
+
+       sdvdd_cam1: regulator-sdvdd-cam1 {
+               compatible = "regulator-fixed";
+               regulator-min-microvolt = <1100000>;
+               regulator-max-microvolt = <1100000>;
+               regulator-name = "sdvdd_cam1";
+               vin-supply = <&vcc5v0_sys>;
+       };
+
+       siovdd_cam1: regulator-siovdd-cam1 {
+               compatible = "regulator-fixed";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+               regulator-name = "siovdd_cam1";
+               vin-supply = <&vcc_3v3_s3>;
+       };
+};
+
+&i2c4 {
+       #address-cells = <1>;
+       #size-cells = <0>;
+       status = "okay";
+
+       cam1_imx415: camera-sensor@1a {
+               compatible = "sony,imx415";
+               reg = <0x1a>;
+               assigned-clocks = <&cru CLK_MIPI_CAMARAOUT_M4>;
+               assigned-clock-rates = <37125000>;
+               avdd-supply = <&savdd_cam1>;
+               clocks = <&cru CLK_MIPI_CAMARAOUT_M4>;
+               dvdd-supply = <&sdvdd_cam1>;
+               orientation = <2>; /* External */
+               ovdd-supply = <&siovdd_cam1>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&cam1_rstn &mipim0_camera4_clk>;
+               reset-gpios = <&gpio2 RK_PB0 GPIO_ACTIVE_LOW>;
+
+               port {
+                       cam1_imx415_output: endpoint {
+                               data-lanes = <1 2 3 4>;
+                               link-frequencies = /bits/ 64 <445500000>;
+                               remote-endpoint = <&csi4_input>;
+                       };
+               };
+       };
+};
+
+&pinctrl {
+       cam1 {
+               cam1_rstn: cam1-rstn-pinctrl {
+                       rockchip,pins = <2 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+};
+
+&csi4 {
+       status = "okay";
+};
+
+&csi4_in {
+       csi4_input: endpoint {
+               data-lanes = <1 2 3 4>;
+               link-frequencies = /bits/ 64 <445500000>;
+               remote-endpoint = <&cam1_imx415_output>;
+       };
+};
+
+&csi_dphy1 {
+       status = "okay";
+};
+
+&vicap {
+       status = "okay";
+};
+
+&vicap_mmu {
+       status = "okay";
+};