All of lore.kernel.org
 help / color / mirror / Atom feed
* question: CSI on imx8mq with (any) CSI2 camera / experience with mx6s_capture?
@ 2020-12-10  8:17 ` Martin Kepplinger
  0 siblings, 0 replies; 24+ messages in thread
From: Martin Kepplinger @ 2020-12-10  8:17 UTC (permalink / raw)
  To: rogerio.silva, Philipp Zabel, slongerbeam, Fabio Estevam,
	Laurent Pinchart
  Cc: linux-arm-kernel, linux-media, NXP Linux Team, kernel,
	Pengutronix Kernel Team

hi,

TL;DR: did you use the NXP "mx6s_capture" csi bridge driver with other 
cameras?

I try to use a CSI2 camera (hi846 I'm writing a driver for) on imx8mq: 
Using NXP's CSI bridge driver
https://source.codeaurora.org/external/imx/linux-imx/tree/drivers/media/platform/mxc/capture/mx6s_capture.c?h=imx_5.4.0_8dxlphantom_er 
as well as the CSI driver itself:
https://source.codeaurora.org/external/imx/linux-imx/tree/drivers/media/platform/imx8/mxc-mipi-csi2_yav.c?h=imx_5.4.0_8dxlphantom_er 
works fine when using the ov5640 camera with this driver:
https://source.codeaurora.org/external/imx/linux-imx/tree/drivers/media/platform/mxc/capture/ov5640_mipi_v2.c?h=imx_5.4.0_8dxlphantom_er

(I realize there is a CSI bridge driver in staging, but that need more 
work to be actually used. Of course after this the goal is to fix and 
use it; and mainline a CSI phy driver too.)

Now I use said NXP's CSI drivers on mainline without problems with the 
ov5640. For the hi846 (as an example), I want to use a different 
pixelformat and CSI media bus format. Describing, say, 
MEDIA_BUS_FMT_SBGGR10_1X10 in the driver lets mx6s_capture find it; but 
as soon as I try to add a different pixelformat than V4L2_PIX_FMT_UYVY in:
https://source.codeaurora.org/external/imx/linux-imx/tree/drivers/media/platform/mxc/capture/mx6s_capture.c?h=imx_5.4.0_8dxlphantom_er#n244
streaming won't start anymore: "not negotiated, -4" and the 
"mx6s_vidioc_enum_framesizes" ioctl is not called anymore. Why so?

I didn't find much when comparing strace from "gst-launch-1.0 v4l2src ! 
video/x-raw,width=1280,height=720 ! videoconvert ! xvimagesink" (which 
is how I test).

When I simply use V4L2_PIX_FMT_UYVY I *do* get interrupts (in mx6s) but 
only "FIELD0_INT" (and drawing at this point suggests that buffer 1 is 
not yet full and "distorted" in a wrong format, which could explain why 
DMA is never completed in order to create a full frame).

Now this is details, but the hi846 camera uses a 10bit CSI format and 
therefore I need to set PIXEL_BIT in cr1 too, but when I do that for 
example, I don't get "FIELD0_INT" anymore (only SFF_OR_INT and of course 
the "base address switching Change Err").

Do you have experience with using this driver with other cameras and can 
point me in a direction that might help me?

If you want to look at the work-in-progress driver:
https://source.puri.sm/martin.kepplinger/linux-next/-/blob/hi846/drivers/media/i2c/hi846.c

thanks a lot,

                               martin



^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2021-02-23 11:34 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-10  8:17 question: CSI on imx8mq with (any) CSI2 camera / experience with mx6s_capture? Martin Kepplinger
2020-12-10  8:17 ` Martin Kepplinger
2020-12-10  9:23 ` Laurent Pinchart
2020-12-10  9:23   ` Laurent Pinchart
2020-12-10 12:17   ` Laurent Pinchart
2020-12-10 12:17     ` Laurent Pinchart
2020-12-10 13:12     ` Martin Kepplinger
2020-12-10 13:12       ` Martin Kepplinger
2020-12-10 16:04       ` Laurent Pinchart
2020-12-10 16:04         ` Laurent Pinchart
2020-12-22 14:06         ` Martin Kepplinger
2020-12-22 14:06           ` Martin Kepplinger
2020-12-22 15:35           ` Laurent Pinchart
2020-12-22 15:35             ` Laurent Pinchart
2020-12-22 15:55             ` Martin Kepplinger
2020-12-22 15:55               ` Martin Kepplinger
2021-02-23  9:04               ` Martin Kepplinger
2021-02-23  9:04                 ` Martin Kepplinger
2021-02-23 11:32                 ` Laurent Pinchart
2021-02-23 11:32                   ` Laurent Pinchart
2020-12-22 17:15             ` Fabio Estevam
2020-12-22 17:15               ` Fabio Estevam
2020-12-22 18:16               ` Laurent Pinchart
2020-12-22 18:16                 ` Laurent Pinchart

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.