

&i2c3 {
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&i2c3m0_xfer>;

vm149c_2: vm149c_2@0c {
        compatible = "silicon touch,vm149c";
        status = "okay";
        reg = <0x0c>;
        rockchip,vcm-start-current = <20>; // 马达的启动电流
        rockchip,vcm-rated-current = <100>; // 马达的额定电流
        rockchip,vcm-step-mode = <13>; // 马达驱动 ic 的电流输出模式
        rockchip,camera-module-index = <2>; // 模组编号
        rockchip,camera-module-facing = "back"; // 模组朝向，有"back"和"front"
}; 
  
    gc8034_2: gc8034_2@37 {
        compatible = "galaxycore,gc8034";
        status = "okay";
        reg = <0x37>;
        clocks = <&cru CLK_MIPI_CAMARAOUT_M3>;
        clock-names = "xvclk";
        power-domains = <&power RK3588_PD_VI>;
        pinctrl-names = "default";
        pinctrl-0 = <&mipim0_camera3_clk>;
        rockchip,grf = <&sys_grf>;
        pwdn-gpios = <&gpio1 RK_PB1 GPIO_ACTIVE_LOW>;
        rockchip,camera-module-index = <2>;
        rockchip,camera-module-facing = "back";
        rockchip,camera-module-name = "RK-CMK-8M-2-v1";
        rockchip,camera-module-lens-name = "CK8401-4";        
        lens-focus = <&vm149c_2>;
        port {
            gc8034_out2: endpoint {
                remote-endpoint = <&mipi_in_ucam2>;
                data-lanes = <1 2 3 4>;
            };
        };
    };
};

&csi2_dphy0_hw {
    status = "okay";
};

&csi2_dphy0 {
    status = "okay";
    ports {
        #address-cells = <1>;
        #size-cells = <0>;
        port@0 {
            reg = <0>;
            #address-cells = <1>;
            #size-cells = <0>;
            mipi_in_ucam2: endpoint@1 {
                reg = <1>;
                remote-endpoint = <&gc8034_out2>;
                data-lanes = <1 2 3 4>;
            };
        };
        port@1 {
            reg = <1>;
            #address-cells = <1>;
            #size-cells = <0>;
            csidphy0_out: endpoint@0 {
                reg = <0>;
                remote-endpoint = <&mipi2_csi2_input>;
            };
        };
    };
};

&mipi2_csi2 {
    status = "okay";
    ports {
        #address-cells = <1>;
        #size-cells = <0>;
        port@0 {
            reg = <0>;
            #address-cells = <1>;
            #size-cells = <0>;
            mipi2_csi2_input: endpoint@1 {
                reg = <1>;
                remote-endpoint = <&csidphy0_out>;
            };
        };
        port@1 {
            reg = <1>;
            #address-cells = <1>;
            #size-cells = <0>;
            mipi2_csi2_output: endpoint@0 {
                reg = <0>;
                remote-endpoint = <&cif_mipi_in2>;
            };
        };
    };
};


&rkcif_mipi_lvds2 {
    status = "okay";
    port {
        cif_mipi_in2: endpoint {
            remote-endpoint = <&mipi2_csi2_output>;
        };
    };
};

&rkcif_mipi_lvds2_sditf {
    status = "okay";
    port {
        mipi2_lvds_sditf: endpoint {
            remote-endpoint = <&isp1_vir1>;
        };
    };
};

&rkisp1 {
    status = "okay";
};

&isp1_mmu {
    status = "okay";
};

&rkisp1_vir1 {
    status = "okay";
    port {
        #address-cells = <1>;
        #size-cells = <0>;

        isp1_vir1: endpoint@0 {
            reg = <0>;
            remote-endpoint = <&mipi2_lvds_sditf>;
        };
    };
};

