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

Re: nxp imx8m CSI drivers

From: Martin Kepplinger <hidden>
Date: 2020-07-28 10:37:08
Also in: linux-media

On 09.07.20 11:32, Martin Kepplinger wrote:
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
(added Pavel Machek)

still I'm only on the librem5 Devkit: the situation regarding a tree
that should use the imx7-media-csi csi_bridge driver hasn't changed, see
above for the details. The tree I tried now is this one:

https://source.puri.sm/martin.kepplinger/linux-next/-/commits/5.8-rc7/librem5___csi_ml1

A tree that includes NXP's csi_bridge and mipi-csi drivers (and camera
driver) on the other hand works, and I have one based on v5.8-rcX too:

https://source.puri.sm/martin.kepplinger/linux-next/-/commits/5.8-rc7/librem5___csi_nxp

Since I want to look into a different camera driver, I might use that
nxp-drivers tree to work on that, but our goal is obviously to use what
is already in staging and should work (the csi bridge driver at least).
In case you know more about the v4l2 details that don't match over
there, please have a look.

thanks a lot in advance,

                               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