nxp imx8m CSI drivers
Martin Kepplinger
martin.kepplinger at puri.sm
Thu Jul 9 09:32:44 UTC 2020
hi linux-media people,
TL-DR: when exactly is "sd->entity.function == MEDIA_ENT_F_VID_MUX"?
I try to use the camera on our librem5-devkit (imx8mq): I try to use
only mainline drivers except for "mxc-mipi-csi2_yav" taken from
linux-imx (which we can prepare to submit if a PoC works. This is the
tree I'm experimenting with:
https://source.puri.sm/martin.kepplinger/linux-next/-/commits/5.8-rc4/librem5___csi
* "imx7-media-csi" / imx-media-capture / imx-media-utils currently in
staging (that should work according to NXP)
* ov5640 mainline driver
* mxc-mipi-csi2_yav from NXP tree (linux-imx) with
v4l2_subdev_video_ops' mipi_csis_g_parm and mipi_csis_s_parm callbacks
removed (due to missing API in mainline)
the drivers probe and run but the following fails when trying to use the
camera (gstreamer):
in imx-media-utils' imx_media_pipeline_set_stream() the call to
v4l2_subdev_call(sd, video, s_stream, 1) returns with 32 (broken pipe)
and thus the application that tries to use the camera too.
One problem is definitely the trees' last commit (that I did as a
workaround) in this tree that makes the drivers probe but only by
ignoring this probably needed check:
imx7-media-csi's imx7_csi_notify_bound() callback implementation gets
called during startup. But if (WARN_ON(sd->entity.function !=
MEDIA_ENT_F_VID_MUX)) is true so this is the wrong type of subdev (?).
I just want to put this out there and check if the general approach is
valid at all and if there's anything that comes to your mind.
thanks a lot,
martin
More information about the devel
mailing list