Hi All,
We use our camera(AR0144+AP1302) on i.mx8ulp-evk.
We can put the camera on CSI0 (/dev/video0), but can't use GStreamer to output video on screen.
root@imx8ulpevk:~# gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,width=1280,height=800 ! waylandsink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
[ 55.136111] bypass csc
[ 55.138561] input fmt YUV4
[ 55.141314] output fmt YUYV
Here is our .dts and the graph obtained from media-ctl --print-dot and v4l2-ctl --list-devices.
root@imx8ulpevk:~# media-ctl -p
Media controller API version 5.10.72
Media device information
------------------------
driver mxc-md
model FSL Capture Media Device
serial
bus info
hw revision 0x0
driver version 5.10.72
Device topology
- entity 1: mxc_isi.0 (16 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
pad0: Sink
<- "mxc-mipi-csi2.0":4 [ENABLED]
pad1: Sink
pad2: Sink
pad3: Sink
pad4: Sink
pad5: Sink
pad6: Sink
pad7: Sink
pad8: Sink
pad9: Sink
pad10: Sink
pad11: Sink
pad12: Source
-> "mxc_isi.0.capture":0 [ENABLED]
pad13: Source
pad14: Source
pad15: Sink
- entity 18: mxc_isi.0.capture (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "mxc_isi.0":12 [ENABLED]
- entity 22: mxc-mipi-csi2.0 (8 pads, 2 links)
type Node subtype V4L flags 0
device node name /dev/v4l-subdev0
pad0: Sink
<- "tevi-ap1302 0-003d":0 [ENABLED,IMMUTABLE]
pad1: Sink
pad2: Sink
pad3: Sink
pad4: Source
-> "mxc_isi.0":0 [ENABLED]
pad5: Source
pad6: Source
pad7: Source
- entity 31: tevi-ap1302 0-003d (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
pad0: Source
-> "mxc-mipi-csi2.0":0 [ENABLED,IMMUTABLE]
root@imx8ulpevk:~# v4l2-ctl --list-devices
mxc-isi-cap (platform:2dac0000.isi:cap_devic):
/dev/video0
FSL Capture Media Device (platform:mxc-md):
/dev/media0
root@imx8ulpevk:~#
#include "imx8ulp-evk.dts"
&i2c_rpbus_0 {
/delete-node/ ov5640_mipi@3c;
ap1302_otp_0: eeprom@54 {
compatible = "atmel,24c1024";
reg = <0x54>;
pagesize = <128>;
//read-only;
};
tevi_ap1302_mipi@3d {
compatible = "tn,tevi-ap1302";
reg = <0x3d>;
standby-gpios = <&pca6416_1 8 GPIO_ACTIVE_HIGH>;
reset-gpios = <&pca6416_1 7 GPIO_ACTIVE_HIGH>;
nvmem = <&ap1302_otp_0>;
nvmem-names = "calib-data";
status = "okay";
port {
ap1302_mipi_0_ep: endpoint {
remote-endpoint = <&mipi_csi0_ep>;
data-lanes = <4>;
};
};
};
};
&mipi_csi0 {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
port@0 {
reg = <0>;
mipi_csi0_ep: endpoint {
remote-endpoint = <&ap1302_mipi_0_ep>;
data-lanes = <4>;
bus-type = <4>;
};
};
};
Try to use data-lanes = <1 2>; the image can be output video, but the picture is abnormal.
Are there any other configuration setting on MIPI-CSI0 when use 4 lanes?
The driver works fine on i.mx8mp-evk and i.mx8mn-evk boards.
Thanks a lot.
how you are interfacing ar0144 and ap1302?
in .dts you are mention only ap1302 so how ar0144 is configured?
Hello everyone,
I checked the reference specification of i.mx8upl, it states that MIPI-SCI only supports 2 lanes at most, therefore I changed the setting to 2 lanes, but the video output screen is still not normal, as follows:
8ULP DPHY only support up to 2 data lanes, so customer must use new 2 lane ap1302 firmware on 8ULP.