RV1106B with dual CSI cameras

  • I have now made a close copy of the rv1106-evb-dual-cam.dtsi with no change. Both cameras are entering HS CLK mode but no SoF, IRQ

    /* I2C3 for OV9732 camera0 */
    &i2c3 {
    status = "okay";
    clock-frequency = <400000>;
    pinctrl-names = "default";
    pinctrl-0 = <&i2c3m2_xfer>;

    ov9732_0: ov9732@10 {
    compatible = "ovti,ov9732";
    status = "okay";
    reg = <0x10>;
    clocks = <&cru MCLK_REF_MIPI0>;
    clock-names = "xvclk";
    pinctrl-names = "default";
    pinctrl-0 = <&mipi_refclk_out0>;
    reset-gpios = <&gpio3 RK_PD3 GPIO_ACTIVE_LOW>;
    avdd-supply = <&vcc_mipi>;
    dovdd-supply = <&vcc_1v8>;
    dvdd-supply = <&vcc_1v8>;
    rockchip,camera-module-index = <0>;
    rockchip,camera-module-facing = "back";
    rockchip,camera-module-name = "OV9732";
    rockchip,camera-module-lens-name = "default";

    port {
    ov9732_0_out: endpoint {
    remote-endpoint = <&csi_dphy_input0>;
    data-lanes = <1>;
    };
    };
    };
    };

    /* I2C4 for OV9732 camera1 */
    &i2c4 {
    status = "okay";
    clock-frequency = <400000>;
    pinctrl-names = "default";
    pinctrl-0 = <&i2c4m2_xfer>;

    ov9732_1: ov9732@36 {
    compatible = "ovti,ov9732";
    status = "okay";
    reg = <0x36>;
    clocks = <&cru MCLK_REF_MIPI1>;
    clock-names = "xvclk";
    pinctrl-names = "default";
    pinctrl-0 = <&mipi_refclk_out1>;
    reset-gpios = <&gpio3 RK_PC5 GPIO_ACTIVE_LOW>;
    avdd-supply = <&vcc_mipi>;
    dovdd-supply = <&vcc_1v8>;
    dvdd-supply = <&vcc_1v8>;
    rockchip,camera-module-index = <1>;
    rockchip,camera-module-facing = "back";
    rockchip,camera-module-name = "OV9732";
    rockchip,camera-module-lens-name = "default";

    port {
    ov9732_1_out: endpoint {
    remote-endpoint = <&csi_dphy_input1>;
    data-lanes = <1>;
    };
    };
    };
    };

    &csi2_dphy_hw {
    status = "okay";
    };

    /* MIPI CSI-2 DPHY1 for Camera 0 (CSI0 interface, single lane) */
    &csi2_dphy1 {
    status = "okay";

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

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

    csi_dphy_input0: endpoint@1 {
    reg = <1>;
    remote-endpoint = <&ov9732_0_out>;
    data-lanes = <1>;
    };
    };

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

    csi_dphy_output: endpoint@0 {
    reg = <0>;
    remote-endpoint = <&mipi_csi2_input>;
    };
    };
    };
    };

    /* MIPI CSI-2 DPHY2 for Camera 1 (CSI1 interface, single lane) */
    &csi2_dphy2 {
    status = "okay";

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

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

    csi_dphy_input1: endpoint@1 {
    reg = <1>;
    remote-endpoint = <&ov9732_1_out>;
    data-lanes = <1>;
    };
    };

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

    csi_dphy_output1: endpoint@0 {
    reg = <0>;
    remote-endpoint = <&mipi1_csi2_input>;
    };
    };
    };
    };

    /* MIPI CSI2 controller for Camera 0 */
    &mipi0_csi2 {
    status = "okay";

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

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

    mipi_csi2_input: endpoint@1 {
    reg = <1>;
    remote-endpoint = <&csi_dphy_output>;
    };
    };

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

    mipi_csi2_output: endpoint@0 {
    reg = <0>;
    remote-endpoint = <&cif_mipi_in>;
    };
    };
    };
    };

    /* MIPI CSI2 controller for Camera 1 */
    &mipi1_csi2 {
    status = "okay";

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

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

    mipi1_csi2_input: endpoint@1 {
    reg = <1>;
    remote-endpoint = <&csi_dphy_output1>;
    };
    };

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

    mipi1_csi2_output: endpoint@0 {
    reg = <0>;
    remote-endpoint = <&cif_mipi_in1>;
    };
    };
    };
    };

    &rkcif {
    status = "okay";
    pinctrl-names = "default";
    pinctrl-0 = <&mipi_pins>;
    };

    &rkcif_mipi_lvds {
    status = "okay";

    port {
    cif_mipi_in: endpoint {
    remote-endpoint = <&mipi_csi2_output>;
    };
    };
    };

    &rkcif_mipi_lvds_sditf {
    status = "okay";

    port {
    mipi_lvds_sditf: endpoint {
    remote-endpoint = <&isp_in>;
    };
    };
    };

    &rkcif_mipi_lvds1 {
    status = "okay";

    port {
    cif_mipi_in1: endpoint {
    remote-endpoint = <&mipi1_csi2_output>;
    };
    };
    };

    &rkcif_mipi_lvds1_sditf {
    status = "okay";

    port {
    mipi_lvds1_sditf: endpoint {
    remote-endpoint = <&isp_in1>;
    };
    };
    };

    &rkisp {
    status = "okay";
    };

    &rkisp_vir0 {
    status = "okay";

    port@0 {
    isp_in: endpoint {
    remote-endpoint = <&mipi_lvds_sditf>;
    };
    };
    };

    &rkisp_vir1 {
    status = "okay";

    port@0 {
    isp_in1: endpoint {
    remote-endpoint = <&mipi_lvds1_sditf>;
    };
    };
    };