imx8mp CSI camera

cancel
Showing results for 
Search instead for 
Did you mean: 

imx8mp CSI camera

981 Views
robert_pasz
Contributor II

Hi, my name is Robert Pasz. I am trying to bring up Basler camera daA3840-30mc with imx8mp SoC. I am successful when camera is connected to mipi_csi_0. But it looks that there is a serious problem with mipi_csi_1 interface. I have a custom board with both interfaces routed to the connector. Interface mipi_csi_0 is routed as 4 lane and mipi_csi_1 is in 2 lane configuration. I have tested these interfaces with another camera from Basler - daA4200-30mci. This camera worked without any issue with both interfaces.

This is not a case for daA3840-30mc. This camera needs ISP from the SoC. Configuration for mipi_csi_0 is ok but configuration for mipi_csi_1 failed.

My dtb config for daA3840 is (excerpt)

&i2c2 {
     status = "okay";

     /delete-node/ov5640_mipi@3c;

    basler_camera_vvcam@36 {
        compatible = "basler,basler-camera-vvcam", "basler-camera-vvcam";
        reg = <0x36>;
        csi_id = <0x01>;
        status = "okay";
        port {
             basler_ep_0: endpoint {
                 data-lanes = <1 2>;
                 clock-lanes = <0>;
                 link-frequencies = /bits/ 64 <248000000>;
                 remote-endpoint = <&mipi_csi1_ep>;
             };
        };
    };
};

&mipi_csi_1 {
    status = "okay";
    #address-cells = <1>;
    #size-cells = <0>;

    port@1 {
        reg = <1>;
        mipi_csi1_ep: endpoint {
            remote-endpoint = <&basler_ep_0>;
            data-lanes = <2>;
            csis-hs-settle = <26>;
        };
    };
};

&cameradev {
    status = "okay";
};

&isp_1 {
    status = "okay";
};

&dewarp_1 {
    status = "okay";
};

When I am look to media config using media-ctl I can see this configuration

root@imx8mpevk:~# media-ctl -p -d /dev/media0
Media controller API version 5.4.70

Media device information
------------------------
driver mxc-md
model FSL Capture Media Device
serial
bus info
hw revision 0x0
driver version 5.4.70

Device topology
- entity 1: mxc-mipi-csi2.1 (8 pads, 1 link)
type Node subtype V4L flags 0
device node name /dev/v4l-subdev0
pad0: Sink
<- "basler-camera-vvcam 1-0036":0 [ENABLED,IMMUTABLE]
pad1: Sink
pad2: Sink
pad3: Sink
pad4: Source
pad5: Source
pad6: Source
pad7: Source

- entity 10: basler-camera-vvcam 1-0036 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev1
pad0: Source
-> "mxc-mipi-csi2.1":0 [ENABLED,IMMUTABLE]

root@imx8mpevk:~# media-ctl -p -d /dev/media1 2
Media controller API version 5.4.70

Media device information
------------------------
driver vvcam-video
model viv_media1
serial
bus info
hw revision 0x0
driver version 5.4.70

Device topology
- entity 1: viv_v4l21 (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "vvcam-isp.1":0 [ENABLED]

- entity 5: vvcam-dwe.1 (2 pads, 0 link)
type Node subtype V4L flags 0
device node name /dev/v4l-subdev2
pad0: Source
pad1: Sink

- entity 8: vvcam-isp.1 (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/v4l-subdev3
pad0: Source
-> "viv_v4l21":0 [ENABLED]

 

And finally the status of imx8-isp.service:

root@imx8mpevk:~# systemctl status imx8-isp.service
^M* imx8-isp.service - ISP i.MX 8Mplus daemon
Loaded: loaded (/lib/systemd/system/imx8-isp.service; enabled; vendor preset>
Active: failed (Result: exit-code) since Tue 2021-05-04 11:57:46 UTC; 16min >
Process: 707 ExecStart=/opt/imx8-isp/bin/start_isp.sh (code=exited, status=13>
Main PID: 707 (code=exited, status=139)

May 04 11:57:46 imx8mpevk systemd[1]: imx8-isp.service: Service RestartSec=5s e>
May 04 11:57:46 imx8mpevk systemd[1]: imx8-isp.service: Scheduled restart job, >
May 04 11:57:46 imx8mpevk systemd[1]: Stopped ISP i.MX 8Mplus daemon.
May 04 11:57:46 imx8mpevk systemd[1]: imx8-isp.service: Start request repeated >
May 04 11:57:46 imx8mpevk systemd[1]: imx8-isp.service: Failed with result 'exi>
May 04 11:57:46 imx8mpevk systemd[1]: Failed to start ISP i.MX 8Mplus daemon.
lines 1-12/12 (END)^Mroot@imx8mpevk:~#

Audit from the kernel says that service exited with signal 11 - SIGSEGV (segmentation fault)

Did anybody hit to the same issue?

Thanks

 

0 Kudos
1 Reply

940 Views
joanxie
NXP TechSupport
NXP TechSupport

how about setting data lane to 4? did you try to set mipi csi 2 as mipi csi 1 in dts file?

0 Kudos