From nobody Tue Oct 7 17:44:17 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C115F2DECA7; Tue, 8 Jul 2025 17:49:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751996967; cv=none; b=FirR1bAYx0rqwhssprWxt+jLXhsjowZ9xHdVkzh/dMY3SF88TgQP+M05+Z+a/UNSr9O2yNTtfBZUMYSWB/5qQOZ8ZctTpz7IahhFzZIHeFTnLL+B8OUQTfVakVEK4ayEeHK3JilL+k7CXiK4x0pk1C9wf6fmmT1yjTEi72Beicc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751996967; c=relaxed/simple; bh=KOO0i0QEqH8lzsL3KyjCaKyTjs3KDgyGJ6SPaqhsOkY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Czo/3GIxN09CCovitZJiHTHqigJDJGobpjZvJUKk5G9kI3BY6hnbgsXwx84K/FoNDA33+TvZ4wtnMyWh//sSRllOCnG0ZTZHP9uDL+hHWCX24kza6doNcEKL2pTeYztGAX9vLfkdiIIZryDjwAZVWQ3c3sIXQBIgnt12iEePrtQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=LyLAEeUT; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="LyLAEeUT" Received: by smtp.kernel.org (Postfix) with ESMTPS id 61963C4CEF5; Tue, 8 Jul 2025 17:49:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1751996967; bh=KOO0i0QEqH8lzsL3KyjCaKyTjs3KDgyGJ6SPaqhsOkY=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=LyLAEeUTanJ5yED9yEQ7EoBNtlXY4LSWOqezilKuWk2bfg7fLK2eoiZ7/8FV/+nN4 uAAoc1nMW6vozCF6vl8a9D3cS68e1LvyenXj0vZtgCJI+iBL/OGaq29iMhjf8Z7K6g nTV0vhirkfEHBncHKYray2CXCvi3guedLAS4w/nhzhwzZssw3akL0r9btF1XCx4MI3 N3INDNIqEe8S1uMYpayTCO1R5LLqNSs8sXJ3uxwzSpeRWexU5D2VSHux81XVxeNFsq 59KMuPVlDcvV00LalHbWa5i7sGA0qxV8G+CzKw0gvcd6DMJfh847nZTnXQhj97xC1a froUyx3Q72DRw== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 503D3C83F0A; Tue, 8 Jul 2025 17:49:27 +0000 (UTC) From: Frank Li via B4 Relay Date: Tue, 08 Jul 2025 13:48:42 -0400 Subject: [PATCH v3 1/4] dt-bindings: media: add i.MX parallel CPI support Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250708-imx8qxp_pcam-v3-1-c8533e405df1@nxp.com> References: <20250708-imx8qxp_pcam-v3-0-c8533e405df1@nxp.com> In-Reply-To: <20250708-imx8qxp_pcam-v3-0-c8533e405df1@nxp.com> To: Laurent Pinchart , Mauro Carvalho Chehab , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Rui Miguel Silva , Martin Kepplinger , Purism Kernel Team , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Zabel Cc: linux-media@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Frank Li , Alice Yuan X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1751996966; l=4908; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=VaoNfCTAqM0STiEfvAIvgxLKZ7ArKO/NUGvY3U8RaB8=; b=H26jURfmYJfioXk7pGcY3bAOG+nEMTW/YrBlyXGI0dCRQ9A2kjSdvfNoTVNFY/pXUS5eAetl+ 99thZ27unSfBfw/0YB2tjbLI0KzLAJQP9mPr5KWlanqiSC3Mw/f1Ipn X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-Endpoint-Received: by B4 Relay for Frank.Li@nxp.com/20240130 with auth_id=121 X-Original-From: Frank Li Reply-To: Frank.Li@nxp.com From: Alice Yuan Document the binding for parallel CPI controller found in i.MX8QXP, i.MX93 and i.MX91 SoCs. Signed-off-by: Alice Yuan Signed-off-by: Frank Li Reviewed-by: Krzysztof Kozlowski Reviewed-by: Laurent Pinchart --- Change in v3: - use enum at compatible string - add ref to video-interfaces.yaml# - use cpi as node name in examples. - replace csi (Camera Serial Interface) with CPI (Camera Parallel Interface) in commit message. Change in v2: - use pcif surfix as Laurent Pinchart's suggest. - put power-domains into required list --- .../devicetree/bindings/media/fsl,imx93-pcif.yaml | 126 +++++++++++++++++= ++++ MAINTAINERS | 1 + 2 files changed, 127 insertions(+) diff --git a/Documentation/devicetree/bindings/media/fsl,imx93-pcif.yaml b/= Documentation/devicetree/bindings/media/fsl,imx93-pcif.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f92e9af371c91636cef42e48573= 198d4ea5e15f5 --- /dev/null +++ b/Documentation/devicetree/bindings/media/fsl,imx93-pcif.yaml @@ -0,0 +1,126 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/media/fsl,imx93-pcif.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: i.MX8/9 Parallel Camera Interface + +maintainers: + - Frank Li + +description: | + This is device node for the Parallel Camera Interface which enables the + chip to connect directly to external Parallel CMOS image sensors. + Supports up to 80MHz input clock from sensor. + Supports the following input data formats + - 8-bit/10-bit Camera Sensor Interface (CSI) + - 8-bit data port for RGB, YCbCr, and YUV data input + - 8-bit/10-bit data ports for Bayer data input + Parallel Camera Interface is hooked to the Imaging subsystem via the + Pixel Link. + +properties: + compatible: + oneOf: + - enum: + - fsl,imx8qxp-pcif + - fsl,imx93-pcif + - items: + - enum: + - fsl,imx91-pcif + - const: fsl,imx93-pcif + + reg: + maxItems: 1 + + clocks: + maxItems: 2 + + clock-names: + items: + - const: pixel + - const: ipg + + power-domains: + maxItems: 1 + + ports: + $ref: /schemas/graph.yaml#/properties/ports + + properties: + port@0: + $ref: /schemas/graph.yaml#/properties/port + unevaluatedProperties: false + description: Input port node. + + properties: + endpoint: + $ref: video-interfaces.yaml# + unevaluatedProperties: false + + properties: + bus-type: + const: 5 + + port@1: + $ref: /schemas/graph.yaml#/properties/port + unevaluatedProperties: false + description: Output port node. + + properties: + endpoint: + $ref: video-interfaces.yaml# + unevaluatedProperties: false + + properties: + bus-type: + const: 5 + +required: + - compatible + - reg + - clocks + - clock-names + - power-domains + - ports + +additionalProperties: false + +examples: + - | + #include + #include + + cpi@4ac10070 { + compatible =3D "fsl,imx93-pcif"; + reg =3D <0x4ac10070 0x10>; + clocks =3D <&clk IMX93_CLK_MIPI_CSI_GATE>, + <&clk IMX93_CLK_MEDIA_APB>; + clock-names =3D "pixel", "ipg"; + assigned-clocks =3D <&clk IMX93_CLK_CAM_PIX>; + assigned-clock-parents =3D <&clk IMX93_CLK_VIDEO_PLL>; + assigned-clock-rates =3D <140000000>; + power-domains =3D <&media_blk_ctrl IMX93_MEDIABLK_PD_MIPI_CSI>; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + + endpoint { + remote-endpoint =3D <&mt9m114_ep>; + }; + }; + + port@1 { + reg =3D <1>; + endpoint { + remote-endpoint =3D <&isi_in>; + }; + }; + }; + }; +... diff --git a/MAINTAINERS b/MAINTAINERS index 8dc0f6609d1fe2e3eefd50088dbe566d9e107bfa..8ae0667d2bb41fb6a1549bd3b2b= 33f326cbd1303 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -15107,6 +15107,7 @@ L: linux-media@vger.kernel.org S: Maintained T: git git://linuxtv.org/media.git F: Documentation/admin-guide/media/imx7.rst +F: Documentation/devicetree/bindings/media/fsl,imx93-pcif.yaml F: Documentation/devicetree/bindings/media/nxp,imx-mipi-csi2.yaml F: Documentation/devicetree/bindings/media/nxp,imx7-csi.yaml F: Documentation/devicetree/bindings/media/nxp,imx8mq-mipi-csi2.yaml --=20 2.34.1