1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/media/nxp,imx7-csi.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: i.MX7 and i.MX8 CSI bridge (CMOS Sensor Interface)
8
9maintainers:
10  - Rui Miguel Silva <rmfrfs@gmail.com>
11
12description: |
13  This is device node for the CMOS Sensor Interface (CSI) which enables the
14  chip to connect directly to external CMOS image sensors.
15
16properties:
17  compatible:
18    oneOf:
19      - enum:
20          - fsl,imx8mq-csi
21          - fsl,imx7-csi
22          - fsl,imx6ul-csi
23      - items:
24          - const: fsl,imx8mm-csi
25          - const: fsl,imx7-csi
26
27  reg:
28    maxItems: 1
29
30  interrupts:
31    maxItems: 1
32
33  clocks:
34    maxItems: 1
35
36  clock-names:
37    items:
38      - const: mclk
39
40  power-domains:
41    maxItems: 1
42
43  port:
44    $ref: /schemas/graph.yaml#/properties/port
45
46required:
47  - compatible
48  - reg
49  - interrupts
50  - clocks
51  - clock-names
52  - port
53
54additionalProperties: false
55
56allOf:
57  - if:
58      properties:
59        compatible:
60          contains:
61            enum:
62              - fsl,imx8mm-csi
63    then:
64      required:
65        - power-domains
66
67examples:
68  - |
69    #include <dt-bindings/clock/imx7d-clock.h>
70    #include <dt-bindings/interrupt-controller/arm-gic.h>
71    #include <dt-bindings/interrupt-controller/irq.h>
72
73    csi: csi@30710000 {
74            compatible = "fsl,imx7-csi";
75            reg = <0x30710000 0x10000>;
76            interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
77            clocks = <&clks IMX7D_CSI_MCLK_ROOT_CLK>;
78            clock-names = "mclk";
79
80            port {
81                    csi_from_csi_mux: endpoint {
82                            remote-endpoint = <&csi_mux_to_csi>;
83                    };
84            };
85    };
86
87...
88