imx8.mp Unable to setup a camera

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx8.mp Unable to setup a camera

Jump to solution
867 Views
rajtend
Contributor III

Hello,

I am trying to set a custom camera which is connected to CSI0 port of my board having imx.8mp. The camera is connected via LVDS to MIPI bridge and I2C of the bridge is currently programmed by a MicroController. I don;t need I2C for the moment.
I have checked using Scope, and I see the MIPI CSI signals on the pins.
I am trying to get the software up and running, however /dev/video0 device does not get created. The problem is that the IMX8-MEDIA-DEV driver is failing to probe.

Here is my DTS code which is relevant:

     / {
        cam1_clk: cam1-clk {
                #clock-cells = <0>;

                compatible = "fixed-clock";
                clock-frequency = <27000000>;
        };
};

&cameradev {
        status = "okay";
};

&i2c3 {
        cam1: camera1@36 {
                compatible = "onsemi,ar052x";
                reg = <0x36>;
                #address-cells = <0x1>;
                #size-cells = <0x0>;
                clocks = <&cam1_clk>;
                clock-names = "ext";

                port@0 {
                        reg = <0>;

                        cam1_mipi_ep: endpoint {
                                remote-endpoint = <&mipi_csi0_ep>;
                                bus-type = <4>; /* MIPI CSI-2 D-PHY */
                                data-lanes = <2>;
                                clock-lanes = <0>;
                         
                             clock-noncontinuous = <1>;
                        };
                };
        };
};

&isi_0 {
        status = "okay";
        cap_device {
                status = "okay";
        };
};

&isi_1 {
        status = "okay";
        cap_device {
                status = "okay";
        };
};

&mipi_csi_0 {
        status = "okay";
        #address-cells = <1>;
        #size-cells = <0>;
        compatible = "fsl,imx8mp-mipi-csi";
        no-reset-control;
        //power-domains = <&mipi_phy1_pd>;

        port@0 {
                reg = <0>;
                mipi_csi0_ep: endpoint {};
        };
};

&mipi_csi0_ep {
        remote-endpoint = <&cam1_mipi_ep>;
        data-lanes = <4>;
        csis-hs-settle = <16>;
        csis-clk-settle = <2>;
        csis-wclk;
};

&mipi_csi_1 {
        status = "okay";
        port@1 {
                reg = <1>;
                mipi_csi1_ep: endpoint {};
        };
};

 

[  107.559356] imx8_mipi_csi2_sam: module is from the staging directory, the quality is unknown, you have been warned.
[  107.580669] mxc-mipi-csi2-sam 32e50000.csi: supply mipi-phy not found, using dummy regulator
[  107.611984] : mipi_csis_imx8mp_phy_reset, No remote pad found!
[  107.626983] mxc-mipi-csi2-sam 32e50000.csi: lanes: 2, hs_settle: 0, clk_settle: 0, wclk: 0, freq: 266000000
[  107.658121] ar052x 1-0036: Probing ar052x Driver
[  107.662908] i2c i2c-1: new_device: Instantiated device ar052x at 0x36
[  107.688612] imx8_isi_capture: module is from the staging directory, the quality is unknown, you have been warned.
[  107.711395] imx8_capture: module is from the staging directory, the quality is unknown, you have been warned.
[  107.724051] isi-capture 32e00000.isi:cap_device: deferring 32e00000.isi:cap_device device registration
[  107.733520] mxc-isi 32e00000.isi: mxc_isi.0 registered successfully
[  107.741636] isi-capture 32e02000.isi:cap_device: deferring 32e02000.isi:cap_device device registration
[  107.751060] mxc-isi 32e02000.isi: mxc_isi.1 registered successfully
[  108.118167] imx8_media_dev: module is from the staging directory, the quality is unknown, you have been warned.
[  108.164988] mx8-img-md: Registered mxc_isi.0.capture as /dev/video0
[  108.194417] mx8-img-md: Registered mxc_isi.1.capture as /dev/video1
[  108.214117] mxc-md 32c00000.bus:camera: 2 deferring csi device registration

Here is the log showing the failure. I dont understand why the media-driver is trying to find a node named "isi" and failing when both the nodes are the same. 

I have tried many things so far.
One of the important thing is, when I set status="disabled" in mipi_csi1, then the csi2-sam driver does not probe.

Labels (1)
0 Kudos
Reply
1 Solution
857 Views
rajtend
Contributor III

The real problem is that the CSI driver is called only for CSI1 and not for CSI0.

[   35.617099] imx8_mipi_csi2_sam: module is from the staging directory, the quality is unknown, you have been warned.
[   35.638426] mxc-mipi-csi2-sam 32e50000.csi: supply mipi-phy not found, using dummy regulator

 

I dont see it being called for 32e40000.csi

View solution in original post

0 Kudos
Reply
2 Replies
829 Views
JosephAtNXP
NXP TechSupport
NXP TechSupport

Hi,

Thank you for your interest in NXP Semiconductor products,

Make sure that you sensor is properly initialized, please refer to the following steps.

The user must make sure that the sensor can work properly through the following steps:

• Check all supply voltages.

• Check sensor MCLK frequency.

• Check reset and power sequence.

• Make sure that I2C communication between the sensor and SoC is functional.

• Make sure that sensor initialization registers are configured correctly.

• Check the sensor data lane and clock lane signals.

• Make sure that the sensor output stream is within the SoC MIPI capture capability (see Section 5 ).

Untitled.png

Regards

858 Views
rajtend
Contributor III

The real problem is that the CSI driver is called only for CSI1 and not for CSI0.

[   35.617099] imx8_mipi_csi2_sam: module is from the staging directory, the quality is unknown, you have been warned.
[   35.638426] mxc-mipi-csi2-sam 32e50000.csi: supply mipi-phy not found, using dummy regulator

 

I dont see it being called for 32e40000.csi

0 Kudos
Reply