arm64: dts: rockchip: add radxa camera 4k on rock 5b+ cam0

Add device tree overlay for the Radxa Camera 4K (featuring the Sony IMX415
image sensor) to applied on the Radxa ROCK 5B+ CAM0 port.

Signed-off-by: Michael Riesch <michael.riesch@collabora.com>
Link: https://patch.msgid.link/20260522-rk3588-vicap-v5-6-d1d1f5265c56@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
This commit is contained in:
Michael Riesch 2026-05-22 23:23:12 +02:00 committed by Heiko Stuebner
parent c7126247fb
commit bfc2779116
2 changed files with 104 additions and 0 deletions

View File

@ -206,6 +206,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5b.dtb
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-5t.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-tiger-haikou.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-tiger-haikou-video-demo.dtbo
@ -321,6 +322,10 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5b-pcie-srns.dtb
rk3588-rock-5b-pcie-srns-dtbs := rk3588-rock-5b.dtb \
rk3588-rock-5b-pcie-srns.dtbo
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
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-tiger-haikou-haikou-video-demo.dtb
rk3588-tiger-haikou-haikou-video-demo-dtbs := rk3588-tiger-haikou.dtb \
rk3588-tiger-haikou-video-demo.dtbo

View File

@ -0,0 +1,99 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Device tree overlay for the Radxa Camera 4K attached to the CAM0 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_cam0: regulator-savdd-cam0 {
compatible = "regulator-fixed";
regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>;
regulator-name = "savdd_cam0";
vin-supply = <&vcc_3v3_s3>;
};
sdvdd_cam0: regulator-sdvdd-cam0 {
compatible = "regulator-fixed";
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
regulator-name = "sdvdd_cam0";
vin-supply = <&vcc5v0_sys>;
};
siovdd_cam0: regulator-siovdd-cam0 {
compatible = "regulator-fixed";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "siovdd_cam0";
vin-supply = <&vcc_3v3_s3>;
};
};
&i2c3 {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
imx415: camera-sensor@1a {
compatible = "sony,imx415";
reg = <0x1a>;
assigned-clocks = <&cru CLK_MIPI_CAMARAOUT_M3>;
assigned-clock-rates = <37125000>;
avdd-supply = <&savdd_cam0>;
clocks = <&cru CLK_MIPI_CAMARAOUT_M3>;
dvdd-supply = <&sdvdd_cam0>;
orientation = <2>; /* External */
ovdd-supply = <&siovdd_cam0>;
pinctrl-names = "default";
pinctrl-0 = <&cam0_rstn &mipim0_camera3_clk>;
reset-gpios = <&gpio4 RK_PA0 GPIO_ACTIVE_LOW>;
port {
imx415_output: endpoint {
data-lanes = <1 2 3 4>;
link-frequencies = /bits/ 64 <445500000>;
remote-endpoint = <&csi2_input>;
};
};
};
};
&pinctrl {
cam0 {
cam0_rstn: cam0-rstn-pinctrl {
rockchip,pins = <4 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
};
&csi2 {
status = "okay";
};
&csi2_in {
csi2_input: endpoint {
data-lanes = <1 2 3 4>;
link-frequencies = /bits/ 64 <445500000>;
remote-endpoint = <&imx415_output>;
};
};
&csi_dphy0 {
status = "okay";
};
&vicap {
status = "okay";
};
&vicap_mmu {
status = "okay";
};