[PATCH v3 0/5] media: imx8-isi: Add i.MX952 ISI support

From: Guoniu Zhou

Date: Tue Sep 15 2026 - 07:23:02 EST


The series adds support for the i.MX952 Image Sensing Interface (ISI),
which is a minor silicon revision of the i.MX95 ISI.

The i.MX952 ISI reuses the i.MX95 ISI core with the same 8-channel
pipeline and 4 pixel link inputs. The key hardware improvement is the
addition of RAW10/12/14 output LSB alignment, which allows the ISI to
output right-aligned RAW data directly, matching the V4L2 format
requirement without the RAW16 workaround needed on earlier platforms.

The series is organized as follows:

1. Reorder mxc_imx95_data definition to follow mxc_imx93_data,
matching the order in the of_match array.
2. Extend output format mask to 7 bits unconditionally since
bit 30 is unused on older platforms.
3. Add the i.MX952 compatible string to the DT binding, using
fallback compatible fsl,imx95-isi.
4. Add the i.MX952 platform data and of_match entry.
5. Enable RAW10/12/14 output LSB alignment on i.MX952, removing
the RAW16 workaround which no longer works due to the CSI
formatter providing MSB-aligned data.

Signed-off-by: Guoniu Zhou <guoniu.zhou@xxxxxxxxxxx>
---
Changes in v3:
- [1/5] Add Reviewed-by tag from Laurent
- [2/5] Use unconditional 7-bit mask instead of per-platform approach (Laurent)
- [2/5] Drop Reviewed-by from Frank Li due to significant change and request to review again
- [3/5] Add Reviewed-by/Acked-by tag from Frank, Laurent and Dooley
- [4/5] Extend mask globally instead of per-platform (Laurent)
- [4/5] Add Reviewed-by tag from Frank
- [5/5] Use CHNL_IMG_CTRL_FORMAT_MASK instead of the removed per-platform format_mask (Laurent)
- [5/5] Derive raw_out_lsb from the model field instead of dedicated platform data (Laurent)
- [5/5] Clarify the CHNL_IMG_CTRL_FORMAT_RAW14 comment: the format is documented
on i.MX{8ULP,91,93,95,952} but only used on i.MX952
- [5/5] Rewrite commit message to explain why the RAW16 workaround fails on i.MX95+ (Laurent)
- [5/5] Add Reviewed-by tag from Frank
- Drop "Remove unused model field" patch; model field is now used to derive
raw_out_lsb capability (Laurent)
- Link to v2: https://lore.kernel.org/r/20260831-isi_imx952-v2-0-fafdb4b446d4@xxxxxxxxxxx

Changes in v2:
- Use fallback compatible fsl,imx95-isi for imx952 (Frank)
- Remove unused model field from platform data (Frank)
- Add Reviewed-by tag from Frank Li for patch 1/6 and 2/6
- Link to v1: https://lore.kernel.org/r/20260826-isi_imx952-v1-0-cbfaaa3f0000@xxxxxxxxxxx

---
Guoniu Zhou (5):
media: imx8-isi: Reorder mxc_imx95_data to follow mxc_imx93_data
media: imx8-isi: Extend output format mask to 7 bits
media: dt-bindings: nxp,imx8-isi: Add i.MX952 ISI compatible string
media: imx8-isi: Add i.MX952 ISI support
media: imx8-isi: Enable ISI RAW10/12/14 output LSB alignment

.../devicetree/bindings/media/nxp,imx8-isi.yaml | 18 +++++---
.../media/platform/nxp/imx8-isi/imx8-isi-core.c | 37 ++++++++++------
.../media/platform/nxp/imx8-isi/imx8-isi-core.h | 1 +
drivers/media/platform/nxp/imx8-isi/imx8-isi-hw.c | 50 +++++++++++++++++++++-
.../media/platform/nxp/imx8-isi/imx8-isi-regs.h | 8 +++-
.../media/platform/nxp/imx8-isi/imx8-isi-video.c | 40 ++++++++---------
6 files changed, 112 insertions(+), 42 deletions(-)
---
base-commit: 4900cad020c0580dfb1be27776ff10a4ef110cfa
change-id: 20260817-isi_imx952-66ca65f9b638

Best regards,
--
Guoniu Zhou <guoniu.zhou@xxxxxxxxxxx>