162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/media/nxp,imx7-csi.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: i.MX7 and i.MX8 CSI bridge (CMOS Sensor Interface)
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Rui Miguel Silva <rmfrfs@gmail.com>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription: |
1362306a36Sopenharmony_ci  This is device node for the CMOS Sensor Interface (CSI) which enables the
1462306a36Sopenharmony_ci  chip to connect directly to external CMOS image sensors.
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ciproperties:
1762306a36Sopenharmony_ci  compatible:
1862306a36Sopenharmony_ci    oneOf:
1962306a36Sopenharmony_ci      - enum:
2062306a36Sopenharmony_ci          - fsl,imx8mq-csi
2162306a36Sopenharmony_ci          - fsl,imx7-csi
2262306a36Sopenharmony_ci          - fsl,imx6ul-csi
2362306a36Sopenharmony_ci      - items:
2462306a36Sopenharmony_ci          - const: fsl,imx8mm-csi
2562306a36Sopenharmony_ci          - const: fsl,imx7-csi
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci  reg:
2862306a36Sopenharmony_ci    maxItems: 1
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci  interrupts:
3162306a36Sopenharmony_ci    maxItems: 1
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci  clocks:
3462306a36Sopenharmony_ci    maxItems: 1
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci  clock-names:
3762306a36Sopenharmony_ci    items:
3862306a36Sopenharmony_ci      - const: mclk
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci  power-domains:
4162306a36Sopenharmony_ci    maxItems: 1
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci  port:
4462306a36Sopenharmony_ci    $ref: /schemas/graph.yaml#/properties/port
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_cirequired:
4762306a36Sopenharmony_ci  - compatible
4862306a36Sopenharmony_ci  - reg
4962306a36Sopenharmony_ci  - interrupts
5062306a36Sopenharmony_ci  - clocks
5162306a36Sopenharmony_ci  - clock-names
5262306a36Sopenharmony_ci  - port
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ciadditionalProperties: false
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ciallOf:
5762306a36Sopenharmony_ci  - if:
5862306a36Sopenharmony_ci      properties:
5962306a36Sopenharmony_ci        compatible:
6062306a36Sopenharmony_ci          contains:
6162306a36Sopenharmony_ci            enum:
6262306a36Sopenharmony_ci              - fsl,imx8mm-csi
6362306a36Sopenharmony_ci    then:
6462306a36Sopenharmony_ci      required:
6562306a36Sopenharmony_ci        - power-domains
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ciexamples:
6862306a36Sopenharmony_ci  - |
6962306a36Sopenharmony_ci    #include <dt-bindings/clock/imx7d-clock.h>
7062306a36Sopenharmony_ci    #include <dt-bindings/interrupt-controller/arm-gic.h>
7162306a36Sopenharmony_ci    #include <dt-bindings/interrupt-controller/irq.h>
7262306a36Sopenharmony_ci
7362306a36Sopenharmony_ci    csi: csi@30710000 {
7462306a36Sopenharmony_ci            compatible = "fsl,imx7-csi";
7562306a36Sopenharmony_ci            reg = <0x30710000 0x10000>;
7662306a36Sopenharmony_ci            interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
7762306a36Sopenharmony_ci            clocks = <&clks IMX7D_CSI_MCLK_ROOT_CLK>;
7862306a36Sopenharmony_ci            clock-names = "mclk";
7962306a36Sopenharmony_ci
8062306a36Sopenharmony_ci            port {
8162306a36Sopenharmony_ci                    csi_from_csi_mux: endpoint {
8262306a36Sopenharmony_ci                            remote-endpoint = <&csi_mux_to_csi>;
8362306a36Sopenharmony_ci                    };
8462306a36Sopenharmony_ci            };
8562306a36Sopenharmony_ci    };
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_ci...
88