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