[PATCH v3 01/31] dt-bindings: media: add DW MIPI CSI-2 Host support
Eugen Hristev
eugen.hristev at linaro.org
Mon Oct 27 02:22:48 PDT 2025
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 at 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 at synopsys.com>
>> Signed-off-by: Eugen Hristev <eugen.hristev at linaro.org>
>> Signed-off-by: Frank Li <Frank.Li at nxp.com>
>> ---
>> Change in v3
>> - drop remote-endpoint: true
>> - drop clock-lanes
>>
>> Change in v2
>> - remove Eugen Hristev <eugen.hristev at 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 at 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 at 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 at 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 at 0
>> + - port at 1
>> +
>> +required:
>> + - compatible
>> + - reg
>> + - reg-names
>> + - interrupts
>> + - ports
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> + - |
>> + csi at 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 at 0 {
>> + reg = <0>;
>> +
>> + endpoint {
>> + bus-type = <4>; /* MIPI CSI2 D-PHY */
>> + remote-endpoint = <&camera_1>;
>> + data-lanes = <1 2>;
>> + clock-lanes = <0>;
>> + };
>> + };
>> +
>> + port at 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
>>
>
More information about the linux-phy
mailing list