Re: [PATCH v5 4/4] media: nxp: imx8-isi: Add additional 32-bit RGB format support
Laurent Pinchart <[email protected]> Fri, 31 Jul 2026 02:29:06 +0300
| Newsgroups | dev.linux.lists.imx,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-kernel,org.kernel.vger.linux-media |
|---|---|
| Message-ID | <[email protected]> |
On Tue, Jul 28, 2026 at 02:58:59PM +0800, Guoniu Zhou wrote: > Add support for additional 32-bit RGB pixel formats (BGRA32, RGBA32, > BGRX32, RGBX32, ARGB2101010). > > Formats with alpha channel (BGRA32, RGBA32) only support capture as > ISI ignores alpha bits when reading from memory. > > Signed-off-by: Robert Chiras <[email protected]> > Reviewed-by: Frank Li <[email protected]> > Tested-by: Laurent Pinchart <[email protected]> > Signed-off-by: Guoniu Zhou <[email protected]> Reviewed-by: Laurent Pinchart <[email protected]> > --- > Changes in v3: > - Drop M2M_OUT for ABGR32/BGRA32/RGBA32 as ISI ignores alpha bits (Laurent) > - Remove Android requirements from commit message as alpha formats > cannot be used as M2M input (Laurent) > - Add Tested-by tag from Laurent Pinchart > > Changes in v2: > - Add Reviewed-by tag from Frank Li > --- > .../media/platform/nxp/imx8-isi/imx8-isi-video.c | 51 ++++++++++++++++++++++ > 1 file changed, 51 insertions(+) > > diff --git a/drivers/media/platform/nxp/imx8-isi/imx8-isi-video.c b/drivers/media/platform/nxp/imx8-isi/imx8-isi-video.c > index a6e044056762..f45c2aae59ce 100644 > --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-video.c > +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-video.c > @@ -166,6 +166,57 @@ static const struct mxc_isi_format_info mxc_isi_formats[] = { > .color_planes = 1, > .depth = { 32 }, > .encoding = MXC_ISI_ENC_RGB, > + }, { > + .mbus_code = MEDIA_BUS_FMT_RGB888_1X24, > + .fourcc = V4L2_PIX_FMT_BGRA32, > + .type = MXC_ISI_VIDEO_CAP | MXC_ISI_VIDEO_M2M_CAP, > + .isi_out_format = CHNL_IMG_CTRL_FORMAT_RGBA8888, > + .mem_planes = 1, > + .color_planes = 1, > + .depth = { 32 }, > + .encoding = MXC_ISI_ENC_RGB, > + }, { > + .mbus_code = MEDIA_BUS_FMT_RGB888_1X24, > + .fourcc = V4L2_PIX_FMT_RGBA32, > + .type = MXC_ISI_VIDEO_CAP | MXC_ISI_VIDEO_M2M_CAP, > + .isi_out_format = CHNL_IMG_CTRL_FORMAT_ABGR8888, > + .mem_planes = 1, > + .color_planes = 1, > + .depth = { 32 }, > + .encoding = MXC_ISI_ENC_RGB, > + }, { > + .mbus_code = MEDIA_BUS_FMT_RGB888_1X24, > + .fourcc = V4L2_PIX_FMT_BGRX32, > + .type = MXC_ISI_VIDEO_CAP | MXC_ISI_VIDEO_M2M_OUT > + | MXC_ISI_VIDEO_M2M_CAP, > + .isi_in_format = CHNL_MEM_RD_CTRL_IMG_TYPE_RGBX8, > + .isi_out_format = CHNL_IMG_CTRL_FORMAT_RGBX888, > + .mem_planes = 1, > + .color_planes = 1, > + .depth = { 32 }, > + .encoding = MXC_ISI_ENC_RGB, > + }, { > + .mbus_code = MEDIA_BUS_FMT_RGB888_1X24, > + .fourcc = V4L2_PIX_FMT_RGBX32, > + .type = MXC_ISI_VIDEO_CAP | MXC_ISI_VIDEO_M2M_OUT > + | MXC_ISI_VIDEO_M2M_CAP, > + .isi_in_format = CHNL_MEM_RD_CTRL_IMG_TYPE_XBGR8, > + .isi_out_format = CHNL_IMG_CTRL_FORMAT_XBGR888, > + .mem_planes = 1, > + .color_planes = 1, > + .depth = { 32 }, > + .encoding = MXC_ISI_ENC_RGB, > + }, { > + .mbus_code = MEDIA_BUS_FMT_RGB888_1X24, > + .fourcc = V4L2_PIX_FMT_ARGB2101010, > + .type = MXC_ISI_VIDEO_CAP | MXC_ISI_VIDEO_M2M_OUT > + | MXC_ISI_VIDEO_M2M_CAP, > + .isi_in_format = CHNL_MEM_RD_CTRL_IMG_TYPE_A2RGB10, > + .isi_out_format = CHNL_IMG_CTRL_FORMAT_A2RGB10, > + .mem_planes = 1, > + .color_planes = 1, > + .depth = { 32 }, > + .encoding = MXC_ISI_ENC_RGB, > }, > /* > * RAW formats -- Regards, Laurent Pinchart