imx8.mp Unable to setup a camera

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

imx8.mp Unable to setup a camera

ソリューションへジャンプ
866件の閲覧回数
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.

ラベル(1)
0 件の賞賛
返信
1 解決策
856件の閲覧回数
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 件の賞賛
返信
2 返答(返信)
828件の閲覧回数
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

857件の閲覧回数
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 件の賞賛
返信