Skip to content

Instantly share code, notes, and snippets.

@openedev
Last active February 6, 2026 08:59
Show Gist options
  • Select an option

  • Save openedev/c6840481dbb2a8b06bbeb737fa047eaa to your computer and use it in GitHub Desktop.

Select an option

Save openedev/c6840481dbb2a8b06bbeb737fa047eaa to your computer and use it in GitHub Desktop.
IMX415 on RK3588
&{/} {
vcc_3v3_adapter: vcc-3v3-adapter-regulator {
compatible = "regulator-fixed";
regulator-name = "vcc_3v3_adapter";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
vin-supply = <&vcc5v0_sys>;
};
dvdd_1v1_cam0: dvdd-1v1-cam0-regulator {
compatible = "regulator-fixed";
regulator-name = "dvdd_1v1_cam0";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
vin-supply = <&vcc_3v3_adapter>;
};
dovdd_1v8_cam0: dovdd-1v8-cam0-regulator {
compatible = "regulator-fixed";
regulator-name = "dovdd_1v8_cam0";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
vin-supply = <&vcc_3v3_adapter>;
};
avdd_2v9_cam0: avdd-2v9-cam0-regulator {
compatible = "regulator-fixed";
regulator-name = "avdd_2v9_cam0";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>;
vin-supply = <&vcc_3v3_adapter>;
};
};
&i2c7 {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
imx415_0: imx415@37 {
compatible = "sony,imx415";
reg = <0x37>;
clocks = <&cru CLK_MIPI_CAMARAOUT_M1>;
clock-names = "xvclk";
pinctrl-names = "default";
pinctrl-0 = <&mipim0_camera1_clk>;
power-domains = <&power RK3588_PD_VI>;
reset-gpios = <&gpio1 RK_PA3 GPIO_ACTIVE_LOW>;
power-gpios = <&gpio1 RK_PA2 GPIO_ACTIVE_HIGH>;
avdd-supply = <&avdd_2v9_cam0>;
dovdd-supply = <&dovdd_1v8_cam0>;
dvdd-supply = <&dvdd_1v1_cam0>;
rockchip,camera-module-index = <0>;
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "EDGEBLE-CAM4K-A00";
rockchip,camera-module-lens-name = "DEFAULT";
port {
imx415_0_out0: endpoint {
remote-endpoint = <&mipidphy0_in>;
data-lanes = <1 2 3 4>;
};
};
};
};
Logs:
edgegpt-6b $ sudo dmesg | grep imx415
[ 12.570773] platform csi2-dcphy0: Fixed dependency cycle(s) with /i2c@fec90000/imx415@37
[ 12.924278] imx415 7-0037: driver version: 00.01.08
[ 12.924297] imx415 7-0037: Get hdr mode failed! no hdr default
[ 12.924318] imx415 7-0037: detect imx415 lane 4
[ 12.924326] imx415 7-0037: current mode 1, cfg_num 11
[ 12.924448] imx415 7-0037: could not get default pinstate
[ 12.924455] imx415 7-0037: could not get sleep pinstate
[ 12.924463] imx415 7-0037: Looking up dvdd-supply from device tree
[ 12.924570] imx415 7-0037: Looking up dovdd-supply from device tree
[ 12.924661] imx415 7-0037: Looking up avdd-supply from device tree
[ 12.996670] imx415 7-0037: Detected imx415 id 0000e0
[ 12.996720] imx415 7-0037: Consider updating driver imx415 to match on endpoints
[ 12.996744] rockchip-csi2-dphy csi2-dcphy0: dphy0 matches m00_b_imx415 7-0037:bus type 5
[ 14.416636] imx415 7-0037: set exposure(shr0) 1845 = cur_vts(2250) - val(405)
$ v4l2-ctl -d /dev/video11 --set-fmt-video=width=1920,height=1080,pixelformat=NV12 --stream-mmap=4 --stream-skip=100 --stream-to=11.yuv --stream-count=1 --stream-poll
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 60.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$ v4l2-ctl -d /dev/video11 --set-fmt-video=width=1920,height=1080,pixelformat=NV12 --stream-mmap=4 --stream-skip=100 --stream-to=11.yuv --stream-count=1 --stream-poll
select timeout
<6>[ 247.241212] rkisp_hw fdcb0000.rkisp: set isp clk = 594000000Hz
<7>[ 247.248580] imx415 7-0037: set exposure(shr0) 2242 = cur_vts(2250) - val(8)
<6>[ 247.255797] rkisp rkisp0-vir0: first params buf queue
<6>[ 247.257739] rkcif-mipi-lvds: stream[0] start streaming
<3>[ 247.257888] rockchip-mipi-csi2 mipi0-csi2: stream on, src_sd: 000000008058b40a, sd_name:rockchip-csi2-dphy0
<3>[ 247.257902] rockchip-mipi-csi2 mipi0-csi2: stream ON
<6>[ 247.257937] rockchip-csi2-dphy0: dphy0, data_rate_mbps 892
<6>[ 247.257949] rockchip-csi2-dphy0: dphy0, data_rate_mbps 892
<6>[ 247.258246] rockchip-csi2-dphy csi2-dcphy0: csi2_dphy_s_stream stream on:1, dphy0, ret 0
<6>[ 247.258260] imx415 7-0037: s_stream: 1. 1920x1080, hdr: 0, bpp: 10
<3>[ 247.258633] m00_b_imx415 7-0037: start stream failed while write regs
<6>[ 247.259687] rockchip-csi2-dphy csi2-dcphy0: csi2_dphy_s_stream_stop stream stop, dphy0
<6>[ 247.259702] rockchip-csi2-dphy csi2-dcphy0: csi2_dphy_s_stream stream on:0, dphy0, ret 0
<3>[ 247.259713] rockchip-mipi-csi2 mipi0-csi2: stream off, src_sd: 000000008058b40a, sd_name:rockchip-csi2-dphy0
<3>[ 247.259724] rockchip-mipi-csi2 mipi0-csi2: stream OFF
<3>[ 247.259754] rockchip-mipi-csi2 mipi0-csi2: stream off, src_sd: 000000008058b40a, sd_name:rockchip-csi2-dphy0
<6>[ 247.259764] imx415 7-0037: s_stream: 0. 1920x1080, hdr: 0, bpp: 10
<4>[ 249.787171] rkisp0-vir0: rkisp_stream_stop id:0 timeout
<6>[ 249.787184] rkcif-mipi-lvds: stream[0] start stopping, total mode 0x0, cur 0x2
<6>[ 249.787187] rkcif-mipi-lvds: stream[0] stopping finished, dma_en 0x0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment