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
how about setting data lane to 4? did you try to set mipi csi 2 as mipi csi 1 in dts file?