AM62P: Fps is decreasing gradually

Part Number: AM62P

Hi

I am integrating a deserializer namely TP2855 with TI am62p5, while capturing the frames, I am facing an issue of fps related, I can see fps is gradually decreasing. Please see the log: tp2855_log.txt 

My dts is:

        status = "okay";
        pinctrl-names = "default";
        pinctrl-0 = <&main_i2c2_pins_default>;
        clock-frequency = <400000>;

        i2c-switch@71 {
                compatible = "nxp,pca9543";
                #address-cells = <1>;
                #size-cells = <0>;
                reg = <0x71>;
                i2c@0 {
                        #address-cells = <1>;
                        #size-cells = <0>;
                        reg = <0>;
#if 1
                        tp2855: des@44 {
                                compatible = "techpoint,tp2855_mipi";
                                reg = <0x44>;

                                clocks = <&clk_des_fixed>;
                                clock-names = "xclk";
                                clock-frequency = <27000000>;
                                //rst-gpios = <&exp1 13 GPIO_ACTIVE_LOW>;
                                virtual-channel;
                                status = "okay";

                                ports {
                                #address-cells = <1>;
                                #size-cells = <0>;
                                port@0 {
                                        reg = <0>;
                                        csi2_cam0: endpoint {
                                                remote-endpoint = <&csi2rx0_in_sensor>;
                                                clock-lanes = <0>;
                                                data-lanes = <1 2 3 4>;
                                                link-frequencies = /bits/ 64 <594000000>;
                                                bus-type = <4>; /* CSI2 DPHY */
                                                };
                                        };
                                };
                        };
#endif

                };
        };
};
#if 1
&cdns_csi2rx0 {
        ports {
                #address-cells = <1>;
                #size-cells = <0>;

                csi0_port0: port@0 {
                        reg = <0>;
                        status = "okay";

                        csi2rx0_in_sensor: endpoint {
                                remote-endpoint = <&csi2_cam0>;
                                bus-type = <4>; /* CSI2 DPHY. */
                                clock-lanes = <0>;
                                data-lanes = <1 2 3 4>;
                                link-frequencies = /bits/ 64 <594000000>;
                        };
                };
        };
};

&ti_csi2rx0 {
        status = "okay";
};

&dphy0 {
        status = "okay";
};
#endif

Could you please suggest me where we are missing out, what are the debugging mechanisms we can do to resolve this issue.

Regards

Roshan

  • Hi Roshan,

    Since the streaming is working correctly, most of the configuration should be alright. I also see that you are using v4l2-ctl for capture. This confines the issue to the CSI IP.

    Can you please share the following information:

    1. Are you streaming multiple cameras or a single camera?
    2. The SDK version that you are using.
    3. From the device tree that you have shared, I see that you are using a single camera. Any chance your testing was done with multiple cameras connected?
    4. Do you see any logs similar to: "Failed to drain DMA. Next frame might be bogus". I would prefer if you could share your dmesg logs.

    In addition to all this, please share the values of the following registers while streaming when you are seeing fps drop:

    1. CSIRX_INFO_IRQS - 0x30101020
    2. CSIRX_ERROR_IRQS - 0x30101028
    3. CSIRX_DPHY_STATUS - 0x30101048
    4. CSIRX_DPHY_ERR_STATUS_IRQ - 0x3010104C
    5. CSIRX_STREAM0_STATUS - 0x30101104

    If your camera supports a direct CSI interface, can you check if you see an fps drop then also? That should help rule out the serdes as a potential issue.

    Regards,
    Jay