Thread (3 messages) 3 messages, 2 authors, 2020-07-29

nxp imx8m CSI drivers

From: Martin Kepplinger <hidden>
Date: 2020-07-09 09:32:53
Also in: linux-media

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

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help