i.MX8 ISI for RAW8 and RAW10 formats (grayscale image sensors)

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

i.MX8 ISI for RAW8 and RAW10 formats (grayscale image sensors)

8,079件の閲覧回数
mz-fixposition
Contributor II

Dear NXP support,

I am integrating a monochrome image sensor (OV9281) with an i.MX8M Plus.

The sensor can be configured to output RAW8 or RAW10 formats, the related media bus codes are MEDIA_BUS_FMT_Y8_1X8 or MEDIA_BUS_FMT_Y10_1X10.

Now I am wondering what steps I would have to take in order to configure the ISI and patch the ISI source code (imx8-isi-cap.c) so that it can handle these formats?

If I read the ISI driver correctly, then only RGB32 and YUV32 are supported as source formats. Is that correct?

struct mxc_isi_fmt mxc_isi_src_formats[] = {
{
		.name		= "RGB32",
		.fourcc		= V4L2_PIX_FMT_RGB32,
		.depth		= { 32 },
		.memplanes	= 1,
		.colplanes	= 1,
	}, {
		.name		= "YUV32 (X-Y-U-V)",
		.fourcc		= V4L2_PIX_FMT_YUV32,
		.depth		= { 32 },
		.memplanes	= 1,
		.colplanes	= 1,
	}
};

 

Also in the output formats I cannot find any raw formats (mxc_isi_out_formats).

Optimally I would like to just bypass the ISI altogether so that I could read GRAY8/RAW8 directly from the v4l2src pad.

For example, like this

gst-launch-1.0 v4l2src device=/dev/video1 num-buffers=1 ! 'video/x-raw, format=(string)GRAY8, width=1280, height=800' ! ... 

What would your suggestion be?

@joanxie  @igorpadykov 

 

Thank you for your advice

Moritz

0 件の賞賛
返信
7 返答(返信)

8,052件の閲覧回数
mz-fixposition
Contributor II

Thanks, @joanxie 


Yes, imx8mp does use the same ISI as as the imx8qxp/imx8qm
Alright, so the solution is to use the ISP and remove the ISI from pad link chain?

What are the steps to create the v4l2 capture devices with the ISP instead of the ISI?

At the moment the imx-media-capture driver always links the pads in this way:

 

 

mx8-img-md: created link [mxc_isi.0] => [mxc_isi.0.capture]
mx8-img-md: created link [mxc-mipi-csi2.0] => [mxc_isi.0]
mx8-img-md: created link [ov9281 1-0060] => [mxc-mipi-csi2.0]

 

 

0 件の賞賛
返信

8,045件の閲覧回数
joanxie
NXP TechSupport
NXP TechSupport

one can refer to the dts file, for example,

"https://source.codeaurora.org/external/imx/linux-imx/tree/arch/arm64/boot/dts/freescale/imx8mp-evk-b...

one can disable or enable in the dts file

0 件の賞賛
返信

8,035件の閲覧回数
mz-fixposition
Contributor II

Thanks for the advice

Involving the ISP seems to be a pretty complex process.
Just modifying the device tree will not be enough. (judging from the discussion in open issues)
- https://community.nxp.com/t5/i-MX-Processors/iMX8MP-ISP-Camera-Porting-Guide-for-MIPI-1-lane-sensor/...
- https://community.nxp.com/t5/i-MX-Processors/IMX8M-Plus-Camera-Integration-and-using-ISP/td-p/126070...

Is there really no way to just pass raw format directly to the v4l2 device, without the ISP?

For RAW8/RAW10 monochrome no processing or de-beyering is needed. Using the ISP seems like an overkill.

Best, Moritz

0 件の賞賛
返信

8,063件の閲覧回数
mz-fixposition
Contributor II

I just read that RAW formats are generally not supported by all i.MX8 boards. Is that true?

https://github.com/alliedvision/documentation/blob/master/Toradex_Apalis.md

I saw this post from NXP on the issue:
https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/i-MX8QXP-capture-raw-bayer-data-and-deba...

The posts suggests patching the Parallel CSI interface in (imx8-parallel-csi.c).
But if I understand correctly, that interface is not even used on the i.MX8M PLUS, which is using the Samsung MIPI-CSI interface (imx8-mipi-csi2-sam.c).

0 件の賞賛
返信

8,007件の閲覧回数
joanxie
NXP TechSupport
NXP TechSupport

imx8mp should use the same ISI IP as imx8qxp, for csi, yes, imx8mp uses samsung

0 件の賞賛
返信

8,059件の閲覧回数
joanxie
NXP TechSupport
NXP TechSupport

if customer uses imx8mp to connect raw data sensor, why didn't they use ISP?

0 件の賞賛
返信

8,060件の閲覧回数
joanxie
NXP TechSupport
NXP TechSupport

as I known, imx8mp has the same as imx8qxp/imx8qm, when ISI capture the raw data, need to be shifted

0 件の賞賛
返信