From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Frank Li <Frank.Li@nxp.com>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Shawn Guo <shawnguo@kernel.org>,
Sascha Hauer <s.hauer@pengutronix.de>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
Fabio Estevam <festevam@gmail.com>,
Rui Miguel Silva <rmfrfs@gmail.com>,
Martin Kepplinger <martink@posteo.de>,
Purism Kernel Team <kernel@puri.sm>,
linux-media@vger.kernel.org, devicetree@vger.kernel.org,
imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org,
Robert Chiras <robert.chiras@nxp.com>,
"Guoniu.zhou" <guoniu.zhou@nxp.com>
Subject: Re: [PATCH v4 07/13] media: imx8-isi: Add support for i.MX8QM and i.MX8QXP
Date: Tue, 22 Apr 2025 00:32:01 +0300 [thread overview]
Message-ID: <20250421213201.GQ17813@pendragon.ideasonboard.com> (raw)
In-Reply-To: <20250408-8qxp_camera-v4-7-ef695f1b47c4@nxp.com>
Hi Frank,
Thank you for the patch.
On Tue, Apr 08, 2025 at 05:53:05PM -0400, Frank Li wrote:
> From: Robert Chiras <robert.chiras@nxp.com>
>
> Add compatibles and platform data for i.MX8QM and i.MX8QXP platforms.
> i.MX8QM's IER register layout is difference with i.MX8QXP.
>
> Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
> Signed-off-by: Frank Li <Frank.Li@nxp.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---
> Change from v3 to v4
> - fix i.MX8QMP ier register layout
> - Remove clk-names array
> - Change 8QXP channel number to 6
>
> change from v2 to v3
> - none
>
> change from v1 to v2
> - remove intenal review tags
> ---
> .../media/platform/nxp/imx8-isi/imx8-isi-core.c | 43 +++++++++++++++++++++-
> .../media/platform/nxp/imx8-isi/imx8-isi-core.h | 2 +
> 2 files changed, 43 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c b/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c
> index 398cc03443be3..568d7b24466aa 100644
> --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c
> +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c
> @@ -246,7 +246,7 @@ static void mxc_isi_v4l2_cleanup(struct mxc_isi_dev *isi)
>
> /* Panic will assert when the buffers are 50% full */
>
> -/* For i.MX8QXP C0 and i.MX8MN ISI IER version */
> +/* For i.MX8MN ISI IER version */
> static const struct mxc_isi_ier_reg mxc_imx8_isi_ier_v1 = {
> .oflw_y_buf_en = { .mask = BIT(19) },
> .oflw_u_buf_en = { .mask = BIT(21) },
> @@ -257,7 +257,7 @@ static const struct mxc_isi_ier_reg mxc_imx8_isi_ier_v1 = {
> .panic_v_buf_en = { .mask = BIT(24) },
> };
>
> -/* For i.MX8MP ISI IER version */
> +/* For i.MX8QXP C0 and i.MX8MP ISI IER version */
> static const struct mxc_isi_ier_reg mxc_imx8_isi_ier_v2 = {
> .oflw_y_buf_en = { .mask = BIT(18) },
> .oflw_u_buf_en = { .mask = BIT(20) },
> @@ -268,6 +268,21 @@ static const struct mxc_isi_ier_reg mxc_imx8_isi_ier_v2 = {
> .panic_v_buf_en = { .mask = BIT(23) },
> };
>
> +/* For i.MX8QM ISI IER version */
> +static const struct mxc_isi_ier_reg mxc_imx8_isi_ier_qm = {
> + .oflw_y_buf_en = { .mask = BIT(16) },
> + .oflw_u_buf_en = { .mask = BIT(19) },
> + .oflw_v_buf_en = { .mask = BIT(22) },
> +
> + .excs_oflw_y_buf_en = { .mask = BIT(17) },
> + .excs_oflw_u_buf_en = { .mask = BIT(20) },
> + .excs_oflw_v_buf_en = { .mask = BIT(23) },
> +
> + .panic_y_buf_en = { .mask = BIT(18) },
> + .panic_u_buf_en = { .mask = BIT(21) },
> + .panic_v_buf_en = { .mask = BIT(24) },
> +};
> +
> /* Panic will assert when the buffers are 50% full */
> static const struct mxc_isi_set_thd mxc_imx8_isi_thd_v1 = {
> .panic_set_thd_y = { .mask = 0x0000f, .offset = 0, .threshold = 0x7 },
> @@ -322,6 +337,28 @@ static const struct mxc_isi_plat_data mxc_imx93_data = {
> .has_36bit_dma = false,
> };
>
> +static const struct mxc_isi_plat_data mxc_imx8qm_data = {
> + .model = MXC_ISI_IMX8QM,
> + .num_ports = 5,
> + .num_channels = 8,
> + .reg_offset = 0x10000,
> + .ier_reg = &mxc_imx8_isi_ier_qm,
> + .set_thd = &mxc_imx8_isi_thd_v1,
> + .buf_active_reverse = true,
> + .has_36bit_dma = false,
> +};
> +
> +static const struct mxc_isi_plat_data mxc_imx8qxp_data = {
> + .model = MXC_ISI_IMX8QXP,
> + .num_ports = 5,
> + .num_channels = 6,
> + .reg_offset = 0x10000,
> + .ier_reg = &mxc_imx8_isi_ier_v2,
> + .set_thd = &mxc_imx8_isi_thd_v1,
> + .buf_active_reverse = true,
> + .has_36bit_dma = false,
> +};
> +
> /* -----------------------------------------------------------------------------
> * Power management
> */
> @@ -497,6 +534,8 @@ static void mxc_isi_remove(struct platform_device *pdev)
> static const struct of_device_id mxc_isi_of_match[] = {
> { .compatible = "fsl,imx8mn-isi", .data = &mxc_imx8mn_data },
> { .compatible = "fsl,imx8mp-isi", .data = &mxc_imx8mp_data },
> + { .compatible = "fsl,imx8qm-isi", .data = &mxc_imx8qm_data },
> + { .compatible = "fsl,imx8qxp-isi", .data = &mxc_imx8qxp_data },
> { .compatible = "fsl,imx8ulp-isi", .data = &mxc_imx8ulp_data },
> { .compatible = "fsl,imx93-isi", .data = &mxc_imx93_data },
> { /* sentinel */ },
> diff --git a/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.h b/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.h
> index bd3cfe5fbe063..206995bedca4a 100644
> --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.h
> +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-core.h
> @@ -157,6 +157,8 @@ struct mxc_gasket_ops {
> enum model {
> MXC_ISI_IMX8MN,
> MXC_ISI_IMX8MP,
> + MXC_ISI_IMX8QM,
> + MXC_ISI_IMX8QXP,
> MXC_ISI_IMX8ULP,
> MXC_ISI_IMX93,
> };
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2025-04-21 21:32 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-08 21:52 [PATCH v4 00/13] media: imx8: add camera support Frank Li
2025-04-08 21:52 ` [PATCH v4 01/13] media: dt-bindings: Add binding doc for i.MX8QXP and i.MX8QM ISI Frank Li
2025-04-08 21:53 ` [PATCH v4 02/13] media: nxp: imx8-isi: Allow num_sources to be greater than num_sink Frank Li
2025-04-08 21:53 ` [PATCH v4 03/13] media: nxp: imx8-isi: Remove unused offset in mxc_isi_reg and use BIT() macro for mask Frank Li
2025-04-21 21:06 ` Laurent Pinchart
2025-05-02 0:53 ` Frank Li
2025-05-02 15:25 ` Laurent Pinchart
2025-04-08 21:53 ` [PATCH v4 04/13] media: nxp: imx8-isi: Use devm_clk_bulk_get_all() to fetch clocks Frank Li
2025-04-21 21:14 ` Laurent Pinchart
2025-05-02 1:02 ` Frank Li
2025-05-02 15:57 ` Laurent Pinchart
2025-05-08 12:35 ` Frank Li
2025-06-11 14:14 ` Laurent Pinchart
2025-06-17 14:11 ` Rob Herring
2025-06-17 14:29 ` Laurent Pinchart
2025-04-08 21:53 ` [PATCH v4 05/13] media: nxp: imx8-isi: Remove redundant check for dma_set_mask_and_coherent() Frank Li
2025-04-21 21:19 ` Laurent Pinchart
2025-04-08 21:53 ` [PATCH v4 06/13] media: nxp: imx8-isi: Use dev_err_probe() simplify code Frank Li
2025-04-21 21:21 ` Laurent Pinchart
2025-04-08 21:53 ` [PATCH v4 07/13] media: imx8-isi: Add support for i.MX8QM and i.MX8QXP Frank Li
2025-04-21 21:32 ` Laurent Pinchart [this message]
2025-04-08 21:53 ` [PATCH v4 08/13] media: dt-bindings: nxp,imx8mq-mipi-csi2: Add i.MX8QM(QXP) compatible strings Frank Li
2025-04-08 21:53 ` [PATCH v4 09/13] media: imx8mq-mipi-csi2: Add imx8mq_plat_data for different " Frank Li
2025-04-08 21:53 ` [PATCH v4 10/13] media: imx8mq-mipi-csi2: Add support for i.MX8QXP Frank Li
2025-04-21 21:41 ` Laurent Pinchart
2025-04-08 21:53 ` [PATCH v4 11/13] arm64: dts: imx8: add capture controller for i.MX8's img subsystem Frank Li
2025-04-21 21:46 ` Laurent Pinchart
2025-04-08 21:53 ` [PATCH v4 12/13] arm64: dts: imx8q: add linux,cma node for imx8qm-mek and imx8qxp-mek Frank Li
2025-04-08 21:53 ` [PATCH v4 13/13] arm64: dts: imx8q: add camera ov5640 support " Frank Li
2025-04-21 18:44 ` [PATCH v4 00/13] media: imx8: add camera support Frank Li
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250421213201.GQ17813@pendragon.ideasonboard.com \
--to=laurent.pinchart@ideasonboard.com \
--cc=Frank.Li@nxp.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=festevam@gmail.com \
--cc=guoniu.zhou@nxp.com \
--cc=imx@lists.linux.dev \
--cc=kernel@pengutronix.de \
--cc=kernel@puri.sm \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=martink@posteo.de \
--cc=mchehab@kernel.org \
--cc=rmfrfs@gmail.com \
--cc=robert.chiras@nxp.com \
--cc=robh@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=shawnguo@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.