devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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?


> +    };
> +

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