[PATCH v3 01/31] dt-bindings: media: add DW MIPI CSI-2 Host support

Frank Li posted 31 patches 5 months, 3 weeks ago
[PATCH v3 01/31] dt-bindings: media: add DW MIPI CSI-2 Host support
Posted by Frank Li 5 months, 3 weeks ago
From: Eugen Hristev <eugen.hristev@linaro.org>

Add bindings for Synopsys DesignWare MIPI CSI-2 host, which used at i.MX93
and i.MX95 platform.

Signed-off-by: Luis Oliveira <lolivei@synopsys.com>
Signed-off-by: Eugen Hristev <eugen.hristev@linaro.org>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
Change in v3
- drop remote-endpoint: true
- drop clock-lanes

Change in v2
- remove Eugen Hristev <eugen.hristev@microchip.com> from mantainer.
- update ugen Hristev's s-o-b tag to align original author's email address
- remove single snps,dw-mipi-csi2-v150 compatible string
- move additionalProperties after required
---
 .../bindings/media/snps,dw-mipi-csi2-v150.yaml     | 151 +++++++++++++++++++++
 MAINTAINERS                                        |   1 +
 2 files changed, 152 insertions(+)

diff --git a/Documentation/devicetree/bindings/media/snps,dw-mipi-csi2-v150.yaml b/Documentation/devicetree/bindings/media/snps,dw-mipi-csi2-v150.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..d950daa4ee9cfd504ef84b83271b2a1b710ffd6b
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/snps,dw-mipi-csi2-v150.yaml
@@ -0,0 +1,151 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/media/snps,dw-mipi-csi2-v150.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Synopsys DesignWare CSI-2 Host controller (csi2host)
+
+maintainers:
+  - Frank Li <Frank.Li@nxp.com>
+
+description:
+  CSI2HOST is used to receive image coming from an MIPI CSI-2 compatible
+  camera. It will convert the incoming CSI-2 stream into a dedicated
+  interface called the Synopsys IDI (Image Data Interface).
+  This interface is a 32-bit SoC internal only, and can be assimilated
+  with a CSI-2 interface.
+
+properties:
+  compatible:
+    items:
+      - enum:
+          - fsl,imx93-mipi-csi2
+      - const: snps,dw-mipi-csi2-v150
+
+  reg:
+    items:
+      - description: MIPI CSI-2 core register
+
+  reg-names:
+    items:
+      - const: core
+
+  clocks:
+    maxItems: 2
+
+  clock-names:
+    items:
+      - const: per
+      - const: pixel
+
+  phys:
+    maxItems: 1
+    description: MIPI D-PHY
+
+  phy-names:
+    items:
+      - const: rx
+
+  resets:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  power-domains:
+    maxItems: 1
+
+  ports:
+    $ref: /schemas/graph.yaml#/properties/ports
+
+    properties:
+      port@0:
+        $ref: /schemas/graph.yaml#/$defs/port-base
+        unevaluatedProperties: false
+        description:
+          Input port node, single endpoint describing the input port.
+
+        properties:
+          endpoint:
+            $ref: video-interfaces.yaml#
+            unevaluatedProperties: false
+            description: Endpoint connected to input device
+
+            properties:
+              bus-type:
+                const: 4
+
+              data-lanes:
+                minItems: 1
+                maxItems: 4
+                items:
+                  maximum: 4
+
+      port@1:
+        $ref: /schemas/graph.yaml#/$defs/port-base
+        unevaluatedProperties: false
+        description:
+          Output port node, single endpoint describing the output port.
+
+        properties:
+          endpoint:
+            unevaluatedProperties: false
+            $ref: video-interfaces.yaml#
+            description: Endpoint connected to output device
+
+            properties:
+              bus-type:
+                const: 4
+
+    required:
+      - port@0
+      - port@1
+
+required:
+  - compatible
+  - reg
+  - reg-names
+  - interrupts
+  - ports
+
+additionalProperties: false
+
+examples:
+  - |
+    csi@3000 {
+        compatible = "fsl,imx93-mipi-csi2", "snps,dw-mipi-csi2-v150";
+        reg = <0x03000 0x1000>;
+        reg-names = "core";
+        phys = <&mipi_dphy_rx 0>;
+        phy-names = "rx";
+        resets = <&dw_rst 1>;
+        interrupts = <2>;
+
+        ports {
+            #address-cells = <1>;
+            #size-cells = <0>;
+
+            port@0 {
+                reg = <0>;
+
+                endpoint {
+                    bus-type = <4>; /* MIPI CSI2 D-PHY */
+                    remote-endpoint = <&camera_1>;
+                    data-lanes = <1 2>;
+                    clock-lanes = <0>;
+                };
+            };
+
+            port@1 {
+                reg = <1>;
+
+                endpoint {
+                    remote-endpoint = <&idi_receiver>;
+                    bus-type = <4>;
+                };
+            };
+        };
+    };
+
+...
diff --git a/MAINTAINERS b/MAINTAINERS
index 9d9d2be7be8037dfa96f1c9edd24a0cf997b9393..ecb7bc7cc8ad797f43173075ca8973804bf335f7 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -15334,6 +15334,7 @@ F:	Documentation/devicetree/bindings/media/fsl,imx93-parallel-csi.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
+F:	Documentation/devicetree/bindings/media/snps,dw-mipi-csi2-v150.yaml
 F:	drivers/media/platform/nxp/imx-mipi-csis.c
 F:	drivers/media/platform/nxp/imx-parallel-csi.c
 F:	drivers/media/platform/nxp/imx7-media-csi.c

-- 
2.34.1
Re: [PATCH v3 01/31] dt-bindings: media: add DW MIPI CSI-2 Host support
Posted by Sakari Ailus 3 months, 2 weeks ago
Hei Eugen,

On Thu, Aug 21, 2025 at 04:15:36PM -0400, Frank Li wrote:
> From: Eugen Hristev <eugen.hristev@linaro.org>
> 
> Add bindings for Synopsys DesignWare MIPI CSI-2 host, which used at i.MX93
> and i.MX95 platform.
> 
> Signed-off-by: Luis Oliveira <lolivei@synopsys.com>
> Signed-off-by: Eugen Hristev <eugen.hristev@linaro.org>
> Signed-off-by: Frank Li <Frank.Li@nxp.com>
> ---
> Change in v3
> - drop remote-endpoint: true
> - drop clock-lanes
> 
> Change in v2
> - remove Eugen Hristev <eugen.hristev@microchip.com> from mantainer.
> - update ugen Hristev's s-o-b tag to align original author's email address
> - remove single snps,dw-mipi-csi2-v150 compatible string
> - move additionalProperties after required
> ---
>  .../bindings/media/snps,dw-mipi-csi2-v150.yaml     | 151 +++++++++++++++++++++
>  MAINTAINERS                                        |   1 +
>  2 files changed, 152 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/media/snps,dw-mipi-csi2-v150.yaml b/Documentation/devicetree/bindings/media/snps,dw-mipi-csi2-v150.yaml
> new file mode 100644
> index 0000000000000000000000000000000000000000..d950daa4ee9cfd504ef84b83271b2a1b710ffd6b
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/media/snps,dw-mipi-csi2-v150.yaml
> @@ -0,0 +1,151 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/media/snps,dw-mipi-csi2-v150.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Synopsys DesignWare CSI-2 Host controller (csi2host)
> +
> +maintainers:
> +  - Frank Li <Frank.Li@nxp.com>
> +
> +description:
> +  CSI2HOST is used to receive image coming from an MIPI CSI-2 compatible
> +  camera. It will convert the incoming CSI-2 stream into a dedicated
> +  interface called the Synopsys IDI (Image Data Interface).
> +  This interface is a 32-bit SoC internal only, and can be assimilated
> +  with a CSI-2 interface.
> +
> +properties:
> +  compatible:
> +    items:
> +      - enum:
> +          - fsl,imx93-mipi-csi2
> +      - const: snps,dw-mipi-csi2-v150
> +
> +  reg:
> +    items:
> +      - description: MIPI CSI-2 core register
> +
> +  reg-names:
> +    items:
> +      - const: core
> +
> +  clocks:
> +    maxItems: 2
> +
> +  clock-names:
> +    items:
> +      - const: per
> +      - const: pixel
> +
> +  phys:
> +    maxItems: 1
> +    description: MIPI D-PHY
> +
> +  phy-names:
> +    items:
> +      - const: rx
> +
> +  resets:
> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  power-domains:
> +    maxItems: 1
> +
> +  ports:
> +    $ref: /schemas/graph.yaml#/properties/ports
> +
> +    properties:
> +      port@0:
> +        $ref: /schemas/graph.yaml#/$defs/port-base
> +        unevaluatedProperties: false
> +        description:
> +          Input port node, single endpoint describing the input port.
> +
> +        properties:
> +          endpoint:
> +            $ref: video-interfaces.yaml#
> +            unevaluatedProperties: false
> +            description: Endpoint connected to input device
> +
> +            properties:
> +              bus-type:
> +                const: 4

If 4 is the only value supported, you can drop the property altogether.

> +
> +              data-lanes:
> +                minItems: 1
> +                maxItems: 4
> +                items:
> +                  maximum: 4
> +
> +      port@1:
> +        $ref: /schemas/graph.yaml#/$defs/port-base
> +        unevaluatedProperties: false
> +        description:
> +          Output port node, single endpoint describing the output port.
> +
> +        properties:
> +          endpoint:
> +            unevaluatedProperties: false
> +            $ref: video-interfaces.yaml#
> +            description: Endpoint connected to output device
> +
> +            properties:
> +              bus-type:
> +                const: 4

Are both input and output of this block CSI-2 with D-PHY?

> +
> +    required:
> +      - port@0
> +      - port@1
> +
> +required:
> +  - compatible
> +  - reg
> +  - reg-names
> +  - interrupts
> +  - ports
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    csi@3000 {
> +        compatible = "fsl,imx93-mipi-csi2", "snps,dw-mipi-csi2-v150";
> +        reg = <0x03000 0x1000>;
> +        reg-names = "core";
> +        phys = <&mipi_dphy_rx 0>;
> +        phy-names = "rx";
> +        resets = <&dw_rst 1>;
> +        interrupts = <2>;
> +
> +        ports {
> +            #address-cells = <1>;
> +            #size-cells = <0>;
> +
> +            port@0 {
> +                reg = <0>;
> +
> +                endpoint {
> +                    bus-type = <4>; /* MIPI CSI2 D-PHY */
> +                    remote-endpoint = <&camera_1>;
> +                    data-lanes = <1 2>;
> +                    clock-lanes = <0>;
> +                };
> +            };
> +
> +            port@1 {
> +                reg = <1>;
> +
> +                endpoint {
> +                    remote-endpoint = <&idi_receiver>;
> +                    bus-type = <4>;
> +                };
> +            };
> +        };
> +    };
> +
> +...
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 9d9d2be7be8037dfa96f1c9edd24a0cf997b9393..ecb7bc7cc8ad797f43173075ca8973804bf335f7 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -15334,6 +15334,7 @@ F:	Documentation/devicetree/bindings/media/fsl,imx93-parallel-csi.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
> +F:	Documentation/devicetree/bindings/media/snps,dw-mipi-csi2-v150.yaml
>  F:	drivers/media/platform/nxp/imx-mipi-csis.c
>  F:	drivers/media/platform/nxp/imx-parallel-csi.c
>  F:	drivers/media/platform/nxp/imx7-media-csi.c
> 

-- 
Regards,

Sakari Ailus
Re: [PATCH v3 01/31] dt-bindings: media: add DW MIPI CSI-2 Host support
Posted by Frank Li 3 months, 2 weeks ago
On Mon, Oct 27, 2025 at 10:31:25AM +0200, Sakari Ailus wrote:
> Hei Eugen,
>
> On Thu, Aug 21, 2025 at 04:15:36PM -0400, Frank Li wrote:
> > From: Eugen Hristev <eugen.hristev@linaro.org>
> >
> > Add bindings for Synopsys DesignWare MIPI CSI-2 host, which used at i.MX93
> > and i.MX95 platform.
> >
> > Signed-off-by: Luis Oliveira <lolivei@synopsys.com>
> > Signed-off-by: Eugen Hristev <eugen.hristev@linaro.org>
> > Signed-off-by: Frank Li <Frank.Li@nxp.com>
> > ---
> > Change in v3
> > - drop remote-endpoint: true
> > - drop clock-lanes
> >
> > Change in v2
> > - remove Eugen Hristev <eugen.hristev@microchip.com> from mantainer.
> > - update ugen Hristev's s-o-b tag to align original author's email address
> > - remove single snps,dw-mipi-csi2-v150 compatible string
> > - move additionalProperties after required
> > ---
> >  .../bindings/media/snps,dw-mipi-csi2-v150.yaml     | 151 +++++++++++++++++++++
> >  MAINTAINERS                                        |   1 +
> >  2 files changed, 152 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/media/snps,dw-mipi-csi2-v150.yaml b/Documentation/devicetree/bindings/media/snps,dw-mipi-csi2-v150.yaml
> > new file mode 100644
> > index 0000000000000000000000000000000000000000..d950daa4ee9cfd504ef84b83271b2a1b710ffd6b
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/media/snps,dw-mipi-csi2-v150.yaml
> > @@ -0,0 +1,151 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/media/snps,dw-mipi-csi2-v150.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Synopsys DesignWare CSI-2 Host controller (csi2host)
> > +
> > +maintainers:
> > +  - Frank Li <Frank.Li@nxp.com>
> > +
> > +description:
> > +  CSI2HOST is used to receive image coming from an MIPI CSI-2 compatible
> > +  camera. It will convert the incoming CSI-2 stream into a dedicated
> > +  interface called the Synopsys IDI (Image Data Interface).
> > +  This interface is a 32-bit SoC internal only, and can be assimilated
> > +  with a CSI-2 interface.
> > +
> > +properties:
> > +  compatible:
> > +    items:
> > +      - enum:
> > +          - fsl,imx93-mipi-csi2
> > +      - const: snps,dw-mipi-csi2-v150
> > +
> > +  reg:
> > +    items:
> > +      - description: MIPI CSI-2 core register
> > +
> > +  reg-names:
> > +    items:
> > +      - const: core
> > +
> > +  clocks:
> > +    maxItems: 2
> > +
> > +  clock-names:
> > +    items:
> > +      - const: per
> > +      - const: pixel
> > +
> > +  phys:
> > +    maxItems: 1
> > +    description: MIPI D-PHY
> > +
> > +  phy-names:
> > +    items:
> > +      - const: rx
> > +
> > +  resets:
> > +    maxItems: 1
> > +
> > +  interrupts:
> > +    maxItems: 1
> > +
> > +  power-domains:
> > +    maxItems: 1
> > +
> > +  ports:
> > +    $ref: /schemas/graph.yaml#/properties/ports
> > +
> > +    properties:
> > +      port@0:
> > +        $ref: /schemas/graph.yaml#/$defs/port-base
> > +        unevaluatedProperties: false
> > +        description:
> > +          Input port node, single endpoint describing the input port.
> > +
> > +        properties:
> > +          endpoint:
> > +            $ref: video-interfaces.yaml#
> > +            unevaluatedProperties: false
> > +            description: Endpoint connected to input device
> > +
> > +            properties:
> > +              bus-type:
> > +                const: 4
>
> If 4 is the only value supported, you can drop the property altogether.

Sorry, What's your means here? There are more options in video-interfaces.yaml.
here just add restriction for bus-type. otherwise other value can be
provide in dts file.

>
> > +
> > +              data-lanes:
> > +                minItems: 1
> > +                maxItems: 4
> > +                items:
> > +                  maximum: 4
> > +
> > +      port@1:
> > +        $ref: /schemas/graph.yaml#/$defs/port-base
> > +        unevaluatedProperties: false
> > +        description:
> > +          Output port node, single endpoint describing the output port.
> > +
> > +        properties:
> > +          endpoint:
> > +            unevaluatedProperties: false
> > +            $ref: video-interfaces.yaml#
> > +            description: Endpoint connected to output device
> > +
> > +            properties:
> > +              bus-type:
> > +                const: 4
>
> Are both input and output of this block CSI-2 with D-PHY?

Yes, input from camera sensor, output to others image processors to do data
transfer or format convert.

Frank
>
> > +
> > +    required:
> > +      - port@0
> > +      - port@1
> > +
> > +required:
> > +  - compatible
> > +  - reg
> > +  - reg-names
> > +  - interrupts
> > +  - ports
> > +
> > +additionalProperties: false
> > +
> > +examples:
> > +  - |
> > +    csi@3000 {
> > +        compatible = "fsl,imx93-mipi-csi2", "snps,dw-mipi-csi2-v150";
> > +        reg = <0x03000 0x1000>;
> > +        reg-names = "core";
> > +        phys = <&mipi_dphy_rx 0>;
> > +        phy-names = "rx";
> > +        resets = <&dw_rst 1>;
> > +        interrupts = <2>;
> > +
> > +        ports {
> > +            #address-cells = <1>;
> > +            #size-cells = <0>;
> > +
> > +            port@0 {
> > +                reg = <0>;
> > +
> > +                endpoint {
> > +                    bus-type = <4>; /* MIPI CSI2 D-PHY */
> > +                    remote-endpoint = <&camera_1>;
> > +                    data-lanes = <1 2>;
> > +                    clock-lanes = <0>;
> > +                };
> > +            };
> > +
> > +            port@1 {
> > +                reg = <1>;
> > +
> > +                endpoint {
> > +                    remote-endpoint = <&idi_receiver>;
> > +                    bus-type = <4>;
> > +                };
> > +            };
> > +        };
> > +    };
> > +
> > +...
> > diff --git a/MAINTAINERS b/MAINTAINERS
> > index 9d9d2be7be8037dfa96f1c9edd24a0cf997b9393..ecb7bc7cc8ad797f43173075ca8973804bf335f7 100644
> > --- a/MAINTAINERS
> > +++ b/MAINTAINERS
> > @@ -15334,6 +15334,7 @@ F:	Documentation/devicetree/bindings/media/fsl,imx93-parallel-csi.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
> > +F:	Documentation/devicetree/bindings/media/snps,dw-mipi-csi2-v150.yaml
> >  F:	drivers/media/platform/nxp/imx-mipi-csis.c
> >  F:	drivers/media/platform/nxp/imx-parallel-csi.c
> >  F:	drivers/media/platform/nxp/imx7-media-csi.c
> >
>
> --
> Regards,
>
> Sakari Ailus
Re: [PATCH v3 01/31] dt-bindings: media: add DW MIPI CSI-2 Host support
Posted by Sakari Ailus 3 months, 2 weeks ago
Hi Frank,

On Mon, Oct 27, 2025 at 12:32:28PM -0400, Frank Li wrote:
> On Mon, Oct 27, 2025 at 10:31:25AM +0200, Sakari Ailus wrote:
> > Hei Eugen,
> >
> > On Thu, Aug 21, 2025 at 04:15:36PM -0400, Frank Li wrote:
> > > From: Eugen Hristev <eugen.hristev@linaro.org>
> > >
> > > Add bindings for Synopsys DesignWare MIPI CSI-2 host, which used at i.MX93
> > > and i.MX95 platform.
> > >
> > > Signed-off-by: Luis Oliveira <lolivei@synopsys.com>
> > > Signed-off-by: Eugen Hristev <eugen.hristev@linaro.org>
> > > Signed-off-by: Frank Li <Frank.Li@nxp.com>
> > > ---
> > > Change in v3
> > > - drop remote-endpoint: true
> > > - drop clock-lanes
> > >
> > > Change in v2
> > > - remove Eugen Hristev <eugen.hristev@microchip.com> from mantainer.
> > > - update ugen Hristev's s-o-b tag to align original author's email address
> > > - remove single snps,dw-mipi-csi2-v150 compatible string
> > > - move additionalProperties after required
> > > ---
> > >  .../bindings/media/snps,dw-mipi-csi2-v150.yaml     | 151 +++++++++++++++++++++
> > >  MAINTAINERS                                        |   1 +
> > >  2 files changed, 152 insertions(+)
> > >
> > > diff --git a/Documentation/devicetree/bindings/media/snps,dw-mipi-csi2-v150.yaml b/Documentation/devicetree/bindings/media/snps,dw-mipi-csi2-v150.yaml
> > > new file mode 100644
> > > index 0000000000000000000000000000000000000000..d950daa4ee9cfd504ef84b83271b2a1b710ffd6b
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/media/snps,dw-mipi-csi2-v150.yaml
> > > @@ -0,0 +1,151 @@
> > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > > +%YAML 1.2
> > > +---
> > > +$id: http://devicetree.org/schemas/media/snps,dw-mipi-csi2-v150.yaml#
> > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > +
> > > +title: Synopsys DesignWare CSI-2 Host controller (csi2host)
> > > +
> > > +maintainers:
> > > +  - Frank Li <Frank.Li@nxp.com>
> > > +
> > > +description:
> > > +  CSI2HOST is used to receive image coming from an MIPI CSI-2 compatible
> > > +  camera. It will convert the incoming CSI-2 stream into a dedicated
> > > +  interface called the Synopsys IDI (Image Data Interface).
> > > +  This interface is a 32-bit SoC internal only, and can be assimilated
> > > +  with a CSI-2 interface.
> > > +
> > > +properties:
> > > +  compatible:
> > > +    items:
> > > +      - enum:
> > > +          - fsl,imx93-mipi-csi2
> > > +      - const: snps,dw-mipi-csi2-v150
> > > +
> > > +  reg:
> > > +    items:
> > > +      - description: MIPI CSI-2 core register
> > > +
> > > +  reg-names:
> > > +    items:
> > > +      - const: core
> > > +
> > > +  clocks:
> > > +    maxItems: 2
> > > +
> > > +  clock-names:
> > > +    items:
> > > +      - const: per
> > > +      - const: pixel
> > > +
> > > +  phys:
> > > +    maxItems: 1
> > > +    description: MIPI D-PHY
> > > +
> > > +  phy-names:
> > > +    items:
> > > +      - const: rx
> > > +
> > > +  resets:
> > > +    maxItems: 1
> > > +
> > > +  interrupts:
> > > +    maxItems: 1
> > > +
> > > +  power-domains:
> > > +    maxItems: 1
> > > +
> > > +  ports:
> > > +    $ref: /schemas/graph.yaml#/properties/ports
> > > +
> > > +    properties:
> > > +      port@0:
> > > +        $ref: /schemas/graph.yaml#/$defs/port-base
> > > +        unevaluatedProperties: false
> > > +        description:
> > > +          Input port node, single endpoint describing the input port.
> > > +
> > > +        properties:
> > > +          endpoint:
> > > +            $ref: video-interfaces.yaml#
> > > +            unevaluatedProperties: false
> > > +            description: Endpoint connected to input device
> > > +
> > > +            properties:
> > > +              bus-type:
> > > +                const: 4
> >
> > If 4 is the only value supported, you can drop the property altogether.
> 
> Sorry, What's your means here? There are more options in video-interfaces.yaml.
> here just add restriction for bus-type. otherwise other value can be
> provide in dts file.

It could, but wouldn't any other value be incorrect?

In other words, this property is redundant and should be dropped.

> 
> >
> > > +
> > > +              data-lanes:
> > > +                minItems: 1
> > > +                maxItems: 4
> > > +                items:
> > > +                  maximum: 4
> > > +
> > > +      port@1:
> > > +        $ref: /schemas/graph.yaml#/$defs/port-base
> > > +        unevaluatedProperties: false
> > > +        description:
> > > +          Output port node, single endpoint describing the output port.
> > > +
> > > +        properties:
> > > +          endpoint:
> > > +            unevaluatedProperties: false
> > > +            $ref: video-interfaces.yaml#
> > > +            description: Endpoint connected to output device
> > > +
> > > +            properties:
> > > +              bus-type:
> > > +                const: 4
> >
> > Are both input and output of this block CSI-2 with D-PHY?
> 
> Yes, input from camera sensor, output to others image processors to do data
> transfer or format convert.

The description appears to be saying this is "Synopsys IDI", not CSI-2 with
D-PHY. We don't have a bus-type for IDI. Couldn't you simply drop it?

-- 
Regards,

Sakari Ailus
Re: [PATCH v3 01/31] dt-bindings: media: add DW MIPI CSI-2 Host support
Posted by Frank Li 3 months, 2 weeks ago
On Mon, Oct 27, 2025 at 10:51:21PM +0200, Sakari Ailus wrote:
> Hi Frank,
>
> On Mon, Oct 27, 2025 at 12:32:28PM -0400, Frank Li wrote:
> > On Mon, Oct 27, 2025 at 10:31:25AM +0200, Sakari Ailus wrote:
> > > Hei Eugen,
> > >
> > > On Thu, Aug 21, 2025 at 04:15:36PM -0400, Frank Li wrote:
> > > > From: Eugen Hristev <eugen.hristev@linaro.org>
> > > >
> > > > Add bindings for Synopsys DesignWare MIPI CSI-2 host, which used at i.MX93
> > > > and i.MX95 platform.
> > > >
> > > > Signed-off-by: Luis Oliveira <lolivei@synopsys.com>
> > > > Signed-off-by: Eugen Hristev <eugen.hristev@linaro.org>
> > > > Signed-off-by: Frank Li <Frank.Li@nxp.com>
> > > > ---
> > > > Change in v3
> > > > - drop remote-endpoint: true
> > > > - drop clock-lanes
> > > >
> > > > Change in v2
> > > > - remove Eugen Hristev <eugen.hristev@microchip.com> from mantainer.
> > > > - update ugen Hristev's s-o-b tag to align original author's email address
> > > > - remove single snps,dw-mipi-csi2-v150 compatible string
> > > > - move additionalProperties after required
> > > > ---
> > > >  .../bindings/media/snps,dw-mipi-csi2-v150.yaml     | 151 +++++++++++++++++++++
> > > >  MAINTAINERS                                        |   1 +
> > > >  2 files changed, 152 insertions(+)
> > > >
> > > > diff --git a/Documentation/devicetree/bindings/media/snps,dw-mipi-csi2-v150.yaml b/Documentation/devicetree/bindings/media/snps,dw-mipi-csi2-v150.yaml
> > > > new file mode 100644
> > > > index 0000000000000000000000000000000000000000..d950daa4ee9cfd504ef84b83271b2a1b710ffd6b
> > > > --- /dev/null
> > > > +++ b/Documentation/devicetree/bindings/media/snps,dw-mipi-csi2-v150.yaml
> > > > @@ -0,0 +1,151 @@
> > > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > > > +%YAML 1.2
> > > > +---
> > > > +$id: http://devicetree.org/schemas/media/snps,dw-mipi-csi2-v150.yaml#
> > > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > > +
> > > > +title: Synopsys DesignWare CSI-2 Host controller (csi2host)
> > > > +
> > > > +maintainers:
> > > > +  - Frank Li <Frank.Li@nxp.com>
> > > > +
> > > > +description:
> > > > +  CSI2HOST is used to receive image coming from an MIPI CSI-2 compatible
> > > > +  camera. It will convert the incoming CSI-2 stream into a dedicated
> > > > +  interface called the Synopsys IDI (Image Data Interface).
> > > > +  This interface is a 32-bit SoC internal only, and can be assimilated
> > > > +  with a CSI-2 interface.
> > > > +
> > > > +properties:
> > > > +  compatible:
> > > > +    items:
> > > > +      - enum:
> > > > +          - fsl,imx93-mipi-csi2
> > > > +      - const: snps,dw-mipi-csi2-v150
> > > > +
> > > > +  reg:
> > > > +    items:
> > > > +      - description: MIPI CSI-2 core register
> > > > +
> > > > +  reg-names:
> > > > +    items:
> > > > +      - const: core
> > > > +
> > > > +  clocks:
> > > > +    maxItems: 2
> > > > +
> > > > +  clock-names:
> > > > +    items:
> > > > +      - const: per
> > > > +      - const: pixel
> > > > +
> > > > +  phys:
> > > > +    maxItems: 1
> > > > +    description: MIPI D-PHY
> > > > +
> > > > +  phy-names:
> > > > +    items:
> > > > +      - const: rx
> > > > +
> > > > +  resets:
> > > > +    maxItems: 1
> > > > +
> > > > +  interrupts:
> > > > +    maxItems: 1
> > > > +
> > > > +  power-domains:
> > > > +    maxItems: 1
> > > > +
> > > > +  ports:
> > > > +    $ref: /schemas/graph.yaml#/properties/ports
> > > > +
> > > > +    properties:
> > > > +      port@0:
> > > > +        $ref: /schemas/graph.yaml#/$defs/port-base
> > > > +        unevaluatedProperties: false
> > > > +        description:
> > > > +          Input port node, single endpoint describing the input port.
> > > > +
> > > > +        properties:
> > > > +          endpoint:
> > > > +            $ref: video-interfaces.yaml#
> > > > +            unevaluatedProperties: false
> > > > +            description: Endpoint connected to input device
> > > > +
> > > > +            properties:
> > > > +              bus-type:
> > > > +                const: 4
> > >
> > > If 4 is the only value supported, you can drop the property altogether.
> >
> > Sorry, What's your means here? There are more options in video-interfaces.yaml.
> > here just add restriction for bus-type. otherwise other value can be
> > provide in dts file.
>
> It could, but wouldn't any other value be incorrect?

at least that 5 # Parallel doesn't make sense for CSI2's input.

Frank

>
> In other words, this property is redundant and should be dropped.
>
> >
> > >
> > > > +
> > > > +              data-lanes:
> > > > +                minItems: 1
> > > > +                maxItems: 4
> > > > +                items:
> > > > +                  maximum: 4
> > > > +
> > > > +      port@1:
> > > > +        $ref: /schemas/graph.yaml#/$defs/port-base
> > > > +        unevaluatedProperties: false
> > > > +        description:
> > > > +          Output port node, single endpoint describing the output port.
> > > > +
> > > > +        properties:
> > > > +          endpoint:
> > > > +            unevaluatedProperties: false
> > > > +            $ref: video-interfaces.yaml#
> > > > +            description: Endpoint connected to output device
> > > > +
> > > > +            properties:
> > > > +              bus-type:
> > > > +                const: 4
> > >
> > > Are both input and output of this block CSI-2 with D-PHY?
> >
> > Yes, input from camera sensor, output to others image processors to do data
> > transfer or format convert.
>
> The description appears to be saying this is "Synopsys IDI", not CSI-2 with
> D-PHY. We don't have a bus-type for IDI. Couldn't you simply drop it?
>
> --
> Regards,
>
> Sakari Ailus
Re: [PATCH v3 01/31] dt-bindings: media: add DW MIPI CSI-2 Host support
Posted by Laurent Pinchart 3 months, 2 weeks ago
On Mon, Oct 27, 2025 at 05:05:09PM -0400, Frank Li wrote:
> On Mon, Oct 27, 2025 at 10:51:21PM +0200, Sakari Ailus wrote:
> > On Mon, Oct 27, 2025 at 12:32:28PM -0400, Frank Li wrote:
> > > On Mon, Oct 27, 2025 at 10:31:25AM +0200, Sakari Ailus wrote:
> > > > On Thu, Aug 21, 2025 at 04:15:36PM -0400, Frank Li wrote:
> > > > > From: Eugen Hristev <eugen.hristev@linaro.org>
> > > > >
> > > > > Add bindings for Synopsys DesignWare MIPI CSI-2 host, which used at i.MX93
> > > > > and i.MX95 platform.
> > > > >
> > > > > Signed-off-by: Luis Oliveira <lolivei@synopsys.com>
> > > > > Signed-off-by: Eugen Hristev <eugen.hristev@linaro.org>
> > > > > Signed-off-by: Frank Li <Frank.Li@nxp.com>
> > > > > ---
> > > > > Change in v3
> > > > > - drop remote-endpoint: true
> > > > > - drop clock-lanes
> > > > >
> > > > > Change in v2
> > > > > - remove Eugen Hristev <eugen.hristev@microchip.com> from mantainer.
> > > > > - update ugen Hristev's s-o-b tag to align original author's email address
> > > > > - remove single snps,dw-mipi-csi2-v150 compatible string
> > > > > - move additionalProperties after required
> > > > > ---
> > > > >  .../bindings/media/snps,dw-mipi-csi2-v150.yaml     | 151 +++++++++++++++++++++
> > > > >  MAINTAINERS                                        |   1 +
> > > > >  2 files changed, 152 insertions(+)
> > > > >
> > > > > diff --git a/Documentation/devicetree/bindings/media/snps,dw-mipi-csi2-v150.yaml b/Documentation/devicetree/bindings/media/snps,dw-mipi-csi2-v150.yaml
> > > > > new file mode 100644
> > > > > index 0000000000000000000000000000000000000000..d950daa4ee9cfd504ef84b83271b2a1b710ffd6b
> > > > > --- /dev/null
> > > > > +++ b/Documentation/devicetree/bindings/media/snps,dw-mipi-csi2-v150.yaml
> > > > > @@ -0,0 +1,151 @@
> > > > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > > > > +%YAML 1.2
> > > > > +---
> > > > > +$id: http://devicetree.org/schemas/media/snps,dw-mipi-csi2-v150.yaml#
> > > > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > > > +
> > > > > +title: Synopsys DesignWare CSI-2 Host controller (csi2host)
> > > > > +
> > > > > +maintainers:
> > > > > +  - Frank Li <Frank.Li@nxp.com>
> > > > > +
> > > > > +description:
> > > > > +  CSI2HOST is used to receive image coming from an MIPI CSI-2 compatible
> > > > > +  camera. It will convert the incoming CSI-2 stream into a dedicated
> > > > > +  interface called the Synopsys IDI (Image Data Interface).
> > > > > +  This interface is a 32-bit SoC internal only, and can be assimilated
> > > > > +  with a CSI-2 interface.
> > > > > +
> > > > > +properties:
> > > > > +  compatible:
> > > > > +    items:
> > > > > +      - enum:
> > > > > +          - fsl,imx93-mipi-csi2
> > > > > +      - const: snps,dw-mipi-csi2-v150
> > > > > +
> > > > > +  reg:
> > > > > +    items:
> > > > > +      - description: MIPI CSI-2 core register
> > > > > +
> > > > > +  reg-names:
> > > > > +    items:
> > > > > +      - const: core
> > > > > +
> > > > > +  clocks:
> > > > > +    maxItems: 2
> > > > > +
> > > > > +  clock-names:
> > > > > +    items:
> > > > > +      - const: per
> > > > > +      - const: pixel
> > > > > +
> > > > > +  phys:
> > > > > +    maxItems: 1
> > > > > +    description: MIPI D-PHY
> > > > > +
> > > > > +  phy-names:
> > > > > +    items:
> > > > > +      - const: rx
> > > > > +
> > > > > +  resets:
> > > > > +    maxItems: 1
> > > > > +
> > > > > +  interrupts:
> > > > > +    maxItems: 1
> > > > > +
> > > > > +  power-domains:
> > > > > +    maxItems: 1
> > > > > +
> > > > > +  ports:
> > > > > +    $ref: /schemas/graph.yaml#/properties/ports
> > > > > +
> > > > > +    properties:
> > > > > +      port@0:
> > > > > +        $ref: /schemas/graph.yaml#/$defs/port-base
> > > > > +        unevaluatedProperties: false
> > > > > +        description:
> > > > > +          Input port node, single endpoint describing the input port.
> > > > > +
> > > > > +        properties:
> > > > > +          endpoint:
> > > > > +            $ref: video-interfaces.yaml#
> > > > > +            unevaluatedProperties: false
> > > > > +            description: Endpoint connected to input device
> > > > > +
> > > > > +            properties:
> > > > > +              bus-type:
> > > > > +                const: 4
> > > >
> > > > If 4 is the only value supported, you can drop the property altogether.
> > >
> > > Sorry, What's your means here? There are more options in video-interfaces.yaml.
> > > here just add restriction for bus-type. otherwise other value can be
> > > provide in dts file.
> >
> > It could, but wouldn't any other value be incorrect?
> 
> at least that 5 # Parallel doesn't make sense for CSI2's input.

The point is that, if the only valid value is CSI-2 DPHY (4), then
there's no need to specify it in DT. The driver would know the input bus
is CSI-2 DPHY, so there's no need to convey that information in the
device tree.

> > In other words, this property is redundant and should be dropped.
> >
> > > > > +
> > > > > +              data-lanes:
> > > > > +                minItems: 1
> > > > > +                maxItems: 4
> > > > > +                items:
> > > > > +                  maximum: 4
> > > > > +
> > > > > +      port@1:
> > > > > +        $ref: /schemas/graph.yaml#/$defs/port-base
> > > > > +        unevaluatedProperties: false
> > > > > +        description:
> > > > > +          Output port node, single endpoint describing the output port.
> > > > > +
> > > > > +        properties:
> > > > > +          endpoint:
> > > > > +            unevaluatedProperties: false
> > > > > +            $ref: video-interfaces.yaml#
> > > > > +            description: Endpoint connected to output device
> > > > > +
> > > > > +            properties:
> > > > > +              bus-type:
> > > > > +                const: 4
> > > >
> > > > Are both input and output of this block CSI-2 with D-PHY?
> > >
> > > Yes, input from camera sensor, output to others image processors to do data
> > > transfer or format convert.
> >
> > The description appears to be saying this is "Synopsys IDI", not CSI-2 with
> > D-PHY. We don't have a bus-type for IDI. Couldn't you simply drop it?

-- 
Regards,

Laurent Pinchart
Re: [PATCH v3 01/31] dt-bindings: media: add DW MIPI CSI-2 Host support
Posted by Frank Li 3 months, 2 weeks ago
On Tue, Oct 28, 2025 at 10:27:53AM +0200, Laurent Pinchart wrote:
> On Mon, Oct 27, 2025 at 05:05:09PM -0400, Frank Li wrote:
> > On Mon, Oct 27, 2025 at 10:51:21PM +0200, Sakari Ailus wrote:
> > > On Mon, Oct 27, 2025 at 12:32:28PM -0400, Frank Li wrote:
> > > > On Mon, Oct 27, 2025 at 10:31:25AM +0200, Sakari Ailus wrote:
> > > > > On Thu, Aug 21, 2025 at 04:15:36PM -0400, Frank Li wrote:
> > > > > > From: Eugen Hristev <eugen.hristev@linaro.org>
> > > > > >
> > > > > > Add bindings for Synopsys DesignWare MIPI CSI-2 host, which used at i.MX93
> > > > > > and i.MX95 platform.
> > > > > >
> > > > > > Signed-off-by: Luis Oliveira <lolivei@synopsys.com>
> > > > > > Signed-off-by: Eugen Hristev <eugen.hristev@linaro.org>
> > > > > > Signed-off-by: Frank Li <Frank.Li@nxp.com>
> > > > > > ---
> > > > > > Change in v3
> > > > > > - drop remote-endpoint: true
> > > > > > - drop clock-lanes
> > > > > >
> > > > > > Change in v2
> > > > > > - remove Eugen Hristev <eugen.hristev@microchip.com> from mantainer.
> > > > > > - update ugen Hristev's s-o-b tag to align original author's email address
> > > > > > - remove single snps,dw-mipi-csi2-v150 compatible string
> > > > > > - move additionalProperties after required
> > > > > > ---
> > > > > >  .../bindings/media/snps,dw-mipi-csi2-v150.yaml     | 151 +++++++++++++++++++++
> > > > > >  MAINTAINERS                                        |   1 +
> > > > > >  2 files changed, 152 insertions(+)
> > > > > >
> > > > > > diff --git a/Documentation/devicetree/bindings/media/snps,dw-mipi-csi2-v150.yaml b/Documentation/devicetree/bindings/media/snps,dw-mipi-csi2-v150.yaml
> > > > > > new file mode 100644
> > > > > > index 0000000000000000000000000000000000000000..d950daa4ee9cfd504ef84b83271b2a1b710ffd6b
> > > > > > --- /dev/null
> > > > > > +++ b/Documentation/devicetree/bindings/media/snps,dw-mipi-csi2-v150.yaml
> > > > > > @@ -0,0 +1,151 @@
> > > > > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > > > > > +%YAML 1.2
> > > > > > +---
> > > > > > +$id: http://devicetree.org/schemas/media/snps,dw-mipi-csi2-v150.yaml#
> > > > > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > > > > +
> > > > > > +title: Synopsys DesignWare CSI-2 Host controller (csi2host)
> > > > > > +
> > > > > > +maintainers:
> > > > > > +  - Frank Li <Frank.Li@nxp.com>
> > > > > > +
> > > > > > +description:
> > > > > > +  CSI2HOST is used to receive image coming from an MIPI CSI-2 compatible
> > > > > > +  camera. It will convert the incoming CSI-2 stream into a dedicated
> > > > > > +  interface called the Synopsys IDI (Image Data Interface).
> > > > > > +  This interface is a 32-bit SoC internal only, and can be assimilated
> > > > > > +  with a CSI-2 interface.
> > > > > > +
> > > > > > +properties:
> > > > > > +  compatible:
> > > > > > +    items:
> > > > > > +      - enum:
> > > > > > +          - fsl,imx93-mipi-csi2
> > > > > > +      - const: snps,dw-mipi-csi2-v150
> > > > > > +
> > > > > > +  reg:
> > > > > > +    items:
> > > > > > +      - description: MIPI CSI-2 core register
> > > > > > +
> > > > > > +  reg-names:
> > > > > > +    items:
> > > > > > +      - const: core
> > > > > > +
> > > > > > +  clocks:
> > > > > > +    maxItems: 2
> > > > > > +
> > > > > > +  clock-names:
> > > > > > +    items:
> > > > > > +      - const: per
> > > > > > +      - const: pixel
> > > > > > +
> > > > > > +  phys:
> > > > > > +    maxItems: 1
> > > > > > +    description: MIPI D-PHY
> > > > > > +
> > > > > > +  phy-names:
> > > > > > +    items:
> > > > > > +      - const: rx
> > > > > > +
> > > > > > +  resets:
> > > > > > +    maxItems: 1
> > > > > > +
> > > > > > +  interrupts:
> > > > > > +    maxItems: 1
> > > > > > +
> > > > > > +  power-domains:
> > > > > > +    maxItems: 1
> > > > > > +
> > > > > > +  ports:
> > > > > > +    $ref: /schemas/graph.yaml#/properties/ports
> > > > > > +
> > > > > > +    properties:
> > > > > > +      port@0:
> > > > > > +        $ref: /schemas/graph.yaml#/$defs/port-base
> > > > > > +        unevaluatedProperties: false
> > > > > > +        description:
> > > > > > +          Input port node, single endpoint describing the input port.
> > > > > > +
> > > > > > +        properties:
> > > > > > +          endpoint:
> > > > > > +            $ref: video-interfaces.yaml#
> > > > > > +            unevaluatedProperties: false
> > > > > > +            description: Endpoint connected to input device
> > > > > > +
> > > > > > +            properties:
> > > > > > +              bus-type:
> > > > > > +                const: 4
> > > > >
> > > > > If 4 is the only value supported, you can drop the property altogether.
> > > >
> > > > Sorry, What's your means here? There are more options in video-interfaces.yaml.
> > > > here just add restriction for bus-type. otherwise other value can be
> > > > provide in dts file.
> > >
> > > It could, but wouldn't any other value be incorrect?
> >
> > at least that 5 # Parallel doesn't make sense for CSI2's input.
>
> The point is that, if the only valid value is CSI-2 DPHY (4), then
> there's no need to specify it in DT. The driver would know the input bus
> is CSI-2 DPHY, so there's no need to convey that information in the
> device tree.

Make sense.

Frank
>
> > > In other words, this property is redundant and should be dropped.
> > >
> > > > > > +
> > > > > > +              data-lanes:
> > > > > > +                minItems: 1
> > > > > > +                maxItems: 4
> > > > > > +                items:
> > > > > > +                  maximum: 4
> > > > > > +
> > > > > > +      port@1:
> > > > > > +        $ref: /schemas/graph.yaml#/$defs/port-base
> > > > > > +        unevaluatedProperties: false
> > > > > > +        description:
> > > > > > +          Output port node, single endpoint describing the output port.
> > > > > > +
> > > > > > +        properties:
> > > > > > +          endpoint:
> > > > > > +            unevaluatedProperties: false
> > > > > > +            $ref: video-interfaces.yaml#
> > > > > > +            description: Endpoint connected to output device
> > > > > > +
> > > > > > +            properties:
> > > > > > +              bus-type:
> > > > > > +                const: 4
> > > > >
> > > > > Are both input and output of this block CSI-2 with D-PHY?
> > > >
> > > > Yes, input from camera sensor, output to others image processors to do data
> > > > transfer or format convert.
> > >
> > > The description appears to be saying this is "Synopsys IDI", not CSI-2 with
> > > D-PHY. We don't have a bus-type for IDI. Couldn't you simply drop it?
>
> --
> Regards,
>
> Laurent Pinchart
Re: [PATCH v3 01/31] dt-bindings: media: add DW MIPI CSI-2 Host support
Posted by Eugen Hristev 3 months, 2 weeks ago

On 10/27/25 10:31, Sakari Ailus wrote:
> Hei Eugen,
> 
> On Thu, Aug 21, 2025 at 04:15:36PM -0400, Frank Li wrote:
>> From: Eugen Hristev <eugen.hristev@linaro.org>

Hi everyone,

While I originally wrote this patch, and Frank keeping me as author, I
have not contributed more to it, so, I think you can drop me as author
and Frank you can put your name to it.

Thanks for continuing the work on it.

Eugen
>>
>> Add bindings for Synopsys DesignWare MIPI CSI-2 host, which used at i.MX93
>> and i.MX95 platform.
>>
>> Signed-off-by: Luis Oliveira <lolivei@synopsys.com>
>> Signed-off-by: Eugen Hristev <eugen.hristev@linaro.org>
>> Signed-off-by: Frank Li <Frank.Li@nxp.com>
>> ---
>> Change in v3
>> - drop remote-endpoint: true
>> - drop clock-lanes
>>
>> Change in v2
>> - remove Eugen Hristev <eugen.hristev@microchip.com> from mantainer.
>> - update ugen Hristev's s-o-b tag to align original author's email address
>> - remove single snps,dw-mipi-csi2-v150 compatible string
>> - move additionalProperties after required
>> ---
>>  .../bindings/media/snps,dw-mipi-csi2-v150.yaml     | 151 +++++++++++++++++++++
>>  MAINTAINERS                                        |   1 +
>>  2 files changed, 152 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/media/snps,dw-mipi-csi2-v150.yaml b/Documentation/devicetree/bindings/media/snps,dw-mipi-csi2-v150.yaml
>> new file mode 100644
>> index 0000000000000000000000000000000000000000..d950daa4ee9cfd504ef84b83271b2a1b710ffd6b
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/media/snps,dw-mipi-csi2-v150.yaml
>> @@ -0,0 +1,151 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/media/snps,dw-mipi-csi2-v150.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Synopsys DesignWare CSI-2 Host controller (csi2host)
>> +
>> +maintainers:
>> +  - Frank Li <Frank.Li@nxp.com>
>> +
>> +description:
>> +  CSI2HOST is used to receive image coming from an MIPI CSI-2 compatible
>> +  camera. It will convert the incoming CSI-2 stream into a dedicated
>> +  interface called the Synopsys IDI (Image Data Interface).
>> +  This interface is a 32-bit SoC internal only, and can be assimilated
>> +  with a CSI-2 interface.
>> +
>> +properties:
>> +  compatible:
>> +    items:
>> +      - enum:
>> +          - fsl,imx93-mipi-csi2
>> +      - const: snps,dw-mipi-csi2-v150
>> +
>> +  reg:
>> +    items:
>> +      - description: MIPI CSI-2 core register
>> +
>> +  reg-names:
>> +    items:
>> +      - const: core
>> +
>> +  clocks:
>> +    maxItems: 2
>> +
>> +  clock-names:
>> +    items:
>> +      - const: per
>> +      - const: pixel
>> +
>> +  phys:
>> +    maxItems: 1
>> +    description: MIPI D-PHY
>> +
>> +  phy-names:
>> +    items:
>> +      - const: rx
>> +
>> +  resets:
>> +    maxItems: 1
>> +
>> +  interrupts:
>> +    maxItems: 1
>> +
>> +  power-domains:
>> +    maxItems: 1
>> +
>> +  ports:
>> +    $ref: /schemas/graph.yaml#/properties/ports
>> +
>> +    properties:
>> +      port@0:
>> +        $ref: /schemas/graph.yaml#/$defs/port-base
>> +        unevaluatedProperties: false
>> +        description:
>> +          Input port node, single endpoint describing the input port.
>> +
>> +        properties:
>> +          endpoint:
>> +            $ref: video-interfaces.yaml#
>> +            unevaluatedProperties: false
>> +            description: Endpoint connected to input device
>> +
>> +            properties:
>> +              bus-type:
>> +                const: 4
> 
> If 4 is the only value supported, you can drop the property altogether.
> 
>> +
>> +              data-lanes:
>> +                minItems: 1
>> +                maxItems: 4
>> +                items:
>> +                  maximum: 4
>> +
>> +      port@1:
>> +        $ref: /schemas/graph.yaml#/$defs/port-base
>> +        unevaluatedProperties: false
>> +        description:
>> +          Output port node, single endpoint describing the output port.
>> +
>> +        properties:
>> +          endpoint:
>> +            unevaluatedProperties: false
>> +            $ref: video-interfaces.yaml#
>> +            description: Endpoint connected to output device
>> +
>> +            properties:
>> +              bus-type:
>> +                const: 4
> 
> Are both input and output of this block CSI-2 with D-PHY?
> 
>> +
>> +    required:
>> +      - port@0
>> +      - port@1
>> +
>> +required:
>> +  - compatible
>> +  - reg
>> +  - reg-names
>> +  - interrupts
>> +  - ports
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> +  - |
>> +    csi@3000 {
>> +        compatible = "fsl,imx93-mipi-csi2", "snps,dw-mipi-csi2-v150";
>> +        reg = <0x03000 0x1000>;
>> +        reg-names = "core";
>> +        phys = <&mipi_dphy_rx 0>;
>> +        phy-names = "rx";
>> +        resets = <&dw_rst 1>;
>> +        interrupts = <2>;
>> +
>> +        ports {
>> +            #address-cells = <1>;
>> +            #size-cells = <0>;
>> +
>> +            port@0 {
>> +                reg = <0>;
>> +
>> +                endpoint {
>> +                    bus-type = <4>; /* MIPI CSI2 D-PHY */
>> +                    remote-endpoint = <&camera_1>;
>> +                    data-lanes = <1 2>;
>> +                    clock-lanes = <0>;
>> +                };
>> +            };
>> +
>> +            port@1 {
>> +                reg = <1>;
>> +
>> +                endpoint {
>> +                    remote-endpoint = <&idi_receiver>;
>> +                    bus-type = <4>;
>> +                };
>> +            };
>> +        };
>> +    };
>> +
>> +...
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index 9d9d2be7be8037dfa96f1c9edd24a0cf997b9393..ecb7bc7cc8ad797f43173075ca8973804bf335f7 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -15334,6 +15334,7 @@ F:	Documentation/devicetree/bindings/media/fsl,imx93-parallel-csi.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
>> +F:	Documentation/devicetree/bindings/media/snps,dw-mipi-csi2-v150.yaml
>>  F:	drivers/media/platform/nxp/imx-mipi-csis.c
>>  F:	drivers/media/platform/nxp/imx-parallel-csi.c
>>  F:	drivers/media/platform/nxp/imx7-media-csi.c
>>
>
Re: [PATCH v3 01/31] dt-bindings: media: add DW MIPI CSI-2 Host support
Posted by Rob Herring (Arm) 5 months, 3 weeks ago
On Thu, 21 Aug 2025 16:15:36 -0400, Frank Li wrote:
> From: Eugen Hristev <eugen.hristev@linaro.org>
> 
> Add bindings for Synopsys DesignWare MIPI CSI-2 host, which used at i.MX93
> and i.MX95 platform.
> 
> Signed-off-by: Luis Oliveira <lolivei@synopsys.com>
> Signed-off-by: Eugen Hristev <eugen.hristev@linaro.org>
> Signed-off-by: Frank Li <Frank.Li@nxp.com>
> ---
> Change in v3
> - drop remote-endpoint: true
> - drop clock-lanes
> 
> Change in v2
> - remove Eugen Hristev <eugen.hristev@microchip.com> from mantainer.
> - update ugen Hristev's s-o-b tag to align original author's email address
> - remove single snps,dw-mipi-csi2-v150 compatible string
> - move additionalProperties after required
> ---
>  .../bindings/media/snps,dw-mipi-csi2-v150.yaml     | 151 +++++++++++++++++++++
>  MAINTAINERS                                        |   1 +
>  2 files changed, 152 insertions(+)
> 

Reviewed-by: Rob Herring (Arm) <robh@kernel.org>