AnsweredAssumed Answered

Base Address switching error in MIPI channel 2 (J1503) IMX8mq-evk (Version-B4)

Question asked by Saideepak R on Aug 5, 2019

Hi,

 

We are evaluating ov2311 sensor with IMX8mq-evk (Version-B4) with L4.14.78_1.0.0_MX8MQ BSP.

We evaluated the ov2311 sensor in two scenarios,

 

1) In first scenario we have connected the ov2311 in the MIPI channel 1 (J1502 )with the following configuration in dtb,

In fsl-imx8mq.dtsi file

mipi_csi_1: mipi_csi1@30a70000 {

        compatible = "fsl,mxc-mipi-csi2_yav";

        reg = <0x0 0x30a70000 0x0 0x1000>; /* MIPI CSI1 Controller base addr */

        interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;

        clocks = <&clk IMX8MQ_CLK_DUMMY>,

                <&clk IMX8MQ_CLK_CSI1_CORE>,

                <&clk IMX8MQ_CLK_CSI1_ESC>,

                <&clk IMX8MQ_CLK_CSI1_PHY_REF>;

        clock-names = "clk_apb", "clk_core", "clk_esc", "clk_pxl";

        assigned-clocks = <&clk IMX8MQ_CLK_CSI1_CORE>,

                  <&clk IMX8MQ_CLK_CSI1_PHY_REF>,

                  <&clk IMX8MQ_CLK_CSI1_ESC>;

        assigned-clock-rates = <133000000>, <100000000>, <66000000>;

        power-domains = <&mipi_csi1_pd>;

        csis-phy-reset = <&src 0x4c 7>;

        phy-gpr = <&gpr 0x88>;

        status = "disabled";

    };    


In fsl-imx8mq-evk.dts file

&i2c2 {

    clock-frequency = <100000>;

    pinctrl-names = "default";

    pinctrl-0 = <&pinctrl_i2c2>;

    status = "okay";

    ov2311_mipi: ov2311_mipi@3c {

    compatible = "ovti,ov2311_mipi";

        reg = <0x42>;

        status = "okay";

        pinctrl-names = "default";

        pinctrl-0 = <&pinctrl_csi1_pwn>;

        clocks = <&clk IMX8MQ_CLK_CLKO2>;

        clock-names = "csi_mclk";

        assigned-clocks = <&clk IMX8MQ_CLK_CLKO2>;

        assigned-clock-parents = <&clk IMX8MQ_SYS2_PLL_200M>;

        assigned-clock-rates = <20000000>;

        csi_id = <0>; 

        pwn-gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;

        mclk = <20000000>;

        mclk_source = <0>; 

        port {

            ov2311_mipi1_ep: endpoint {

                remote-endpoint = <&mipi1_sensor_ep>;

            };

        };

    };   

};

 

2) In second scenario we have connected the ov2311 in the MIPI channel 2 (J1503 )with the following configuration in dtb,

 

In fsl-imx8mq.dtsi file

 

mipi_csi_2: mipi_csi2@30b60000 {

        compatible = "fsl,mxc-mipi-csi2_yav";

        reg = <0x0 0x30b60000 0x0 0x1000>; /* MIPI CSI2 Controller base addr */

        interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;

        clocks = <&clk IMX8MQ_CLK_DUMMY>,

                <&clk IMX8MQ_CLK_CSI2_CORE>,

                <&clk IMX8MQ_CLK_CSI2_ESC>,

                <&clk IMX8MQ_CLK_CSI2_PHY_REF>;

        clock-names = "clk_apb", "clk_core", "clk_esc", "clk_pxl";

        assigned-clocks = <&clk IMX8MQ_CLK_CSI2_CORE>,

                  <&clk IMX8MQ_CLK_CSI2_PHY_REF>,

                  <&clk IMX8MQ_CLK_CSI2_ESC>;

        assigned-clock-rates = <133000000>, <100000000>, <66000000>;

        power-domains = <&mipi_csi2_pd>;

        csis-phy-reset = <&src 0x50 7>;

        phy-gpr = <&gpr 0xa4>;

        status = "disabled";

    };   

 

In fsl-imx8mq-evk.dts file

 

   ov2311_mipi2: ov2311_mipi2@3c {

        compatible = "ovti,ov2311_mipi";

        reg = <0x42>;

        status = "okay";

        pinctrl-names = "default";

        pinctrl-0 = <&pinctrl_csi2_pwn>, <&pinctrl_csi_rst>;

        clocks = <&clk IMX8MQ_CLK_CLKO2>;

        clock-names = "csi_mclk";

        assigned-clocks = <&clk IMX8MQ_CLK_CLKO2>;

        assigned-clock-parents = <&clk IMX8MQ_SYS2_PLL_200M>;

        assigned-clock-rates = <20000000>;

        csi_id = <1>; 

        pwn-gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;

        mclk = <20000000>;

        mclk_source = <0>; 

        port {

            ov2311_mipi2_ep: endpoint {

                remote-endpoint = <&mipi2_sensor_ep>;

            };

        };

    };

 

In the first scenario camera streaming is working fine but in the second scenario we getting this below error message,
base address switching Change Err.

 

This error occurs randomly in some power cycles.
During the occurrence of this error we can't able to stream and it takes randomly 3 to 15 seconds to recover.

 

We also tested ov5640 with default settings, we are getting the same issue as same as in ov2311.
This issue affects the reliability of camera streaming in time critical use cases.

 

Please provide us valuable solution or fix for this issue.

 

 

Thanks,

Sai

Outcomes