xref: /linux/Documentation/devicetree/bindings/media/fsl,imx8qm-isi.yaml (revision 0cdee263bc5e7b20f657ea09f9272f50c568f35b)
1*c4891010SFrank Li# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*c4891010SFrank Li%YAML 1.2
3*c4891010SFrank Li---
4*c4891010SFrank Li$id: http://devicetree.org/schemas/media/fsl,imx8qm-isi.yaml#
5*c4891010SFrank Li$schema: http://devicetree.org/meta-schemas/core.yaml#
6*c4891010SFrank Li
7*c4891010SFrank Lititle: i.MX8QM Image Sensing Interface
8*c4891010SFrank Li
9*c4891010SFrank Limaintainers:
10*c4891010SFrank Li  - Frank Li <Frank.Li@nxp.com>
11*c4891010SFrank Li
12*c4891010SFrank Lidescription:
13*c4891010SFrank Li  The Image Sensing Interface (ISI) combines image processing pipelines with
14*c4891010SFrank Li  DMA engines to process and capture frames originating from a variety of
15*c4891010SFrank Li  sources. The inputs to the ISI go through Pixel Link interfaces, and their
16*c4891010SFrank Li  number and nature is SoC-dependent. They cover both capture interfaces (MIPI
17*c4891010SFrank Li  CSI-2 RX, HDMI RX, ...) and display engine outputs for writeback support.
18*c4891010SFrank Li
19*c4891010SFrank Liproperties:
20*c4891010SFrank Li  compatible:
21*c4891010SFrank Li    enum:
22*c4891010SFrank Li      - fsl,imx8qm-isi
23*c4891010SFrank Li
24*c4891010SFrank Li  reg:
25*c4891010SFrank Li    maxItems: 1
26*c4891010SFrank Li
27*c4891010SFrank Li  clocks:
28*c4891010SFrank Li    maxItems: 8
29*c4891010SFrank Li
30*c4891010SFrank Li  clock-names:
31*c4891010SFrank Li    items:
32*c4891010SFrank Li      - const: per0
33*c4891010SFrank Li      - const: per1
34*c4891010SFrank Li      - const: per2
35*c4891010SFrank Li      - const: per3
36*c4891010SFrank Li      - const: per4
37*c4891010SFrank Li      - const: per5
38*c4891010SFrank Li      - const: per6
39*c4891010SFrank Li      - const: per7
40*c4891010SFrank Li
41*c4891010SFrank Li  interrupts:
42*c4891010SFrank Li    maxItems: 8
43*c4891010SFrank Li
44*c4891010SFrank Li  power-domains:
45*c4891010SFrank Li    maxItems: 8
46*c4891010SFrank Li
47*c4891010SFrank Li  ports:
48*c4891010SFrank Li    $ref: /schemas/graph.yaml#/properties/ports
49*c4891010SFrank Li    properties:
50*c4891010SFrank Li      port@2:
51*c4891010SFrank Li        $ref: /schemas/graph.yaml#/properties/port
52*c4891010SFrank Li        description: MIPI CSI-2 RX 0
53*c4891010SFrank Li      port@3:
54*c4891010SFrank Li        $ref: /schemas/graph.yaml#/properties/port
55*c4891010SFrank Li        description: MIPI CSI-2 RX 1
56*c4891010SFrank Li      port@4:
57*c4891010SFrank Li        $ref: /schemas/graph.yaml#/properties/port
58*c4891010SFrank Li        description: HDMI RX
59*c4891010SFrank Li
60*c4891010SFrank Lirequired:
61*c4891010SFrank Li  - compatible
62*c4891010SFrank Li  - reg
63*c4891010SFrank Li  - clocks
64*c4891010SFrank Li  - clock-names
65*c4891010SFrank Li  - interrupts
66*c4891010SFrank Li  - power-domains
67*c4891010SFrank Li  - ports
68*c4891010SFrank Li
69*c4891010SFrank LiadditionalProperties: false
70*c4891010SFrank Li
71*c4891010SFrank Liexamples:
72*c4891010SFrank Li  - |
73*c4891010SFrank Li    #include <dt-bindings/interrupt-controller/arm-gic.h>
74*c4891010SFrank Li    #include <dt-bindings/interrupt-controller/irq.h>
75*c4891010SFrank Li    #include <dt-bindings/clock/imx8-clock.h>
76*c4891010SFrank Li    #include <dt-bindings/clock/imx8-lpcg.h>
77*c4891010SFrank Li    #include <dt-bindings/firmware/imx/rsrc.h>
78*c4891010SFrank Li
79*c4891010SFrank Li    image-controller@58100000 {
80*c4891010SFrank Li        compatible = "fsl,imx8qm-isi";
81*c4891010SFrank Li        reg = <0x58100000 0x80000>;
82*c4891010SFrank Li        interrupts = <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>,
83*c4891010SFrank Li                     <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>,
84*c4891010SFrank Li                     <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>,
85*c4891010SFrank Li                     <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>,
86*c4891010SFrank Li                     <GIC_SPI 301 IRQ_TYPE_LEVEL_HIGH>,
87*c4891010SFrank Li                     <GIC_SPI 302 IRQ_TYPE_LEVEL_HIGH>,
88*c4891010SFrank Li                     <GIC_SPI 303 IRQ_TYPE_LEVEL_HIGH>,
89*c4891010SFrank Li                     <GIC_SPI 304 IRQ_TYPE_LEVEL_HIGH>;
90*c4891010SFrank Li        clocks = <&pdma0_lpcg IMX_LPCG_CLK_0>,
91*c4891010SFrank Li                 <&pdma1_lpcg IMX_LPCG_CLK_0>,
92*c4891010SFrank Li                 <&pdma2_lpcg IMX_LPCG_CLK_0>,
93*c4891010SFrank Li                 <&pdma3_lpcg IMX_LPCG_CLK_0>,
94*c4891010SFrank Li                 <&pdma4_lpcg IMX_LPCG_CLK_0>,
95*c4891010SFrank Li                 <&pdma5_lpcg IMX_LPCG_CLK_0>,
96*c4891010SFrank Li                 <&pdma6_lpcg IMX_LPCG_CLK_0>,
97*c4891010SFrank Li                 <&pdma7_lpcg IMX_LPCG_CLK_0>;
98*c4891010SFrank Li        clock-names = "per0", "per1", "per2", "per3",
99*c4891010SFrank Li                      "per4", "per5", "per6", "per7";
100*c4891010SFrank Li        power-domains = <&pd IMX_SC_R_ISI_CH0>, <&pd IMX_SC_R_ISI_CH1>,
101*c4891010SFrank Li                        <&pd IMX_SC_R_ISI_CH2>, <&pd IMX_SC_R_ISI_CH3>,
102*c4891010SFrank Li                        <&pd IMX_SC_R_ISI_CH4>, <&pd IMX_SC_R_ISI_CH5>,
103*c4891010SFrank Li                        <&pd IMX_SC_R_ISI_CH6>, <&pd IMX_SC_R_ISI_CH7>;
104*c4891010SFrank Li
105*c4891010SFrank Li        ports {
106*c4891010SFrank Li            #address-cells = <1>;
107*c4891010SFrank Li            #size-cells = <0>;
108*c4891010SFrank Li
109*c4891010SFrank Li            port@2 {
110*c4891010SFrank Li                reg = <2>;
111*c4891010SFrank Li                endpoint {
112*c4891010SFrank Li                    remote-endpoint = <&mipi_csi0_out>;
113*c4891010SFrank Li                };
114*c4891010SFrank Li            };
115*c4891010SFrank Li        };
116*c4891010SFrank Li    };
117*c4891010SFrank Li...
118