CM3 Sodimm and rpi camera 2.1

Hello everyone!
I need some help with Radxa CM3 and rpi camera v2.1

  1. We bought a radxa cm3 sodimm(with rk3566) and plugged it into our board(before that, we used this board for raspberry pi cm3+)
  2. Installed the bootloader and the image bullseye_cli_b27 from here https://github.com/radxa-build/radxa-cm3-sodimm-io/releases, and it works! But…

I want to connect a Raspberry Pi Camera v2.1, for this I activated radxa-cm3s-io-csi1-rpi-camera-v2.dtbo and rk3568-i2c2-m1.dtbo (camera on pins 3 and 5) through rsetup, and I’m trying to take a photo using the
gst-launch1.0 v4l2src num-buffers=1 ! filesink location=1.jpg
but it doesn’t work

I went to recompiled and edit radxa-cm3s-io-csi1-rpi-camera-v2.dtbo, but got a little confused about it

Checking with an oscilloscope showed that from the point of view of physical connection everything is organized correctly;

It also bothers me that i2cdetect give me this answer:

  sudo i2cdetect -y 2
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:                         -- -- -- -- -- -- -- -- 
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    60: -- -- -- -- 64 -- -- -- -- -- -- -- -- -- -- -- 
    70: -- -- -- -- -- -- -- --      

I think the camera should respond to two addresses: 10 and 64, but i see only 1 address

then I noticed that when I boot the system I get these kind of errors:
[ 7.107641] imx219 2-0010: Error -5 setting default controls

I’m guessing that changing radxa-cm3s-io-csi1-rpi-camera-v2.dts correctly should solve the problem
this is my radxa-cm3s-io-csi1-rpi-camera-v2.dts:

/dts-v1/;
/plugin/;

/ {

        metadata {
                title = "Enable Raspberry Pi Camera v2 on CSI1";
                compatible = "radxa,cm3s-io\0radxa,radxa-cm3-sodimm-io";
                category = "camera";
                exclusive = "csi2_dphy2";
                description = "Enable Raspberry Pi Camera v2 on CSI1.";
        };

        fragment@0 {
                target-path = [2f 00];

                __overlay__ {

                        ext-cam-clk-imx219-1 {
                                status = "okay";
                                compatible = "fixed-clock";
                                clock-frequency = <0x16e3600>;
                                clock-output-names = "ext_cam_clk_imx219_1";
                                #clock-cells = <0x00>;
                                phandle = <0x01>;
                        };

                        camera-pwdn-gpio {
                                status = "okay";
                                compatible = "regulator-fixed";
                                regulator-name = "camera_pwdn_gpio";
                                regulator-always-on;
                                regulator-boot-on;
                                enable-active-high;
                                gpio = <0xffffffff 0x00 0x00>;
                                phandle = <0x06>;
                        };
                };
        };

        fragment@1 {
                target = <&i2c2>;

                __overlay__ {
                        status = "okay";
                        #address-cells = <0x01>;
                        #size-cells = <0x00>;

                        imx219@10 {
                                status = "okay";
                                compatible = "sony,imx219";
                                reg = <0x10>;
                                clocks = <0x01>;
                                clock-names = "ext_cam_clk_imx219_1";
                                rockchip,camera-module-index = <0x01>;
                                rockchip,camera-module-facing = "front";
                                rockchip,camera-module-name = "rpi-camera-v2";
                                rockchip,camera-module-lens-name = "default";
                                phandle = <0x07>;

                                port {

                                        endpoint {
                                                remote-endpoint = <0x02>;
                                                data-lanes = <0x01 0x02>;
                                                phandle = <0x03>;
                                        };
                                };
                        };
                };
        };

        fragment@2 {
                target = <&csi2_dphy_hw>;

                __overlay__ {
                        status = "okay";
                };
        };

        fragment@3 {
                target = <&csi2_dphy1>;

                __overlay__ {
                        status = "okay";

                        ports {
                                #address-cells = <0x01>;
                                #size-cells = <0x00>;

                                port@0 {
                                        reg = <0x00>;
                                        #address-cells = <0x01>;
                                        #size-cells = <0x00>;

                                        endpoint@1 {
                                                reg = <0x01>;
                                                remote-endpoint = <0x03>;
                                                data-lanes = <0x01 0x02>;
                                                phandle = <0x02>;
                                        };
                                };

                                port@1 {
                                        reg = <0x01>;
                                        #address-cells = <0x01>;
                                        #size-cells = <0x00>;

                                        endpoint@1 {
                                                reg = <0x01>;
                                                remote-endpoint = <0x04>;
                                                phandle = <0x05>;
                                        };
                                };
                        };
                };
        };

        fragment@4 {
                target = <&rkisp_vir0>;

                __overlay__ {
                        status = "okay";
                        #address-cells = <0x01>;
                        #size-cells = <0x00>;

                        port {
                                reg = <0x00>;
                                #address-cells = <0x01>;
                                #size-cells = <0x00>;

                                endpoint@0 {
                                        reg = <0x00>;
                                        remote-endpoint = <0x05>;
                                        phandle = <0x04>;
                                };
                        };
                };
        };

        fragment@5 {
                target = <&rkisp>;

                __overlay__ {
                        status = "okay";
                };
        };

        fragment@6 {
                target = <&rkisp_mmu>;

                __overlay__ {
                        status = "okay";
                };
        };

        fragment@7 {
                target = <&rkcif_mmu>;

                __overlay__ {
                        status = "okay";
                };
        };

        fragment@8 {
                target = <&rkcif>;

                __overlay__ {
                        status = "okay";
                };
        };

        __symbols__ {
                ext_cam_clk_imx219_1 = "/fragment@0/__overlay__/ext-cam-clk-imx219-1";
                camera_pwdn_gpio = "/fragment@0/__overlay__/camera-pwdn-gpio";
                imx219_2 = "/fragment@1/__overlay__/imx219@10";
                imx219_2_out = "/fragment@1/__overlay__/imx219@10/port/endpoint";
                csi2dphy2_ucam1 = "/fragment@3/__overlay__/ports/port@0/endpoint@1";
                csi2dphy2_out = "/fragment@3/__overlay__/ports/port@1/endpoint@1";
                isp1_in = "/fragment@4/__overlay__/port/endpoint@0";
        };

        __fixups__ {
                gpio4 = "/fragment@0/__overlay__/camera-pwdn-gpio:gpio:0";
                i2c3 = "/fragment@1:target:0";
                csi2_dphy_hw = "/fragment@2:target:0";
                csi2_dphy2 = "/fragment@3:target:0";
                rkisp_vir1 = "/fragment@4:target:0";
                rkisp = "/fragment@5:target:0";
                rkisp_mmu = "/fragment@6:target:0";
                rkcif_mmu = "/fragment@7:target:0";
                rkcif = "/fragment@8:target:0";
        };

        __local_fixups__ {

                fragment@1 {

                        __overlay__ {

                                imx219@10 {
                                        clocks = <0x00>;

                                        port {

                                                endpoint {
                                                        remote-endpoint = <0x00>;
                                                };
                                        };
                                };
                        };
                };

                fragment@3 {

                        __overlay__ {

                                ports {

                                        port@0 {

                                                endpoint@1 {
                                                        remote-endpoint = <0x00>;
                                                };
                                        };

                                        port@1 {

                                                endpoint@1 {
                                                        remote-endpoint = <0x00>;
                                                };
                                        };
                                };
                        };
                };

                fragment@4 {

                        __overlay__ {

                                port {

                                        endpoint@0 {
                                                remote-endpoint = <0x00>;
                                        };
                                };
                        };
                };
        };
};

Thank you!