From: Rob Herring <robh@kernel.org>
To: Frank Li <Frank.Li@nxp.com>
Cc: Mauro Carvalho Chehab <mchehab@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>,
Steve Longerbeam <slongerbeam@gmail.com>,
Philipp Zabel <p.zabel@pengutronix.de>,
"open list:MEDIA INPUT INFRASTRUCTURE (V4L/DVB)"
<linux-media@vger.kernel.org>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
<devicetree@vger.kernel.org>,
"open list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE"
<imx@lists.linux.dev>,
"moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE"
<linux-arm-kernel@lists.infradead.org>,
open list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 1/1] dt-bindings: media: convert imx.txt to yaml format
Date: Wed, 16 Apr 2025 07:42:26 -0500 [thread overview]
Message-ID: <20250416124226.GA2498696-robh@kernel.org> (raw)
In-Reply-To: <20250414210720.3359301-1-Frank.Li@nxp.com>
On Mon, Apr 14, 2025 at 05:07:18PM -0400, Frank Li wrote:
> Convert binding doc imx.txt to yaml format. Create two yaml files:
> fsl,imx6-mipi-csi2.yaml and fsl,imx-capture-subsystem.yaml.
>
> Additional changes:
> - add example for fsl,imx6-mipi-csi2
>
> Signed-off-by: Frank Li <Frank.Li@nxp.com>
> ---
> .../media/fsl,imx-capture-subsystem.yaml | 38 ++++++
> .../bindings/media/fsl,imx6-mipi-csi2.yaml | 126 ++++++++++++++++++
> .../devicetree/bindings/media/imx.txt | 53 --------
> 3 files changed, 164 insertions(+), 53 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/media/fsl,imx-capture-subsystem.yaml
> create mode 100644 Documentation/devicetree/bindings/media/fsl,imx6-mipi-csi2.yaml
> delete mode 100644 Documentation/devicetree/bindings/media/imx.txt
>
> diff --git a/Documentation/devicetree/bindings/media/fsl,imx-capture-subsystem.yaml b/Documentation/devicetree/bindings/media/fsl,imx-capture-subsystem.yaml
> new file mode 100644
> index 0000000000000..77be3c1f37c5b
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/media/fsl,imx-capture-subsystem.yaml
> @@ -0,0 +1,38 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/media/fsl,imx-capture-subsystem.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Freescale i.MX Media Video Device
> +
> +description:
> + This is the media controller node for video capture support. It is a
> + virtual device that lists the camera serial interface nodes that the
> + media device will control
> +
> +maintainers:
> + - Frank Li <Frank.Li@nxp.com>
> +
> +properties:
> + compatible:
> + const: fsl,imx-capture-subsystem
> +
> + ports:
> + $ref: /schemas/types.yaml#/definitions/phandle-array
> + description:
> + Should contain a list of phandles pointing to camera
> + sensor interface ports of IPU devices.
> +
> +required:
> + - compatible
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + capture-subsystem {
> + compatible = "fsl,imx-capture-subsystem";
> + ports = <&ipu1_csi0>, <&ipu1_csi1>;
> + };
> +
> diff --git a/Documentation/devicetree/bindings/media/fsl,imx6-mipi-csi2.yaml b/Documentation/devicetree/bindings/media/fsl,imx6-mipi-csi2.yaml
> new file mode 100644
> index 0000000000000..1e69a1ff868cd
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/media/fsl,imx6-mipi-csi2.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,imx6-mipi-csi2.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: MIPI CSI-2 Receiver core in the i.MX SoC
> +
> +description:
> + This is the device node for the MIPI CSI-2 Receiver core in the i.MX
> + SoC. This is a Synopsys Designware MIPI CSI-2 host controller core
> + combined with a D-PHY core mixed into the same register block. In
> + addition this device consists of an i.MX-specific "CSI2IPU gasket"
> + glue logic, also controlled from the same register block. The CSI2IPU
> + gasket demultiplexes the four virtual channel streams from the host
> + controller's 32-bit output image bus onto four 16-bit parallel busses
> + to the i.MX IPU CSIs.
> +
> +maintainers:
> + - Frank Li <Frank.Li@nxp.com>
> +
> +properties:
> + compatible:
> + const: fsl,imx6-mipi-csi2
> +
> + reg:
> + maxItems: 1
> +
> + clocks:
> + items:
> + - description: hsi_tx (the D-PHY clock)
> + - description: video_27m (D-PHY PLL reference clock)
> + - description: eim_podf;
> +
> + clock-names:
> + items:
> + - const: dphy
> + - const: ref
> + - const: pix
> +
> + interrupts:
> + maxItems: 2
Need to define each entry though the original binding is not too helpful
there.
> +
> + '#address-cells':
> + const: 1
> +
> + '#size-cells':
> + const: 0
> +
> + port@0:
> + $ref: /schemas/graph.yaml#/$defs/port-base
> + unevaluatedProperties: false
> + description:
> + Input port node, single endpoint describing the CSI-2 transmitter.
> +
> + properties:
> + endpoint:
> + $ref: video-interfaces.yaml#
> + unevaluatedProperties: false
> +
> + properties:
> + clock-lanes:
> + const: 0
> +
> + data-lanes:
> + minItems: 1
> + items:
> + - const: 1
> + - const: 2
> + - const: 3
> + - const: 4
> +
> + required:
> + - data-lanes
> +
> +patternProperties:
> + '^port@[1-4]':
'^port@[1-4]$'
> + $ref: /schemas/graph.yaml#/$defs/port-base
> + unevaluatedProperties: false
> + description:
> + ports 1 through 4 are output ports connecting with parallel bus sink
> + endpoint nodes and correspond to the four MIPI CSI-2 virtual channel
> + outputs.
> +
> + properties:
> + endpoint@0:
> + $ref: video-interfaces.yaml#
> + unevaluatedProperties: false
> +
> + endpoint@1:
> + $ref: video-interfaces.yaml#
> + unevaluatedProperties: false
> +
> +required:
> + - compatible
> + - reg
> + - clocks
> + - clock-names
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/clock/imx6qdl-clock.h>
> +
> + mipi@21dc000 {
> + compatible = "fsl,imx6-mipi-csi2";
> + reg = <0x021dc000 0x4000>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + clocks = <&clks IMX6QDL_CLK_HSI_TX>,
> + <&clks IMX6QDL_CLK_VIDEO_27M>,
> + <&clks IMX6QDL_CLK_EIM_PODF>;
> + clock-names = "dphy", "ref", "pix";
> +
> + port@0 {
> + reg = <0>;
> +
> + endpoint {
> + remote-endpoint = <&ov5640_to_mipi_csi2>;
> + clock-lanes = <0>;
> + data-lanes = <1 2>;
> + };
> + };
I would think at least 1 output port is required?
> + };
> +
next prev parent reply other threads:[~2025-04-16 12:42 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-14 21:07 [PATCH 1/1] dt-bindings: media: convert imx.txt to yaml format Frank Li
2025-04-15 21:27 ` kernel test robot
2025-04-16 12:42 ` Rob Herring [this message]
2025-04-16 15:17 ` Frank Li
2025-04-16 15:26 ` Philipp Zabel
2025-04-16 15:31 ` 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=20250416124226.GA2498696-robh@kernel.org \
--to=robh@kernel.org \
--cc=Frank.Li@nxp.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=festevam@gmail.com \
--cc=imx@lists.linux.dev \
--cc=kernel@pengutronix.de \
--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=mchehab@kernel.org \
--cc=p.zabel@pengutronix.de \
--cc=s.hauer@pengutronix.de \
--cc=shawnguo@kernel.org \
--cc=slongerbeam@gmail.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).