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 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.