lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aVKZpOKuST0s6bNY@lizhi-Precision-Tower-5810>
Date: Mon, 29 Dec 2025 10:09:24 -0500
From: Frank Li <Frank.li@....com>
To: "G.N. Zhou" <guoniu.zhou@....com>
Cc: "G.N. Zhou (OSS)" <guoniu.zhou@....nxp.com>,
	Mauro Carvalho Chehab <mchehab@...nel.org>,
	Rob Herring <robh@...nel.org>,
	Krzysztof Kozlowski <krzk+dt@...nel.org>,
	Conor Dooley <conor+dt@...nel.org>, Shawn Guo <shawnguo@...nel.org>,
	Sascha Hauer <s.hauer@...gutronix.de>,
	Pengutronix Kernel Team <kernel@...gutronix.de>,
	Fabio Estevam <festevam@...il.com>,
	Laurent Pinchart <laurent.pinchart@...asonboard.com>,
	"imx@...ts.linux.dev" <imx@...ts.linux.dev>,
	"linux-media@...r.kernel.org" <linux-media@...r.kernel.org>,
	"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
	"linux-arm-kernel@...ts.infradead.org" <linux-arm-kernel@...ts.infradead.org>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v3 2/2] media: nxp: Add i.MX9 CSI pixel formatter v4l2
 driver

On Mon, Dec 22, 2025 at 03:29:10AM +0000, G.N. Zhou wrote:
> Hi Frank,
>
> Thanks for your review.
>
> > -----Original Message-----
> > From: Frank Li <frank.li@....com>
> > Sent: Saturday, December 20, 2025 12:08 AM
> > To: G.N. Zhou (OSS) <guoniu.zhou@....nxp.com>
> > Cc: Mauro Carvalho Chehab <mchehab@...nel.org>; Rob Herring
> > <robh@...nel.org>; Krzysztof Kozlowski <krzk+dt@...nel.org>; Conor Dooley
> > <conor+dt@...nel.org>; Shawn Guo <shawnguo@...nel.org>; Sascha Hauer
> > <s.hauer@...gutronix.de>; Pengutronix Kernel Team
> > <kernel@...gutronix.de>; Fabio Estevam <festevam@...il.com>; Laurent
> > Pinchart <laurent.pinchart@...asonboard.com>; imx@...ts.linux.dev; linux-
> > media@...r.kernel.org; devicetree@...r.kernel.org; linux-arm-
> > kernel@...ts.infradead.org; linux-kernel@...r.kernel.org; G.N. Zhou
> > <guoniu.zhou@....com>
> > Subject: Re: [PATCH v3 2/2] media: nxp: Add i.MX9 CSI pixel formatter v4l2
> > driver
> >
> > On Fri, Dec 19, 2025 at 09:50:58AM +0800, Guoniu Zhou wrote:
> > > From: Guoniu Zhou <guoniu.zhou@....com>
> > >
> > > The CSI pixel formatter is a module found on i.MX95 used to reformat
> > > packet info, pixel and non-pixel data from CSI-2 host controller to
> > > match Pixel Link(PL) definition.
> > >
> > > Add data formatting support.
> > >
> > > Signed-off-by: Guoniu Zhou <guoniu.zhou@....com>
> > > ---
> > >  MAINTAINERS                                     |   8 +
> > >  drivers/media/platform/nxp/Kconfig              |  14 +
> > >  drivers/media/platform/nxp/Makefile             |   1 +
> > >  drivers/media/platform/nxp/imx9-csi-formatter.c | 880
> > > ++++++++++++++++++++++++
> > >  4 files changed, 903 insertions(+)
> > >
> > > diff --git a/MAINTAINERS b/MAINTAINERS index
> > >
> > 4205ca007e076f869613032b51e8cc5bff06b98e..3878957b81156e5cb41da26
> > 99b2f
> > > 588e49521724 100644
> > > --- a/MAINTAINERS
> > > +++ b/MAINTAINERS
> > > @@ -18626,6 +18626,14 @@ S:	Maintained
> > >  F:	Documentation/devicetree/bindings/media/nxp,imx8-jpeg.yaml
> > >  F:	drivers/media/platform/nxp/imx-jpeg
> > >
> > > +NXP i.MX 9 CSI PIXEL FORMATTER V4L2 DRIVER
> > > +M:	Guoniu Zhou <guoniu.zhou@....com>
> > > +L:	imx@...ts.linux.dev
> > > +L:	linux-media@...r.kernel.org
> > > +S:	Maintained
> > > +F:	Documentation/devicetree/bindings/media/fsl,imx9-csi-formatter.yaml
> > > +F:	drivers/media/platform/nxp/imx9-csi-formatter.c
> > > +
> > >  NXP i.MX CLOCK DRIVERS
> > >  M:	Abel Vesa <abelvesa@...nel.org>
> > >  R:	Peng Fan <peng.fan@....com>
> > > diff --git a/drivers/media/platform/nxp/Kconfig
> > > b/drivers/media/platform/nxp/Kconfig
> > > index
> > >
> > 40e3436669e213fdc5da70821dc0b420e1821f4f..a7bb62a2b0249659ffdfeac50
> > fa4
> > > 88aee9590a87 100644
> > > --- a/drivers/media/platform/nxp/Kconfig
> > > +++ b/drivers/media/platform/nxp/Kconfig
> > > @@ -28,6 +28,20 @@ config VIDEO_IMX8MQ_MIPI_CSI2
> > >  	  Video4Linux2 driver for the MIPI CSI-2 receiver found on the i.MX8MQ
> > >  	  SoC.
> > >
> > > +config VIDEO_IMX9_CSI_FORMATTER
> > > +	tristate "NXP i.MX9 CSI Pixel Formatter driver"
> > > +	depends on ARCH_MXC || COMPILE_TEST
> > > +	depends on VIDEO_DEV
> > > +	select MEDIA_CONTROLLER
> > > +	select V4L2_FWNODE
> > > +	select VIDEO_V4L2_SUBDEV_API
> > > +	help
> > > +	  This driver provides support for the CSI Pixel Formatter found on
> > > +	  i.MX9 series SoC. This module unpacks the pixels received by the
> > > +	  formatter and reformats them to meet the pixel link format
> > requirement.
> > > +
> > > +	  Say Y here to enable CSI Pixel Formater module for i.MX9 SoC.
> > > +
> > >  config VIDEO_IMX_MIPI_CSIS
> > >  	tristate "NXP MIPI CSI-2 CSIS receiver found on i.MX7 and i.MX8
> > models"
> > >  	depends on ARCH_MXC || COMPILE_TEST
> > > diff --git a/drivers/media/platform/nxp/Makefile
> > > b/drivers/media/platform/nxp/Makefile
> > > index
> > >
> > 4d90eb71365259ebdda84ea58483e1c4131d3ac7..39ba5660ba923141e7637b
> > 01b5b3
> > > 4a021dad7bb3 100644
> > > --- a/drivers/media/platform/nxp/Makefile
> > > +++ b/drivers/media/platform/nxp/Makefile
> > > @@ -6,6 +6,7 @@ obj-y += imx8-isi/
> > >
> > >  obj-$(CONFIG_VIDEO_IMX7_CSI) += imx7-media-csi.o
> > >  obj-$(CONFIG_VIDEO_IMX8MQ_MIPI_CSI2) += imx8mq-mipi-csi2.o
> > > +obj-$(CONFIG_VIDEO_IMX9_CSI_FORMATTER) += imx9-csi-formatter.o
> > >  obj-$(CONFIG_VIDEO_IMX_MIPI_CSIS) += imx-mipi-csis.o
> > >  obj-$(CONFIG_VIDEO_IMX_PXP) += imx-pxp.o
> > >  obj-$(CONFIG_VIDEO_MX2_EMMAPRP) += mx2_emmaprp.o diff --git
> > > a/drivers/media/platform/nxp/imx9-csi-formatter.c
> > > b/drivers/media/platform/nxp/imx9-csi-formatter.c
> > > new file mode 100644
> > > index
> > >
> > 0000000000000000000000000000000000000000..5786e4690e31ee471caf82
> > 01329c
> > > 8e02a2cc0ee6
> > > --- /dev/null
> > > +++ b/drivers/media/platform/nxp/imx9-csi-formatter.c
> > > @@ -0,0 +1,880 @@
> > > +// SPDX-License-Identifier: GPL-2.0
> > > +/*
> > > + * Copyright 2025 NXP
> > > + */
> > > +
> > ...
> > > +
> > > +static const struct dt_index formatter_dt_to_index_map[] = {
> > > +	{ .dtype = MIPI_CSI2_DT_YUV420_8B,        .index = 0 },
> > > +	{ .dtype = MIPI_CSI2_DT_YUV420_8B_LEGACY, .index = 2 },
> > > +	{ .dtype = MIPI_CSI2_DT_YUV422_8B,        .index = 6 },
> > > +	{ .dtype = MIPI_CSI2_DT_RGB444,		  .index = 8 },
> > > +	{ .dtype = MIPI_CSI2_DT_RGB555,           .index = 9 },
> > > +	{ .dtype = MIPI_CSI2_DT_RGB565,           .index = 10 },
> > > +	{ .dtype = MIPI_CSI2_DT_RGB666,           .index = 11 },
> > > +	{ .dtype = MIPI_CSI2_DT_RGB888,           .index = 12 },
> > > +	{ .dtype = MIPI_CSI2_DT_RAW6,             .index = 16 },
> > > +	{ .dtype = MIPI_CSI2_DT_RAW7,             .index = 17 },
> > > +	{ .dtype = MIPI_CSI2_DT_RAW8,             .index = 18 },
> > > +	{ .dtype = MIPI_CSI2_DT_RAW10,            .index = 19 },
> > > +	{ .dtype = MIPI_CSI2_DT_RAW12,            .index = 20 },
> > > +	{ .dtype = MIPI_CSI2_DT_RAW14,            .index = 21 },
> > > +	{ .dtype = MIPI_CSI2_DT_RAW16,            .index = 22 },
> >
> > what's these index value from? register bit?
>
> Yes, they represent pixel data type for each virtual channel. You could refer to
> i.MX95 RM Rev2 section "142.5.1.55 Table 913" for more details.

Okay, can you add comments said these value need match hardware settings.

Frank

>
> Best Regards
> G.N Zhou
>
>
> >
> > Frank
> > > +
> > > +static u8 get_index_by_dt(u8 data_type) {
> > > +	unsigned int i;
> > > +
> > > +	for (i = 0; i < ARRAY_SIZE(formatter_dt_to_index_map); ++i)
> > > +		if (data_type == formatter_dt_to_index_map[i].dtype)
> > > +			break;
> > > +
> > > +	if (i == ARRAY_SIZE(formatter_dt_to_index_map))
> > > +		return formatter_dt_to_index_map[0].index;
> > > +
> > > +	return formatter_dt_to_index_map[i].index;
> > > +}
> > > +
> > ...
> > >
> > > --
> > > 2.34.1
> > >

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ